Added stack pointer position readouts to system device

This commit is contained in:
Andrew Alderwick 2021-04-27 21:10:58 +01:00
parent d343865471
commit f7506a41c7
3 changed files with 9 additions and 3 deletions

View File

@ -193,9 +193,13 @@ doctrl(Uxn *u, SDL_Event *event, int z)
void
system_talk(Device *d, Uint8 b0, Uint8 w)
{
if(!w) return;
putcolors(&ppu, &d->dat[0x8]);
reqdraw = 1;
if(!w) {
d->dat[0x2] = d->u->wst.ptr;
d->dat[0x3] = d->u->rst.ptr;
} else {
putcolors(&ppu, &d->dat[0x8]);
reqdraw = 1;
}
(void)b0;
}

View File

@ -183,6 +183,7 @@ portuxn(Uxn *u, Uint8 id, char *name, void (*talkfn)(Device *d, Uint8 b0, Uint8
{
Device *d = &u->dev[id];
d->addr = id * 0x10;
d->u = u;
d->mem = u->ram.dat;
d->talk = talkfn;
printf("Device added #%02x: %s, at 0x%04x \n", id, name, d->addr);

View File

@ -31,6 +31,7 @@ typedef struct {
struct Uxn;
typedef struct Device {
struct Uxn *u;
Uint8 addr, dat[16], *mem;
void (*talk)(struct Device *d, Uint8, Uint8);
} Device;