diff options
author | 2022-09-18 01:15:19 +0200 | |
---|---|---|
committer | 2022-09-18 01:15:31 +0200 | |
commit | ec295d16b684dc32433ec1fc4676593e6984c252 (patch) | |
tree | a0241cdc4a9fcc19ddd79b5350a8a7e9fd955e47 /src/devices/cpu/upd7810/upd7810.cpp | |
parent | e5bc8a44bd19863bf180c29e2ef35a64203abd8b (diff) |
upd7810: upd78c06 has internal rom
Diffstat (limited to 'src/devices/cpu/upd7810/upd7810.cpp')
-rw-r--r-- | src/devices/cpu/upd7810/upd7810.cpp | 22 |
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)) { } |