diff options
author | Nigel Barnes <Pernod70@users.noreply.github.com> | 2020-10-08 17:05:51 +0100 |
---|---|---|
committer | Nigel Barnes <Pernod70@users.noreply.github.com> | 2020-10-08 18:01:04 +0100 |
commit | dca4dbb1a0cc424f5a3b76668a97b192562e7264 (patch) | |
tree | ec24cb7f32d5576bdc4638b21290b1b9350b4d9a | |
parent | 0cd5d5941d8c3aa40ee6bb47368e79bf623f10f9 (diff) |
emu3: Fixed floppy implementation.
-rw-r--r-- | src/mame/drivers/emu3.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mame/drivers/emu3.cpp b/src/mame/drivers/emu3.cpp index 4bd40415e09..1e21bcd1157 100644 --- a/src/mame/drivers/emu3.cpp +++ b/src/mame/drivers/emu3.cpp @@ -64,6 +64,7 @@ public: protected: virtual void machine_start() override; + virtual void machine_reset() override; private: void emu3_map(address_map &map); @@ -133,6 +134,13 @@ void emu3_state::machine_start() m_irq_state = false; } +void emu3_state::machine_reset() +{ + m_fdc->reset(); + m_fdc->set_floppy(m_fdd); + m_fdc->dden_w(0); +} + void emu3_state::emu3_map(address_map &map) { map(0x000000, 0x007fff).rom().region("bootprom", 0); @@ -147,7 +155,7 @@ void emu3_state::emu3_map(address_map &map) map(0xd70000, 0xd70000).lw8( [this](u8 data) { - m_fdd->ss_w(BIT(data, MISC_SIDE)); + m_fdd->ss_w(!BIT(data, MISC_SIDE)); m_fdd->mon_w(BIT(data, MISC_MTR)); m_led[16] = BIT(data, MISC_LED); }, "misc_w"); @@ -209,10 +217,8 @@ void emu3_state::emu3(machine_config &config) WD1772(config, m_fdc, 16_MHz_XTAL / 2); m_fdc->intrq_wr_callback().set(*this, FUNC(emu3_state::irq_w<FDCINT>)); m_fdc->set_disable_motor_control(true); - //m_fdc->sso_wr_callback().set([this](int state) {}); - m_fdc->dden_w(0); - FLOPPY_CONNECTOR(config, "fdc:0", emu3_floppies, "35dd", floppy_image_device::default_floppy_formats); + FLOPPY_CONNECTOR(config, "fdc:0", emu3_floppies, "35dd", floppy_image_device::default_floppy_formats).enable_sound(true); PIT8254(config, m_pit); // 8254-2 m_pit->set_clk<0>(20_MHz_XTAL / 2); |