Browse code

Drawing inspect on fg so it can be erased

neauoire authored on 05/07/2021 16:06:32
Showing 3 changed files
... ...
@@ -99,23 +99,29 @@ putchr(Ppu *p, Layer *layer, Uint16 x, Uint16 y, Uint8 *sprite, Uint8 color, Uin
99 99
 /* output */
100 100
 
101 101
 void
102
-inspect(Ppu *p, Uint8 *stack, Uint8 wptr, Uint8 rptr)
102
+inspect(Ppu *p, Uint8 *stack, Uint8 wptr, Uint8 rptr, Uint8 *memory)
103 103
 {
104 104
 	Uint8 i, x, y, b;
105
-	for(i = 0; i < 0x20; ++i) { /* memory */
105
+	for(i = 0; i < 0x20; ++i) { /* stack */
106 106
 		x = ((i % 8) * 3 + 1) * 8, y = (i / 8 + 1) * 8, b = stack[i];
107
-		puticn(p, &p->bg, x, y, font[(b >> 4) & 0xf], 1 + (wptr == i) * 0x7, 0, 0);
108
-		puticn(p, &p->bg, x + 8, y, font[b & 0xf], 1 + (wptr == i) * 0x7, 0, 0);
107
+		puticn(p, &p->fg, x, y, font[(b >> 4) & 0xf], 1 + (wptr == i) * 0x7, 0, 0);
108
+		puticn(p, &p->fg, x + 8, y, font[b & 0xf], 1 + (wptr == i) * 0x7, 0, 0);
109 109
 	}
110
-	puticn(p, &p->bg, 0x8, y + 0x10, font[(rptr >> 4) & 0xf], 0x2, 0, 0);
111
-	puticn(p, &p->bg, 0x10, y + 0x10, font[rptr & 0xf], 0x2, 0, 0);
112
-	for(x = 0; x < 0x20; ++x) { /* guides */
113
-		putpixel(p, &p->bg, x, p->height / 2, 2);
114
-		putpixel(p, &p->bg, p->width - x, p->height / 2, 2);
115
-		putpixel(p, &p->bg, p->width / 2, p->height - x, 2);
116
-		putpixel(p, &p->bg, p->width / 2, x, 2);
117
-		putpixel(p, &p->bg, p->width / 2 - 16 + x, p->height / 2, 2);
118
-		putpixel(p, &p->bg, p->width / 2, p->height / 2 - 16 + x, 2);
110
+	for(i = 0; i < 0x40; ++i) { /* memory */
111
+		x = ((i % 8) * 3 + 1) * 8, y = (i / 8 + 1) * 8 + p->height - 0x50, b = memory[i];
112
+		puticn(p, &p->fg, x, y, font[(b >> 4) & 0xf], 3, 0, 0);
113
+		puticn(p, &p->fg, x + 8, y, font[b & 0xf], 3, 0, 0);
114
+	}
115
+	/* return pointer */
116
+	puticn(p, &p->fg, 0x8, y + 0x10, font[(rptr >> 4) & 0xf], 0x2, 0, 0);
117
+	puticn(p, &p->fg, 0x10, y + 0x10, font[rptr & 0xf], 0x2, 0, 0);
118
+	for(x = 0; x < 0x10; ++x) { /* guides */
119
+		putpixel(p, &p->fg, x, p->height / 2, 2);
120
+		putpixel(p, &p->fg, p->width - x, p->height / 2, 2);
121
+		putpixel(p, &p->fg, p->width / 2, p->height - x, 2);
122
+		putpixel(p, &p->fg, p->width / 2, x, 2);
123
+		putpixel(p, &p->fg, p->width / 2 - 0x10 / 2 + x, p->height / 2, 2);
124
+		putpixel(p, &p->fg, p->width / 2, p->height / 2 - 0x10 / 2 + x, 2);
119 125
 	}
120 126
 }
121 127
 
... ...
@@ -31,4 +31,4 @@ void putcolors(Ppu *p, Uint8 *addr);
31 31
 void putpixel(Ppu *p, Layer *layer, Uint16 x, Uint16 y, Uint8 color);
32 32
 void puticn(Ppu *p, Layer *layer, Uint16 x, Uint16 y, Uint8 *sprite, Uint8 color, Uint8 flipx, Uint8 flipy);
33 33
 void putchr(Ppu *p, Layer *layer, Uint16 x, Uint16 y, Uint8 *sprite, Uint8 color, Uint8 flipx, Uint8 flipy);
34
-void inspect(Ppu *p, Uint8 *stack, Uint8 wptr, Uint8 rptr);
34
+void inspect(Ppu *p, Uint8 *stack, Uint8 wptr, Uint8 rptr, Uint8 *memory);
... ...
@@ -63,7 +63,7 @@ static void
63 63
 redraw(Uxn *u)
64 64
 {
65 65
 	if(debug)
66
-		inspect(&ppu, u->wst.dat, u->wst.ptr, u->rst.ptr);
66
+		inspect(&ppu, u->wst.dat, u->wst.ptr, u->rst.ptr, u->ram.dat);
67 67
 	SDL_UpdateTexture(bgTexture, &gRect, ppu.bg.pixels, ppu.width * sizeof(Uint32));
68 68
 	SDL_UpdateTexture(fgTexture, &gRect, ppu.fg.pixels, ppu.width * sizeof(Uint32));
69 69
 	SDL_RenderClear(gRenderer);