From ac99753eb62661b4d41e081ff1ef82f8e4050f03 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 26 Sep 2020 13:19:47 -0400 Subject: omti8621: Reimplement FDC rate selection --- src/devices/bus/isa/omti8621.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/devices/bus/isa/omti8621.cpp b/src/devices/bus/isa/omti8621.cpp index 4c6225baa9f..1da5d23f819 100644 --- a/src/devices/bus/isa/omti8621.cpp +++ b/src/devices/bus/isa/omti8621.cpp @@ -1342,8 +1342,11 @@ void omti8621_device::fd_moten_w(uint8_t data) void omti8621_device::fd_rate_w(uint8_t data) { - // Bit 1 = FD_MINI (TODO) - // Bit 0 = FD_RATE (TODO) + // Bit 1 = FD_MINI (connects to pin 3 of FDC9239) + // Bit 0 = FD_RATE (inverted output connects to pin 4 of 74F163) + u32 fdc_clk = (48_MHz_XTAL / (BIT(data, 0) ? 5 : 3) / (BIT(data, 1) ? 4 : 2)).value(); + m_fdc->set_unscaled_clock(fdc_clk); + m_fdc->set_rate(fdc_clk / 16); } void omti8621_device::fd_extra_w(uint8_t data) -- cgit v1.2.3