... | ... |
@@ -15,6 +15,8 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
15 | 15 |
WITH REGARD TO THIS SOFTWARE. |
16 | 16 |
*/ |
17 | 17 |
|
18 |
+char *boot_rom; |
|
19 |
+ |
|
18 | 20 |
static const char *errors[] = { |
19 | 21 |
"underflow", |
20 | 22 |
"overflow", |
... | ... |
@@ -100,6 +102,7 @@ system_init(Uxn *u, Uint8 *ram, char *rom) |
100 | 102 |
u->ram = ram; |
101 | 103 |
if(!system_load(u, rom)) |
102 | 104 |
return system_error("Init", "Failed to load rom."); |
105 |
+ boot_rom = rom; |
|
103 | 106 |
return 1; |
104 | 107 |
} |
105 | 108 |
|
... | ... |
@@ -15,6 +15,8 @@ WITH REGARD TO THIS SOFTWARE. |
15 | 15 |
|
16 | 16 |
#define RAM_PAGES 0x10 |
17 | 17 |
|
18 |
+extern char *boot_rom; |
|
19 |
+ |
|
18 | 20 |
void system_connect(Uint8 device, Uint8 ver, Uint16 dei, Uint16 deo); |
19 | 21 |
int system_version(char *emulator, char *date); |
20 | 22 |
int system_load(Uxn *u, char *filename); |
... | ... |
@@ -73,7 +73,7 @@ main(int argc, char **argv) |
73 | 73 |
system_connect(0xc, DATETIME_VERSION, DATETIME_DEIMASK, DATETIME_DEOMASK); |
74 | 74 |
/* Read flags */ |
75 | 75 |
if(argv[i][0] == '-' && argv[i][1] == 'v') |
76 |
- return system_version("Uxncli - Console Varvara Emulator", "9 Aug 2023"); |
|
76 |
+ return system_version("Uxncli - Console Varvara Emulator", "15 Aug 2023"); |
|
77 | 77 |
if(!system_init(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), argv[i++])) |
78 | 78 |
return system_error("Init", "Failed to initialize uxn."); |
79 | 79 |
/* Game Loop */ |
... | ... |
@@ -58,7 +58,6 @@ static SDL_Thread *stdin_thread; |
58 | 58 |
static int window_created = 0; |
59 | 59 |
static Uint32 stdin_event, audio0_event, zoom = 1; |
60 | 60 |
static Uint64 exec_deadline, deadline_interval, ms_interval; |
61 |
-static char *rom_path; |
|
62 | 61 |
|
63 | 62 |
Uint16 dev_vers[0x10], dei_mask[0x10], deo_mask[0x10]; |
64 | 63 |
|
... | ... |
@@ -271,9 +270,9 @@ static void |
271 | 270 |
emu_restart(Uxn *u) |
272 | 271 |
{ |
273 | 272 |
screen_resize(WIDTH, HEIGHT); |
274 |
- SDL_SetWindowTitle(emu_window, rom_path); |
|
273 |
+ SDL_SetWindowTitle(emu_window, boot_rom); |
|
275 | 274 |
if(!emu_start(u, "launcher.rom")) |
276 |
- emu_start(u, rom_path); |
|
275 |
+ emu_start(u, boot_rom); |
|
277 | 276 |
} |
278 | 277 |
|
279 | 278 |
static int |
... | ... |
@@ -288,7 +287,7 @@ emu_restart_soft(Uxn *u) |
288 | 287 |
u->rst.ptr = 0; |
289 | 288 |
screen_fill(uxn_screen.bg, 0, 0, uxn_screen.width, uxn_screen.height, 0); |
290 | 289 |
screen_fill(uxn_screen.fg, 0, 0, uxn_screen.width, uxn_screen.height, 0); |
291 |
- if(!system_load(u, rom_path)) |
|
290 |
+ if(!system_load(u, boot_rom)) |
|
292 | 291 |
return system_error("Boot", "Failed to load rom."); |
293 | 292 |
if(!uxn_eval(u, PAGE_PROGRAM)) |
294 | 293 |
return system_error("Boot", "Failed to eval rom."); |
... | ... |
@@ -552,19 +551,18 @@ main(int argc, char **argv) |
552 | 551 |
system_connect(0xc, DATETIME_VERSION, DATETIME_DEIMASK, DATETIME_DEOMASK); |
553 | 552 |
/* Read flags */ |
554 | 553 |
if(argv[i][0] == '-' && argv[i][1] == 'v') |
555 |
- return system_version("Uxnemu - Graphical Varvara Emulator", "10 Aug 2023"); |
|
554 |
+ return system_version("Uxnemu - Graphical Varvara Emulator", "15 Aug 2023"); |
|
556 | 555 |
if(strcmp(argv[i], "-2x") == 0 || strcmp(argv[i], "-3x") == 0) |
557 | 556 |
set_zoom(argv[i++][1] - '0', 0); |
558 |
- rom_path = argv[i++]; |
|
559 | 557 |
if(!emu_init()) |
560 | 558 |
return system_error("Init", "Failed to initialize varvara."); |
561 |
- if(!system_init(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), rom_path)) |
|
559 |
+ if(!system_init(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), argv[i++])) |
|
562 | 560 |
return system_error("Init", "Failed to initialize uxn."); |
563 | 561 |
/* Game Loop */ |
564 | 562 |
u.dev[0x17] = argc - i; |
565 | 563 |
if(uxn_eval(&u, PAGE_PROGRAM)) { |
566 | 564 |
console_listen(&u, i, argc, argv); |
567 |
- emu_run(&u, rom_path); |
|
565 |
+ emu_run(&u, boot_rom); |
|
568 | 566 |
} |
569 | 567 |
return emu_end(&u); |
570 | 568 |
} |