commit e5df4de
Devine Lu Linvega
·
2025-05-13 18:10:54 +0000 UTC
parent 66ece0d
Moved pc check outside of eval
2 files changed,
+12,
-11
+9,
-9
1@@ -95,7 +95,7 @@ int
2 uxn_eval(Uint16 pc)
3 {
4 Uint32 a, b, c, x[2], y[2], z[2], step;
5- if(!pc || uxn.dev[0x0f]) return 0;
6+ if(uxn.dev[0x0f]) return 0;
7 for(step = STEP_MAX; step; step--) {
8 switch(uxn.ram[pc++]) {
9 /* BRK */ case 0x00: return 1;
10@@ -409,7 +409,7 @@ console_input(int c, int type)
11 {
12 if(c == EOF) c = 0, type = 4;
13 uxn.dev[0x12] = c, uxn.dev[0x17] = type;
14- uxn_eval(console_vector);
15+ if(console_vector) uxn_eval(console_vector);
16 return type != 4;
17 }
18
19@@ -618,7 +618,7 @@ controller_down(Uint8 mask)
20 {
21 if(mask) {
22 uxn.dev[0x82] |= mask;
23- uxn_eval(controller_vector);
24+ if(controller_vector) uxn_eval(controller_vector);
25 }
26 }
27
28@@ -627,7 +627,7 @@ controller_up(Uint8 mask)
29 {
30 if(mask) {
31 uxn.dev[0x82] &= (~mask);
32- uxn_eval(controller_vector);
33+ if(controller_vector) uxn_eval(controller_vector);
34 }
35 }
36
37@@ -636,7 +636,7 @@ controller_key(Uint8 key)
38 {
39 if(key) {
40 uxn.dev[0x83] = key;
41- uxn_eval(controller_vector);
42+ if(controller_vector) uxn_eval(controller_vector);
43 uxn.dev[0x83] = 0;
44 }
45 }
46@@ -650,14 +650,14 @@ static void
47 mouse_down(Uint8 mask)
48 {
49 uxn.dev[0x96] |= mask;
50- uxn_eval(mouse_vector);
51+ if(mouse_vector) uxn_eval(mouse_vector);
52 }
53
54 static void
55 mouse_up(Uint8 mask)
56 {
57 uxn.dev[0x96] &= (~mask);
58- uxn_eval(mouse_vector);
59+ if(mouse_vector) uxn_eval(mouse_vector);
60 }
61
62 static void
63@@ -665,7 +665,7 @@ mouse_pos(Uint16 x, Uint16 y)
64 {
65 uxn.dev[0x92] = x >> 8, uxn.dev[0x93] = x;
66 uxn.dev[0x94] = y >> 8, uxn.dev[0x95] = y;
67- uxn_eval(mouse_vector);
68+ if(mouse_vector) uxn_eval(mouse_vector);
69 }
70
71 static void
72@@ -673,7 +673,7 @@ mouse_scroll(Uint16 x, Uint16 y)
73 {
74 uxn.dev[0x9a] = x >> 8, uxn.dev[0x9b] = x;
75 uxn.dev[0x9c] = -y >> 8, uxn.dev[0x9d] = -y;
76- uxn_eval(mouse_vector);
77+ if(mouse_vector) uxn_eval(mouse_vector);
78 uxn.dev[0x9a] = 0, uxn.dev[0x9b] = 0;
79 uxn.dev[0x9c] = 0, uxn.dev[0x9d] = 0;
80 }
+3,
-2
1@@ -80,7 +80,7 @@ int
2 uxn_eval(Uint16 pc)
3 {
4 Uint32 a, b, c, x[2], y[2], z[2], step;
5- if(!pc || uxn.dev[0x0f]) return 0;
6+ if(uxn.dev[0x0f]) return 0;
7 for(step = STEP_MAX; step; step--) {
8 switch(uxn.ram[pc++]) {
9 /* BRK */ case 0x00: return 1;
10@@ -378,7 +378,8 @@ console_input(int c, int type)
11 {
12 if(c == EOF) c = 0, type = 4;
13 uxn.dev[0x12] = c, uxn.dev[0x17] = type;
14- uxn_eval(console_vector);
15+ if(console_vector)
16+ uxn_eval(console_vector);
17 return type != 4;
18 }
19