From a3e881544c6bd8d73ea380ec8b98acd19483f9c0 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Thu, 10 Jul 2025 13:28:01 -0700 Subject: [PATCH] a4092flash: Fix detection and verification --- Software/a4092flash/flash.c | 6 +++--- Software/a4092flash/main.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Software/a4092flash/flash.c b/Software/a4092flash/flash.c index 4fd737f..f2d6b55 100644 --- a/Software/a4092flash/flash.c +++ b/Software/a4092flash/flash.c @@ -279,10 +279,10 @@ bool flash_init(UBYTE *manuf, UBYTE *devid, ULONG *base, UWORD *sectorSize) { flash_unlock_sdp(); flash_command(CMD_ID_ENTRY); - // Read manufacturer ID from byte address 0 + // Read manufacturer ID manufId = flash_read_byte(0); - // Read device ID from byte address 2 - deviceId = flash_read_byte(2); + // Read device ID + deviceId = flash_read_byte(1); flash_command(CMD_CFI_ID_EXIT); diff --git a/Software/a4092flash/main.c b/Software/a4092flash/main.c index 0445634..bd6145c 100644 --- a/Software/a4092flash/main.c +++ b/Software/a4092flash/main.c @@ -482,7 +482,7 @@ BOOL writeBufToFlash(struct scsiBoard *board, UBYTE *source, UBYTE *dest, ULONG lastProgress = progress; } sourcePtr = ((void *)source + i); - destPtr = ((void *)dest + (i << 1)); + destPtr = ((void *)dest + (i << 2)); if (*sourcePtr != *destPtr) { printf("\nVerification failed at %06x - Expected %02X but read %02X\n",(int)destPtr,*sourcePtr,*destPtr); return false;