summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dps1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dps1.cpp')
-rw-r--r--src/mame/drivers/dps1.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/mame/drivers/dps1.cpp b/src/mame/drivers/dps1.cpp
index 370c1673fa8..0690daab4f6 100644
--- a/src/mame/drivers/dps1.cpp
+++ b/src/mame/drivers/dps1.cpp
@@ -38,9 +38,6 @@ public:
void init_dps1();
-protected:
- virtual void machine_reset() override;
-
private:
DECLARE_WRITE8_MEMBER(portb2_w);
DECLARE_WRITE8_MEMBER(portb4_w);
@@ -52,6 +49,7 @@ private:
DECLARE_READ8_MEMBER(portff_r);
DECLARE_WRITE8_MEMBER(portff_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
+ DECLARE_MACHINE_RESET(dps1);
void io_map(address_map &map);
void mem_map(address_map &map);
@@ -158,18 +156,18 @@ WRITE_LINE_MEMBER( dps1_state::fdc_drq_w )
address_space& mem = m_maincpu->space(AS_PROGRAM);
if (m_dma_dir)
{ // disk to mem
- mem.write_byte(m_dma_adr, m_fdc->dma_r());
+ mem.write_byte(m_dma_adr, m_fdc->mdma_r(mem, 0));
}
else
{ // mem to disk
- m_fdc->dma_w(mem.read_byte(m_dma_adr));
+ m_fdc->mdma_w(mem, 0, mem.read_byte(m_dma_adr));
}
m_dma_adr++;
}
// else take /dack high (unsupported)
}
-void dps1_state::machine_reset()
+MACHINE_RESET_MEMBER( dps1_state, dps1 )
{
membank("bankr0")->set_entry(1); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
@@ -198,13 +196,14 @@ static void floppies(device_slot_interface &device)
device.option_add("floppy0", FLOPPY_8_DSDD);
}
-void dps1_state::dps1(machine_config &config)
-{
+MACHINE_CONFIG_START(dps1_state::dps1)
// basic machine hardware
Z80(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &dps1_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &dps1_state::io_map);
+ MCFG_MACHINE_RESET_OVERRIDE(dps1_state, dps1)
+
/* video hardware */
mc2661_device &uart(MC2661(config, "uart", 5.0688_MHz_XTAL)); // Signetics 2651N
uart.txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
@@ -223,12 +222,14 @@ void dps1_state::dps1(machine_config &config)
UPD765A(config, m_fdc, 16_MHz_XTAL / 2, false, true);
//m_fdc->intrq_wr_callback().set(FUNC(dps1_state::fdc_int_w)); // doesn't appear to be used
m_fdc->drq_wr_callback().set(FUNC(dps1_state::fdc_drq_w));
- FLOPPY_CONNECTOR(config, "fdc:0", floppies, "floppy0", floppy_image_device::default_floppy_formats).enable_sound(true);
- //FLOPPY_CONNECTOR(config, "fdc:1", floppies, "floppy1", floppy_image_device::default_floppy_formats).enable_sound(true);
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", floppies, "floppy0", floppy_image_device::default_floppy_formats)
+ MCFG_FLOPPY_DRIVE_SOUND(true)
+ //MCFG_FLOPPY_DRIVE_ADD("fdc:1", floppies, "floppy1", floppy_image_device::default_floppy_formats)
+ //MCFG_FLOPPY_DRIVE_SOUND(true)
// software lists
- SOFTWARE_LIST(config, "flop_list").set_original("dps1");
-}
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "dps1")
+MACHINE_CONFIG_END
ROM_START( dps1 )
ROM_REGION( 0x800, "maincpu", 0 )