commit c0629cf
Devine Lu Linvega
·
2024-11-11 19:31:44 +0000 UTC
parent 70dd8e7
Returned the step counter
M
makefile
+1,
-1
1@@ -1,5 +1,5 @@
2
3-CLI_src=src/uxn.c src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c
4+CLI_src=src/uxn.c src/uxn.h src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c
5 EMU_src=${CLI_src} src/devices/screen.c src/devices/controller.c src/devices/mouse.c
6
7 RELEASE_flags=-DNDEBUG -O2 -g0 -s
+3,
-2
1@@ -45,9 +45,9 @@ WITH REGARD TO THIS SOFTWARE.
2 int
3 uxn_eval(Uint16 pc)
4 {
5- int a, b, c, x[2], y[2], z[2];
6+ unsigned int a, b, c, x[2], y[2], z[2], step;
7 if(!pc || uxn.dev[0x0f]) return 0;
8- for(;;) {
9+ for(step = STEP_MAX; step; step--) {
10 switch(uxn.ram[pc++]) {
11 /* BRK */ case 0x00: return 1;
12 /* JCI */ case 0x20: if(DEC(wst)) { JMI break; } pc += 2; break;
13@@ -90,4 +90,5 @@ uxn_eval(Uint16 pc)
14 /* SFT */ OPC(0x1f, PO1(a) POx(b),PUx(b >> (a & 0xf) << (a >> 4)))
15 }
16 }
17+ return 0;
18 }
+1,
-0
1@@ -16,6 +16,7 @@ WITH REGARD TO THIS SOFTWARE.
2
3 /* clang-format on */
4
5+#define STEP_MAX 0x80000000
6 #define PAGE_PROGRAM 0x0100
7
8 typedef unsigned char Uint8;