summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Dirk Best <mail@dirk-best.de>2015-05-27 15:29:00 +0200
committer Dirk Best <mail@dirk-best.de>2015-05-27 15:30:48 +0200
commitefb22342e37a19a77af674fd9c822be4ef61fd87 (patch)
tree656885f1b68a7d5f3cdfc85c8cc1b11120bb4524
parent2e772fb16078401daaf14d7a6f7ef2a6f062dbf0 (diff)
wd_fdc: check if the timer for sector register update is already
running, fixes bbc format command
-rw-r--r--src/emu/machine/wd_fdc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/emu/machine/wd_fdc.c b/src/emu/machine/wd_fdc.c
index 204c4c4281c..73d4a540980 100644
--- a/src/emu/machine/wd_fdc.c
+++ b/src/emu/machine/wd_fdc.c
@@ -1130,7 +1130,11 @@ void wd_fdc_t::sector_w(UINT8 val)
// return;
sector_buffer = val;
- delay_cycles(t_sector, dden ? delay_register_commit*2 : delay_register_commit);
+
+ // set a timer to write the new value to the register, but only if we aren't in
+ // the middle of an already occurring update
+ if (!t_sector->enabled())
+ delay_cycles(t_sector, dden ? delay_register_commit*2 : delay_register_commit);
}
UINT8 wd_fdc_t::sector_r()