aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolay Nikolov <nickysn@users.sourceforge.net>2018-02-04 17:26:57 +0200
committerKevin O'Connor <kevin@koconnor.net>2018-02-07 21:16:12 -0500
commit5157a7882de8b50c2365fd9166c5d91861a478a2 (patch)
treed3ea1711d87fad695a1a9a08fc1dc734d84b8942
parent3ddb42f38f5054aa6eed7971f10da0adc076c74e (diff)
downloadseabios-5157a7882de8b50c2365fd9166c5d91861a478a2.tar.gz
floppy: Introduce floppy_dor_mask()
Signed-off-by: Nikolay Nikolov <nickysn@users.sourceforge.net>
-rw-r--r--src/hw/floppy.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/hw/floppy.c b/src/hw/floppy.c
index 9c44a584..f45676e2 100644
--- a/src/hw/floppy.c
+++ b/src/hw/floppy.c
@@ -193,6 +193,12 @@ floppy_dor_write(u8 val)
SET_LOW(FloppyDOR, val);
}
+static inline void
+floppy_dor_mask(u8 off, u8 on)
+{
+ floppy_dor_write((floppy_dor_read() & ~off) | on);
+}
+
static void
floppy_disable_controller(void)
{
@@ -674,6 +680,6 @@ floppy_tick(void)
SET_BDA(floppy_motor_counter, fcount);
if (fcount == 0)
// turn motor(s) off
- floppy_dor_write(floppy_dor_read() & ~0xf0);
+ floppy_dor_mask(0xf0, 0);
}
}