Browse code

Zero ram on reboot

neauoire authored on 19/08/2023 14:58:44
Showing 1 changed files
... ...
@@ -89,8 +89,7 @@ system_version(Uxn *u, char *name, char *date)
89 89
 }
90 90
 
91 91
 void
92
-system_reboot(Uxn *u, char *rom, int soft)
93
-{
92
+system_boot(Uxn *u, int soft){
94 93
 	int i;
95 94
 	for(i = 0x100 * soft; i < 0x10000; i++)
96 95
 		u->ram[i] = 0;
... ...
@@ -98,6 +97,12 @@ system_reboot(Uxn *u, char *rom, int soft)
98 97
 		u->dev[i] = 0;
99 98
 	u->wst.ptr = 0;
100 99
 	u->rst.ptr = 0;
100
+}
101
+
102
+void
103
+system_reboot(Uxn *u, char *rom, int soft)
104
+{
105
+	system_boot(u, soft);
101 106
 	if(system_load(u, boot_rom))
102 107
 		if(uxn_eval(u, PAGE_PROGRAM))
103 108
 			boot_rom = rom;
... ...
@@ -107,6 +112,7 @@ int
107 112
 system_init(Uxn *u, Uint8 *ram, char *rom)
108 113
 {
109 114
 	u->ram = ram;
115
+	system_boot(u, 0);
110 116
 	if(!system_load(u, rom))
111 117
 		if(!system_load(u, "boot.rom"))
112 118
 			return system_error("Init", "Failed to load rom.");