From 03fa2f38eebb96494932b5b0b2559d29481110c8 Mon Sep 17 00:00:00 2001 From: Patrick Linstruth Date: Fri, 16 Jan 2026 05:08:38 -0500 Subject: [PATCH] AltairZ80: Corrects bug in ICOM floppy device A hobbyist found an original FDOS for 8" drives (FD360, FD3712) that has turned up a bug in both the FDC+ and AltairZ80 implementation of the FD3712. In the FDC+, the data pointer into the 128 byte write "shift register" is reset upon receipt of a CLEAR command. The real hardware never resets the shift register, so software should not adjust the pointer either. AltairZ80 may need the same adjustment. --- AltairZ80/s100_icom.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/AltairZ80/s100_icom.c b/AltairZ80/s100_icom.c index 6bd0f6b36..0c3aa4b65 100644 --- a/AltairZ80/s100_icom.c +++ b/AltairZ80/s100_icom.c @@ -1434,8 +1434,6 @@ static uint8 ICOM_Command(UNIT *uptr, ICOM_REG *pICOM, int32 Data) pICOM->status &= ~ICOM_STAT_DRVFAIL; pICOM->status &= ~ICOM_STAT_CRC; pICOM->status &= ~ICOM_STAT_DDM; - pICOM->rDataBuf = 0; - pICOM->wDataBuf = 0; break; case ICOM_CMD_LDCONF: