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 }