\r
static unsigned char z80_md_vdp_read(unsigned short a)\r
{\r
- // TODO?\r
+ if ((a & 0x00e0) == 0x0000)\r
+ return PicoVideoRead8(a); // FIXME: depends on 68k cycles\r
+\r
elprintf(EL_ANOMALY, "z80 invalid r8 [%06x] %02x", a, 0xff);\r
return 0xff;\r
}\r
\r
static void z80_md_vdp_br_write(unsigned int a, unsigned char data)\r
{\r
- // TODO: allow full VDP access\r
if ((a&0xfff9) == 0x7f11) // 7f11 7f13 7f15 7f17\r
{\r
if (PicoOpt & POPT_EN_PSG)\r
SN76496Write(data);\r
return;\r
}\r
+ // at least VDP data writes hang my machine\r
\r
if ((a>>8) == 0x60)\r
{\r