[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fatal Error 0911
In article <1ih1ioINNa3u@gap.caltech.edu> toddpw@cco.caltech.edu (Todd P.
Whitesel) writes:
>[...]
>One thing _I_ would love to know is just what the heck is it doing when it
>gets a 911 anyway? Synchronizing to the ADB implies that it is trying to
>establish communication with the microcontroller, and it seems to me that
>you'd have a _huge_ tolerance on the timeout for that. Unless the ADB micro
>just crashes or hangs ??
The 0911 error is generated when the system tries to send an ADB Sync ($07)
command to the microcontroller. The Sync command is supposed to be
followed by four bytes of data (the ADB mode byte, the keyboard and mouse
address byte, the keyboard and display language byte, and the auto-repeat
timing byte). After sending the Sync command, the ROM gives the controller
time to act on it, and if the ROM times out before the controller is ready
to receive the data bytes, then error 0911 happens.
It looks to me like it's a failure with either the ADB command/data
register at $C026, or the ADB status register at $C027. One of three
things appears to be happening:
* The command or data byte isn't making it through the command/data
register to the ADB, or
* The command or data byte is getting through, but the ADB is failing
to acknowledge it, or
* It gets in and gets acknowledged, but the acknowledgement never
makes it back out through the ADB status register.
I doubt it's any kind of failure on the ADB data bus--when my machine gets
into one of its 0911 fits, the _ReadKeyMicroMem tool call (which shouldn't
have to touch the bus) starts returning error $0910 ("command not
completed").
I recommend disassembling the relevant ROM code (which is at $FF/84FC in
ROM 01...if you don't have ROM 01, just follow the RESET code at $FF/FA62--it
eventually leads to the ADB Sync code).
- Neil Parker
--
Neil Parker No cute ASCII art...no cute quote...no cute
nparker@cie.uoregon.edu disclaimer...no deposit, no return...
parker@corona.uoregon.edu (This space intentionally left blank: )