summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/primo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/primo.cpp')
-rw-r--r--src/mame/drivers/primo.cpp92
1 files changed, 47 insertions, 45 deletions
diff --git a/src/mame/drivers/primo.cpp b/src/mame/drivers/primo.cpp
index 01d473632fe..803f97bcb58 100644
--- a/src/mame/drivers/primo.cpp
+++ b/src/mame/drivers/primo.cpp
@@ -248,87 +248,89 @@ static const struct CassetteOptions primo_cassette_options = {
MACHINE_CONFIG_START(primo_state::primoa32)
/* basic machine hardware */
- Z80(config, m_maincpu, 2500000);
- m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo32_mem);
- m_maincpu->set_addrmap(AS_IO, &primo_state::primoa_port);
+ MCFG_DEVICE_ADD( "maincpu", Z80, 2500000 )
+ MCFG_DEVICE_PROGRAM_MAP( primo32_mem)
+ MCFG_DEVICE_IO_MAP( primoa_port)
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(50);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- m_screen->set_size(256, 192);
- m_screen->set_visarea(0, 256-1, 0, 192-1);
- m_screen->set_screen_update(FUNC(primo_state::screen_update_primo));
- m_screen->set_palette("palette");
- m_screen->screen_vblank().set(FUNC(primo_state::vblank_irq));
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE( 50 )
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_SIZE( 256, 192 )
+ MCFG_SCREEN_VISIBLE_AREA( 0, 256-1, 0, 192-1 )
+ MCFG_SCREEN_UPDATE_DRIVER(primo_state, screen_update_primo)
+ MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, primo_state, vblank_irq))
PALETTE(config, "palette", palette_device::MONOCHROME);
/* sound hardware */
SPEAKER(config, "mono").front_center();
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "mono", 0.25);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.50);
/* snapshot/quickload */
- MCFG_SNAPSHOT_ADD("snapshot", primo_state, primo, "pss")
- MCFG_QUICKLOAD_ADD("quickload", primo_state, primo, "pp")
+ MCFG_SNAPSHOT_ADD("snapshot", primo_state, primo, "pss", 0)
+ MCFG_QUICKLOAD_ADD("quickload", primo_state, primo, "pp", 0)
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(primo_ptp_format);
- m_cassette->set_create_opts(&primo_cassette_options);
- m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED);
+ MCFG_CASSETTE_ADD( "cassette" )
+ MCFG_CASSETTE_FORMATS(primo_ptp_format)
+ MCFG_CASSETTE_CREATE_OPTS(&primo_cassette_options)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED)
/* floppy from serial bus */
- cbm_iec_slot_device::add(config, m_iec, nullptr);
+ MCFG_CBM_IEC_ADD(nullptr)
/* cartridge */
- GENERIC_CARTSLOT(config, m_cart1, generic_plain_slot, nullptr, "bin,rom");
- GENERIC_CARTSLOT(config, m_cart2, generic_plain_slot, nullptr, "bin,rom");
+ MCFG_GENERIC_CARTSLOT_ADD("cartslot1", generic_plain_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
+ MCFG_GENERIC_CARTSLOT_ADD("cartslot2", generic_plain_slot, nullptr)
+ MCFG_GENERIC_EXTENSIONS("bin,rom")
MACHINE_CONFIG_END
-void primo_state::primoa48(machine_config &config)
-{
+MACHINE_CONFIG_START(primo_state::primoa48)
primoa32(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo48_mem);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(primo48_mem)
+MACHINE_CONFIG_END
-void primo_state::primoa64(machine_config &config)
-{
+MACHINE_CONFIG_START(primo_state::primoa64)
primoa32(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo64_mem);
-}
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(primo64_mem)
+MACHINE_CONFIG_END
-void primo_state::primob32(machine_config &config)
-{
+MACHINE_CONFIG_START(primo_state::primob32)
primoa32(config);
- m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
-}
+MACHINE_CONFIG_END
-void primo_state::primob48(machine_config &config)
-{
+MACHINE_CONFIG_START(primo_state::primob48)
primoa48(config);
- m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
-}
+MACHINE_CONFIG_END
-void primo_state::primob64(machine_config &config)
-{
+MACHINE_CONFIG_START(primo_state::primob64)
primoa64(config);
- m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
-}
+MACHINE_CONFIG_END
-void primo_state::primoc64(machine_config &config)
-{
+MACHINE_CONFIG_START(primo_state::primoc64)
primoa64(config);
- m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_IO_MAP(primob_port)
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
-}
+MACHINE_CONFIG_END
ROM_START( primoa32 )
ROM_REGION( 0x14000, "maincpu", ROMREGION_ERASEFF )