summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/thayers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/thayers.cpp')
-rw-r--r--src/mame/drivers/thayers.cpp49
1 files changed, 26 insertions, 23 deletions
diff --git a/src/mame/drivers/thayers.cpp b/src/mame/drivers/thayers.cpp
index 8f8c03be365..c0acd9ecbc8 100644
--- a/src/mame/drivers/thayers.cpp
+++ b/src/mame/drivers/thayers.cpp
@@ -798,39 +798,42 @@ void thayers_state::machine_reset()
/* Machine Driver */
-MACHINE_CONFIG_START(thayers_state::thayers)
-
+void thayers_state::thayers(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000))
- MCFG_DEVICE_PROGRAM_MAP(thayers_map)
- MCFG_DEVICE_IO_MAP(thayers_io_map)
-
- MCFG_DEVICE_ADD("mcu", COP421, XTAL(4'000'000)/2) // COP421L-PCA/N
- MCFG_COP400_CONFIG( COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, false )
- MCFG_COP400_READ_L_CB(READ8(*this, thayers_state, cop_l_r))
- MCFG_COP400_WRITE_L_CB(WRITE8(*this, thayers_state, cop_l_w))
- MCFG_COP400_READ_G_CB(READ8(*this, thayers_state, cop_g_r))
- MCFG_COP400_WRITE_G_CB(WRITE8(*this, thayers_state, cop_g_w))
- MCFG_COP400_WRITE_D_CB(WRITE8(*this, thayers_state, cop_d_w))
- MCFG_COP400_READ_SI_CB(READLINE(*this, thayers_state, kbdata_r))
- MCFG_COP400_WRITE_SO_CB(WRITELINE(*this, thayers_state, kbclk_w))
-
- MCFG_LASERDISC_PR7820_ADD("laserdisc")
+ Z80(config, m_maincpu, XTAL(4'000'000));
+ m_maincpu->set_addrmap(AS_PROGRAM, &thayers_state::thayers_map);
+ m_maincpu->set_addrmap(AS_IO, &thayers_state::thayers_io_map);
+
+ cop421_cpu_device &mcu(COP421(config, "mcu", XTAL(4'000'000)/2)); // COP421L-PCA/N
+ mcu.set_config(COP400_CKI_DIVISOR_16, COP400_CKO_OSCILLATOR_OUTPUT, false);
+ mcu.read_l().set(FUNC(thayers_state::cop_l_r));
+ mcu.write_l().set(FUNC(thayers_state::cop_l_w));
+ mcu.read_g().set(FUNC(thayers_state::cop_g_r));
+ mcu.write_g().set(FUNC(thayers_state::cop_g_w));
+ mcu.write_d().set(FUNC(thayers_state::cop_d_w));
+ mcu.read_si().set(FUNC(thayers_state::kbdata_r));
+ mcu.write_so().set(FUNC(thayers_state::kbclk_w));
/* video hardware */
- MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
+ PIONEER_PR7820(config, m_pr7820, 0);
+ m_pr7820->set_screen("screen");
- MCFG_PALETTE_ADD("palette", 256)
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_video_attributes(VIDEO_SELF_RENDER);
+ screen.set_raw(XTAL(14'318'181)*2, 910, 0, 704, 525, 44, 524);
+ screen.set_screen_update("laserdisc", FUNC(laserdisc_device::screen_update));
+
+ PALETTE(config, "palette", 256);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
// SSI 263 @ 2MHz
- MCFG_DEVICE_MODIFY("laserdisc")
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-MACHINE_CONFIG_END
+ m_pr7820->add_route(0, "lspeaker", 1.0);
+ m_pr7820->add_route(1, "rspeaker", 1.0);
+}
/* ROMs */