From fb7a42e1d1856dbafd0747e14bb0b6e0eb3486b3 Mon Sep 17 00:00:00 2001 From: Michael McMaster Date: Wed, 24 Apr 2019 21:53:16 +1000 Subject: [PATCH] Improved async noise model that considers all 9 dbx signals. --- CHANGELOG | 1 + rtl/fpga_bitmap.o | Bin 32724 -> 32724 bytes src/firmware/config.c | 4 ++-- src/firmware/scsiPhy.c | 5 +++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 04f6656f..a98974e6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ 2019XXXX - Port XEBEC support from v5 firmware - Add Flexible Disk Drive Geometry SCSI MODE page + - Stability improvements 20181011 6.2.1 - Fix bug in USB disk interface with disks over 4GB diff --git a/rtl/fpga_bitmap.o b/rtl/fpga_bitmap.o index cb1310f423c12d483492d9760546019b0f75956c..48d78e9ea3b294797d62feb72e818df30111e67c 100644 GIT binary patch literal 32724 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 literal 32724 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 diff --git a/src/firmware/config.c b/src/firmware/config.c index ead6f286..503833ac 100755 --- a/src/firmware/config.c +++ b/src/firmware/config.c @@ -37,7 +37,7 @@ #include -static const uint16_t FIRMWARE_VERSION = 0x0621; +static const uint16_t FIRMWARE_VERSION = 0x0623; // 1 flash row static const uint8_t DEFAULT_CONFIG[128] = @@ -219,7 +219,7 @@ debugCommand() response[27] = scsiDev.lastSenseASC >> 8; response[28] = scsiDev.lastSenseASC; response[29] = *SCSI_STS_DBX & 0xff; // What we've read - response[30] = 0; // obsolete + response[30] = *SCSI_STS_SELECTED; response[31] = *SCSI_STS_DBX >> 8; // What we're writing hidPacket_send(response, sizeof(response)); } diff --git a/src/firmware/scsiPhy.c b/src/firmware/scsiPhy.c index 48bf535c..c00b8d56 100755 --- a/src/firmware/scsiPhy.c +++ b/src/firmware/scsiPhy.c @@ -30,8 +30,8 @@ static uint8_t asyncTimings[][4] = { /* Speed, Assert, Deskew, Hold, Glitch */ -{/*1.5MB/s*/ 28, 18, 13, 15}, -{/*3.3MB/s*/ 13, 6, 6, 13}, +{/*1.5MB/s*/ 28, 18, 13, 6}, +{/*3.3MB/s*/ 13, 6, 6, 6}, {/*5MB/s*/ 9, 6, 6, 6}, // 80ns {/*safe*/ 3, 6, 6, 6}, // Probably safe {/*turbo*/ 3, 3, 3, 2} @@ -576,6 +576,7 @@ void scsiEnterPhase(int newPhase) if (scsiDev.compatMode < COMPAT_SCSI2) { + // EMU EMAX needs 100uS ! 10uS is not enough. s2s_delay_us(100); } } -- 2.38.5