summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/swtpc.cpp23
-rw-r--r--src/mame/drivers/swtpc09.cpp3
2 files changed, 4 insertions, 22 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.
diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp
index 32f7a8044ff..ebb5a755ed8 100644
--- a/src/mame/drivers/swtpc09.cpp
+++ b/src/mame/drivers/swtpc09.cpp
@@ -298,7 +298,8 @@ INPUT_PORTS_END
static DEVICE_INPUT_DEFAULTS_START( dc5 )
- DEVICE_INPUT_DEFAULTS("address_mode", 0xf, 1)
+ DEVICE_INPUT_DEFAULTS("ADDRESS_MODE", 0x1, 1)
+ DEVICE_INPUT_DEFAULTS("FORCE_READY", 0x1, 0)
DEVICE_INPUT_DEFAULTS_END