diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp index b3ee1b13082..f4281f9a3b8 100644 --- a/src/mame/drivers/ddragon.cpp +++ b/src/mame/drivers/ddragon.cpp @@ -574,11 +574,6 @@ void ddragon_state::dd2_sub_map(address_map &map) map(0xe000, 0xe000).w(FUNC(ddragon_state::ddragon2_sub_irq_w)); } -void ddragon_state::ddragonba_sub_portmap(address_map &map) -{ - map(0x0000, 0x01ff).w(FUNC(ddragon_state::ddragonba_port_w)); -} - /************************************* * @@ -1008,14 +1003,15 @@ MACHINE_CONFIG_START(ddragon_state::ddragonb) MACHINE_CONFIG_END -MACHINE_CONFIG_START(ddragon_state::ddragonba) +void ddragon_state::ddragonba(machine_config &config) +{ ddragon(config); /* basic machine hardware */ - MCFG_DEVICE_REPLACE("sub", M6803, MAIN_CLOCK / 2) /* 6MHz / 4 internally */ - MCFG_DEVICE_PROGRAM_MAP(ddragonba_sub_map) - MCFG_DEVICE_IO_MAP(ddragonba_sub_portmap) -MACHINE_CONFIG_END + m6803_cpu_device &sub(M6803(config.replace(), "sub", MAIN_CLOCK / 2)); // 6MHz / 4 internally + sub.set_addrmap(AS_PROGRAM, &ddragon_state::ddragonba_sub_map); + sub.out_p2_cb().set(FUNC(ddragon_state::ddragonba_port_w)); +} MACHINE_CONFIG_START(ddragon_state::ddragon6809) diff --git a/src/mame/drivers/ltd.cpp b/src/mame/drivers/ltd.cpp index 3d7f5976fea..3e4f83fbdcf 100644 --- a/src/mame/drivers/ltd.cpp +++ b/src/mame/drivers/ltd.cpp @@ -81,7 +81,6 @@ private: DECLARE_WRITE8_MEMBER(count_reset_w); TIMER_DEVICE_CALLBACK_MEMBER(timer_r); void ltd3_map(address_map &map); - void ltd4_io(address_map &map); void ltd4_map(address_map &map); bool m_timer_r; @@ -123,12 +122,6 @@ void ltd_state::ltd4_map(address_map &map) map(0xc000, 0xdfff).rom().mirror(0x2000).region("roms", 0); } -void ltd_state::ltd4_io(address_map &map) -{ - map(0x0100, 0x0100).rw(FUNC(ltd_state::port1_r), FUNC(ltd_state::port1_w)); - map(0x0101, 0x0101).rw(FUNC(ltd_state::port2_r), FUNC(ltd_state::port2_w)); -} - // bits 6,7 not connected to data bus // 1=does something in Atlantis; 2=does something in Black Hole; note that sometimes pressing G or H will reboot the machine. static INPUT_PORTS_START( ltd3 ) @@ -548,9 +541,12 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(ltd_state::ltd4) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6803, XTAL(3'579'545)) // guess, no details available - MCFG_DEVICE_PROGRAM_MAP(ltd4_map) - MCFG_DEVICE_IO_MAP(ltd4_io) + m6803_cpu_device &maincpu(M6803(config, "maincpu", XTAL(3'579'545))); // guess, no details available + maincpu.set_addrmap(AS_PROGRAM, <d_state::ltd4_map); + maincpu.in_p1_cb().set(FUNC(ltd_state::port1_r)); + maincpu.out_p1_cb().set(FUNC(ltd_state::port1_w)); + maincpu.in_p2_cb().set(FUNC(ltd_state::port2_r)); + maincpu.out_p2_cb().set(FUNC(ltd_state::port2_w)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); diff --git a/src/mame/includes/ddragon.h b/src/mame/includes/ddragon.h index edd90fa3493..eedfce5cf5c 100644 --- a/src/mame/includes/ddragon.h +++ b/src/mame/includes/ddragon.h @@ -152,7 +152,6 @@ private: void dd2_sub_map(address_map &map); void ddragon_map(address_map &map); void ddragonba_sub_map(address_map &map); - void ddragonba_sub_portmap(address_map &map); void sound_map(address_map &map); void sub_map(address_map &map); };