diff options
Diffstat (limited to 'src/mame/drivers/prestige.cpp')
-rw-r--r-- | src/mame/drivers/prestige.cpp | 122 |
1 files changed, 58 insertions, 64 deletions
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp index eb89d393fc1..fbc565d4fd6 100644 --- a/src/mame/drivers/prestige.cpp +++ b/src/mame/drivers/prestige.cpp @@ -743,110 +743,104 @@ TIMER_DEVICE_CALLBACK_MEMBER(prestige_state::irq_timer) m_maincpu->set_input_line(0, ASSERT_LINE); } -void prestige_state::prestige_base(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::prestige_base) /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(8'000'000)); // Z84C008 - m_maincpu->set_addrmap(AS_PROGRAM, &prestige_state::prestige_mem); - m_maincpu->set_addrmap(AS_IO, &prestige_state::prestige_io); - m_maincpu->set_irq_acknowledge_callback(FUNC(prestige_state::prestige_int_ack)); + MCFG_DEVICE_ADD("maincpu",Z80, XTAL(8'000'000)) // Z84C008 + MCFG_DEVICE_PROGRAM_MAP(prestige_mem) + MCFG_DEVICE_IO_MAP(prestige_io) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(prestige_state,prestige_int_ack) - TIMER(config, "irq_timer").configure_periodic(FUNC(prestige_state::irq_timer), attotime::from_hz(200)); + MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", prestige_state, irq_timer, attotime::from_hz(200)) /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); - screen.set_refresh_hz(50); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ - screen.set_screen_update(FUNC(prestige_state::screen_update_1bpp)); - screen.set_size(240, 100); - screen.set_visarea(0, 240-1, 0, 100-1); - screen.set_palette("palette"); + MCFG_SCREEN_ADD("screen", LCD) + MCFG_SCREEN_REFRESH_RATE(50) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ + MCFG_SCREEN_UPDATE_DRIVER(prestige_state, screen_update_1bpp) + MCFG_SCREEN_SIZE( 240, 100 ) + MCFG_SCREEN_VISIBLE_AREA( 0, 240-1, 0, 100-1 ) + MCFG_SCREEN_PALETTE("palette") PALETTE(config, "palette", FUNC(prestige_state::prestige_palette), 2); /* cartridge */ - GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "genius_cart"); + MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "genius_cart") /* internal ram */ RAM(config, RAM_TAG).set_default_size("32K").set_extra_options("64K"); -} +MACHINE_CONFIG_END -void prestige_state::glcolor(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::glcolor) prestige_base(config); - m_maincpu->set_addrmap(AS_IO, &prestige_state::glcolor_io); + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(glcolor_io) /* video hardware */ - screen_device &screen(*subdevice<screen_device>("screen")); - screen.set_screen_update(FUNC(prestige_state::screen_update_2bpp)); - screen.set_size(160, 80); - screen.set_visarea(0, 160-1, 0, 80-1); + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(prestige_state, screen_update_2bpp) + MCFG_SCREEN_SIZE( 160, 80 ) + MCFG_SCREEN_VISIBLE_AREA( 0, 160-1, 0, 80-1 ) subdevice<palette_device>("palette")->set_entries(4).set_init(FUNC(prestige_state::glcolor_palette)); - SOFTWARE_LIST(config, "cart_list").set_original("glcolor"); - SOFTWARE_LIST(config, "snotec_cart").set_compatible("snotec"); -} + MCFG_SOFTWARE_LIST_ADD("cart_list", "glcolor") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("snotec_cart", "snotec") +MACHINE_CONFIG_END -void prestige_state::glmcolor(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::glmcolor) glcolor(config); - m_maincpu->set_addrmap(AS_IO, &prestige_state::prestige_io); -} + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_IO_MAP(prestige_io) +MACHINE_CONFIG_END -void prestige_state::snotec(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::snotec) glcolor(config); - config.device_remove("snotec_cart"); - SOFTWARE_LIST(config.replace(), "cart_list").set_original("snotec"); - SOFTWARE_LIST(config, "glcolor_cart").set_compatible("glcolor"); -} + MCFG_SOFTWARE_LIST_REMOVE("cart_list") + MCFG_SOFTWARE_LIST_REMOVE("snotec_cart") + MCFG_SOFTWARE_LIST_ADD("cart_list", "snotec") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("glcolor_cart", "glcolor") +MACHINE_CONFIG_END -void prestige_state::prestige(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::prestige) prestige_base(config); - SOFTWARE_LIST(config, "gl6000sl_cart").set_compatible("gl6000sl"); - SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx"); - SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000"); -} + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") +MACHINE_CONFIG_END -void prestige_state::gl6000sl(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::gl6000sl) prestige_base(config); - SOFTWARE_LIST(config, "cart_list").set_original("gl6000sl"); - SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx"); - SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000"); -} + MCFG_SOFTWARE_LIST_ADD("cart_list", "gl6000sl") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") +MACHINE_CONFIG_END -void prestige_state::gl7007sl(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::gl7007sl) prestige_base(config); - SOFTWARE_LIST(config, "gl6000sl_cart").set_compatible("gl6000sl"); - SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000"); - SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx"); -} + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") +MACHINE_CONFIG_END -void prestige_state::gjmovie(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::gjmovie) prestige_base(config); - SOFTWARE_LIST(config, "cart_list").set_original("gjmovie"); -} + MCFG_SOFTWARE_LIST_ADD("cart_list", "gjmovie") +MACHINE_CONFIG_END -void prestige_state::princ(machine_config &config) -{ +MACHINE_CONFIG_START(prestige_state::princ) prestige_base(config); - config.device_remove("cartslot"); - GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "princ_cart"); - SOFTWARE_LIST(config, "cart_list").set_original("princ"); -} + MCFG_DEVICE_REMOVE("cartslot") + MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "princ_cart") + MCFG_SOFTWARE_LIST_ADD("cart_list", "princ") +MACHINE_CONFIG_END /* ROM definition */ ROM_START( gl6000sl ) |