Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!pasteur!agate!saturn!ssyx.ucsc.edu!koreth From: koreth@ssyx.ucsc.edu (Steven Grimm) Newsgroups: comp.sys.atari.st Subject: Bomb list Message-ID: <2905@saturn.ucsc.edu> Date: 19 Apr 88 16:43:03 GMT Sender: usenet@saturn.ucsc.edu Reply-To: koreth@ssyx.ucsc.edu (Steven Grimm) Organization: The American Redundancy Society of America Lines: 34 Here's a list of what the various numbers of bombs mean... 1 - Impossible. If you get 1 bomb, take your ST to a repair shop. 2 - Bus error. This means you have tried to access memory outside the computer's valid address space (or tried to access a protected area in user mode). 3 - Address error. This usually results from doing a word or long operation on an odd byte boundary. 4 - Illegal instruction. You figure it out. 5 - Divide by 0. Usually generated by the divs and divu instructions, though if I recall correctly some others can cause it as well. 6 - CHK instruction trap. If a chk instruction returns an illegal value, this trap is executed. Chk is actually pretty dumb, in my opinion, unless you're using Pascal. 7 - TRAPV instruction. You get this by executing a trapv instruction when the overflow bit is set. Most programs don't use trapv, so this one shouldn't pop up much. 8 - Privilege violation. This one appears when a supervisor-only instruction is encountered in user mode. 9 - Trace. If you've got the trace bit set, this trap will occur after each instruction. Great for debuggers. 10 - Line-A. You shouldn't get this, as it's the interface Atari uses to get to graphics routines. 11 - Line-F. This is supposed to be a hook for math coprocessors, but Atari (DRI?) used it for GEM instead. I would have preferred a coprocessor. The others are pretty much undefined; if you get one, something weird is going on. From 32 to 47 bombs mean that you made a trap call whose vector wasn't set. Note that the number of bombs is equivalent to the 68000 exception number. Hope this helps people. -Steve