summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/upd7810/upd7810.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/upd7810/upd7810.cpp')
-rw-r--r--src/devices/cpu/upd7810/upd7810.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/devices/cpu/upd7810/upd7810.cpp b/src/devices/cpu/upd7810/upd7810.cpp
index 1fe74beca9e..ee60c0b0203 100644
--- a/src/devices/cpu/upd7810/upd7810.cpp
+++ b/src/devices/cpu/upd7810/upd7810.cpp
@@ -392,6 +392,18 @@ void upd7810_device::upd_internal_256_ram_map(address_map &map)
map(0xff00, 0xffff).ram();
}
+void upd7810_device::upd_internal_4096_rom_128_ram_map(address_map &map)
+{
+ map(0x0000, 0x0fff).rom();
+ map(0xff80, 0xffff).ram();
+}
+
+void upd7810_device::upd_internal_4096_rom_256_ram_map(address_map &map)
+{
+ map(0x0000, 0x0fff).rom();
+ map(0xff00, 0xffff).ram();
+}
+
upd7810_device::upd7810_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
: cpu_device(mconfig, type, tag, owner, clock)
, m_to_func(*this)
@@ -494,13 +506,13 @@ void upd78c05_device::configure_ops()
m_opXX = s_opXX_78c05;
}
-upd78c05_device::upd78c05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : upd78c05_device(mconfig, UPD78C05, tag, owner, clock)
+upd78c05_device::upd78c05_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
+ : upd7810_device(mconfig, type, tag, owner, clock, internal_map)
{
}
-upd78c05_device::upd78c05_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : upd7810_device(mconfig, type, tag, owner, clock, address_map_constructor(FUNC(upd78c05_device::upd_internal_128_ram_map), this))
+upd78c05_device::upd78c05_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : upd78c05_device(mconfig, UPD78C05, tag, owner, clock, address_map_constructor(FUNC(upd78c05_device::upd_internal_128_ram_map), this))
{
}
@@ -517,7 +529,7 @@ void upd78c06_device::configure_ops()
}
upd78c06_device::upd78c06_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : upd78c05_device(mconfig, UPD78C06, tag, owner, clock)
+ : upd78c05_device(mconfig, UPD78C06, tag, owner, clock, address_map_constructor(FUNC(upd78c06_device::upd_internal_4096_rom_128_ram_map), this))
{
}