diff options
Diffstat (limited to 'src/mame/drivers/a7800.cpp')
-rw-r--r-- | src/mame/drivers/a7800.cpp | 65 |
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"); +} /*************************************************************************** |