diff --git a/src/mame/machine/advision.cpp b/src/mame/machine/advision.cpp index 294fd5f2006..2c718151d91 100644 --- a/src/mame/machine/advision.cpp +++ b/src/mame/machine/advision.cpp @@ -54,7 +54,7 @@ void advision_state::machine_start() void advision_state::machine_reset() { - m_ea_bank = 0; + m_ea_bank = 1; m_rambank = 0x300; m_frame_start = 0; m_video_enable = 0; @@ -86,11 +86,8 @@ READ8_MEMBER( advision_state::ext_ram_r ) { uint8_t data = m_ext_ram[m_rambank + offset]; - if (!m_video_enable) - { - /* the video hardware interprets reads as writes */ - vh_write(data); - } + /* the video hardware interprets reads as writes */ + vh_write(data); if (m_video_bank == 0x06) { @@ -188,5 +185,8 @@ READ8_MEMBER( advision_state::controller_r ) if (in & 0x04) data = data & 0xaf; /* Button 2 */ if (in & 0x01) data = data & 0x6f; /* Button 4 */ - return data & 0xf8; + data &= 0xf8; + data |= (m_ea_bank << 2); + data |= (m_rambank >> 8); + return data; }