The Amiga line spans nine years (1985–1994), three chipset generations, and four CPU families. While every model shares the same core custom-chip architecture — a DMA-driven display system with dedicated audio, blitter, and copper coprocessors — the implementation details vary dramatically. The A1000's 256 KB Chip RAM and side-car expansion bears little resemblance to the A4000's 32-bit Zorro III bus and on-board SCSI. Understanding these differences is essential for developers writing software that must run across the entire family, for reverse engineers analyzing per-model binaries, and for hardware restorers diagnosing chipset compatibility.
This article provides a per-model architectural breakdown: which custom chips are present, how memory is mapped, what expansion options exist, and which factory jumpers or revisions affect behavior. For the underlying memory-type concepts (Chip vs Fast vs Slow RAM), see [memory_types.md](../01_hardware/common/memory_types.md). For address-space maps, see [address_space.md](../01_hardware/common/address_space.md).
The A1000 is the progenitor. Its most distinctive feature is the **Writable Control Store (WCS)** — a 256 KB pseudo-ROM loaded from disk at boot. The Kickstart is not in a physical ROM chip; it is copied from a floppy into RAM that the CPU executes from at `$FC0000`.
| Kickstart | Loaded from "Kickstart" disk to WCS; not socketed ROM |
| Expansion | Side expansion (86-pin, similar to A500 but different) |
| Video | 23-pin RGB analog + composite + monochrome |
| Keyboard | External, proprietary interface |
> **Developer note**: The A1000's WCS means `execbase->MaxLocMem` reports less than 512 KB even with full expansion, because `$FC0000`–`$FFFFFF` is occupied by WCS. Software that probes for available memory rather than hardcoding addresses will run correctly.
---
### A500 (1987) — The Icon
The best-selling Amiga model. Internally, it is an A1000 chipset repackaged into a keyboard case with a single floppy drive and a trapdoor expansion slot.
**Key jumper/revision note**: Early A500s (Rev 3–5) have the **Agnus 8361** (18-bit address, 512 KB max Chip). Later revisions (Rev 6+) sometimes ship with **Agnus 8372A** (Super Fat Agnus), allowing 1 MB or 2 MB Chip RAM with modifications. The Denise chip is always 8362 (OCS) unless swapped by user.
---
### A2000 (1987) — The Big Box
The A2000 is an A500 on a larger motherboard with five Zorro II slots, an ISA bridge, and a CPU slot. It was Commodore's attempt to capture the professional desktop market.
- **Rev 6.6**: Final Commodore revision; best compatibility
> **Developer note**: The A2000's Buster chip has known DMA arbitration bugs in early revisions. Zorro II cards that use DMA (e.g., GVP SCSI) may hang on Rev 4.x boards. Software cannot detect this; it is a hardware compatibility issue for users.
---
### A500+ (1991) — ECS in a Budget Shell
Essentially an A500 with ECS chipset and 1 MB Chip RAM standard. It was a stopgap model between the A500 and A600.
| Clock | Battery-backed RTC standard (not optional as in A500) |
**The "2 MB Chip" mod**: The A500+ can reach 2 MB Chip RAM by replacing the 8372 Fat Agnus with a **8372A Super Agnus** and adding 1 MB of RAM chips on the motherboard. The Fat Agnus supports only 1 MB addressing; Super Agnus extends to 2 MB.
---
### A600 (1992) — The Compact
Commodore's attempt at a portable-friendly Amiga. It removes the numeric keypad, uses a 2.5" hard drive, and adds PCMCIA and internal IDE.
| Chip RAM | 1 MB stock; 2 MB max (trapdoor accelerator or Chip RAM expansion) |
| IDE | Internal 2.5" IDE via **Gayle** chip; up to 2 devices |
| PCMCIA | Type II slot; memory cards (up to 4 MB Fast RAM), Ethernet, modems |
| Gayle | Replaces Gary; integrates IDE controller, PCMCIA interface, and memory decoding |
| Kickstart | 512 KB ROM (Kickstart 2.05) |
> **Developer note**: The A600's Gayle chip has a known bug with IDE interrupt handling under heavy DMA load. Some CF card adapters require specific driver workarounds. PCMCIA memory cards map as Fast RAM at `$600000` and can conflict with accelerator memory.
---
### A3000 (1990) — The Professional
The first 32-bit Amiga with Zorro III, built-in SCSI, and a 68030 CPU. It was designed for the UNIX workstation market and is the most expandable ECS machine.
| Kickstart | 512 KB ROM; unique "superkickstart" mode for ROM development |
| Video | 23-pin RGB + monochrome; optional framebuffer card in Zorro III slot |
**The "Big Box" advantage**: Unlike the A500/A600, the A3000 has no trapdoor. All expansion is via Zorro III slots or the CPU slot. The on-board Fast RAM uses **ZIP (zig-zag inline package)** DRAM, which is difficult to source today — many A3000 owners use Zorro III RAM cards instead.
---
### A1200 (1992) — The Affordable AGA
The most popular AGA model. It packs Alice, Lisa, and 2 MB Chip RAM into a compact keyboard case similar to the A600.
| Chip RAM | 2 MB fixed; not expandable on motherboard |
| Fast RAM | Trapdoor accelerators (up to 256 MB); PCMCIA memory (up to 4 MB) |
| IDE | Gayle-based, same as A600; 2.5" internal + CF adapter popular |
| PCMCIA | Type II; same caveats as A600 regarding memory mapping |
| Video | 23-pin RGB (VGA-compatible scan rates) + composite; supports all AGA modes |
| Kickstart | 512 KB ROM (Kickstart 3.0/3.1) |
**The 150-pin trapdoor**: This connector carries the full 68020 bus, allowing accelerators to replace the CPU. Popular trapdoor cards include the Blizzard 1230/1240/1260 series, which provide 68030/040/060 CPUs, Fast RAM, and optional SCSI.
> **Developer note**: The A1200's 68EC020 has **no MMU**. Software using virtual memory (e.g., Enforcer, GigaMem) requires an accelerator with a full 68030/040/060. The `EC` designation means the on-chip MMU is absent.
---
### A4000 (1992) — The Desktop AGA
The A4000 is the big-box AGA counterpart to the A1200. It uses the same Alice/Lisa/Paula chipset but adds Zorro III slots, a desktop case, and either a 68030 or 68040 CPU.
**A4000/040 note**: The 68040 integrates CPU, FPU, MMU, and dual 4 KB caches onto a single 1.2-million-transistor die — a remarkable achievement for 1990. But Motorola had to cut somewhere. By contrast, the separate **68882 external FPU** (available on the A3000 or A4000/030 via accelerator) implemented transcendental functions — `FSIN`, `FCOS`, `FTAN`, `FASIN`, `FACOS`, `FATAN`, `FSINH`, `FCOSH`, `FTANH`, `FLOG2`, `FLOG10`, `FLOGN`, `FETOX`, `FTWOTOX`, `FTENTOX`, plus `FMOD`/`FREM` — entirely in dedicated microcode ROM. The 68040 dropped the entire microcode ROM for these instructions to free silicon for the on-chip caches. Basic FPU operations (`FADD`, `FSUB`, `FMUL`, `FDIV`, `FSQRT`, `FMOVE`, `FCMP`) remain in hardware on both.
When the 68040 encounters a missing instruction, it raises a **Line-F exception** (vector `$2C`). The `68040.library` (which AmigaOS loads automatically at boot when `AttnFlags & AFF_68040`) installs a trap handler that catches these exceptions and **emulates the missing instructions in software** using the hardware FADD/FMUL primitives. This works transparently — applications using `FSIN()` never know it's emulated — but it is **10–100× slower** than the 68882's native microcode (~200 cycles hardware vs ~4,000 cycles emulated for FSIN). Code in performance-critical paths should use lookup tables or polynomial approximations rather than calling transcendental functions in tight loops.
> [!WARNING]
> `68040.library` is **not optional**. Without it, any FPU transcendental instruction causes an unhandled Line-F exception and an immediate Guru Meditation. The library must be present in `LIBS:` before any FPU-using software runs.
| IDE | Not present as primary; some third-party tower conversions add IDE |
| Case | Full tower; 6× 5.25" + 3× 3.5" bays |
| Kickstart | 512 KB ROM + optional extended ROM for SCSI boot |
> **Developer note**: The 68060 revision of the A4000T is extremely rare. Most A4000T units are 68040-based. The 68060 requires `68060.library` for FPU emulation and cache management, similar to the 68040.
---
### CDTV (1991) — The Multimedia Pioneer
Commodore's CD-ROM-based multimedia console, based on A2000 hardware. It predates the CD32 and was aimed at the living room rather than the desktop.
| NVRAM | 32 bytes battery-backed RAM for settings |
| IR | Infrared remote control; receiver on front panel |
| Kickstart | Modified Kickstart with CDTV extensions |
| Expansion | Internal A2000-compatible slots (memory, hard cards) |
---
### CD32 (1993) — The AGA Console
The world's first 32-bit game console. It is essentially an A1200 without a keyboard, with a CD-ROM drive, and the **Akiko** chip for chunky-to-planar conversion.
| Akiko | Chunky-to-planar converter (C2P); accelerates 3D rendering by ~4× |
| CD-ROM | Double-speed; proprietary controller via Akiko |
| NVRAM | 1 KB battery-backed for game saves |
| Expansion | SX-1 or SX-32 add-on provides keyboard, floppy, IDE, and additional RAM |
| FMV | Full Motion Video cartridge port for MPEG-1 decoding |
> **Developer note**: The CD32's Akiko C2P is a hardware chunky-to-planar converter that transforms 8-bit indexed pixels into Amiga bitplane format. Games using this (e.g., *Doom*, *Gloom*) achieve playable frame rates impossible on a stock A1200 without Akiko. See [akiko_cd32.md](../01_hardware/aga_a1200_a4000/akiko_cd32.md) for programming details.
> 68040 and 68060 have on-chip FPUs that omit transcendental instructions. AmigaOS provides `68040.library` and `68060.library` to trap the missing opcodes via Line-F emulation. See [68040_68060_libraries.md](../15_fpu_mmu_cache/68040_68060_libraries.md).
The A1000's custom chipset was unprecedented. No competitor offered hardware sprites, DMA audio, blitter graphics, and a copper coprocessor in a single integrated design. The trade-off was complexity — developers had to learn the custom chips to extract performance.
The A1200 was aggressively priced but underpowered for its era. The 68EC020 at 14 MHz struggled against 386DX and 68030 systems. AGA added color depth but not raw fill-rate — the blitter remained fundamentally an OCS-era design. The CD32 console failed to find a market against the SNES and Mega Drive, which were cheaper and had larger game libraries.
---
## Modern Analogies
| Amiga Model | Modern Equivalent | Shared Concept |
|---|---|---|
| **A1000** | Original Macintosh 128K | Groundbreaking but under-RAM'd; required expansion to be practical |
| **A500** | Commodore 64 / NES | The "people's computer" — sold on price, expanded endlessly by users |
| **A2000** | IBM PC/AT with ISA slots | Big-box expandability; professional positioning |
| **A3000** | SGI Indy / NeXTStation | Professional workstation with UNIX aspirations |
| **A1200** | PlayStation 1 / 3DO | Cutting-edge for its price class, but underpowered vs. PC |
| **CD32** | 3DO / Philips CD-i | Early CD-ROM console; failed due to software library, not hardware |
| **A4000T** | Sun Ultra 1 | Rare, expensive, professional tower; end of the line |
---
## Best Practices
1.**Target A500 (OCS, 512 KB) for maximum reach** — every Amiga can run A500 software.
2.**Detect AGA at runtime** — never assume; check `GfxBase->ChipRevBits`.
3.**Probe Chip RAM size** — use `AvailMem(MEMF_CHIP | MEMF_TOTAL)` rather than hardcoding.
4.**Account for missing MMU/FPU** — 68EC020 has neither; 68040 FPU is incomplete.
5.**Test on real hardware** — emulation is accurate but timing-sensitive code (Copper, Blitter) behaves differently on real chips.
6.**Document minimum requirements** — "Requires 1 MB Chip" or "AGA only" prevents user frustration.
The A1200 sold with 2 MB Chip RAM and no Fast RAM. Software that allocates large buffers with `MEMF_ANY` may exhaust Chip RAM on a stock A1200 even though the machine has 2 MB. Always check `AvailMem()` before large allocations.
### 2. The A600 PCMCIA Trap
PCMCIA memory on the A600/A1200 maps to `$600000`. Some accelerators also map Fast RAM to this region, causing a conflict that disables PCMCIA. If your software detects PCMCIA Fast RAM, warn the user about potential accelerator conflicts.
### 3. A4000/040 vs A4000/030 Differences
The A4000/040 has a 68040 with on-board FPU and MMU; the A4000/030 has a 68030 with external FPU optional. Software using FPU instructions will crash on a 030 unless it checks for FPU presence via `execbase->AttnFlags & AFF_68040`.
### 4. CD32 Without Akiko
Some third-party CD32 clones and emulators omit Akiko. Games that rely solely on Akiko C2P will fail. Always provide a software fallback path for C2P operations.