commit 7cff7b1
Devine Lu Linvega
·
2024-06-29 19:38:41 +0000 UTC
parent cfc8349
Removed indirection in uxn_eval
M
makefile
+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: