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 {