From: John Tsiombikas Date: Sun, 21 Jan 2024 08:17:16 +0000 (+0200) Subject: z80 is alive X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=commitdiff_plain;h=26042f38e88358a8d8f7d0858b5e923a3229dec9;p=mdlife z80 is alive --- diff --git a/src/hwregs.h b/src/hwregs.h index 2ab7591..22aec5d 100644 --- a/src/hwregs.h +++ b/src/hwregs.h @@ -44,7 +44,7 @@ #define Z80_MEMMODE REG16PTR(0xa11000) #define Z80_BUSREQ REG16PTR(0xa11100) #define Z80_RESET REG16PTR(0xa11200) -#define Z80_MEM ((uint8_t*)0xa00000) +#define Z80_MEM ((volatile uint8_t*)0xa00000) #define VDP_DATA REG16PTR(VDP_DATA_PORT) #define VDP_CTL REG16PTR(VDP_CTL_PORT) diff --git a/src/main.c b/src/main.c index 81e60f8..bfb9d15 100644 --- a/src/main.c +++ b/src/main.c @@ -36,6 +36,15 @@ int main(void) part->start(); for(;;) { + unsigned char val; + z80_grab_bus(); + while(!z80_have_bus()); + val = Z80_MEM[0x1ffc]; + dbgval[3] = (uint32_t)val << 8; + val = Z80_MEM[0x1ffd]; + dbgval[3] |= val; + z80_release_bus(); + dbg_setcursor(32, 0); for(i=0; i<4; i++) { printf("%04x\n", (unsigned int)dbgval[i]); diff --git a/src/part_dna.c b/src/part_dna.c index af6bc98..76968cb 100644 --- a/src/part_dna.c +++ b/src/part_dna.c @@ -90,8 +90,6 @@ static void particle(int x, int y, int pixsz) 16 }; - dbgval[0] = pixsz; - if(pixsz <= 2) { szlevel = 0; pixsz = 2; @@ -111,9 +109,6 @@ static void particle(int x, int y, int pixsz) pixsz = 32; } - dbgval[1] = szlevel; - dbgval[2] = tile; - offs = offstab[pixsz]; switch(szlevel) { @@ -143,6 +138,4 @@ static void particle(int x, int y, int pixsz) spr_add(x - invoffs, y - invoffs, VDP_TILENAME(tile, 1, VDP_TILE_FG | VDP_TILE_HVFLIP), SPR_SIZE(2, 2)); break; } - - dbgval[3] = offs; } diff --git a/src/z80.c b/src/z80.c index 32ce82e..2c342ff 100644 --- a/src/z80.c +++ b/src/z80.c @@ -13,12 +13,12 @@ void z80_init(void) while(!z80_have_bus()); src = z80prog; - dest = Z80_MEM; + dest = (unsigned char*)Z80_MEM; for(i=0; i