| ... | ... |
@@ -37,7 +37,7 @@ WITH REGARD TO THIS SOFTWARE. |
| 37 | 37 |
int |
| 38 | 38 |
uxn_eval(Uxn *u, Uint16 pc) |
| 39 | 39 |
{
|
| 40 |
- int t, n, l, r; |
|
| 40 |
+ Uint16 t, n, l, r; |
|
| 41 | 41 |
Uint8 *ram = u->ram, *rr; |
| 42 | 42 |
if(!pc || u->dev[0x0f]) return 0; |
| 43 | 43 |
for(;;) {
|
| ... | ... |
@@ -91,9 +91,9 @@ uxn_eval(Uxn *u, Uint16 pc) |
| 91 | 91 |
case 0x13: /* STR */ t=T;n=N; SET(2,-2) ram[pc + (Sint8)t] = n; break; |
| 92 | 92 |
case 0x33: /* STR2 */ t=T;n=H2; SET(3,-3) rr = ram + pc + (Sint8)t; POKE2(rr, n) break; |
| 93 | 93 |
case 0x14: /* LDA */ t=T2; SET(2,-1) T = ram[t]; break; |
| 94 |
- case 0x34: /* LDA2 */ t=T2; SET(2, 0) rr = ram + t; T2_(PEEK2(rr)) break; |
|
| 94 |
+ case 0x34: /* LDA2 */ t=T2; SET(2, 0) N = ram[t++]; T = ram[t]; break; |
|
| 95 | 95 |
case 0x15: /* STA */ t=T2;n=L; SET(3,-3) ram[t] = n; break; |
| 96 |
- case 0x35: /* STA2 */ t=T2;n=N2; SET(4,-4) rr = ram + t; POKE2(rr, n) break; |
|
| 96 |
+ case 0x35: /* STA2 */ t=T2;n=N2; SET(4,-4) ram[t++] = n >> 8; ram[t] = n; break; |
|
| 97 | 97 |
case 0x16: /* DEI */ t=T; SET(1, 0) T = emu_dei(u, t); break; |
| 98 | 98 |
case 0x36: /* DEI2 */ t=T; SET(1, 1) N = emu_dei(u, t); T = emu_dei(u, t + 1); break; |
| 99 | 99 |
case 0x17: /* DEO */ t=T;n=N; SET(2,-2) emu_deo(u, t, n); break; |
| ... | ... |
@@ -70,7 +70,7 @@ main(int argc, char **argv) |
| 70 | 70 |
return system_error("usage", "uxncli [-v] file.rom [args..]");
|
| 71 | 71 |
/* Read flags */ |
| 72 | 72 |
if(argv[i][0] == '-' && argv[i][1] == 'v') |
| 73 |
- return system_version("Uxncli - Console Varvara Emulator", "31 Oct 2023");
|
|
| 73 |
+ return system_version("Uxncli - Console Varvara Emulator", "1 Nov 2023");
|
|
| 74 | 74 |
if(!system_init(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), argv[i++])) |
| 75 | 75 |
return system_error("Init", "Failed to initialize uxn.");
|
| 76 | 76 |
/* Game Loop */ |
| ... | ... |
@@ -549,7 +549,7 @@ main(int argc, char **argv) |
| 549 | 549 |
/* Read flag. Right now, there can be only one. */ |
| 550 | 550 |
if(argv[i][0] == '-') {
|
| 551 | 551 |
if(argv[i][1] == 'v') |
| 552 |
- return system_version("Uxnemu - Graphical Varvara Emulator", "31 Oct 2023");
|
|
| 552 |
+ return system_version("Uxnemu - Graphical Varvara Emulator", "1 Nov 2023");
|
|
| 553 | 553 |
if(argv[i][1] == '-') |
| 554 | 554 |
i++; |
| 555 | 555 |
if(strcmp(argv[i], "-2x") == 0 || strcmp(argv[i], "-3x") == 0) |