[comp.sys.atari.st.tech] What do the Bombs mean?

onders@degas.ipl.rpi.edu (Timothy E. Onders) (10/04/90)

In particular, what do 3 bombs mean? Does anyone have a list of the
different bombs?  I used to have one but I can not find it now.

					Tim Onders
					onders@ipl.rpi.edu

gjh@hplb.hpl.hp.com (Graham Higgins) (10/04/90)

Tim Onders writes:
++ In particular, what do 3 bombs mean? Does anyone have a list of the
++ different bombs?  I used to have one but I can not find it now.

3 bombs = Address Error.


I s'pose it's time for this to appear again ....

         Error description          GEM Error code
         =========================================
            OK (no error)....................0
            Fundamental error................1
            Drive not ready..................2
            Unknown command..................3
            CRC error........................4
            Bad request......................5
            Seek error.......................6
            Unknown media....................7
            Sector not found.................8
            No paper.........................9
            Write fault.....................10
            Read fault......................11
            General error...................12
            Write protect...................13
            Media change....................14
            Unknown device..................15
            Bad sectors on format...........16
            Insert other disk...............17
            Invalid function number.........32
            File not found..................33
            Path not found..................34
            No handles left.................35
            Access denied...................36
            Invalid handle..................37
            Insufficient memory.............39
            Invalid memory block address....40
            Invalid drive specified.........46
            No more files...................49
            Range error.....................64
            Internal error..................65
            Invalid program load format.....66


         Description     68000 chip     #  of bombs
         ===========================================
            Reset: Initial PC2...............1
            Bus Error........................2
            Address Error....................3
            Illegal Instruction..............4
            Zero Divide......................5
            CHK Instruction..................6
            TRAPV Instruction................7
            Privilege Violation..............8
            Trace............................9
            Line 1010 Emulator..............10
            Line 1111 Emulator..............11
            [unassigned, reserved]..........12
            [unassigned, reserved]..........13
            Format Error....................14
            Uninitialized Interrupt Vector..15
            [unassigned, reserved].......16-23
            Spurious Interrupt..............24
            Level 1 Interrupt Autovector....25
            Level 2 Interrupt Autovector....26
            Level 3 Interrupt Autovector....27
            Level 4 Interrupt Autovector....28
            Level 5 Interrupt Autovector....29
            Level 6 Interrupt Autovector....30
            Level 7 Interrupt Autovector....31
            Trap Instruction Vectors.....32-47
            [unassigned, reserved].......48-63
            User Interrupt Vectors......64-255

dac@ukc.ac.uk (David Clear) (10/04/90)

In article <`$R%X?_@rpi.edu> onders@degas.ipl.rpi.edu (Timothy E. Onders) writes:
>In particular, what do 3 bombs mean? Does anyone have a list of the
>different bombs?  I used to have one but I can not find it now.

This seems to be a regular question so I'm posting this list.

Bombs	Meaning				Possible cause
  2	Bus error			Access non-existent memory
  3	Address error			Word/Long access to an odd address
  4	Illegal Instruction		Bad opcodes (JMPing into data!)
  5	Divide by zero			Left as an exercise for the reader :-)
  6	CHK Instruction			Ditto
  7	TRAPV Instruction		Ditto
  8	Priviledge violation		Priviledge instructions in user mode
  9	Trace				Trace!
 10	Line A Trap			$Axxx opcode - used be system
 11	Line F Trap			$Fxxx opcode - used by system
 >11	Unassigned/Interrupt/Trap	Bad interrupt/trap

 On my old ST (1986), addresses up to $3fffff (4Mb) are accepted even if
 the memory doesn't actually exist - so you may not get a bus error
 even if you're expecting one.

 Hope this helps alot of people.

 Dave.
-- 
% cc life.c                      | David Clear dac@ukc.ac.uk +44 227 764000x7592
% a.out                          | Local Area Networks, Computing Laboratory,
Segmentation fault (core dumped) | University of Kent, Canterbury, England.
>>> Kernel R0M. His Mission: To rid the world of wobbly ZX-81 16K RAM packs. <<<

csbrod@medusa.informatik.uni-erlangen.de (Claus Brod ) (10/04/90)

onders@degas.ipl.rpi.edu (Timothy E. Onders) writes:

>In particular, what do 3 bombs mean? Does anyone have a list of the
>different bombs?  I used to have one but I can not find it now.
3 bombs mean "address error" - most probably you did a word or
longword access to an odd address.
The number of bombs translate directly to the exception number of
the processor. You can look this up in any 68000 assembly language
book.


----------------------------------------------------------------------
Claus Brod, Am Felsenkeller 2,			Things. Take. Time.
D-8772 Marktheidenfeld, West Germany		(Piet Hein)
csbrod@medusa.informatik.uni-erlangen.de
----------------------------------------------------------------------

>					Tim Onders
>					onders@ipl.rpi.edu

dwh@ataritx.uucp (Dave Hanna) (10/04/90)

In article <`$R%X?_@rpi.edu> onders@degas.ipl.rpi.edu (Timothy E. Onders) writes:
>In particular, what do 3 bombs mean? Does anyone have a list of the
>different bombs?  

Bombs occur when the 68000 takes an unexpected exception trap.  The
number of bombs is equal to the exception number.  The more common
ones: 
    - 2 bombs is a bus error, usually occurring because you accessed
      non-existent memory, often because of using something as a pointer
      that wasn't a pointer, or wasn't initialized.
    - 3 bombs is an address error, meaning that you accessed a word
      or long word operand at an odd address.  May have similar causes
      to a bus error.
    - 4 bombs are an illegal instruction, which probably means your
      program took a wild jump an started executing data.
    - 11 bombs is an F-line emulator, meaning that your program tried
      to execute an instruction starting with the bits "1111...'.
      These instructions are reserved for the co-processor (which 
      doesn't exist in ST's.  It probably means your program took
      a wild jump into an area of memory that was filled with all
      FF's

If you see a large number of bombs, it may indicate that more than
one exception happened.
>					Tim Onders


-- 
    Dave Hanna    Atari Microsystems Corp
	  UUCP   ...!texsun!letni!ataritx!dwh
		 ...!ames!atari!dhanna

wallace@ynotme.enet.dec.com (Ray Wallace) (10/04/90)

In article <`$R%X?_@rpi.edu>, onders@degas.ipl.rpi.edu (Timothy E. Onders)
writes...
>In particular, what do 3 bombs mean? Does anyone have a list of the
>different bombs?  I used to have one but I can not find it now.

The number of bombs is equivalent to the number of the 68000 exception which
occured.

Note that if the ST gets an error while (or just after) it is drawing bombs,
it will sometimes draw bombs for the 2nd error as well (on the same "line").
For example if you see 11 bombs it is most likely that two errors occured, for
example; 5 bombs followed by 6 bombs.

                           -< Description of BOMBS >-
--------------------------------------------------------------------------------
This description of ST bombs was originaly posted to the Usenet by Andie Ness.
I've added a comment on large numbers of bombs.

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.

---
Ray Wallace		
		(INTERNET,UUCP) wallace@oldtmr.enet.dec.com
		(UUCP)		...!decwrl!oldtmr.enet!wallace
		(INTERNET)	wallace%oldtmr.enet@decwrl.dec.com
---

ekrimen@csuchico.edu (Ed Krimen) (10/05/90)

-    Dave Hanna    Atari Microsystems Corp
-          UUCP   ...!texsun!letni!ataritx!dwh
-                 ...!ames!atari!dhanna

Okay, it's nowhere near April.  This is a new one on me.  What's 
Atari Microsystems Corp.?  It's like I'm almost afraid to ask!  It's 
kinda hard to say, and I'm extremely hesitant, but the NEW <shudder> 
Atari Corp.?

--
==========================================================================
Ed Krimen    - ekrimen@csuchico.edu -   |||   SysOp, Fuji BBS 916-894-1261
Video Production Major                  |||       [ THIS SPACE AVAILABLE ]
California State University, Chico     / | \      [     LEAVE E-MAIL     ]

ripley@opal.cs.tu-berlin.de (Hans-Ch. Eckert) (10/08/90)

Hello.

Can anyone explain me why more bombs should indicate several traps
in a row? As far as I understand the drawing-routine, it always
starts from the left, thus painting the bombs one over another.

One thing I know for sure is, that running RTX-programs w/o having
the RTX-Kernel installed yield a row-full of bombs (40). I think
Signum! uses the same vektor.

Greetings,
				RIPLEY
--
Greetings from RIPLEY | UUCP: ripley@tubopal.UUCP (ripley@opal.cs.tu-berlin.de)
Hans-Christian Eckert |         ...!unido!tub!opal!ripley (Europe) 
D-1000 Berlin 30      |         ...!pyramid!tub!opal!ripley (World)
Regensburger Str. 2   | BITNET: ripley%tubopal@DB0TUI11.BITNET (saves $$$)