Browse code

Inlined system_cmd

neauoire authored on 16/08/2023 02:23:55
Showing 1 changed files
... ...
@@ -48,19 +48,6 @@ system_print(Stack *s, char *name)
48 48
 	fprintf(stderr, "\n");
49 49
 }
50 50
 
51
-static void
52
-system_cmd(Uint8 *ram, Uint16 addr)
53
-{
54
-	if(ram[addr] == 0x1) {
55
-		Uint16 i, length = PEEK2(ram + addr + 1);
56
-		Uint16 a_page = PEEK2(ram + addr + 1 + 2), a_addr = PEEK2(ram + addr + 1 + 4);
57
-		Uint16 b_page = PEEK2(ram + addr + 1 + 6), b_addr = PEEK2(ram + addr + 1 + 8);
58
-		int src = (a_page % RAM_PAGES) * 0x10000, dst = (b_page % RAM_PAGES) * 0x10000;
59
-		for(i = 0; i < length; i++)
60
-			ram[dst + (Uint16)(b_addr + i)] = ram[src + (Uint16)(a_addr + i)];
61
-	}
62
-}
63
-
64 51
 int
65 52
 system_error(char *msg, const char *err)
66 53
 {
... ...
@@ -129,7 +116,16 @@ system_deo(Uxn *u, Uint8 *d, Uint8 port)
129 116
 {
130 117
 	switch(port) {
131 118
 	case 0x3:
132
-		system_cmd(u->ram, PEEK2(d + 2));
119
+		Uint8 *ram = u->ram;
120
+		Uint16 addr = PEEK2(d + 2);
121
+		if(ram[addr] == 0x1) {
122
+			Uint16 i, length = PEEK2(ram + addr + 1);
123
+			Uint16 a_page = PEEK2(ram + addr + 1 + 2), a_addr = PEEK2(ram + addr + 1 + 4);
124
+			Uint16 b_page = PEEK2(ram + addr + 1 + 6), b_addr = PEEK2(ram + addr + 1 + 8);
125
+			int src = (a_page % RAM_PAGES) * 0x10000, dst = (b_page % RAM_PAGES) * 0x10000;
126
+			for(i = 0; i < length; i++)
127
+				ram[dst + (Uint16)(b_addr + i)] = ram[src + (Uint16)(a_addr + i)];
128
+		}
133 129
 		break;
134 130
 	case 0xe:
135 131
 		system_inspect(u);