diff options
Diffstat (limited to 'src/mame/drivers/wswan.cpp')
-rw-r--r-- | src/mame/drivers/wswan.cpp | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/src/mame/drivers/wswan.cpp b/src/mame/drivers/wswan.cpp index 424afbf473f..9ac840b7b82 100644 --- a/src/mame/drivers/wswan.cpp +++ b/src/mame/drivers/wswan.cpp @@ -117,58 +117,59 @@ static void wswan_cart(device_slot_interface &device) device.option_add_internal("ws_eeprom", WS_ROM_EEPROM); } -MACHINE_CONFIG_START(wswan_state::wswan) +void wswan_state::wswan(machine_config &config) +{ /* Basic machine hardware */ - MCFG_DEVICE_ADD(m_maincpu, V30MZ, 3.072_MHz_XTAL) - MCFG_DEVICE_PROGRAM_MAP(wswan_mem) - MCFG_DEVICE_IO_MAP(wswan_io) + V30MZ(config, m_maincpu, 3.072_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &wswan_state::wswan_mem); + m_maincpu->set_addrmap(AS_IO, &wswan_state::wswan_io); WSWAN_VIDEO(config, m_vdp, 0); m_vdp->set_vdp_type(VDP_TYPE_WSWAN); m_vdp->set_irq_callback(FUNC(wswan_state::set_irq_line), this); m_vdp->set_dmasnd_callback(FUNC(wswan_state::dma_sound_cb), this); - MCFG_SCREEN_ADD("screen", LCD) -// MCFG_SCREEN_REFRESH_RATE(75) -// MCFG_SCREEN_VBLANK_TIME(0) - MCFG_SCREEN_UPDATE_DEVICE("vdp", wswan_video_device, screen_update) -// MCFG_SCREEN_SIZE(WSWAN_X_PIXELS, WSWAN_Y_PIXELS) -// MCFG_SCREEN_VISIBLE_AREA(0*8, WSWAN_X_PIXELS - 1, 0, WSWAN_Y_PIXELS - 1) - MCFG_SCREEN_RAW_PARAMS(3.072_MHz_XTAL, 256, 0, WSWAN_X_PIXELS, 159, 0, WSWAN_Y_PIXELS) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); +// screen.set_refresh_rate(75); +// screen.set_vblank_time(0); + screen.set_screen_update("vdp", FUNC(wswan_video_device::screen_update)); +// screen.set_size(WSWAN_X_PIXELS, WSWAN_Y_PIXELS); +// screen.set_visarea(0*8, WSWAN_X_PIXELS - 1, 0, WSWAN_Y_PIXELS - 1); + screen.set_raw(3.072_MHz_XTAL, 256, 0, WSWAN_X_PIXELS, 159, 0, WSWAN_Y_PIXELS); + screen.set_palette("palette"); config.set_default_layout(layout_wswan); - MCFG_QUANTUM_TIME(attotime::from_hz(60)) + config.m_minimum_quantum = attotime::from_hz(60); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_wswan) + GFXDECODE(config, "gfxdecode", "palette", gfx_wswan); PALETTE(config, "palette", FUNC(wswan_state::wswan_palette), 16); /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD(m_sound, WSWAN_SND, 3.072_MHz_XTAL) - MCFG_DEVICE_ADDRESS_MAP(0, wswan_snd) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) + WSWAN_SND(config, m_sound, 3.072_MHz_XTAL); + m_sound->set_addrmap(0, &wswan_state::wswan_snd); + m_sound->add_route(0, "lspeaker", 0.50); + m_sound->add_route(1, "rspeaker", 0.50); /* cartridge */ - MCFG_DEVICE_ADD(m_cart, WS_CART_SLOT, 3.072_MHz_XTAL / 8, wswan_cart, nullptr) + WS_CART_SLOT(config, m_cart, 3.072_MHz_XTAL / 8, wswan_cart, nullptr); /* software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list","wswan") - MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("wsc_list","wscolor") + SOFTWARE_LIST(config, "cart_list").set_original("wswan"); + SOFTWARE_LIST(config, "wsc_list").set_compatible("wscolor"); - MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("pc2_list","pockchalv2") -MACHINE_CONFIG_END + SOFTWARE_LIST(config, "pc2_list").set_compatible("pockchalv2"); +} -MACHINE_CONFIG_START(wscolor_state::wscolor) +void wscolor_state::wscolor(machine_config &config) +{ wswan(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(wscolor_mem) + m_maincpu->set_addrmap(AS_PROGRAM, &wscolor_state::wscolor_mem); m_vdp->set_vdp_type(VDP_TYPE_WSC); @@ -177,11 +178,10 @@ MACHINE_CONFIG_START(wscolor_state::wscolor) palette.set_init(FUNC(wscolor_state::wscolor_palette)); /* software lists */ - MCFG_DEVICE_REMOVE("cart_list") - MCFG_DEVICE_REMOVE("wsc_list") - MCFG_SOFTWARE_LIST_ADD("cart_list","wscolor") - MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("ws_list","wswan") -MACHINE_CONFIG_END + config.device_remove("wsc_list"); + SOFTWARE_LIST(config.replace(), "cart_list").set_original("wscolor"); + SOFTWARE_LIST(config, "ws_list").set_compatible("wswan"); +} /*************************************************************************** |