From 359d9643f19b88a961a94fc720dd42187b6724db Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Wed, 10 Jan 2024 15:38:15 +0000 Subject: [PATCH] floppy: Gently de-jitter/precomp WDATA line This can be enough to handle heavily-precompensated marginal write signals. --- src/floppy_generic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/floppy_generic.c b/src/floppy_generic.c index 9cf2142a..5c4e9ee6 100644 --- a/src/floppy_generic.c +++ b/src/floppy_generic.c @@ -686,6 +686,8 @@ static void IRQ_wdata_dma(void) if (!(bc_prod&31)) bc_buf[((bc_prod-1) / 32) & bc_bufmask] = htobe32(bc_dat); } + curr += cell >> 1; /* remove the 1/2-cell bias */ + prev -= curr >> 3; /* de-jitter/precomp: carry 1/8 of phase error */ bc_dat = (bc_dat << 1) | 1; bc_prod++; switch (sync) {