commit 6096578
Devine Lu Linvega
·
2024-08-17 03:30:00 +0000 UTC
parent e4b4c2f
(uxn.c)PEK uses non-merging microcode
1 files changed,
+4,
-4
+4,
-4
1@@ -42,7 +42,7 @@ WITH REGARD TO THIS SOFTWARE.
2 #define PUT(x,y) PU1(x) if(_2) PU1(y)
3 #define DEI(p, o) if(_2) { o = (emu_dei(p) << 8) | emu_dei(p + 1); } else o = emu_dei(p);
4 #define DEO(p, y) if(_2) { emu_deo(p, y >> 8), emu_deo(p + 1, y); } else emu_deo(p, y);
5-#define PEK(o, x, r) if(_2) { r = (x); o = uxn.ram[r++] << 8 | uxn.ram[r]; } else o = uxn.ram[(x)];
6+#define PEK(o, p, x, r) if(_2) { r = (x); o = uxn.ram[r++], p = uxn.ram[r]; } else o = uxn.ram[(x)];
7 #define POK(x, y, z, r) if(_2) { r = (x); uxn.ram[r++] = y, uxn.ram[r] = z; } else uxn.ram[(x)] = (y);
8
9 int
10@@ -77,11 +77,11 @@ uxn_eval(Uint16 pc)
11 /* JCN */ OPC(0x0d, POx(a) PO1(b), if(b) JMP(a))
12 /* JSR */ OPC(0x0e, POx(a),PF2(pc) JMP(a))
13 /* STH */ OPC(0x0f, POx(a),PFx(a))
14- /* LDZ */ OPC(0x10, PO1(a),PEK(b, a, t) PUx(b))
15+ /* LDZ */ OPC(0x10, PO1(a),PEK(b, c, a, t) PUT(b,c))
16 /* STZ */ OPC(0x11, PO1(a) GET(b,c),POK(a, b, c, t))
17- /* LDR */ OPC(0x12, PO1(a),PEK(b, pc + (Sint8)a, tt) PUx(b))
18+ /* LDR */ OPC(0x12, PO1(a),PEK(b, c, pc + (Sint8)a, tt) PUT(b,c))
19 /* STR */ OPC(0x13, PO1(a) GET(b,c),POK(pc + (Sint8)a, b, c, tt))
20- /* LDA */ OPC(0x14, PO2(a),PEK(b, a, tt) PUx(b))
21+ /* LDA */ OPC(0x14, PO2(a),PEK(b, c, a, tt) PUT(b,c))
22 /* STA */ OPC(0x15, PO2(a) GET(b,c),POK(a, b, c, tt))
23 /* DEI */ OPC(0x16, PO1(a),DEI(a, b) PUx(b))
24 /* DEO */ OPC(0x17, PO1(a) POx(b),DEO(a, b))