summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/prestige.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/prestige.cpp')
-rw-r--r--src/mame/drivers/prestige.cpp122
1 files changed, 64 insertions, 58 deletions
diff --git a/src/mame/drivers/prestige.cpp b/src/mame/drivers/prestige.cpp
index fbc565d4fd6..eb89d393fc1 100644
--- a/src/mame/drivers/prestige.cpp
+++ b/src/mame/drivers/prestige.cpp
@@ -743,104 +743,110 @@ TIMER_DEVICE_CALLBACK_MEMBER(prestige_state::irq_timer)
m_maincpu->set_input_line(0, ASSERT_LINE);
}
-MACHINE_CONFIG_START(prestige_state::prestige_base)
+void prestige_state::prestige_base(machine_config &config)
+{
/* basic machine hardware */
- 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)
+ 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_TIMER_DRIVER_ADD_PERIODIC("irq_timer", prestige_state, irq_timer, attotime::from_hz(200))
+ TIMER(config, "irq_timer").configure_periodic(FUNC(prestige_state::irq_timer), attotime::from_hz(200));
/* video hardware */
- 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")
+ 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");
PALETTE(config, "palette", FUNC(prestige_state::prestige_palette), 2);
/* cartridge */
- MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "genius_cart")
+ GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "genius_cart");
/* internal ram */
RAM(config, RAM_TAG).set_default_size("32K").set_extra_options("64K");
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(prestige_state::glcolor)
+void prestige_state::glcolor(machine_config &config)
+{
prestige_base(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_IO_MAP(glcolor_io)
+ m_maincpu->set_addrmap(AS_IO, &prestige_state::glcolor_io);
/* video hardware */
- 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 )
+ 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);
subdevice<palette_device>("palette")->set_entries(4).set_init(FUNC(prestige_state::glcolor_palette));
- MCFG_SOFTWARE_LIST_ADD("cart_list", "glcolor")
- MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("snotec_cart", "snotec")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("glcolor");
+ SOFTWARE_LIST(config, "snotec_cart").set_compatible("snotec");
+}
-MACHINE_CONFIG_START(prestige_state::glmcolor)
+void prestige_state::glmcolor(machine_config &config)
+{
glcolor(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_IO_MAP(prestige_io)
-MACHINE_CONFIG_END
+ m_maincpu->set_addrmap(AS_IO, &prestige_state::prestige_io);
+}
-MACHINE_CONFIG_START(prestige_state::snotec)
+void prestige_state::snotec(machine_config &config)
+{
glcolor(config);
- 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
+ config.device_remove("snotec_cart");
+ SOFTWARE_LIST(config.replace(), "cart_list").set_original("snotec");
+ SOFTWARE_LIST(config, "glcolor_cart").set_compatible("glcolor");
+}
-MACHINE_CONFIG_START(prestige_state::prestige)
+void prestige_state::prestige(machine_config &config)
+{
prestige_base(config);
- 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
+ SOFTWARE_LIST(config, "gl6000sl_cart").set_compatible("gl6000sl");
+ SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
+ SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
+}
-MACHINE_CONFIG_START(prestige_state::gl6000sl)
+void prestige_state::gl6000sl(machine_config &config)
+{
prestige_base(config);
- 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
+ SOFTWARE_LIST(config, "cart_list").set_original("gl6000sl");
+ SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
+ SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
+}
-MACHINE_CONFIG_START(prestige_state::gl7007sl)
+void prestige_state::gl7007sl(machine_config &config)
+{
prestige_base(config);
- 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
+ SOFTWARE_LIST(config, "gl6000sl_cart").set_compatible("gl6000sl");
+ SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
+ SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
+}
-MACHINE_CONFIG_START(prestige_state::gjmovie)
+void prestige_state::gjmovie(machine_config &config)
+{
prestige_base(config);
- MCFG_SOFTWARE_LIST_ADD("cart_list", "gjmovie")
-MACHINE_CONFIG_END
+ SOFTWARE_LIST(config, "cart_list").set_original("gjmovie");
+}
-MACHINE_CONFIG_START(prestige_state::princ)
+void prestige_state::princ(machine_config &config)
+{
prestige_base(config);
- MCFG_DEVICE_REMOVE("cartslot")
- MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "princ_cart")
- MCFG_SOFTWARE_LIST_ADD("cart_list", "princ")
-MACHINE_CONFIG_END
+ config.device_remove("cartslot");
+ GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "princ_cart");
+ SOFTWARE_LIST(config, "cart_list").set_original("princ");
+}
/* ROM definition */
ROM_START( gl6000sl )