commit db4e07f

Devine Lu Linvega  ·  2023-02-02 17:34:14 +0000 UTC
parent 4882bfc
Ported to last uxn core
3 files changed,  +7, -7
+2, -2
 1@@ -62,9 +62,9 @@ system_load(Uxn *u, char *filename)
 2 	FILE *f = fopen(filename, "rb");
 3 	if(!f)
 4 		return 0;
 5-	l = fread(&u->ram[PAGE_PROGRAM], 1, 0x10000 - PAGE_PROGRAM, f);
 6+	l = fread(&u->ram[PAGE_PROGRAM], 0x10000 - PAGE_PROGRAM, 1, f);
 7 	while(l && ++i < RAM_PAGES)
 8-		l = fread(u->ram + 0x10000 * i, 1, 0x10000, f);
 9+		l = fread(u->ram + 0x10000 * i, 0x10000, 1, f);
10 	fclose(f);
11 	return 1;
12 }
+4, -4
 1@@ -75,7 +75,7 @@ uxn_eval(Uxn *u, Uint16 pc)
 2 		case 0x0f: /* STH */ POP(a) PUSH(dst, a) break;
 3 		case 0x10: /* LDZ */ POP8(a) PEEK(b, a) PUSH(src, b) break;
 4 		case 0x11: /* STZ */ POP8(a) POP(b) POKE(a, b) break;
 5-		case 0x12: /* LDR */ POP8(a) PEEK(b, pc + (Sint8)a) PUSH(src, b) break;
 6+		case 0x12: /* LDR */ POP8(a) b = pc + (Sint8)a; PEEK(c, b) PUSH(src, c) break;
 7 		case 0x13: /* STR */ POP8(a) POP(b) c = pc + (Sint8)a; POKE(c, b) break;
 8 		case 0x14: /* LDA */ POP16(a) PEEK(b, a) PUSH(src, b) break;
 9 		case 0x15: /* STA */ POP16(a) POP(b) POKE(a, b) break;
10@@ -100,9 +100,9 @@ uxn_boot(Uxn *u, Uint8 *ram, Dei *dei, Deo *deo)
11 	char *cptr = (char *)u;
12 	for(i = 0; i < sizeof(*u); i++)
13 		cptr[i] = 0x00;
14-	u->wst = (Stack *)(ram + 0x10000);
15-	u->rst = (Stack *)(ram + 0x10100);
16-	u->dev = (Uint8 *)(ram + 0x10200);
17+	u->wst = (Stack *)(ram + 0xf0000);
18+	u->rst = (Stack *)(ram + 0xf0100);
19+	u->dev = (Uint8 *)(ram + 0xf0200);
20 	u->ram = ram;
21 	u->dei = dei;
22 	u->deo = deo;
+1, -1
1@@ -26,7 +26,7 @@ typedef unsigned int Uint32;
2 /* clang-format on */
3 
4 typedef struct {
5-	Uint8 dat[254], err, ptr;
6+	Uint8 dat[255], ptr;
7 } Stack;
8 
9 typedef struct Uxn {