diff --git a/src/mame/drivers/alphajuno.cpp b/src/mame/drivers/alphajuno.cpp index dc4388108ef..615ea434372 100644 --- a/src/mame/drivers/alphajuno.cpp +++ b/src/mame/drivers/alphajuno.cpp @@ -38,7 +38,8 @@ private: void lcd_w(offs_t offset, u8 data); void prog_map(address_map &map); - void ext_map(address_map &map); + void ajuno1_ext_map(address_map &map); + void ajuno2_ext_map(address_map &map); void mks50_ext_map(address_map &map); void palette_init(palette_device &palette); @@ -71,12 +72,19 @@ void alphajuno_state::prog_map(address_map &map) map(0x0000, 0x3fff).rom().region("program", 0); } -void alphajuno_state::ext_map(address_map &map) +void alphajuno_state::ajuno1_ext_map(address_map &map) { map(0x2000, 0x27ff).mirror(0xd800).ram().share("nvram"); map(0x8000, 0x8008).w(FUNC(alphajuno_state::lcd_w)); } +void alphajuno_state::ajuno2_ext_map(address_map &map) +{ + map(0x2000, 0x27ff).mirror(0xd800).ram().share("nvram"); + map(0x5000, 0x57ff).mirror(0x800).rw("key", FUNC(mb63h149_device::read), FUNC(mb63h149_device::write)); + map(0x8000, 0x8008).w(FUNC(alphajuno_state::lcd_w)); +} + void alphajuno_state::mks50_ext_map(address_map &map) { map(0x8000, 0x8008).w(FUNC(alphajuno_state::lcd_w)); @@ -102,7 +110,7 @@ void alphajuno_state::ajuno1(machine_config &config) { I8032(config, m_maincpu, 12_MHz_XTAL); // P8032AH m_maincpu->set_addrmap(AS_PROGRAM, &alphajuno_state::prog_map); - m_maincpu->set_addrmap(AS_IO, &alphajuno_state::ext_map); + m_maincpu->set_addrmap(AS_IO, &alphajuno_state::ajuno1_ext_map); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // TC5517APL + battery @@ -128,6 +136,7 @@ void alphajuno_state::ajuno1(machine_config &config) void alphajuno_state::ajuno2(machine_config &config) { ajuno1(config); + m_maincpu->set_addrmap(AS_IO, &alphajuno_state::ajuno2_ext_map); mb63h149_device &key(MB63H149(config, "key", 12_MHz_XTAL)); key.int_callback().set_inputline(m_maincpu, MCS51_INT0_LINE); diff --git a/src/mame/drivers/roland_d10.cpp b/src/mame/drivers/roland_d10.cpp index d1c0024781c..51067e376f9 100644 --- a/src/mame/drivers/roland_d10.cpp +++ b/src/mame/drivers/roland_d10.cpp @@ -235,6 +235,7 @@ void roland_d10_state::d10_map(address_map &map) map(0x0200, 0x0200).w(FUNC(roland_d10_state::so_w)); map(0x0300, 0x0300).w(FUNC(roland_d10_state::lcd_data_w)); map(0x0380, 0x0380).rw(FUNC(roland_d10_state::lcd_ctrl_r), FUNC(roland_d10_state::lcd_ctrl_w)); + map(0x0c00, 0x0dff).rw("key", FUNC(mb63h149_device::read), FUNC(mb63h149_device::write)); map(0x1000, 0x7fff).rom().region("maincpu", 0x1000); map(0x8000, 0xbfff).m(m_bank, FUNC(address_map_bank_device::amap8)); map(0xc000, 0xffff).rw(FUNC(roland_d10_state::fixed_r), FUNC(roland_d10_state::fixed_w));