| ... | ... |
@@ -132,9 +132,13 @@ uxn_halt(Uxn *u, Uint8 error, char *name, int id) |
| 132 | 132 |
static void |
| 133 | 133 |
run(Uxn *u) |
| 134 | 134 |
{
|
| 135 |
- uxn_eval(u, PAGE_PROGRAM); |
|
| 136 |
- while((!u->dev[0].dat[0xf]) && (read(0, &devconsole->dat[0x2], 1) > 0)) |
|
| 137 |
- uxn_eval(u, mempeek16(devconsole->dat, 0)); |
|
| 135 |
+ Uint16 vec = PAGE_PROGRAM; |
|
| 136 |
+ uxn_eval(u, vec); |
|
| 137 |
+ while((!u->dev[0].dat[0xf]) && (read(0, &devconsole->dat[0x2], 1) > 0)) {
|
|
| 138 |
+ vec = mempeek16(devconsole->dat, 0); |
|
| 139 |
+ if (!vec) vec = u->ram.ptr; /* continue after last BRK */ |
|
| 140 |
+ uxn_eval(u, vec); |
|
| 141 |
+ } |
|
| 138 | 142 |
} |
| 139 | 143 |
|
| 140 | 144 |
static int |