commit 20b41ab

Devine Lu Linvega  ·  2024-06-29 18:45:23 +0000 UTC
parent 01c983b
Making uxn global
3 files changed,  +16, -13
+1, -0
1@@ -37,6 +37,7 @@ typedef struct Uxn {
2 
3 extern Uint8 emu_dei(Uxn *u, Uint8 addr);
4 extern void emu_deo(Uxn *u, Uint8 addr, Uint8 value);
5+extern Uxn uxn;
6 
7 /* built-ins */
8 
+7, -6
 1@@ -16,6 +16,8 @@
 2 #include "devices/file.h"
 3 #include "devices/datetime.h"
 4 
 5+Uxn uxn;
 6+
 7 /*
 8 Copyright (c) 2022 Devine Lu Linvega
 9 
10@@ -267,7 +269,6 @@ emu_run(Uxn *u)
11 int
12 main(int argc, char **argv)
13 {
14-	Uxn u = {0};
15 	int i = 1;
16 	char *rom;
17 	if(i != argc && argv[i][0] == '-' && argv[i][1] == 'v') {
18@@ -275,7 +276,7 @@ main(int argc, char **argv)
19 		i++;
20 	}
21 	rom = i == argc ? "boot.rom" : argv[i++];
22-	if(!system_boot(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), rom)) {
23+	if(!system_boot(&uxn, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), rom)) {
24 		fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
25 		return 0;
26 	}
27@@ -285,9 +286,9 @@ main(int argc, char **argv)
28 	}
29 	/* Game Loop */
30 	u.dev[0x17] = argc - i;
31-	if(uxn_eval(&u, PAGE_PROGRAM)) {
32-		console_listen(&u, i, argc, argv);
33-		emu_run(&u);
34+	if(uxn_eval(&uxn, PAGE_PROGRAM)) {
35+		console_listen(&uxn, i, argc, argv);
36+		emu_run(&uxn);
37 	}
38-	return emu_end(&u);
39+	return emu_end(&uxn);
40 }
+8, -7
 1@@ -18,6 +18,8 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 2 WITH REGARD TO THIS SOFTWARE.
 3 */
 4 
 5+Uxn uxn;
 6+
 7 Uint8
 8 emu_dei(Uxn *u, Uint8 addr)
 9 {
10@@ -65,20 +67,19 @@ emu_end(Uxn *u)
11 int
12 main(int argc, char **argv)
13 {
14-	Uxn u = {0};
15 	int i = 1;
16 	if(i == argc)
17 		return system_error("usage", "uxncli [-v] file.rom [args..]");
18 	/* Read flags */
19 	if(argv[i][0] == '-' && argv[i][1] == 'v')
20 		return system_version("Uxncli - Console Varvara Emulator", "18 Mar 2024");
21-	if(!system_boot(&u, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), argv[i++]))
22+	if(!system_boot(&uxn, (Uint8 *)calloc(0x10000 * RAM_PAGES, sizeof(Uint8)), argv[i++]))
23 		return system_error("Init", "Failed to initialize uxn.");
24 	/* Game Loop */
25-	u.dev[0x17] = argc - i;
26-	if(uxn_eval(&u, PAGE_PROGRAM) && PEEK2(u.dev + 0x10)) {
27-		console_listen(&u, i, argc, argv);
28-		emu_run(&u);
29+	uxn.dev[0x17] = argc - i;
30+	if(uxn_eval(&uxn, PAGE_PROGRAM) && PEEK2(uxn.dev + 0x10)) {
31+		console_listen(&uxn, i, argc, argv);
32+		emu_run(&uxn);
33 	}
34-	return emu_end(&u);
35+	return emu_end(&uxn);
36 }