
Amiga Error Colours, Blinks and Guru codes
CREDITS: This webpage is a copy of the post by lifeschool found at lemonamiga.com
Amiga Hardware Boot Sequence
1. Clear all of the chips of old data.
2. Disable DMA and interrupts during the test.
3. Clear the screen.
4. Check the Hardware to make sure the 68000 is working.
5. Change the screen to Black, screen stays Black (or with red Stripes) if CPU fault.
6. Do a checksum test on all the ROMS.
7. Change screen to Red if ROMs are faulty, or change to Dark Gray if ROMs are OK.
8. Begin the system startup.
9. Check the Ram at $C0000, and move SYS_BASE there.
10. Test all of the chip RAM.
11. Change screen colour to Green if RAM is faulty, or change to Light Grey if RAM is OK.
12. Check to see if the ROM software is coming in OK and being executed.
13. Change colour to White if the software test is OK, stays Light Grey if faulty, or Blue if Custom Chip error.
14. Set up the chip ram to receive data.
15. Link the ROM libraries so the machine can identify connected devices and peripherals.
16. Check for additional memory in these devices and link it to the computer.
16b. Chance screen colour to Yellow if there is an error with external cards/devices.
17. Turn the DMA and Interrupts back on.
18. Start a default task.
19. Check to see if there are additional CPUs on the system, accelerators or a maths coprocessor.
20. Check to see if the CPUs are OK.
21a. If there is an Exception (processor error), or issue reported, the system will reboot.
21b. The Kickstart Image is Displayed showing that the rom has been installed to memory, is running, and everything so far has reported OK. After this, the ROM GURU trap handler will display errors as codes on the screen.
Disk Boot Sequence
1. Checks available boot devices for a valid RDB. This can be the onboard SCSI or IDE controllers, or a peripheral device with its own boot ROM. Some early controllers are not RDB compliant and require a custom preparation of an attached drive. These drives may fail to boot on other controllers.
2. Finds the device with the highest boot priority. This is usually the floppy drive DF0:. With no disk in the drive, the system moves on to the device with the next highest priority. If no bootable device is found, the Kickstart screen appears.
3. Executes the bootblock of the device. (Some games use a custom bootblock which activates a nonstandard bootup – usually to decrunch compressed game data).
4. An AmigaDOS bootblock assigns SYS: to the active device and executes SYS:S/Startup-Sequence, a script.
5. The Startup-Sequence prepares the system for use by running SetPatch?, activating assignments for Devs:, Libs, etc. It also runs other small programs to prepare the Workbench.
6. A line in the Startup-Sequence causes the User-Startup to be executed. The User-Startup is designed for user-customization of the system. Additional assigns can be made and other programs can be executed here.
7. The Workbench is loaded by the LoadWB command.
8. The contents of the SYS:WBStartup drawer are run.
9. The Shell running the Startup-Sequence is closed.
10. The system is ready for use.
Amiga Boot Colours
Black - The computer was able to reset.
Dark Grey - The initial hardware tested OK. The 68000 is running and the ROM registers are readable.
Light Grey - The RAM seems OK. If it stops at light grey it can mean a CIA error, or ROM corruption.
White - The software is being executed and seems OK
Kickstart - The initialization tests were all passed
Red - There is an error in the Kickstart ROM(s)
Green - There is an error in the Chip RAM or general Ram error.
Light Green - CIA problem.
Blue - An error was found in the custom chips Denise, Paula or Agnus.
Yellow - The computer found an error before the error trapping software (the guru) was running. Bad Capacitors, or a bad expansion card can often cause this, as can any other type of untrappable error.
Cyan - Rev 0.x Kickstarts - Kickstart Error.
Black - No CPU detected, or unspecified ROM error. Often means a CIA error if not booting.
Black / Stripes - CPU or ROM error (try pressing down on the chips during power off)
White - CPU failure or Denise/Lisa issue.
Amiga Boot Blinks on the Power LED
(A1000) - Fast steady power LED blink; dark screen. 74S51 (U9I) & 74F74 (U8I) damaged from expansion port.
(A2000) A Dim LED with no blinks can indicate a Buster issue.
(A1000) - 4 Blinks then a 5 second pause - This is normal and part of its boot sequence, but can also indicate a bad Kickstart disk. If there is no Kickstart image appearing after the blinks, check and replace the disk drive.
6 or 7 Blinks is usually broken tracks around the battery area after an acid leak, or battery issues with an expansion.
(A2000) - 9 Short Blinks + 1 long (with Red Screen) continuously means bad ram.
10 Blinks - System is waiting to connect to a remote debugger or terminal.
10 Short + 1 Long Blink (with Green Screen) - Faulty Agnus Chip (try clean and re-insert)
Constant Blink (with Yellow Screen) indicated either faulty capacitors on the main PCB, or a general issue with the +5V power or power supply.
Amiga Boot Blinks on the Keyboard Caps-Lock LED
1 Blink - Keyboard ROM checksum failure or ROM fault.
2 Blinks - Keyboard RAM test failed
3 Blinks - Keyboard Watchdog timer failed (IC 741s 123 or associated circuitry)
4 Blinks - A short exists between two row lines or one of the seven special keys (not implemented)
No Flashes (but if keyboard still has errors) = Main PCB fault
When the Caps Lock key is repeatedly pressed approx. 10 times, the Caps Lock LED turning on and off each time indicates the CPU is correctly reading the CIAs. If the Caps Lock LED sticks on or off, the CPU is not servicing CIA interrupt requests.
If the Caps Lock key blinks with a fault, simply replace the keyboard.
Guru Meditation Error Codes
FORMAT OF ALERT ERROR NUMBER: #DSGeCode.TADDRESS
D :This indicates whether or not the software failure is recoverable or not (with the current OS none are really). A zero means that it is recoverable and any non-zero value means that it isn't.
S :This (together with D) indicates the subsystem that generated the alert. The various subsystems are (DS):
00 .. Processor or none
01 .. Exec.Library
02 ..Graphics.Library
03 .. Layers.Library
04 .. Intuition.Library
05 .. Math.Library
06 .. Clist.Library
07 .. DOS.Library
08 .. RAM.Library
09 .. Icon.Library
10 .. Audio.device
11 .. Console.device
12 .. GamePort.device
13 .. Keyboard.device
14 .. Trackdisk.device
15 .. Timer.device
20 .. CIA.resource
21 .. Disk.resource
22 .. Misc.resource
0A .. Expansion.Library
30 .. Bootstrap
31 .. Workbench
32 .. Diskcopy
Ge :This indicates the general error. Basically telling you what went wrong. The various defined General Errors are (Ge):
01 .. No memory
02 .. Make Library
03 .. Open Library
04 .. Open Device
05 .. Open Resident
06 .. I/O Error
07 .. No Signal
Code :This gives more detail as to what went wrong. The value that appears here depends on the subsystem and general error.
TAddress :This is the Address of the task that caused the guru (where applicable).
Quite often the processor with trap an error. The operating system will then display a guru. These errors will only contain two digits (the right-most two digits in 'Code') and their meanings are:
00 .. Reset (SP). /Technically, these shouldn't occur, but
01 .. Reset (PC). /they do pop up occassionally
02 .. Bus Error.
03 .. Address Error. A word or Long Word access was attempted on an odd address boundary.
04 .. Illegal Instruction. A program probably made a jump to somewhere it shouldn't have.
05 .. Divide by zero. A program has attempted to divide a number by zero (a mathematical impossibility).
06 .. CHK instructions.
07 .. TRAPV Instruction. Overflow.
08 .. Privilege Violation. A program in user mode attempted to execute a privileged Instruction.
09 .. Trace. Used in some debugging.
0A & 0B .. A & F Line Emulation. Used with some coprocessors. Usually program is out of control.
18 .. Spurious interrupt.
19 to 1F .. Auto-Vector Interrupts - These should not happen as the OS uses them to detect what is going on with the hardware, but as with all others they do appear sometimes.
20 to 2F .. Trap Vectors - Usually a program is out of control.
30 to 3F .. These are reserved by Motorola. Any program causing these is probably out of control.
40 to FF .. User Interrupt Vectors - Usually a program is out of control.
General Error Codes
01 - Not enough memory
02 - Couldn't make library
03 - Can't open library
04 - Can't open device
05 - Can't open resource
06 - I/O error
07 - No signal
08 - Bad parameters
09 - Close library failed: usually too many closes
0A - Close device failed: or a mismatched close
0B - Process creation failed
Specific Alert Codes
EXEC Library
0001 - 68000 exception vector checksum (obs)
0002 - Execbase checksum bad (obs)
0003 - Library checksum failure
0005 - Corrupt memory list detected in FreeMem
0006 - No memory for interrupt servers
0007 - InitStruct() of an APTR source (obs)
0008 - A semaphore is in an illegal state of Rem Semaphore()
0009 - Freeing memory that is already free
000A - Illegal 68K exception taken (obs)
000B - Attempt to reuse active OIRequest
000C - Sanity check on memory list failed during AvailMem (MEMF_LARGEST)
000D - IO attempted on close IORequest
000E - Stack appears to extend out of range
000F - Memory header not located. Usually an invalid address passed to FreeMem
0010 - An attempt was made to use the old message semaphores
00FF - A quick interrupt has happened to an uninitialised vector
CPU Exceptions
0002 - Bus Error
0003 - Addressing error
0004 - Illegal instruction
0005 - Divide by zero
0006 - CHK instruction
0007 - TRAPV instruction
0008 - Privilege violation
0009 - Trace
000A - OpCode 1010
000B - OpCode 1111
000E - Stack frame format error
0018 - Spurious interrupt error
0019 to 001F - AutoVector Level 1 to 7 int error
Intuition Library
0001 - Unknown gadget type
0002 - Create port, no memory
0003 - Item plane alloc, no memory
0004 - Sub alloc, no memory
0005 - Plane alloc, no memory
0006 - Item box top <RelZero
0007 - Open screen, no memory
0008 - Open screen, raster alloc, no memory
0009 - Open sys screen, unknown type
000A - Add SW gadgets, no memory
000B - Open window, no memory
000C - Bad Stare Return entering Intuition
000D - Bad message received by IDCMP
000E - Weird echo causing incomprehension
000F - Couldn't open the Console Device
0010 - Intuition skipped obtaining a sem
0011 - Intuition obtained a sem in bad order
Graphics Library
0000 - Graphics out of memory
0001 - MonitorSpec alloc, no memory
0006 - Long frame, no memory
0007 - Short frame, no memory
0009 - Text, no memory for TmpRas
000A - BitBitMap, no memory
000B - regions, memory not available
0030 - Make V Por, no memory
000C - (GFX New Error)
000D - (GFX Free Error)
1234 - Emergency memory not available
0401 - Unsupported font description used
Workbench
0001 - No fonts
0001 - WB Bad Startup Msg1
0002 - WB Bad Startup Msg2
0003 - WB Bad IO Msg
0004 - WB Init Potion Alloc Drawer
0005 - WB Create WB Menus Create Menus1
0006 - WB Create WB Menus Create Menus2
0007 - WB Layout WB Menus Layout Menus
0008 - WB Add Tool Menu Item
000A - WB InitTimer
000B - WB Init Layer Demon
000C - WB Init WB Gels
000D - WB Init Screen and Windows1
000E - WB Init Screen and Windows2
000F - WB Init Screen and Windows3
0010 - WBMAlloc
Layers Library
0000 - Layers out of memory
Expansion Library
0001 - Freed free memory
Trackdisk Device
0001 - Calibrate: seek error
0002 - Delay: error on timer wait
Disk Resource
0001 - Get unit: already has a disk
0002 - Interrupt: no active unit
RamLib Library
0001 - Overlays are illegal for library segments
Console Device
0001 - Console can't open initial window
Timer Device
0001 - Bad request
0002 - Power supply: no 50/60 Hz ticks
Bootstrap
0001 - Boot code returned an error
Dos Library
0001 - No memory at startup
0002 - EndTask didn't
0003 - Qpkt failure
0004 - Unexpected packet received
0005 - Freevec failed
0006 - Disk block sequence error
0007 - Bitmap corrupt
0008 - Key already free
0009 - Invalid checksum
000A - Disk error
000B - Key out of range
000C - Bad overlay
000D - Invalid init packet for CLI/SHELL
Alert Objects
8001 - ExecLib
8002 - GraphicsLib
8003 - LayersLib
8004 - Intuition
8005 - MathLib
8007 - DOSLib
8008 - RAMLib
8009 - IconLib
800A - ExpansionLib
800B - DiskfontLib
800C - UtilityLib
800D - KeyMapLib
8010 - AudioDev
8011 - ConsoleDev
8012 - GamePortDev
8013 - KeyboardDev
8014 - TrackDiskDev
8015 - TimerDev
8020 - CIARsrc
8021 - DiskRsrc
8022 - MiscRsrc
8030 - BootStrap
8031 - Workbench
8032 - Diskcopy
8033 - GadTools
8035 - Unknown
AmigaDos Error Codes Displayed in CLI or Shell
103 - No free store
105 - Task table full
114 - Bad temlate
115 - Bad number
116 - Required arg missing
117 - Key needs arg
118 - Too many args
119 - Unmatched quotes
120 - Line too long
121 - File no object
122 - Invalid resident library
201 - No default dir
202 - Object in use
203 - Object exists
204 - Dir not found
205 - Object not found
206 - Bad stream name
207 - Object too large
209 - Action not known
210 - Invalid component name
211 - Invalid lock
212 - Object wrong type
213 - Disk not validated
214 - Disk write protected
215 - Rename across devices
216 - Directory not empty
217 - Too many levels
218 - Device not mounted
219 - Seek error
220 - Comment too big
221 - Disk full
222 - Delete protected
223 - Write protected
224 - Read protected
225 - Not a DOS disk
226 - No disk
233 - Is soft linked
234 - Object linked
235 - Bad hunk
236 - Not implemented
240 - Record no locked
241 - Lock collision
242 - Lock timeout
243 - Unlock error
303 - Buffer overflow
304 - ***Break
305 - File not executable
