summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/a7800.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/a7800.cpp')
-rw-r--r--src/mame/drivers/a7800.cpp65
1 files changed, 27 insertions, 38 deletions
diff --git a/src/mame/drivers/a7800.cpp b/src/mame/drivers/a7800.cpp
index fb27462e638..46894076830 100644
--- a/src/mame/drivers/a7800.cpp
+++ b/src/mame/drivers/a7800.cpp
@@ -1375,20 +1375,20 @@ void a7800_state::machine_reset()
m_bios_enabled = 0;
}
-MACHINE_CONFIG_START(a7800_state::a7800_ntsc)
+void a7800_state::a7800_ntsc(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", M6502, A7800_NTSC_Y1/8) /* 1.79 MHz (switches to 1.19 MHz on TIA or RIOT access) */
- MCFG_DEVICE_PROGRAM_MAP(a7800_mem)
- MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", a7800_state, interrupt, "screen", 0, 1)
+ M6502(config, m_maincpu, A7800_NTSC_Y1/8); /* 1.79 MHz (switches to 1.19 MHz on TIA or RIOT access) */
+ m_maincpu->set_addrmap(AS_PROGRAM, &a7800_state::a7800_mem);
+ TIMER(config, "scantimer").configure_scanline(FUNC(a7800_state::interrupt), "screen", 0, 1);
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS( 7159090, 454, 0, 320, 263, 27, 27 + 192 + 32 )
- MCFG_SCREEN_UPDATE_DEVICE("maria", atari_maria_device, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(7159090, 454, 0, 320, 263, 27, 27 + 192 + 32);
+ m_screen->set_screen_update("maria", FUNC(atari_maria_device::screen_update));
+ m_screen->set_palette("palette");
- MCFG_PALETTE_ADD("palette", ARRAY_LENGTH(a7800_palette))
- MCFG_PALETTE_INIT_OWNER(a7800_state, a7800)
+ PALETTE(config, "palette", ARRAY_LENGTH(a7800_palette)).set_init(FUNC(a7800_state::palette_init_a7800));
ATARI_MARIA(config, m_maria, 0);
m_maria->set_dmacpu_tag(m_maincpu);
@@ -1396,49 +1396,38 @@ MACHINE_CONFIG_START(a7800_state::a7800_ntsc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- MCFG_SOUND_TIA_ADD("tia", 31400)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
+ TIA(config, "tia", 31400).add_route(ALL_OUTPUTS, "mono", 1.00);
/* devices */
- MCFG_DEVICE_ADD("riot", MOS6532_NEW, A7800_NTSC_Y1/8)
- MCFG_MOS6530n_IN_PA_CB(READ8(*this, a7800_state, riot_joystick_r))
- MCFG_MOS6530n_IN_PB_CB(READ8(*this, a7800_state, riot_console_button_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, a7800_state, riot_button_pullup_w))
+ mos6532_new_device &riot(MOS6532_NEW(config, "riot", A7800_NTSC_Y1/8));
+ riot.pa_rd_callback().set(FUNC(a7800_state::riot_joystick_r));
+ riot.pb_rd_callback().set(FUNC(a7800_state::riot_console_button_r));
+ riot.pb_wr_callback().set(FUNC(a7800_state::riot_button_pullup_w));
- MCFG_A78_CARTRIDGE_ADD("cartslot", a7800_cart, nullptr)
+ A78_CART_SLOT(config, "cartslot", a7800_cart, nullptr);
/* software lists */
- MCFG_SOFTWARE_LIST_ADD("cart_list","a7800")
- MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC")
-MACHINE_CONFIG_END
-
+ SOFTWARE_LIST(config, "cart_list").set_original("a7800");
+ subdevice<software_list_device>("cart_list")->set_filter("NTSC");
+}
-MACHINE_CONFIG_START(a7800_pal_state::a7800_pal)
+void a7800_pal_state::a7800_pal(machine_config &config)
+{
a7800_ntsc(config);
/* basic machine hardware */
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_CLOCK(CLK_PAL)
-// MCFG_TIMER_ADD_SCANLINE("scantimer", a7800_interrupt, "screen", 0, 1)
+ m_maincpu->set_clock(CLK_PAL);
- MCFG_SCREEN_MODIFY( "screen" )
- MCFG_SCREEN_RAW_PARAMS( 7093788, 454, 0, 320, 313, 35, 35 + 228 + 32 )
+ m_screen->set_raw(7093788, 454, 0, 320, 313, 35, 35 + 228 + 32);
- MCFG_PALETTE_MODIFY("palette")
- MCFG_PALETTE_INIT_OWNER(a7800_pal_state, a7800p)
+ subdevice<palette_device>("palette")->set_init(FUNC(a7800_pal_state::palette_init_a7800p));
/* devices */
- MCFG_DEVICE_REMOVE("riot")
- MCFG_DEVICE_ADD("riot", MOS6532_NEW, CLK_PAL)
- MCFG_MOS6530n_IN_PA_CB(READ8(*this, a7800_pal_state, riot_joystick_r))
- MCFG_MOS6530n_IN_PB_CB(READ8(*this, a7800_pal_state, riot_console_button_r))
- MCFG_MOS6530n_OUT_PB_CB(WRITE8(*this, a7800_pal_state, riot_button_pullup_w))
+ subdevice<mos6532_new_device>("riot")->set_clock(CLK_PAL);
/* software lists */
- MCFG_DEVICE_REMOVE("cart_list")
- MCFG_SOFTWARE_LIST_ADD("cart_list","a7800")
- MCFG_SOFTWARE_LIST_FILTER("cart_list","PAL")
-MACHINE_CONFIG_END
+ subdevice<software_list_device>("cart_list")->set_filter("PAL");
+}
/***************************************************************************