@@ -392,6 +392,18 @@ void upd7810_device::upd_internal_256_ram_map(address_map &map)
392392 map (0xff00 , 0xffff ).ram ();
393393}
394394
395+ void upd7810_device::upd_internal_4096_rom_128_ram_map (address_map &map)
396+ {
397+ map (0x0000 , 0x0fff ).rom ();
398+ map (0xff80 , 0xffff ).ram ();
399+ }
400+
401+ void upd7810_device::upd_internal_4096_rom_256_ram_map (address_map &map)
402+ {
403+ map (0x0000 , 0x0fff ).rom ();
404+ map (0xff00 , 0xffff ).ram ();
405+ }
406+
395407upd7810_device::upd7810_device (const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor internal_map)
396408 : cpu_device(mconfig, type, tag, owner, clock)
397409 , m_to_func(*this )
@@ -494,13 +506,13 @@ void upd78c05_device::configure_ops()
494506 m_opXX = s_opXX_78c05;
495507}
496508
497- upd78c05_device::upd78c05_device (const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
498- : upd78c05_device (mconfig, UPD78C05 , tag, owner, clock)
509+ 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 )
510+ : upd7810_device (mconfig, type , tag, owner, clock, internal_map )
499511{
500512}
501513
502- upd78c05_device::upd78c05_device (const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
503- : upd7810_device (mconfig, type , tag, owner, clock, address_map_constructor(FUNC(upd78c05_device::upd_internal_128_ram_map), this))
514+ upd78c05_device::upd78c05_device (const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
515+ : upd78c05_device (mconfig, UPD78C05 , tag, owner, clock, address_map_constructor(FUNC(upd78c05_device::upd_internal_128_ram_map), this))
504516{
505517}
506518
@@ -517,7 +529,7 @@ void upd78c06_device::configure_ops()
517529}
518530
519531upd78c06_device::upd78c06_device (const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
520- : upd78c05_device(mconfig, UPD78C06, tag, owner, clock)
532+ : upd78c05_device(mconfig, UPD78C06, tag, owner, clock, address_map_constructor(FUNC(upd78c06_device::upd_internal_4096_rom_128_ram_map), this) )
521533{
522534}
523535
0 commit comments