commit f2469bc
Devine Lu Linvega
·
2025-01-22 23:08:17 +0000 UTC
parent e83f3bb
(file.c) Cleanup
1 files changed,
+20,
-48
+20,
-48
1@@ -167,7 +167,7 @@ file_read(UxnFile *uf, Uint16 addr, int len)
2 static int
3 file_write(UxnFile *uf, Uint16 addr, int len, Uint8 flags)
4 {
5- Uint16 ret = 0;
6+ int ret = 0;
7 file_write_dir(uf->filepath);
8 if(uf->state != FILE_WRITE && uf->state != DIR_WRITE) {
9 file_reset(uf);
10@@ -200,6 +200,12 @@ file_delete(UxnFile *uf)
11 return unlink(uf->filepath);
12 }
13
14+static void
15+file_success(int port, int value)
16+{
17+ POKE2(&uxn.dev[port], value);
18+}
19+
20 /* file registers */
21
22 static int rL1, rL2;
23@@ -207,54 +213,20 @@ static int rL1, rL2;
24 void
25 file_deo(Uint8 port)
26 {
27- Uint16 res;
28 switch(port) {
29- case 0xa5:
30- res = file_stat(&uxn_file[0], PEEK2(&uxn.dev[0xa4]), rL1);
31- POKE2(&uxn.dev[0xa2], res);
32- break;
33- case 0xa6:
34- res = file_delete(&uxn_file[0]);
35- POKE2(&uxn.dev[0xa2], res);
36- break;
37- case 0xa9:
38- res = file_init(&uxn_file[0], PEEK2(&uxn.dev[0xa8]));
39- POKE2(&uxn.dev[0xa2], res);
40- break;
41- case 0xab:
42- rL1 = PEEK2(&uxn.dev[0xaa]);
43- break;
44- case 0xad:
45- res = file_read(&uxn_file[0], PEEK2(&uxn.dev[0xac]), rL1);
46- POKE2(&uxn.dev[0xa2], res);
47- break;
48- case 0xaf:
49- res = file_write(&uxn_file[0], PEEK2(&uxn.dev[0xae]), rL1, uxn.dev[0xa7]);
50- POKE2(&uxn.dev[0xa2], res);
51- break;
52+ /* File 1 */
53+ case 0xa5: file_success(0xa2, file_stat(&uxn_file[0], PEEK2(&uxn.dev[0xa4]), rL1)); break;
54+ case 0xa6: file_success(0xa2, file_delete(&uxn_file[0])); break;
55+ case 0xa9: file_success(0xa2, file_init(&uxn_file[0], PEEK2(&uxn.dev[0xa8]))); break;
56+ case 0xab: rL1 = PEEK2(&uxn.dev[0xaa]); break;
57+ case 0xad: file_success(0xa2, file_read(&uxn_file[0], PEEK2(&uxn.dev[0xac]), rL1)); break;
58+ case 0xaf: file_success(0xa2, file_write(&uxn_file[0], PEEK2(&uxn.dev[0xae]), rL1, uxn.dev[0xa7])); break;
59 /* File 2 */
60- case 0xb5:
61- res = file_stat(&uxn_file[1], PEEK2(&uxn.dev[0xb4]), rL2);
62- POKE2(&uxn.dev[0xb2], res);
63- break;
64- case 0xb6:
65- res = file_delete(&uxn_file[1]);
66- POKE2(&uxn.dev[0xb2], res);
67- break;
68- case 0xb9:
69- res = file_init(&uxn_file[1], PEEK2(&uxn.dev[0xb8]));
70- POKE2(&uxn.dev[0xb2], res);
71- break;
72- case 0xbb:
73- rL2 = PEEK2(&uxn.dev[0xba]);
74- break;
75- case 0xbd:
76- res = file_read(&uxn_file[1], PEEK2(&uxn.dev[0xbc]), rL2);
77- POKE2(&uxn.dev[0xb2], res);
78- break;
79- case 0xbf:
80- res = file_write(&uxn_file[1], PEEK2(&uxn.dev[0xbe]), rL2, uxn.dev[0xb7]);
81- POKE2(&uxn.dev[0xb2], res);
82- break;
83+ case 0xb5: file_success(0xb2, file_stat(&uxn_file[1], PEEK2(&uxn.dev[0xb4]), rL2)); break;
84+ case 0xb6: file_success(0xb2, file_delete(&uxn_file[1])); break;
85+ case 0xb9: file_success(0xb2, file_init(&uxn_file[1], PEEK2(&uxn.dev[0xb8]))); break;
86+ case 0xbb: rL2 = PEEK2(&uxn.dev[0xba]); break;
87+ case 0xbd: file_success(0xb2, file_read(&uxn_file[1], PEEK2(&uxn.dev[0xbc]), rL2)); break;
88+ case 0xbf: file_success(0xb2, file_write(&uxn_file[1], PEEK2(&uxn.dev[0xbe]), rL2, uxn.dev[0xb7])); break;
89 }
90 }