summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/akai/mpc2000.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/akai/mpc2000.cpp')
-rw-r--r--src/mame/akai/mpc2000.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/mame/akai/mpc2000.cpp b/src/mame/akai/mpc2000.cpp
index 89da6b203a8..af7619e30b4 100644
--- a/src/mame/akai/mpc2000.cpp
+++ b/src/mame/akai/mpc2000.cpp
@@ -229,7 +229,7 @@ E0 = IDECS1N
*/
void mpc2000_state::mpc2000_io_map(address_map &map)
{
- map(0x0000, 0x001f).m("scsi:7:spc", FUNC(mb89352_device::map)).umask16(0x00ff);
+ map(0x0000, 0x001f).m("spc", FUNC(mb89352_device::map)).umask16(0x00ff);
map(0x0020, 0x0023).m(m_fdc, FUNC(upd72069_device::map)).umask16(0x00ff);
map(0x0060, 0x0063).rw(FUNC(mpc2000_state::lcd_csr), FUNC(mpc2000_state::lcd_csw<0>)).umask16(0x00ff);
map(0x0080, 0x008f).m(m_dsp, FUNC(l7a1045_sound_device::map));
@@ -592,8 +592,8 @@ void mpc2000_state::mpc2000(machine_config &config)
m_maincpu->in_mem16r_cb().set(FUNC(mpc2000_state::dma_mem16r_cb));
m_maincpu->out_mem16w_cb().set(FUNC(mpc2000_state::dma_mem16w_cb));
m_maincpu->out_eop_cb().set("tc", FUNC(input_merger_device::in_w<0>)).invert();
- m_maincpu->in_ior_cb<0>().set("scsi:7:spc", FUNC(mb89352_device::dma_r));
- m_maincpu->out_iow_cb<0>().set("scsi:7:spc", FUNC(mb89352_device::dma_w));
+ m_maincpu->in_ior_cb<0>().set("spc", FUNC(mb89352_device::dma_r));
+ m_maincpu->out_iow_cb<0>().set("spc", FUNC(mb89352_device::dma_w));
m_maincpu->in_ior_cb<1>().set(m_fdc, FUNC(upd72069_device::dma_r));
m_maincpu->out_iow_cb<1>().set(m_fdc, FUNC(upd72069_device::dma_w));
m_maincpu->in_io16r_cb<1>().set(m_ata, FUNC(ata_interface_device::read_dma));
@@ -684,7 +684,7 @@ void mpc2000_state::mpc2000(machine_config &config)
MIDI_PORT(config, "mdout1", midiout_slot, "midiout");
MIDI_PORT(config, "mdout2", midiout_slot, "midiout");
- NSCSI_BUS(config, "scsi");
+ auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
@@ -692,16 +692,12 @@ void mpc2000_state::mpc2000(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsi:7").option_set("spc", MB89352).machine_config(
- [this](device_t *device)
- {
- mb89352_device &spc = downcast<mb89352_device &>(*device);
-
- spc.set_clock(32_MHz_XTAL / 4); // PCLKOUT
- spc.out_irq_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ2);
- spc.out_dreq_callback().set(m_maincpu, FUNC(v53a_device::dreq_w<0>));
- });
+ auto &spc(MB89352(config, "spc", 32_MHz_XTAL / 4));
+ scsi.set_external_device(7, spc);
+ spc.out_irq_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ2);
+ spc.out_dreq_callback().set(m_maincpu, FUNC(v53a_device::dreq_w<0>));
+
TIMER(config, "dialtimer").configure_periodic(FUNC(mpc2000_state::dial_timer_tick), attotime::from_hz(60.0));
SPEAKER(config, "speaker", 2).front();