commit 7cff7b1

Devine Lu Linvega  ·  2024-06-29 19:38:41 +0000 UTC
parent cfc8349
Removed indirection in uxn_eval
2 files changed,  +7, -8
+4, -4
 1@@ -13,11 +13,11 @@ dest:
 2 	@ mkdir -p bin
 3 run: all bin/uxnasm bin/uxncli bin/uxn11
 4 	@ bin/uxn11 
 5-test: bin/uxnasm bin/uxncli bin/uxn11
 6+test: all
 7 	@ bin/uxnasm -v && ./bin/uxncli -v && ./bin/uxn11 -v
 8 	@ bin/uxnasm etc/opctest.tal bin/opctest.rom
 9 	@ bin/uxncli bin/opctest.rom
10-install: all bin/uxnasm bin/uxncli bin/uxn11
11+install: all
12 	@ cp bin/uxn11 bin/uxnasm bin/uxncli ~/bin/
13 uninstall:
14 	@ rm -f ~/bin/uxn11 ~/bin/uxnasm ~/bin/uxncli
15@@ -31,6 +31,6 @@ clean:
16 bin/uxnasm: src/uxnasm.c
17 	@ cc ${RELEASE_flags} ${CFLAGS} src/uxnasm.c -o bin/uxnasm
18 bin/uxncli: ${CLI_src} src/uxncli.c
19-	@ cc ${DEBUG_flags} ${CFLAGS} ${CLI_src} src/uxncli.c -lutil -o bin/uxncli
20+	@ cc ${RELEASE_flags} ${CFLAGS} ${CLI_src} src/uxncli.c -lutil -o bin/uxncli
21 bin/uxn11: ${EMU_src} src/uxn11.c
22-	@ cc ${DEBUG_flags} ${CFLAGS} ${EMU_src} src/uxn11.c -lX11 -lutil -o bin/uxn11
23+	@ cc ${RELEASE_flags} ${CFLAGS} ${EMU_src} src/uxn11.c -lX11 -lutil -o bin/uxn11
+3, -4
 1@@ -30,20 +30,19 @@ WITH REGARD TO THIS SOFTWARE.
 2 #define T2_(v) { r = (v); T = r; N = r >> 8; }
 3 #define N2_(v) { r = (v); L = r; X = r >> 8; }
 4 #define L2_(v) { r = (v); Y = r; Z = r >> 8; }
 5-#define FLIP      { s = ins & 0x40 ? &u->wst : &u->rst; }
 6+#define FLIP      { s = ins & 0x40 ? &uxn.wst : &uxn.rst; }
 7 #define SHIFT(y)  { s->ptr += (y); }
 8 #define SET(x, y) { SHIFT((ins & 0x80) ? x + y : y) }
 9 
10 int
11 uxn_eval(Uint16 pc)
12 {
13-	Uxn *u = &uxn;
14 	Uint16 t, n, l, r;
15 	Uint8 *rr;
16-	if(!pc || u->dev[0x0f]) return 0;
17+	if(!pc || uxn.dev[0x0f]) return 0;
18 	for(;;) {
19 		Uint8 ins = uxn.ram[pc++];
20-		Stack *s = ins & 0x40 ? &u->rst : &u->wst;
21+		Stack *s = ins & 0x40 ? &uxn.rst : &uxn.wst;
22 		switch(ins & 0x3f) {
23 		/* IMM */
24 		case 0x00: case 0x20: