uxn

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

commit 211c4afa2dbc1aa36dd48e84742a067296ade54e
parent 497b01fcfb492948c4d66941a5cbe5c93f7533be
Author: Devine Lu Linvega <aliceffekt@gmail.com>
Date:   Sun,  5 Mar 2023 11:29:58 -0800

(uxn-fast) Use macros for STH

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

diff --git a/src/uxn-fast.c b/src/uxn-fast.c @@ -97,8 +97,8 @@ uxn_eval(Uxn *u, Uint16 pc) 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) { u->rst->ptr -= !k * 2; PUSH2(u->wst, t); } else{ u->wst->ptr -= !k * 2; PUSH2(u->rst, t); } break; - case 0x0f: /* STH */ t=T; if(ins & 0x40) { u->rst->ptr -= !k; PUSH(u->wst, t); } else{ u->wst->ptr -= !k; PUSH(u->rst, 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 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;