commit d4a7b81

Devine Lu Linvega  ·  2024-11-13 18:22:30 +0000 UTC
parent d5114e8
Calloc the ram
2 files changed,  +7, -8
+6, -6
 1@@ -87,16 +87,16 @@ system_boot(Uint8 *ram, char *boot)
 2 	}
 3 	/* Load rom(bios) */
 4 	bios.ram = ram + BIOS_PAGE;
 5-	bios.dev = ram + BIOS_PAGE + 0x8300;
 6-	bios.wst.dat = ram + BIOS_PAGE + 0x8400;
 7-	bios.rst.dat = ram + BIOS_PAGE + 0x8500;
 8+	bios.dev = bios.ram + 0x8300;
 9+	bios.wst.dat = bios.ram + 0x8400;
10+	bios.rst.dat = bios.ram + 0x8500;
11 	bios.dev[0xe] = 0xff;
12 	/* Load rom(main) */
13 	if(system_load(&ram[PAGE_PROGRAM], boot)) {
14 		uxn.ram = ram;
15-		uxn.dev = ram + BIOS_PAGE + 0x8000;
16-		uxn.wst.dat = ram + BIOS_PAGE + 0x8100;
17-		uxn.rst.dat = ram + BIOS_PAGE + 0x8200;
18+		uxn.dev = bios.ram + 0x8000;
19+		uxn.wst.dat = bios.ram + 0x8100;
20+		uxn.rst.dat = bios.ram + 0x8200;
21 		boot_rom = boot;
22 		return 1;
23 	}
+1, -2
 1@@ -18,7 +18,6 @@
 2 #include "devices/datetime.h"
 3 
 4 Uxn uxn;
 5-Uint8 ram[0x10000 * (RAM_PAGES + 1)];
 6 
 7 /*
 8 Copyright (c) 2022 Devine Lu Linvega
 9@@ -269,7 +268,7 @@ main(int argc, char **argv)
10 		return !fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
11 	else if(!display_init())
12 		return !fprintf(stdout, "Could not open display.\n");
13-	else if(!system_boot(ram, argv[i++]))
14+	else if(!system_boot((Uint8 *)calloc(0x10000 * (RAM_PAGES + 1), sizeof(Uint8)), argv[i++]))
15 		return !fprintf(stdout, "Could not load %s.\n", argv[i - 1]);
16 	uxn.dev[0x17] = argc - i;
17 	if(uxn_eval(&uxn, PAGE_PROGRAM)) {