Ad Space — Top Banner

2 Bombs (Address Error)

Atari Atari ST

Severity: Critical

What Does This Error Mean?

Two bombs on an Atari ST means an Address Error — the 68000 CPU tried to read a 16-bit word or 32-bit long from an odd memory address. The 68000 requires word and long accesses to be at even addresses. This is always a software bug.

Affected Models

  • Atari ST
  • Atari STF
  • Atari STE
  • Atari Mega ST
  • Atari TT
  • Steem emulator
  • Hatari emulator

Common Causes

  • Program bug — pointer to a 16-bit or 32-bit value is at an odd address
  • Misaligned data structure in a C or assembly language program
  • Software that works on other 68000 machines but has hidden alignment bugs exposed by the ST's stricter behaviour
  • Corrupt stack pointer — odd address reached by stack overflow or underflow

How to Fix It

  1. Press the reset button to restart — the address error is always a fatal crash.

    Unlike bus errors, address errors are always caused by software bugs. The crashed program cannot be recovered.

  2. If this is your own software: check all pointer arithmetic for alignment.

    In C on the ST, all int and long pointers must point to even addresses. Casting a char* to an int* and dereferencing it is a common cause of address errors.

  3. On emulator: enable address error checking in the debugger to find the exact instruction.

    Hatari's built-in debugger shows the exact PC (program counter) address at the time of the crash, helping locate the buggy code.

Frequently Asked Questions

Why does the 68000 care about address alignment?

The Motorola 68000 CPU's data bus is 16 bits wide and requires 16-bit and 32-bit values to start at even byte addresses. Odd-addressed word access would require two bus cycles in an awkward split — the chip designers chose to make it an error instead.

Does the 68020 also cause address errors?

No — the 68020 and later Motorola CPUs support unaligned memory access. Software with alignment bugs may run fine on an Amiga 1200 (68020) or Atari TT (68030) but crash on a plain ST (68000).