| ... | ... |
@@ -439,6 +439,7 @@ run(Uxn *u) |
| 439 | 439 |
{
|
| 440 | 440 |
Uint64 now = SDL_GetPerformanceCounter(), frame_end, frame_interval = SDL_GetPerformanceFrequency() / 60; |
| 441 | 441 |
for(;;) {
|
| 442 |
+ Uint16 screen_vector = PEEK16(&u->dev[0x20]); |
|
| 442 | 443 |
/* .System/halt */ |
| 443 | 444 |
if(u->dev[0x0f]) |
| 444 | 445 |
return error("Run", "Ended.");
|
| ... | ... |
@@ -446,11 +447,11 @@ run(Uxn *u) |
| 446 | 447 |
exec_deadline = now + deadline_interval; |
| 447 | 448 |
if(!handle_events(u)) |
| 448 | 449 |
return 0; |
| 449 |
- uxn_eval(u, PEEK16(&u->dev[0x20])); |
|
| 450 |
+ uxn_eval(u, screen_vector); |
|
| 450 | 451 |
if(uxn_screen.fg.changed || uxn_screen.bg.changed) |
| 451 | 452 |
redraw(); |
| 452 | 453 |
now = SDL_GetPerformanceCounter(); |
| 453 |
- if(u->dev[0x20]) {
|
|
| 454 |
+ if(screen_vector) {
|
|
| 454 | 455 |
if(!BENCH && ((Sint64)(frame_end - now)) > 0) {
|
| 455 | 456 |
SDL_Delay((frame_end - now) / ms_interval); |
| 456 | 457 |
now = frame_end; |