diff options
Diffstat (limited to 'src/mame/drivers/swtpc.cpp')
-rw-r--r-- | src/mame/drivers/swtpc.cpp | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/src/mame/drivers/swtpc.cpp b/src/mame/drivers/swtpc.cpp index fc00330f8c0..1ca113a3f57 100644 --- a/src/mame/drivers/swtpc.cpp +++ b/src/mame/drivers/swtpc.cpp @@ -110,7 +110,6 @@ public: , m_ram(*this, "ram") , m_brg(*this, "brg") , m_maincpu_clock(*this, "MAINCPU_CLOCK") - , m_swtbug_ready_wait(*this, "SWTBUG_READY_WAIT") , m_swtbug_load_at_a100(*this, "SWTBUG_LOAD_AT_A100") { } @@ -129,7 +128,6 @@ private: required_device<ram_device> m_ram; required_device<mc14411_device> m_brg; required_ioport m_maincpu_clock; - required_ioport m_swtbug_ready_wait; required_ioport m_swtbug_load_at_a100; }; @@ -168,17 +166,6 @@ static INPUT_PORTS_START( swtpc ) PORT_CONFSETTING(2000000, "2.0 MHz") PORT_CONFSETTING(4000000, "4.0 MHz") - // Patch the SWTBUG to wait for the motor to start. The SWTBUG - // accesses the FDC control register and then waits a period for the - // motor to start. Unfortunately the DC series of FDCs do not trigger - // the motor when accessing the control register, the drive does not - // have time to become ready before commands are issued and the boot - // fails. This workaround is necessary in practice. - PORT_START("SWTBUG_READY_WAIT") - PORT_CONFNAME(0x1, 1, "SWTBUG ready wait patch") - PORT_CONFSETTING(0, "No") - PORT_CONFSETTING(1, "Yes - apply patch") - // Patch SWTBUG to load the disk boot code at 0xa100 rather than // 0x2400. The disk boot code is typically position dependent and many // disk images expect to have their boot code loaded at 0xa100. TODO @@ -194,7 +181,8 @@ static INPUT_PORTS_START( swtpc ) INPUT_PORTS_END static DEVICE_INPUT_DEFAULTS_START( dc5 ) - DEVICE_INPUT_DEFAULTS("address_mode", 0xf, 0) + DEVICE_INPUT_DEFAULTS("ADDRESS_MODE", 0x1, 0) + DEVICE_INPUT_DEFAULTS("FORCE_READY", 0x1, 1) DEVICE_INPUT_DEFAULTS_END INPUT_CHANGED_MEMBER(swtpc_state::maincpu_clock_change) @@ -210,13 +198,6 @@ void swtpc_state::machine_reset() // TODO make these SWTBUG patches conditional on using SWTBUG! - if (m_swtbug_ready_wait->read()) - { - // Patch SWTBUG to also wait until the drive is ready. - uint8_t* swtbug = memregion("mcm6830")->base(); - swtbug[0x029b] = 0x81; - } - if (m_swtbug_load_at_a100->read()) { // Patch SWTBUG to load the disk boot sector at 0xa100. |