commit 50eb9fe

Devine Lu Linvega  ·  2024-11-11 18:43:50 +0000 UTC
parent e055fd0
Cleaning up uxncli
1 files changed,  +10, -19
+10, -19
 1@@ -8,7 +8,7 @@
 2 #include "devices/datetime.h"
 3 
 4 /*
 5-Copyright (c) 2021-2023 Devine Lu Linvega, Andrew Alderwick
 6+Copyright (c) 2021-2024 Devine Lu Linvega, Andrew Alderwick
 7 
 8 Permission to use, copy, modify, and distribute this software for any
 9 purpose with or without fee is hereby granted, provided that the above
10@@ -19,6 +19,7 @@ WITH REGARD TO THIS SOFTWARE.
11 */
12 
13 Uxn uxn;
14+Uint8 ram[0x10000 * RAM_PAGES];
15 
16 Uint8
17 emu_dei(Uint8 addr)
18@@ -56,28 +57,18 @@ emu_run(void)
19 	}
20 }
21 
22-static int
23-emu_end(void)
24-{
25-	free(uxn.ram);
26-	return uxn.dev[0x0f] & 0x7f;
27-}
28-
29 int
30 main(int argc, char **argv)
31 {
32 	int i = 1;
33-	char *rom;
34-	if(i != argc && argv[i][0] == '-' && argv[i][1] == 'v') {
35+	if(i != argc && argv[i][0] == '-' && argv[i][1] == 'v')
36 		fprintf(stdout, "Uxn11(cli) - Varvara Emulator, 11 Nov 2024.\n");
37-		exit(0);
38-	}
39-	rom = i == argc ? "boot.rom" : argv[i++];
40-	if(!system_boot((Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), rom))
41+	else if(argc == i || !system_boot(ram, argv[i++]))
42 		return !fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
43-	/* Event Loop */
44-	uxn.dev[0x17] = argc - i;
45-	if(uxn_eval(PAGE_PROGRAM) && PEEK2(uxn.dev + 0x10))
46-		console_listen(i, argc, argv), emu_run();
47-	return emu_end();
48+	else {
49+		uxn.dev[0x17] = argc - i;
50+		if(uxn_eval(PAGE_PROGRAM) && PEEK2(uxn.dev + 0x10))
51+			console_listen(i, argc, argv), emu_run();
52+	}
53+	return uxn.dev[0x0f] & 0x7f;
54 }