summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/sun4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/sun4.cpp')
-rw-r--r--src/mame/drivers/sun4.cpp84
1 files changed, 42 insertions, 42 deletions
diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp
index 50d7016544c..bcea4fdf672 100644
--- a/src/mame/drivers/sun4.cpp
+++ b/src/mame/drivers/sun4.cpp
@@ -956,7 +956,7 @@ READ32_MEMBER( sun4_state::sun4_insn_data_r )
switch (entry.type)
{
case 0: // type 0 space
- return m_type0space->read32(tmp, mem_mask);
+ return m_type0space->read32(space, tmp, mem_mask);
case 1: // type 1 space
// magic EPROM bypass
@@ -965,7 +965,7 @@ READ32_MEMBER( sun4_state::sun4_insn_data_r )
return m_rom_ptr[offset & 0x1ffff];
}
//printf("Read type 1 @ VA %08x, phys %08x\n", offset<<2, tmp<<2);
- return m_type1space->read32(tmp, mem_mask);
+ return m_type1space->read32(space, tmp, mem_mask);
default:
//logerror("sun4: access to unhandled memory type\n");
@@ -1019,12 +1019,12 @@ WRITE32_MEMBER( sun4_state::sun4_insn_data_w )
switch (entry.type)
{
case 0: // type 0
- m_type0space->write32(tmp, data, mem_mask);
+ m_type0space->write32(space, tmp, data, mem_mask);
return;
case 1: // type 1
//printf("write device space @ %x\n", tmp<<1);
- m_type1space->write32(tmp, data, mem_mask);
+ m_type1space->write32(space, tmp, data, mem_mask);
return;
default:
@@ -1356,20 +1356,20 @@ READ8_MEMBER( sun4_state::fdc_r )
switch(offset)
{
case 0: // Main Status (R, 82072)
- return m_fdc->msr_r();
+ return m_fdc->msr_r(space, 0, 0xff);
case 1: // FIFO Data Port (R, 82072)
case 5: // FIFO Data Port (R, 82077)
- return m_fdc->fifo_r();
+ return m_fdc->fifo_r(space, 0, 0xff);
case 2: // Digital Output Register (R, 82077)
- return m_fdc->dor_r();
+ return m_fdc->dor_r(space, 0, 0xff);
case 4: // Main Status Register (R, 82077)
- return m_fdc->msr_r();
+ return m_fdc->msr_r(space, 0, 0xff);
case 7:// Digital Input Register (R, 82077)
- return m_fdc->dir_r();
+ return m_fdc->dir_r(space, 0, 0xff);
default:
break;
@@ -1384,16 +1384,16 @@ WRITE8_MEMBER( sun4_state::fdc_w )
{
case 0: // Data Rate Select Register (W, 82072)
case 4: // Data Rate Select Register (W, 82077)
- m_fdc->dsr_w(data);
+ m_fdc->dsr_w(space, 0, data, 0xff);
break;
case 1: // FIFO Data Port (W, 82072)
case 5: // FIFO Data Port (W, 82077)
- m_fdc->fifo_w(data);
+ m_fdc->fifo_w(space, 0, data, 0xff);
break;
case 7: // Configuration Control REgister (W, 82077)
- m_fdc->ccr_w(data);
+ m_fdc->ccr_w(space, 0, data, 0xff);
break;
default:
@@ -1839,15 +1839,14 @@ static void sun_scsi_devices(device_slot_interface &device)
void sun4_state::ncr53c90a(device_t *device)
{
- ncr53c90a_device &adapter = downcast<ncr53c90a_device &>(*device);
-
- adapter.set_clock(10000000);
- adapter.irq_handler_cb().set(*this, FUNC(sun4_state::scsi_irq));
- adapter.drq_handler_cb().set(*this, FUNC(sun4_state::scsi_drq));
+ devcb_base *devcb;
+ (void)devcb;
+ MCFG_DEVICE_CLOCK(10000000)
+ MCFG_NCR5390_IRQ_HANDLER(WRITELINE(*this, sun4_state, scsi_irq))
+ MCFG_NCR5390_DRQ_HANDLER(WRITELINE(*this, sun4_state, scsi_drq))
}
-void sun4_state::sun4(machine_config &config)
-{
+MACHINE_CONFIG_START(sun4_state::sun4)
/* basic machine hardware */
MB86901(config, m_maincpu, 16'670'000);
m_maincpu->add_asi_desc([](sparc_disassembler *dasm) { dasm->add_asi_desc(sun4_asi_desc); });
@@ -1921,19 +1920,19 @@ void sun4_state::sun4(machine_config &config)
rs232b.dcd_handler().set(m_scc2, FUNC(z80scc_device::dcdb_w));
rs232b.cts_handler().set(m_scc2, FUNC(z80scc_device::ctsb_w));
- NSCSI_BUS(config, "scsibus");
- NSCSI_CONNECTOR(config, "scsibus:0", sun_scsi_devices, "harddisk");
- NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:2", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:3", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:4", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:5", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, "cdrom");
- NSCSI_CONNECTOR(config, "scsibus:7", sun_scsi_devices, "ncr53c90a", true).set_option_machine_config("ncr53c90a", [this] (device_t *device) { ncr53c90a(device); });
-}
-
-void sun4_state::sun4c(machine_config &config)
-{
+ MCFG_NSCSI_BUS_ADD("scsibus")
+ MCFG_NSCSI_ADD("scsibus:0", sun_scsi_devices, "harddisk", false)
+ MCFG_NSCSI_ADD("scsibus:1", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:2", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:3", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:4", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:5", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:6", sun_scsi_devices, "cdrom", false)
+ MCFG_NSCSI_ADD("scsibus:7", sun_scsi_devices, "ncr53c90a", true)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr53c90a", [this] (device_t *device) { ncr53c90a(device); })
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_START(sun4_state::sun4c)
/* basic machine hardware */
MB86901(config, m_maincpu, 20'000'000);
m_maincpu->add_asi_desc([](sparc_disassembler *dasm) { dasm->add_asi_desc(sun4c_asi_desc); });
@@ -2005,22 +2004,23 @@ void sun4_state::sun4c(machine_config &config)
rs232b.dcd_handler().set(m_scc2, FUNC(z80scc_device::dcdb_w));
rs232b.cts_handler().set(m_scc2, FUNC(z80scc_device::ctsb_w));
- NSCSI_BUS(config, "scsibus");
- NSCSI_CONNECTOR(config, "scsibus:0", sun_scsi_devices, "harddisk");
- NSCSI_CONNECTOR(config, "scsibus:1", sun_scsi_devices, "cdrom");
- NSCSI_CONNECTOR(config, "scsibus:2", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:3", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:4", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:5", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:6", sun_scsi_devices, nullptr);
- NSCSI_CONNECTOR(config, "scsibus:7", sun_scsi_devices, "ncr53c90a", true).set_option_machine_config("ncr53c90a", [this] (device_t *device) { ncr53c90a(device); });
+ MCFG_NSCSI_BUS_ADD("scsibus")
+ MCFG_NSCSI_ADD("scsibus:0", sun_scsi_devices, "harddisk", false)
+ MCFG_NSCSI_ADD("scsibus:1", sun_scsi_devices, "cdrom", false)
+ MCFG_NSCSI_ADD("scsibus:2", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:3", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:4", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:5", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:6", sun_scsi_devices, nullptr, false)
+ MCFG_NSCSI_ADD("scsibus:7", sun_scsi_devices, "ncr53c90a", true)
+ MCFG_SLOT_OPTION_MACHINE_CONFIG("ncr53c90a", [this] (device_t *device) { ncr53c90a(device); })
// SBus
SBUS(config, m_sbus, 20'000'000, "maincpu", "type1");
SBUS_SLOT(config, m_sbus_slot[0], 20'000'000, m_sbus, sbus_cards, nullptr);
SBUS_SLOT(config, m_sbus_slot[1], 20'000'000, m_sbus, sbus_cards, nullptr);
SBUS_SLOT(config, m_sbus_slot[2], 20'000'000, m_sbus, sbus_cards, nullptr);
-}
+MACHINE_CONFIG_END
void sun4_state::sun4_20(machine_config &config)
{