From 5985cbfcee0437587d1c0595f39e5a6e2d5dbafe Mon Sep 17 00:00:00 2001 From: holub Date: Thu, 4 Jul 2024 15:12:04 -0400 Subject: [PATCH] sinclair/beta_m.cpp: allow to use turbo clock for wd179x (#12531) --- src/mame/sinclair/beta_m.cpp | 9 +++++++++ src/mame/sinclair/beta_m.h | 1 + src/mame/sinclair/sprinter.cpp | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/mame/sinclair/beta_m.cpp b/src/mame/sinclair/beta_m.cpp index 09fec6be5c5..0013cde772a 100644 --- a/src/mame/sinclair/beta_m.cpp +++ b/src/mame/sinclair/beta_m.cpp @@ -173,6 +173,14 @@ void beta_disk_device::data_w(uint8_t data) } } +void beta_disk_device::turbo_w(int state) +{ + if (m_betadisk_active == 1) + { + m_wd179x->set_clock_scale(1 << (state & 1)); + } +} + void beta_disk_device::fdc_hld_w(int state) { m_wd179x->set_force_ready(state); // HLD connected to RDY pin @@ -206,6 +214,7 @@ void beta_disk_device::floppy_formats(format_registration &fr) static void beta_disk_floppies(device_slot_interface &device) { device.option_add("525qd", FLOPPY_525_QD); + device.option_add("35hd", FLOPPY_35_HD); } diff --git a/src/mame/sinclair/beta_m.h b/src/mame/sinclair/beta_m.h index f809f12a057..2e37b22c733 100644 --- a/src/mame/sinclair/beta_m.h +++ b/src/mame/sinclair/beta_m.h @@ -36,6 +36,7 @@ public: void track_w(uint8_t data); void sector_w(uint8_t data); void data_w(uint8_t data); + void turbo_w(int state); int is_active(); void enable(); diff --git a/src/mame/sinclair/sprinter.cpp b/src/mame/sinclair/sprinter.cpp index d1aeb1b08b2..e5d747559ba 100644 --- a/src/mame/sinclair/sprinter.cpp +++ b/src/mame/sinclair/sprinter.cpp @@ -686,6 +686,8 @@ void sprinter_state::dcp_w(offs_t offset, u8 data) m_beta->param_w(data); break; case 0x16: + case 0x17: + m_beta->turbo_w(dcpp & 1); if (data & 2) m_beta->disable(); else