notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow limited z80 vdp access
[picodrive.git]
/
pico
/
memory.c
diff --git
a/pico/memory.c
b/pico/memory.c
index
83fe181
..
cb1b5ac
100644
(file)
--- a/
pico/memory.c
+++ b/
pico/memory.c
@@
-1165,7
+1165,9
@@
void PicoWrite16_32x(u32 a, u32 d) {}
\r
static unsigned char z80_md_vdp_read(unsigned short a)
\r
{
\r
\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
elprintf(EL_ANOMALY, "z80 invalid r8 [%06x] %02x", a, 0xff);
\r
return 0xff;
\r
}
\r
@@
-1192,13
+1194,13
@@
static void z80_md_ym2612_write(unsigned int a, unsigned char data)
\r
static void z80_md_vdp_br_write(unsigned int a, unsigned char data)
\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
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
\r
if ((a>>8) == 0x60)
\r
{
\r