Apple IIgs #95
ROM Diagnostic Errors

Written by Dan Strnad (September 1990)

This Technical Note describes errors returned by the ROM Diagnostics on Apple IIgs systems.

The Built-In Diagnostics Revealed

The IIgs has a self-test capability in ROM. The self-test is activated by pressing Open-Apple and Option on power up, or Open-Apple, Option, and Reset. During the test, the test number is visible on the bottom of the screen followed by six zeros. After all tests are complete, a continuous 6 KHz one-second beep sounds and the screen displays a System Good message. If any test fails, the screen displays a message of the form System Bad: AABBCCDD on the lower left hand side and a staggered AABBCCDD on the upper left hand side to help read the error code in the event of a RAM failure. In the event of video failure, the failure code is also sent to the printer port. In the number contained in the error message, AA is the test number that failed and the failure code is embedded in the BB, CC, and DD fields. The complete failure codes for each of the 12 tests are as follows:

Self Test 1: ROM Test
AA = 01
BB = Failed checksum
DD = 01 if the test encountered bad RAM and the error code is a RAM error code similar to the RAM Test error codes

For a failure in ROM, the ROM diagnostics also display RM on the top left hand corner of the screen.

Self Test 2: RAM Test
AA = 02
BB = Bank Number (or $FF for ADB Tool call error)
CC = Bit(s) failed
Self Test 3: Soft Switches and State Register Test
AA = 03
BB = State Register bit (if any)
CC = Low byte of soft switch address
Self Test 4: RAM Address Test
AA = 04
BB = Failed bank number (or $FF for ADB Tool call error)
CCDD = Failed address
Self Test 5: Speed Test
AA = 05
BB =
01: Speed stuck slow
02: Speed stuck fast
Self Test 6: Serial Test
AA = 06:
BB =
01: Register R/W
04: Tx Buffer empty status
05: Tx Buffer empty failure
06: All Sent Status fail
07: Rx Char available
08: Bad data
Self Test 7: Clock Test
AA = 07
DD = 01: Fatal error occurred and the test is aborted
Self Test 8: Battery RAM Test
AA = 08
BB =
01: Address test and CC = bad address
02: Non-volatile RAM failed and CC = pattern, DD = address
Self Test 9: Apple Desktop Bus Test
AA = 09
BBCC = Bad checksum
DD = 01: Apple Desktop Bus tools call encountered a fatal error, no checksum computed.
Self Test 10: Shadow Register Test
AA = 0A
BB =
01: Text page 1 fail
02: Text page 2 fail
03: Apple Desktop Bus Tool call error
04: Power On Clear bit error
Self Test 11: Interrupts Test
AA = 0B
BB =
01: VBL interrupt time-out
02: VBL IRQ status fail
03: 1/4 sec interrupt
04: 1/4 sec interrupt
07: Scan line
Self Test 12: Sound Test
AA = 0C
DD =
01: RAM data error
02: RAM address error
03: Data register failed
04: Control register failed
05: Oscillator interrupt timeout

Further Reference

This and all of the other Apple II Technical Notes have been converted to HTML by Aaron Heiss as a public service to the Apple II community, with permission by Apple Computer, Inc. Any and all trademarks, registered and otherwise, are properties of their owners.