summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/lucky74.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/lucky74.cpp')
-rw-r--r--src/mame/drivers/lucky74.cpp54
1 files changed, 30 insertions, 24 deletions
diff --git a/src/mame/drivers/lucky74.cpp b/src/mame/drivers/lucky74.cpp
index eef05d50adb..cc000621cf2 100644
--- a/src/mame/drivers/lucky74.cpp
+++ b/src/mame/drivers/lucky74.cpp
@@ -937,11 +937,11 @@ void lucky74_state::lucky74_map(address_map &map)
map(0xf000, 0xf003).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); // Input Ports 0 & 1
map(0xf080, 0xf083).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); // DSW 1, 2 & 3
map(0xf0c0, 0xf0c3).rw("ppi8255_3", FUNC(i8255_device::read), FUNC(i8255_device::write)); // DSW 4
- map(0xf100, 0xf100).w("sn1", FUNC(sn76489_device::write)); // SN76489 #1
+ map(0xf100, 0xf100).w("sn1", FUNC(sn76489_device::command_w)); // SN76489 #1
map(0xf200, 0xf203).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); // Input Ports 2 & 4
- map(0xf300, 0xf300).w("sn2", FUNC(sn76489_device::write)); // SN76489 #2
+ map(0xf300, 0xf300).w("sn2", FUNC(sn76489_device::command_w)); // SN76489 #2
map(0xf400, 0xf400).w("aysnd", FUNC(ay8910_device::address_w)); // YM2149 control
- map(0xf500, 0xf500).w("sn3", FUNC(sn76489_device::write)); // SN76489 #3
+ map(0xf500, 0xf500).w("sn3", FUNC(sn76489_device::command_w)); // SN76489 #3
map(0xf600, 0xf600).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); // YM2149 (Input Port 1)
map(0xf700, 0xf701).rw(FUNC(lucky74_state::usart_8251_r), FUNC(lucky74_state::usart_8251_w)); // USART 8251 port
map(0xf800, 0xf803).rw(FUNC(lucky74_state::copro_sm7831_r), FUNC(lucky74_state::copro_sm7831_w)); // SM7831 Co-Processor
@@ -1463,13 +1463,13 @@ WRITE_LINE_MEMBER(lucky74_state::lucky74_adpcm_int)
* Machine Drivers *
*************************/
-void lucky74_state::lucky74(machine_config &config)
-{
+MACHINE_CONFIG_START(lucky74_state::lucky74)
+
/* basic machine hardware */
- Z80(config, m_maincpu, C_06B49P_CLKOUT_03); /* 3 MHz. */
- m_maincpu->set_addrmap(AS_PROGRAM, &lucky74_state::lucky74_map);
- m_maincpu->set_addrmap(AS_IO, &lucky74_state::lucky74_portmap);
- m_maincpu->set_vblank_int("screen", FUNC(lucky74_state::nmi_interrupt)); /* 60 Hz. measured */
+ MCFG_DEVICE_ADD("maincpu", Z80, C_06B49P_CLKOUT_03) /* 3 MHz. */
+ MCFG_DEVICE_PROGRAM_MAP(lucky74_map)
+ MCFG_DEVICE_IO_MAP(lucky74_portmap)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", lucky74_state, nmi_interrupt) /* 60 Hz. measured */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -1495,13 +1495,13 @@ void lucky74_state::lucky74(machine_config &config)
ppi3.out_pc_callback().set(FUNC(lucky74_state::lamps_b_w));
/* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(64*8, 32*8);
- screen.set_visarea(0*8, 64*8-1, 1*8, 30*8-1);
- screen.set_screen_update(FUNC(lucky74_state::screen_update_lucky74));
- screen.set_palette("palette");
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MCFG_SCREEN_SIZE(64*8, 32*8)
+ MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 1*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(lucky74_state, screen_update_lucky74)
+ MCFG_SCREEN_PALETTE("palette")
GFXDECODE(config, m_gfxdecode, "palette", gfx_lucky74);
PALETTE(config, "palette", FUNC(lucky74_state::lucky74_palette), 512);
@@ -1509,9 +1509,14 @@ void lucky74_state::lucky74(machine_config &config)
/* sound hardware */
SPEAKER(config, "mono").front_center();
- SN76489(config, "sn1", C_06B49P_CLKOUT_03).add_route(ALL_OUTPUTS, "mono", 0.80); /* 3 MHz. */
- SN76489(config, "sn2", C_06B49P_CLKOUT_03).add_route(ALL_OUTPUTS, "mono", 0.80); /* 3 MHz. */
- SN76489(config, "sn3", C_06B49P_CLKOUT_03).add_route(ALL_OUTPUTS, "mono", 0.80); /* 3 MHz. */
+ MCFG_DEVICE_ADD("sn1", SN76489, C_06B49P_CLKOUT_03) /* 3 MHz. */
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
+
+ MCFG_DEVICE_ADD("sn2", SN76489, C_06B49P_CLKOUT_03) /* 3 MHz. */
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
+
+ MCFG_DEVICE_ADD("sn3", SN76489, C_06B49P_CLKOUT_03) /* 3 MHz. */
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
ay8910_device &aysnd(AY8910(config, "aysnd", C_06B49P_CLKOUT_04)); /* 1.5 MHz. */
aysnd.port_a_read_callback().set_ioport("IN3");
@@ -1519,11 +1524,12 @@ void lucky74_state::lucky74(machine_config &config)
aysnd.port_b_write_callback().set(FUNC(lucky74_state::ym2149_portb_w));
aysnd.add_route(ALL_OUTPUTS, "mono", 0.00); /* not routed to audio hardware */
- MSM5205(config, m_msm, C_06B49P_CLKOUT_06); /* 375 kHz. */
- m_msm->vck_legacy_callback().set(FUNC(lucky74_state::lucky74_adpcm_int)); /* interrupt function */
- m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8KHz */
- m_msm->add_route(ALL_OUTPUTS, "mono", 0.70);
-}
+ MCFG_DEVICE_ADD("msm", MSM5205, C_06B49P_CLKOUT_06) /* 375 kHz. */
+ MCFG_MSM5205_VCLK_CB(WRITELINE(*this, lucky74_state, lucky74_adpcm_int)) /* interrupt function */
+ MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8KHz */
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
+
+MACHINE_CONFIG_END
/*************************