commit 6ce45b5
Devine Lu Linvega
·
2024-12-18 16:16:49 +0000 UTC
parent a557be8
Save image.rom with F3
3 files changed,
+15,
-2
+12,
-0
1@@ -58,6 +58,18 @@ system_inspect(void)
2 fprintf(stderr, "RST "), system_print(&uxn.rst);
3 }
4
5+void
6+system_image(void)
7+{
8+ int i, len = 0;
9+ FILE *f = fopen("image.rom", "wb");
10+ for(i = PAGE_PROGRAM; i < 0x10000; i++)
11+ if(uxn.ram[i])
12+ len = i;
13+ fwrite(uxn.ram + PAGE_PROGRAM, len - PAGE_PROGRAM + 1, 1, f), fclose(f);
14+ printf("Saved image.rom, %d bytes\n", len);
15+}
16+
17 int
18 system_error(char *msg, const char *err)
19 {
+1,
-0
1@@ -13,6 +13,7 @@ WITH REGARD TO THIS SOFTWARE.
2
3 void system_reboot(int soft);
4 void system_inspect(void);
5+void system_image(void);
6 int system_error(char *msg, const char *err);
7 int system_boot(Uint8 *ram, char *rom);
8
+2,
-2
1@@ -143,7 +143,7 @@ emu_event(void)
2 switch(sym) {
3 case XK_F1: toggle_scale(); break;
4 case XK_F2: system_inspect(), uxn.dev[0x0e] = !uxn.dev[0x0e]; break;
5- case XK_F3: uxn.dev[0x0f] = 0xff; break;
6+ case XK_F3: system_image(); break;
7 case XK_F4: emu_restart(0); break;
8 case XK_F5: emu_restart(1); break;
9 }
10@@ -261,7 +261,7 @@ main(int argc, char **argv)
11 {
12 int i = 1;
13 if(argc == 2 && argv[1][0] == '-' && argv[1][1] == 'v')
14- return !fprintf(stdout, "Uxn11 - Varvara Emulator, 15 Dec 2024.\n");
15+ return !fprintf(stdout, "Uxn11 - Varvara Emulator, 18 Dec 2024.\n");
16 else if(argc == 1)
17 return !fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
18 else if(!display_init())