diff options
Diffstat (limited to 'src/mame/drivers/dgn_beta.cpp')
-rw-r--r-- | src/mame/drivers/dgn_beta.cpp | 69 |
1 files changed, 35 insertions, 34 deletions
diff --git a/src/mame/drivers/dgn_beta.cpp b/src/mame/drivers/dgn_beta.cpp index 9da42091534..620f5212dcb 100644 --- a/src/mame/drivers/dgn_beta.cpp +++ b/src/mame/drivers/dgn_beta.cpp @@ -140,40 +140,41 @@ static const unsigned char dgnbeta_palette[] = */ -ADDRESS_MAP_START(dgn_beta_state::dgnbeta_map) - AM_RANGE(0x0000, 0x0FFF) AM_RAMBANK("bank1") - AM_RANGE(0x1000, 0x1FFF) AM_RAMBANK("bank2") - AM_RANGE(0x2000, 0x2FFF) AM_RAMBANK("bank3") - AM_RANGE(0x3000, 0x3FFF) AM_RAMBANK("bank4") - AM_RANGE(0x4000, 0x4FFF) AM_RAMBANK("bank5") - AM_RANGE(0x5000, 0x5FFF) AM_RAMBANK("bank6") - AM_RANGE(0x6000, 0x6FFF) AM_RAMBANK("bank7") AM_SHARE("videoram") - AM_RANGE(0x7000, 0x7FFF) AM_RAMBANK("bank8") - AM_RANGE(0x8000, 0x8FFF) AM_RAMBANK("bank9") - AM_RANGE(0x9000, 0x9FFF) AM_RAMBANK("bank10") - AM_RANGE(0xA000, 0xAFFF) AM_RAMBANK("bank11") - AM_RANGE(0xB000, 0xBFFF) AM_RAMBANK("bank12") - AM_RANGE(0xC000, 0xCFFF) AM_RAMBANK("bank13") - AM_RANGE(0xD000, 0xDFFF) AM_RAMBANK("bank14") - AM_RANGE(0xE000, 0xEFFF) AM_RAMBANK("bank15") - AM_RANGE(0xF000, 0xFBFF) AM_RAMBANK("bank16") - AM_RANGE(0xfC00, 0xfC1F) AM_NOP - AM_RANGE(0xFC20, 0xFC23) AM_DEVREADWRITE(PIA_0_TAG, pia6821_device, read, write) - AM_RANGE(0xFC24, 0xFC27) AM_DEVREADWRITE(PIA_1_TAG, pia6821_device, read, write) - AM_RANGE(0xFC28, 0xfC7F) AM_NOP - AM_RANGE(0xfc80, 0xfc80) AM_DEVWRITE("crtc", mc6845_device, address_w) - AM_RANGE(0xfc81, 0xfc81) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w) - AM_RANGE(0xfc82, 0xfC9F) AM_NOP - AM_RANGE(0xFCA0, 0xFCA3) AM_READNOP AM_WRITE(dgnbeta_colour_ram_w) /* 4x4bit colour ram for graphics modes */ - AM_RANGE(0xFCC0, 0xFCC3) AM_DEVREADWRITE(PIA_2_TAG, pia6821_device, read, write) - AM_RANGE(0xfcC4, 0xfcdf) AM_NOP - AM_RANGE(0xfce0, 0xfce3) AM_READWRITE(dgnbeta_wd2797_r, dgnbeta_wd2797_w) /* Onboard disk interface */ - AM_RANGE(0xfce4, 0xfdff) AM_NOP - AM_RANGE(0xFE00, 0xFE0F) AM_READWRITE(dgn_beta_page_r, dgn_beta_page_w) - AM_RANGE(0xfe10, 0xfEff) AM_NOP - AM_RANGE(0xFF00, 0xFFFF) AM_RAMBANK("bank17") - -ADDRESS_MAP_END +void dgn_beta_state::dgnbeta_map(address_map &map) +{ + map(0x0000, 0x0FFF).bankrw("bank1"); + map(0x1000, 0x1FFF).bankrw("bank2"); + map(0x2000, 0x2FFF).bankrw("bank3"); + map(0x3000, 0x3FFF).bankrw("bank4"); + map(0x4000, 0x4FFF).bankrw("bank5"); + map(0x5000, 0x5FFF).bankrw("bank6"); + map(0x6000, 0x6FFF).bankrw("bank7").share("videoram"); + map(0x7000, 0x7FFF).bankrw("bank8"); + map(0x8000, 0x8FFF).bankrw("bank9"); + map(0x9000, 0x9FFF).bankrw("bank10"); + map(0xA000, 0xAFFF).bankrw("bank11"); + map(0xB000, 0xBFFF).bankrw("bank12"); + map(0xC000, 0xCFFF).bankrw("bank13"); + map(0xD000, 0xDFFF).bankrw("bank14"); + map(0xE000, 0xEFFF).bankrw("bank15"); + map(0xF000, 0xFBFF).bankrw("bank16"); + map(0xfC00, 0xfC1F).noprw(); + map(0xFC20, 0xFC23).rw(m_pia_0, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xFC24, 0xFC27).rw(m_pia_1, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xFC28, 0xfC7F).noprw(); + map(0xfc80, 0xfc80).w(m_mc6845, FUNC(mc6845_device::address_w)); + map(0xfc81, 0xfc81).rw(m_mc6845, FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); + map(0xfc82, 0xfC9F).noprw(); + map(0xFCA0, 0xFCA3).nopr().w(this, FUNC(dgn_beta_state::dgnbeta_colour_ram_w)); /* 4x4bit colour ram for graphics modes */ + map(0xFCC0, 0xFCC3).rw(m_pia_2, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); + map(0xfcC4, 0xfcdf).noprw(); + map(0xfce0, 0xfce3).rw(this, FUNC(dgn_beta_state::dgnbeta_wd2797_r), FUNC(dgn_beta_state::dgnbeta_wd2797_w)); /* Onboard disk interface */ + map(0xfce4, 0xfdff).noprw(); + map(0xFE00, 0xFE0F).rw(this, FUNC(dgn_beta_state::dgn_beta_page_r), FUNC(dgn_beta_state::dgn_beta_page_w)); + map(0xfe10, 0xfEff).noprw(); + map(0xFF00, 0xFFFF).bankrw("bank17"); + +} |