Browse code

Removed device globals

neauoire authored on 11/01/2022 22:38:55
Showing 2 changed files
... ...
@@ -21,10 +21,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
21 21
 WITH REGARD TO THIS SOFTWARE.
22 22
 */
23 23
 
24
-#pragma mark - Core
25
-
26
-static Device *devsystem, *devconsole;
27
-
28 24
 static int
29 25
 error(char *msg, const char *err)
30 26
 {
... ...
@@ -48,8 +44,6 @@ inspect(Stack *s, char *name)
48 44
 	}
49 45
 }
50 46
 
51
-#pragma mark - Devices
52
-
53 47
 void
54 48
 system_deo_special(Device *d, Uint8 port)
55 49
 {
... ...
@@ -83,20 +77,19 @@ nil_deo(Device *d, Uint8 port)
83 77
 	(void)port;
84 78
 }
85 79
 
86
-#pragma mark - Generics
87
-
88 80
 static int
89 81
 console_input(Uxn *u, char c)
90 82
 {
91
-	devconsole->dat[0x2] = c;
92
-	return uxn_eval(u, GETVECTOR(devconsole));
83
+	Device *d = &u->dev[1];
84
+	d->dat[0x2] = c;
85
+	return uxn_eval(u, GETVECTOR(d));
93 86
 }
94 87
 
95 88
 static void
96 89
 run(Uxn *u)
97 90
 {
98
-	Device *d = devconsole;
99
-	while((!u->dev[0].dat[0xf]) && (read(0, &d->dat[0x2], 1) > 0))
91
+	Device *d = &u->dev[0];
92
+	while((!d->dat[0xf]) && (read(0, &d->dat[0x2], 1) > 0))
100 93
 		uxn_eval(u, GETVECTOR(d));
101 94
 }
102 95
 
... ...
@@ -124,8 +117,8 @@ main(int argc, char **argv)
124 117
 	if(!uxn_boot(&u, bank1, bank0 + PAGE_DEV, (Stack *)(bank0 + PAGE_WST), (Stack *)(bank0 + PAGE_RST)))
125 118
 		return error("Boot", "Failed");
126 119
 
127
-	/* system   */ devsystem = uxn_port(&u, 0x0, system_dei, system_deo);
128
-	/* console  */ devconsole = uxn_port(&u, 0x1, nil_dei, console_deo);
120
+	/* system   */ uxn_port(&u, 0x0, system_dei, system_deo);
121
+	/* console  */ uxn_port(&u, 0x1, nil_dei, console_deo);
129 122
 	/* empty    */ uxn_port(&u, 0x2, nil_dei, nil_deo);
130 123
 	/* empty    */ uxn_port(&u, 0x3, nil_dei, nil_deo);
131 124
 	/* empty    */ uxn_port(&u, 0x4, nil_dei, nil_deo);
... ...
@@ -45,7 +45,7 @@ static SDL_Rect gRect;
45 45
 
46 46
 /* devices */
47 47
 
48
-static Device *devsystem, *devscreen, *devmouse, *devctrl, *devaudio0, *devconsole;
48
+static Device *devsystem, *devscreen, *devmouse, *devctrl, *devaudio0;
49 49
 static Uint8 zoom = 1;
50 50
 static Uint32 stdin_event, audio0_event;
51 51
 
... ...
@@ -260,7 +260,7 @@ start(Uxn *u, char *rom)
260 260
 	if(!load(u, rom))
261 261
 		return error("Boot", "Failed to load rom.");
262 262
 	/* system   */ devsystem = uxn_port(u, 0x0, system_dei, system_deo);
263
-	/* console  */ devconsole = uxn_port(u, 0x1, nil_dei, console_deo);
263
+	/* console  */ uxn_port(u, 0x1, nil_dei, console_deo);
264 264
 	/* screen   */ devscreen = uxn_port(u, 0x2, screen_dei, screen_deo);
265 265
 	/* audio0   */ devaudio0 = uxn_port(u, 0x3, audio_dei, audio_deo);
266 266
 	/* audio1   */ uxn_port(u, 0x4, audio_dei, audio_deo);
... ...
@@ -407,8 +407,9 @@ do_shortcut(Uxn *u, SDL_Event *event)
407 407
 static int
408 408
 console_input(Uxn *u, char c)
409 409
 {
410
-	devconsole->dat[0x2] = c;
411
-	return uxn_eval(u, GETVECTOR(devconsole));
410
+	Device *d = &u->dev[1];
411
+	d->dat[0x2] = c;
412
+	return uxn_eval(u, GETVECTOR(d));
412 413
 }
413 414
 
414 415
 static int