commit d3ea48e

Devine Lu Linvega  ·  2024-07-01 03:54:12 +0000 UTC
parent e379cfa
Faster JSI opcode
1 files changed,  +1, -6
+1, -6
 1@@ -50,12 +50,7 @@ uxn_eval(Uint16 pc)
 2 			case 0x00: /* BRK   */ return 1;
 3 			case 0x20: /* JCI   */ if(!uxn.wst.dat[uxn.wst.ptr--]) { pc += 2; break; } /* fall-through */
 4 			case 0x40: /* JMI   */ rr = uxn.ram + pc; pc += 2 + PEEK2(rr); break;
 5-			case 0x60: /* JSI   */ uxn.rst.ptr += 2;
 6-			rr = uxn.ram + pc;
 7-			pc += 2; r = pc;
 8-			uxn.rst.dat[uxn.rst.ptr] = pc;
 9-			uxn.rst.dat[(Uint8)(uxn.rst.ptr - 1)] = pc >> 8;
10-			pc += PEEK2(rr); break;
11+			case 0x60: /* JSI   */ rr = uxn.ram + pc; pc += 2; uxn.rst.dat[++uxn.rst.ptr] = pc >> 8; uxn.rst.dat[++uxn.rst.ptr] = pc; pc += PEEK2(rr); break;
12 			case 0xa0: /* LIT2  */ uxn.wst.dat[++uxn.wst.ptr] = uxn.ram[pc++]; /* fall-through */
13 			case 0x80: /* LIT   */ uxn.wst.dat[++uxn.wst.ptr] = uxn.ram[pc++]; break;
14 			case 0xe0: /* LIT2r */ uxn.rst.dat[++uxn.rst.ptr] = uxn.ram[pc++]; /* fall-through */