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 }