summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-03-21 22:20:50 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-03-21 22:20:50 -0400
commit817caa777cd61c1acd30933b565ad2afe7d9d9c5 (patch)
tree8cb173c6f430ae2becd66be450a463435cf90ee4
parent8df2864041066400f295ee6a7ad30413900f28d3 (diff)
ajuno2, d10: Map the 63H149 (nw)
-rw-r--r--src/mame/drivers/alphajuno.cpp15
-rw-r--r--src/mame/drivers/roland_d10.cpp1
2 files changed, 13 insertions, 3 deletions
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));