Browse code

Housekeeping

Devine Lu Linvega authored on 01/01/2023 21:40:58
Showing 4 changed files
... ...
@@ -41,14 +41,10 @@ int
41 41
 uxn_eval(Uxn *u, Uint16 pc)
42 42
 {
43 43
 	unsigned int a, b, c, j, k, bs, instr, errcode;
44
-	unsigned int limit = LIMIT;
45 44
 	Uint8 kptr, *sp;
46 45
 	Stack *src, *dst;
47
-	if(!pc || u->devold[0].dat[0xf]) return 0;
46
+	if(!pc || u->dev[0x0f]) return 0;
48 47
 	while((instr = u->ram[pc++])) {
49
-		if(!limit--) {
50
-			limit = LIMIT;
51
-		}
52 48
 		/* Return Mode */
53 49
 		if(instr & 0x40) {
54 50
 			src = u->rst; dst = u->wst;
... ...
@@ -125,13 +121,3 @@ uxn_boot(Uxn *u, Uint8 *ram, Dei *dei, Deo *deo)
125 121
 	u->deo = deo;
126 122
 	return 1;
127 123
 }
128
-
129
-Device *
130
-uxn_port(Uxn *u, Uint8 id, Uint8 (*deifn)(Device *d, Uint8 port), void (*deofn)(Device *d, Uint8 port))
131
-{
132
-	Device *d = &u->devold[id];
133
-	d->u = u;
134
-	d->dei = deifn;
135
-	d->deo = deofn;
136
-	return d;
137
-}
... ...
@@ -53,7 +53,6 @@ typedef struct {
53 53
 typedef struct Uxn {
54 54
 	Uint8 *ram, *dev;
55 55
 	Stack *wst, *rst;
56
-	Device devold[16];
57 56
 	Uint8 (*dei)(struct Uxn *u, Uint8 addr);
58 57
 	void (*deo)(struct Uxn *u, Uint8 addr, Uint8 value);
59 58
 } Uxn;
... ...
@@ -451,12 +451,12 @@ review(char *filename)
451 451
 static void
452 452
 writesym(char *filename)
453 453
 {
454
+	int i;
454 455
 	char symdst[0x60];
455 456
 	FILE *fp;
456 457
 	if(slen(filename) > 0x60 - 5)
457 458
 		return;
458 459
 	fp = fopen(scat(scpy(filename, symdst, slen(filename) + 1), ".sym"), "w");
459
-	int i;
460 460
 	if(fp != NULL) {
461 461
 		for(i = 0; i < p.llen; i++) {
462 462
 			fwrite(&p.labels[i].addr + 1, 1, 1, fp);
... ...
@@ -48,7 +48,7 @@ static SDL_Thread *stdin_thread;
48 48
 
49 49
 /* devices */
50 50
 
51
-static Device *devscreen, *devaudio0;
51
+static Device  *devaudio0;
52 52
 static Uint8 zoom = 1;
53 53
 static Uint32 stdin_event, audio0_event;
54 54
 static Uint64 exec_deadline, deadline_interval, ms_interval;
... ...
@@ -213,7 +213,6 @@ static void
213 213
 emu_deo(Uxn *u, Uint8 addr, Uint8 v)
214 214
 {
215 215
 	Uint8 p = addr & 0x0f, d = addr & 0xf0;
216
-	Uint16 mask = 0x1 << (d >> 4);
217 216
 	u->dev[addr] = v;
218 217
 	switch(d) {
219 218
 	case 0x00:
... ...
@@ -450,11 +449,10 @@ handle_events(Uxn *u)
450 449
 static int
451 450
 run(Uxn *u)
452 451
 {
453
-	Device *devsys = &u->devold[0];
454 452
 	Uint64 now = SDL_GetPerformanceCounter(), frame_end, frame_interval = SDL_GetPerformanceFrequency() / 60;
455 453
 	for(;;) {
456 454
 		/* .System/halt */
457
-		if(devsys->dat[0xf])
455
+		if(u->dev[0x0f])
458 456
 			return error("Run", "Ended.");
459 457
 		frame_end = now + frame_interval;
460 458
 		exec_deadline = now + deadline_interval;