summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/retofinv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/retofinv.cpp')
-rw-r--r--src/mame/drivers/retofinv.cpp79
1 files changed, 39 insertions, 40 deletions
diff --git a/src/mame/drivers/retofinv.cpp b/src/mame/drivers/retofinv.cpp
index 1a7f11b9174..bb0be85c97b 100644
--- a/src/mame/drivers/retofinv.cpp
+++ b/src/mame/drivers/retofinv.cpp
@@ -220,8 +220,8 @@ void retofinv_state::sound_map(address_map &map)
map(0x2000, 0x27ff).ram(); /* 6116 sram at IC28 */
map(0x4000, 0x4000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
map(0x6000, 0x6000).w(FUNC(retofinv_state::cpu2_m6000_w));
- map(0x8000, 0x8000).w("sn1", FUNC(sn76489a_device::command_w));
- map(0xa000, 0xa000).w("sn2", FUNC(sn76489a_device::command_w));
+ map(0x8000, 0x8000).w("sn1", FUNC(sn76489a_device::write));
+ map(0xa000, 0xa000).w("sn2", FUNC(sn76489a_device::write));
map(0xe000, 0xffff).rom(); /* space for diagnostic ROM */
}
@@ -412,24 +412,24 @@ INTERRUPT_GEN_MEMBER(retofinv_state::sub_vblank_irq)
}
-MACHINE_CONFIG_START(retofinv_state::retofinv)
-
+void retofinv_state::retofinv(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'432'000)/6) /* XTAL and divider verified, 3.072 MHz */
- MCFG_DEVICE_PROGRAM_MAP(main_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", retofinv_state, main_vblank_irq)
+ Z80(config, m_maincpu, XTAL(18'432'000)/6); /* XTAL and divider verified, 3.072 MHz */
+ m_maincpu->set_addrmap(AS_PROGRAM, &retofinv_state::main_map);
+ m_maincpu->set_vblank_int("screen", FUNC(retofinv_state::main_vblank_irq));
- MCFG_DEVICE_ADD("sub", Z80, XTAL(18'432'000)/6) /* XTAL and divider verified, 3.072 MHz */
- MCFG_DEVICE_PROGRAM_MAP(sub_map)
- MCFG_DEVICE_VBLANK_INT_DRIVER("screen", retofinv_state, sub_vblank_irq)
+ Z80(config, m_subcpu, XTAL(18'432'000)/6); /* XTAL and divider verified, 3.072 MHz */
+ m_subcpu->set_addrmap(AS_PROGRAM, &retofinv_state::sub_map);
+ m_subcpu->set_vblank_int("screen", FUNC(retofinv_state::sub_vblank_irq));
- MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(18'432'000)/6) /* XTAL and divider verified, 3.072 MHz */
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(retofinv_state, nmi_line_pulse, 2*60) // wrong, should be ~128-132 per frame, not 120.
+ Z80(config, m_audiocpu, XTAL(18'432'000)/6); /* XTAL and divider verified, 3.072 MHz */
+ m_audiocpu->set_addrmap(AS_PROGRAM, &retofinv_state::sound_map);
+ m_audiocpu->set_periodic_int(FUNC(retofinv_state::nmi_line_pulse), attotime::from_hz(2*60)); // wrong, should be ~128-132 per frame, not 120.
- MCFG_DEVICE_ADD("68705", TAITO68705_MCU, XTAL(18'432'000)/6) /* XTAL and divider verified, 3.072 MHz */
+ TAITO68705_MCU(config, m_68705, XTAL(18'432'000)/6); /* XTAL and divider verified, 3.072 MHz */
- MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - enough for the sound CPU to read all commands */
+ config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame - enough for the sound CPU to read all commands */
LS259(config, m_mainlatch); // IC72 - probably shared between CPUs
m_mainlatch->q_out_cb<0>().set(FUNC(retofinv_state::irq0_ack_w));
@@ -442,13 +442,13 @@ MACHINE_CONFIG_START(retofinv_state::retofinv)
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60.58) // vsync measured at 60.58hz
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) // not accurate
- MCFG_SCREEN_SIZE(36*8, 28*8)
- MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
- MCFG_SCREEN_UPDATE_DRIVER(retofinv_state, screen_update)
- MCFG_SCREEN_PALETTE(m_palette)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_refresh_hz(60.58); // vsync measured at 60.58hz
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); // not accurate
+ screen.set_size(36*8, 28*8);
+ screen.set_visarea(0*8, 36*8-1, 0*8, 28*8-1);
+ screen.set_screen_update(FUNC(retofinv_state::screen_update));
+ screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_retofinv);
PALETTE(config, m_palette, FUNC(retofinv_state::retofinv_palette), 256*2 + 64*16 + 64*16, 256);
@@ -458,42 +458,41 @@ MACHINE_CONFIG_START(retofinv_state::retofinv)
GENERIC_LATCH_8(config, m_soundlatch);
- MCFG_DEVICE_ADD("sn1", SN76489A, XTAL(18'432'000)/6) /* @IC5?; XTAL, chip type, and divider verified, 3.072 MHz */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
+ SN76489A(config, "sn1", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.80); /* @IC5?; XTAL, chip type, and divider verified, 3.072 MHz */
- MCFG_DEVICE_ADD("sn2", SN76489A, XTAL(18'432'000)/6) /* @IC6?; XTAL, chip type, and divider verified, 3.072 MHz */
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
-MACHINE_CONFIG_END
+ SN76489A(config, "sn2", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.80); /* @IC6?; XTAL, chip type, and divider verified, 3.072 MHz */
+}
/* bootleg which has different palette clut */
-MACHINE_CONFIG_START(retofinv_state::retofinvb1)
+void retofinv_state::retofinvb1(machine_config &config)
+{
retofinv(config);
m_palette->set_init(FUNC(retofinv_state::retofinv_bl_palette));
-MACHINE_CONFIG_END
+}
/* bootleg which has no mcu */
-MACHINE_CONFIG_START(retofinv_state::retofinvb_nomcu)
+void retofinv_state::retofinvb_nomcu(machine_config &config)
+{
retofinv(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(bootleg_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &retofinv_state::bootleg_map);
m_mainlatch->q_out_cb<3>().set_nop();
- MCFG_DEVICE_REMOVE("68705")
-MACHINE_CONFIG_END
+ config.device_remove("68705");
+}
-/* bootleg which has different pallete clut and also has no mcu */
-MACHINE_CONFIG_START(retofinv_state::retofinvb1_nomcu)
+/* bootleg which has different palette clut and also has no mcu */
+void retofinv_state::retofinvb1_nomcu(machine_config &config)
+{
retofinvb1(config);
- MCFG_DEVICE_MODIFY("maincpu")
- MCFG_DEVICE_PROGRAM_MAP(bootleg_map)
+ m_maincpu->set_addrmap(AS_PROGRAM, &retofinv_state::bootleg_map);
m_mainlatch->q_out_cb<3>().set_nop();
- MCFG_DEVICE_REMOVE("68705")
-MACHINE_CONFIG_END
+ config.device_remove("68705");
+}
/***************************************************************************