mirror of
https://github.com/dougg3/mac-rom-simm-programmer.git
synced 2025-07-18 07:24:04 +00:00
Added verify during write. It seems to mostly work except when the chip
is completely removed from the SIMM -- in that case, the verification still passes for some reason. I'm still debugging this one. Maybe the data I had just written is still essentially on the bus because of the floating pins and it reads it too fast? Maybe turning on pull-ups would help with that?
This commit is contained in:
@@ -43,7 +43,9 @@ typedef enum ProgrammerCommand
|
||||
EnterProgrammer,
|
||||
BootloaderEraseAndWriteProgram,
|
||||
SetSIMMTypePLCC32_2MB,
|
||||
SetSIMMTypeLarger
|
||||
SetSIMMTypeLarger,
|
||||
SetVerifyWhileWriting,
|
||||
SetNoVerifyWhileWriting
|
||||
} ProgrammerCommand;
|
||||
|
||||
// After a command is sent, the programmer will always respond with
|
||||
@@ -115,6 +117,11 @@ typedef enum ComputerReadReply
|
||||
// this one, and then the computer can send a 1024-byte chunk of data.
|
||||
// The programmer will reply with ProgrammerWriteOK, and then the cycle can
|
||||
// continue (the computer sends another request in this enum)
|
||||
//
|
||||
// If the programmer was asked to verify while writing and a verification error
|
||||
// occurs, it will respond with ProgrammerWriteVerificationError ORed with a bit
|
||||
// mask of chips that are acting up (so it could be 0x81 if IC1 is acting up,
|
||||
// for example)
|
||||
typedef enum ComputerWriteRequest
|
||||
{
|
||||
ComputerWriteMore = 0,
|
||||
@@ -126,7 +133,8 @@ typedef enum ProgrammerWriteReply
|
||||
{
|
||||
ProgrammerWriteOK = 0,
|
||||
ProgrammerWriteError,
|
||||
ProgrammerWriteConfirmCancel
|
||||
ProgrammerWriteConfirmCancel,
|
||||
ProgrammerWriteVerificationError = 0x80 /* high bit signifies verify error, low bits signify which chips are bad */
|
||||
} ProgrammerWriteReply;
|
||||
|
||||
// ------------------------- BOOTLOADER STATE PROTOCOL -------------------------
|
||||
|
Reference in New Issue
Block a user