A consice guide to Guru Meditation - Mon, Oct 24, 2022
Transcribed from an old document. Author and year unknown. Stamped by “Megadisc”, a small Australian magazine-on-a-disc.
It’s not always obvious why your Amiga guru’s. With the codes below, you can break the meaning down to its basic components and get to the bottom of things.
Guru Meditations
Probably all Amiga owners have seen the guru at one time or another. The guru meditation is what your Amiga does when the low level error trapping routines catch an error before the computer crashes. When the higher-level routines detect the error you are given a requestor saying: ‘Software Failure. Task held. Finish ALL disk activity’, with two gadgets saying retry and cancel. Retry usually does nothing and cancel causes a guru.
The proper term for the guru is an alert. The alerts give you some useful information about why the Amiga crashed and what program caused the program to crash.
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.