diff --git a/src/mame/drivers/dooyong.cpp b/src/mame/drivers/dooyong.cpp index 0620392d110..f0bd45d42ed 100644 --- a/src/mame/drivers/dooyong.cpp +++ b/src/mame/drivers/dooyong.cpp @@ -149,7 +149,7 @@ static ADDRESS_MAP_START( pollux_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state ) AM_RANGE(0xf010, 0xf010) AM_WRITE(soundlatch_byte_w) AM_RANGE(0xf018, 0xf01f) AM_WRITE(bgscroll_w) AM_RANGE(0xf020, 0xf027) AM_WRITE(fgscroll_w) - AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(paletteram_flytiger_w) + AM_RANGE(0xf800, 0xffff) AM_READWRITE(paletteram_flytiger_r, paletteram_flytiger_w) ADDRESS_MAP_END static ADDRESS_MAP_START( gulfstrm_map, AS_PROGRAM, 8, dooyong_z80_ym2203_state ) @@ -206,7 +206,7 @@ static ADDRESS_MAP_START( flytiger_map, AS_PROGRAM, 8, dooyong_z80_state ) AM_RANGE(0xe020, 0xe020) AM_WRITE(soundlatch_byte_w) AM_RANGE(0xe030, 0xe037) AM_WRITE(bgscroll_w) AM_RANGE(0xe040, 0xe047) AM_WRITE(fgscroll_w) - AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_flytiger_w) + AM_RANGE(0xe800, 0xefff) AM_READWRITE(paletteram_flytiger_r, paletteram_flytiger_w) AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(txvideoram_w) AM_SHARE("txvideoram") ADDRESS_MAP_END diff --git a/src/mame/includes/dooyong.h b/src/mame/includes/dooyong.h index ed72bbb6a57..6b30492d5a9 100644 --- a/src/mame/includes/dooyong.h +++ b/src/mame/includes/dooyong.h @@ -72,6 +72,7 @@ public: DECLARE_WRITE8_MEMBER(bankswitch_w); DECLARE_WRITE8_MEMBER(txvideoram_w); DECLARE_WRITE8_MEMBER(primella_ctrl_w); + DECLARE_READ8_MEMBER(paletteram_flytiger_r); DECLARE_WRITE8_MEMBER(paletteram_flytiger_w); DECLARE_WRITE8_MEMBER(flytiger_ctrl_w); TILE_GET_INFO_MEMBER(get_tx_tile_info); diff --git a/src/mame/video/dooyong.cpp b/src/mame/video/dooyong.cpp index b8f819cb503..979a3b31e21 100644 --- a/src/mame/video/dooyong.cpp +++ b/src/mame/video/dooyong.cpp @@ -144,6 +144,14 @@ WRITE8_MEMBER(dooyong_z80_state::primella_ctrl_w) // logerror("%04x: bankswitch = %02x\n",space.device().safe_pc(),data&0xe0); } +READ8_MEMBER(dooyong_z80_state::paletteram_flytiger_r) +{ + if (m_palette_bank) offset+= 0x800; + + return m_paletteram_flytiger[offset]; +} + + WRITE8_MEMBER(dooyong_z80_state::paletteram_flytiger_w) { if (m_palette_bank) offset+= 0x800;