uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

commit 2c20d282a8efd39ba4a270737df2e3129f25adfd
parent 9f4231c59af43bc891fe527e52ef5451e59b4cae
Author: Devine Lu Linvega <aliceffekt@gmail.com>
Date:   Sun,  5 Mar 2023 11:35:53 -0800

(uxn-fast) Standardized STH opcodes

Diffstat:
Msrc/uxn-fast.c | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/uxn-fast.c b/src/uxn-fast.c @@ -93,12 +93,12 @@ uxn_eval(Uxn *u, Uint16 pc) case 0x0b: /* LTH */ t=T;n=N; INC(2,-1) PUT(0, n < t) break; case 0x2c: /* JMP2 */ t=T2; DEC(2, 0) pc = t; break; case 0x0c: /* JMP */ t=T; DEC(1, 0) pc += (Sint8)t; break; - case 0x2d: /* JCN2 */ t=T2;n=L; DEC(3, 0) if(n) { pc = t; } break; + case 0x2d: /* JCN2 */ t=T2;n=L; DEC(3, 0) if(n) pc = t; break; case 0x0d: /* JCN */ t=T;n=N; DEC(2, 0) pc += !!n * (Sint8)t; break; case 0x2e: /* JSR2 */ t=T2; DEC(2, 0) PUSH2(u->rst, pc) pc = t; break; case 0x0e: /* JSR */ t=T; DEC(1, 0) PUSH2(u->rst, pc) pc += (Sint8)t; break; - case 0x2f: /* STH2 */ t=T2; if(ins & 0x40) { DEC(2, 0) PUSH2(u->wst, t) } else{ DEC(2, 0) PUSH2(u->rst, t) } break; - case 0x0f: /* STH */ t=T; if(ins & 0x40) { DEC(1, 0) PUSH(u->wst, t) } else{ DEC(1, 0) PUSH(u->rst, t) } break; + case 0x2f: /* STH2 */ t=T2; DEC(2, 0) if(ins & 0x40) { PUSH2(u->wst, t) } else{ PUSH2(u->rst, t) } break; + case 0x0f: /* STH */ t=T; DEC(1, 0) if(ins & 0x40) { PUSH(u->wst, t) } else{ PUSH(u->rst, t) } break; case 0x30: /* LDZ2 */ t=T; INC(1, 1) PUT2(0, PEEK16(u->ram + t)) break; case 0x10: /* LDZ */ t=T; INC(1, 0) PUT(0, u->ram[t]) break; case 0x31: /* STZ2 */ t=T;n=H2; DEC(3, 0) POKE16(u->ram + t, n) break;