diff options
Diffstat (limited to 'src/mame/drivers/dps1.cpp')
-rw-r--r-- | src/mame/drivers/dps1.cpp | 25 |
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 ) |