From efb22342e37a19a77af674fd9c822be4ef61fd87 Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Wed, 27 May 2015 15:29:00 +0200 Subject: [PATCH] wd_fdc: check if the timer for sector register update is already running, fixes bbc format command --- src/emu/machine/wd_fdc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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()