docs(amiga): Mermaid syntax fixes, 68040 FPU elaboration, Gayle trapezoid→quoted, gcc toolchain integration

This commit is contained in:
Ilia Sharin 2026-04-27 17:29:29 -04:00
parent a59d8350b3
commit a383d4c065
11 changed files with 2738 additions and 277 deletions

View file

@ -66,18 +66,31 @@ This article provides a per-model architectural breakdown: which custom chips ar
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`.
```
┌─────────────────────────────────────┐
│ A1000 Architecture │
├─────────────────────────────────────┤
│ 68000 @ 7.09 MHz │
│ 256 KB Chip RAM (max 512 KB) │
│ 256 KB WCS (Kickstart loaded disk) │
│ OCS: Agnus 8361/8367, Denise 8362 │
│ Budgie (glue logic) │
│ Side expansion port (86-pin) │
│ No internal drive bays (ext only) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68000 CPU<br/>7.09 MHz]
Budgie[/Budgie<br/>Glue Logic/]
Agnus{{Agnus 8361/8367<br/>DMA, Blitter, Copper}}
Denise{{Denise 8362<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
WCS["WCS RAM<br/>256 KB Kickstart<br/>$FC0000"]
CIAA[CIA-A 8520<br/>Keyboard, Parallel]
CIAB[CIA-B 8520<br/>Mouse, Serial, RTC]
ChipRAM["Chip RAM<br/>256/512 KB<br/>$000000"]
SideSlot((Side Expansion<br/>86-pin))
CPU -->|Address Bus| Budgie
CPU -->|Data Bus D0-D15| Budgie
Budgie -->|Chip Select| Agnus
Budgie -->|Chip Select| Denise
Budgie -->|Chip Select| Paula
Budgie -->|Chip Select| WCS
Budgie -->|Chip Select| CIAA
Budgie -->|Chip Select| CIAB
Budgie -->|Bus Control| SideSlot
Agnus -->|DMA| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
CIAA -->|Serial| Keyboard[Keyboard<br/>Proprietary]
```
| Spec | Value |
@ -96,19 +109,32 @@ The A1000 is the progenitor. Its most distinctive feature is the **Writable Cont
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.
```
┌─────────────────────────────────────┐
│ A500 Architecture │
├─────────────────────────────────────┤
│ 68000 @ 7.09 MHz │
│ 512 KB Chip RAM (max 1 MB) │
│ 256 KB Kickstart ROM (socketed) │
│ OCS: Agnus 8361/8367, Denise 8362 │
│ Gary (system glue) │
│ Trapdoor expansion (86-pin) │
│ Side expansion (86-pin) │
│ Internal floppy bay (3.5") │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68000 CPU<br/>7.09 MHz]
Gary[/Gary CSG 5719<br/>System Controller/]
Agnus{{Agnus 8361/8367<br/>DMA, Blitter, Copper}}
Denise{{Denise 8362<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
ROM["Kickstart ROM<br/>256 KB<br/>$F80000"]
CIAA[CIA-A 8520<br/>Keyboard, Parallel]
CIAB[CIA-B 8520<br/>Mouse, Serial]
ChipRAM["Chip RAM<br/>512 KB / 1 MB<br/>$000000"]
Trapdoor((Trapdoor<br/>86-pin))
SideSlot((Side Expansion<br/>86-pin))
CPU -->|Address Bus A1-A23| Gary
CPU -->|Data Bus D0-D15| Gary
Gary -->|Chip Select| Agnus
Gary -->|Chip Select| Denise
Gary -->|Chip Select| Paula
Gary -->|/ROMCS| ROM
Gary -->|Chip Select| CIAA
Gary -->|Chip Select| CIAB
Gary -->|Bus Ctrl| Trapdoor
Gary -->|Bus Ctrl| SideSlot
Agnus -->|DMA| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -127,20 +153,35 @@ The best-selling Amiga model. Internally, it is an A1000 chipset repackaged into
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.
```
┌─────────────────────────────────────┐
│ A2000 Architecture │
├─────────────────────────────────────┤
│ 68000 @ 7.09 MHz │
│ 512 KB1 MB Chip RAM │
│ 256/512 KB Kickstart ROM │
│ OCS → ECS (Rev 6.0+) │
│ Gary + Buster (Zorro II arbiter) │
│ 5× Zorro II slots │
│ 4× ISA slots (bridge) │
│ CPU slot (68000 relocator) │
│ Internal drive bays (2× 3.5") │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68000 CPU<br/>7.09 MHz]
Gary[/Gary CSG 5719<br/>System Controller/]
Buster[/Buster 5721<br/>Zorro II Arbiter/]
Agnus{{Agnus 8361/8372<br/>DMA, Blitter, Copper}}
Denise{{Denise 8362/8373<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
ROM["Kickstart ROM<br/>256/512 KB<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>512 KB-2 MB<br/>$000000"]
CPUSlot((CPU Slot))
ZorroII("5x Zorro II<br/>$200000-$9FFFFF")
ISA((4x ISA Slots<br/>Passive Bridge))
CPU -->|Address/Data| Gary
Gary -->|Chip Select| Agnus
Gary -->|Chip Select| Denise
Gary -->|Chip Select| Paula
Gary -->|/ROMCS| ROM
Gary -->|Chip Select| CIAA
Gary -->|Chip Select| CIAB
Gary -->|Bus Grant| Buster
Gary -->|Bus Ctrl| CPUSlot
Buster -->|Arbitration| ZorroII
ZorroII -->|Bridge| ISA
Agnus -->|DMA| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -165,17 +206,31 @@ The A2000 is an A500 on a larger motherboard with five Zorro II slots, an ISA br
Essentially an A500 with ECS chipset and 1 MB Chip RAM standard. It was a stopgap model between the A500 and A600.
```
┌─────────────────────────────────────┐
│ A500+ Architecture │
├─────────────────────────────────────┤
│ 68000 @ 7.09 MHz │
│ 1 MB Chip RAM (max 2 MB) │
│ 512 KB Kickstart ROM │
│ ECS: Fat Agnus 8372, Denise 8373 │
│ Gary (system glue) │
│ Trapdoor + side expansion │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68000 CPU<br/>7.09 MHz]
Gary[/Gary CSG 5719<br/>System Controller/]
Agnus{{Fat Agnus 8372<br/>DMA, Blitter, Copper}}
Denise{{ECS Denise 8373<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
ROM["Kickstart ROM<br/>512 KB<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>1 MB / 2 MB<br/>$000000"]
Trapdoor((Trapdoor<br/>86-pin))
SideSlot((Side Expansion<br/>86-pin))
CPU -->|Address/Data| Gary
Gary -->|Chip Select| Agnus
Gary -->|Chip Select| Denise
Gary -->|Chip Select| Paula
Gary -->|/ROMCS| ROM
Gary -->|Chip Select| CIAA
Gary -->|Chip Select| CIAB
Gary -->|Bus Ctrl| Trapdoor
Gary -->|Bus Ctrl| SideSlot
Agnus -->|DMA| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -193,19 +248,33 @@ Essentially an A500 with ECS chipset and 1 MB Chip RAM standard. It was a stopga
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.
```
┌─────────────────────────────────────┐
│ A600 Architecture │
├─────────────────────────────────────┤
│ 68000 @ 7.09 MHz │
│ 1 MB Chip RAM (max 2 MB) │
│ 512 KB Kickstart ROM │
│ ECS: Super Agnus 8372A, Denise 8373│
│ Gayle (IDE + PCMCIA + RAM glue) │
│ Internal 2.5" IDE bay │
│ PCMCIA Type II slot │
│ Trapdoor expansion (150-pin) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68000 CPU<br/>7.09 MHz]
Gayle["Gayle<br/>IDE + PCMCIA + Glue"]
Agnus{{Super Agnus 8372A<br/>DMA, Blitter, Copper}}
Denise{{ECS Denise 8373<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
ROM["Kickstart ROM<br/>512 KB<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>1 MB / 2 MB<br/>$000000"]
IDE[(IDE Controller<br/>2.5-inch Internal)]
PCMCIA("PCMCIA Type II<br/>$600000")
Trapdoor((Trapdoor<br/>150-pin))
CPU -->|Address/Data| Gayle
Gayle -->|Chip Select| Agnus
Gayle -->|Chip Select| Denise
Gayle -->|Chip Select| Paula
Gayle -->|/ROMCS| ROM
Gayle -->|Chip Select| CIAA
Gayle -->|Chip Select| CIAB
Gayle -->|IDE Ctrl| IDE
Gayle -->|Bus Ctrl| PCMCIA
Gayle -->|Bus Ctrl| Trapdoor
Agnus -->|DMA| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -224,21 +293,43 @@ Commodore's attempt at a portable-friendly Amiga. It removes the numeric keypad,
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.
```
┌─────────────────────────────────────┐
│ A3000 Architecture │
├─────────────────────────────────────┤
│ 68030 @ 16 or 25 MHz │
│ 12 MB Chip RAM │
│ 416 MB Fast RAM (on-board) │
│ 512 KB Kickstart ROM │
│ ECS: Super Agnus 8372A, Denise 8373│
│ Buster III (Zorro III arbiter) │
│ 4× Zorro III slots │
│ 4× ISA slots (bridge) │
│ Internal SCSI (WD33C93A) │
│ CPU slot (68000-compatible) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68030 CPU<br/>16 or 25 MHz<br/>+ 68882 FPU]
FatGary[/Fat Gary CSG 5393<br/>32-bit System Controller/]
Buster[/Super Buster<br/>Zorro III Arbiter/]
Agnus{{Super Agnus 8372A<br/>DMA, Blitter, Copper}}
Denise{{ECS Denise 8373<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
SDMAC[/SDMAC<br/>SCSI DMA/]
SCSI[WD33C93A<br/>SCSI Controller]
ROM["Kickstart ROM<br/>512 KB<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>1-2 MB<br/>$000000"]
FastRAM["Fast RAM<br/>4-16 MB ZIP<br/>$08000000"]
CPUSlot((CPU Slot))
ZorroIII("4x Zorro III<br/>$100000-$7FFFFF")
ISA((4x ISA Slots))
CPU -->|Addr/Data<br/>32-bit| FatGary
FatGary -->|Chip Select| Agnus
FatGary -->|Chip Select| Denise
FatGary -->|Chip Select| Paula
FatGary -->|/ROMCS| ROM
FatGary -->|Chip Select| CIAA
FatGary -->|Chip Select| CIAB
FatGary -->|/RAMSLOT| FastRAM
FatGary -->|/SBIC| SCSI
FatGary -->|"/FPUCS $E80000"| FPU[68882 FPU]
FatGary -->|Bus Grant| Buster
FatGary -->|Bus Ctrl| CPUSlot
Buster -->|Arbitration| ZorroIII
ZorroIII -->|Bridge| ISA
SCSI -->|DMA Req| SDMAC
SDMAC -->|DMA| FatGary
Agnus -->|DMA| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -258,20 +349,33 @@ The first 32-bit Amiga with Zorro III, built-in SCSI, and a 68030 CPU. It was de
The most popular AGA model. It packs Alice, Lisa, and 2 MB Chip RAM into a compact keyboard case similar to the A600.
```
┌─────────────────────────────────────┐
│ A1200 Architecture │
├─────────────────────────────────────┤
│ 68EC020 @ 14.18 MHz │
│ 2 MB Chip RAM (fixed) │
│ 512 KB Kickstart ROM │
│ AGA: Alice 8374, Lisa 8375, Paula │
│ Gayle (IDE + PCMCIA) │
│ Internal 2.5" IDE bay │
│ PCMCIA Type II slot │
│ Trapdoor expansion (150-pin) │
│ 22-pin RGB video (VGA-compatible) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68EC020 CPU<br/>14.18 MHz]
Gayle["Gayle<br/>IDE + PCMCIA + Glue"]
Alice{{Alice 8374<br/>DMA, Blitter 64-bit, Copper}}
Lisa{{Lisa 8375<br/>Display Encoder<br/>24-bit Palette}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
ROM["Kickstart ROM<br/>512 KB<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>2 MB Fixed<br/>$000000"]
IDE[(IDE Controller<br/>2.5-inch Internal)]
PCMCIA("PCMCIA Type II<br/>$600000")
Trapdoor((Trapdoor<br/>150-pin<br/>Full 68020 Bus))
CPU -->|Address/Data<br/>32-bit| Gayle
Gayle -->|Chip Select| Alice
Gayle -->|Chip Select| Lisa
Gayle -->|Chip Select| Paula
Gayle -->|/ROMCS| ROM
Gayle -->|Chip Select| CIAA
Gayle -->|Chip Select| CIAB
Gayle -->|IDE Ctrl| IDE
Gayle -->|Bus Ctrl| PCMCIA
Gayle -->|Bus Ctrl| Trapdoor
Alice -->|DMA<br/>4x Fetch| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -294,21 +398,43 @@ The most popular AGA model. It packs Alice, Lisa, and 2 MB Chip RAM into a compa
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 Architecture │
├─────────────────────────────────────┤
│ 68030 @ 25 MHz or 68040 @ 25 MHz │
│ 2 MB Chip RAM (fixed) │
│ 416 MB Fast RAM (on-board) │
│ 512 KB Kickstart ROM │
│ AGA: Alice 8374, Lisa 8375, Paula │
│ Buster III (Zorro III arbiter) │
│ 5× Zorro III slots │
│ 4× ISA slots (bridge) │
│ Internal IDE (Gayle-based) │
│ CPU slot (68000-compatible) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68030/040 CPU<br/>25 MHz]
Ramsey[/Ramsey<br/>DRAM Controller/]
Budgie[/Budgie<br/>Bus Bridge/]
Buster[/Super Buster<br/>Zorro III Arbiter/]
Alice{{Alice 8374<br/>DMA, Blitter 64-bit, Copper}}
Lisa{{Lisa 8375<br/>Display Encoder<br/>24-bit Palette}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
Gayle[Gayle<br/>IDE only]
ROM["Kickstart ROM<br/>512 KB + Ext<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>2 MB Fixed<br/>$000000"]
FastRAM["Fast RAM<br/>4-16 MB SIMM<br/>$07000000"]
IDE[(IDE Controller<br/>3.5-inch Internal)]
CPUSlot((CPU Slot))
ZorroIII("5x Zorro III<br/>$100000-$7FFFFF")
ISA((4x ISA Slots))
CPU -->|Addr/Data<br/>32-bit| Ramsey
Ramsey -->|DRAM Ctrl| FastRAM
Ramsey -->|Bus Ctrl| Budgie
Budgie -->|Chip Select| Alice
Budgie -->|Chip Select| Lisa
Budgie -->|Chip Select| Paula
Budgie -->|/ROMCS| ROM
Budgie -->|Chip Select| CIAA
Budgie -->|Chip Select| CIAB
Budgie -->|Chip Select| Gayle
Budgie -->|Bus Grant| Buster
Budgie -->|Bus Ctrl| CPUSlot
Gayle -->|IDE Ctrl| IDE
Buster -->|Arbitration| ZorroIII
ZorroIII -->|Bridge| ISA
Alice -->|DMA<br/>4x Fetch| ChipRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -321,7 +447,12 @@ The A4000 is the big-box AGA counterpart to the A1200. It uses the same Alice/Li
| Kickstart | 512 KB ROM; some models include 512 KB extended ROM for SCSI boot |
| Video | 23-pin RGB + monochrome; supports all AGA modes |
**A4000/040 note**: The 68040 model includes a full MMU and FPU (Line-F emulation not required for basic FPU ops). However, the 68040's FPU lacks transcendental instructions; AmigaOS loads `68040.library` automatically to emulate these via Line-F traps.
**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 **10100× 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.
---
@ -329,20 +460,39 @@ The A4000 is the big-box AGA counterpart to the A1200. It uses the same Alice/Li
The final Commodore Amiga. A tower-case variant of the A4000 with SCSI replacing IDE as the primary storage interface.
```
┌─────────────────────────────────────┐
│ A4000T Architecture │
├─────────────────────────────────────┤
│ 68040 @ 25 MHz or 68060 @ 50 MHz │
│ 2 MB Chip RAM (fixed) │
│ 16 MB Fast RAM (on-board SIMMs) │
│ 512 KB Kickstart ROM │
│ AGA: Alice 8374, Lisa 8375, Paula │
│ Buster III + CyberStorm SCSI │
│ 5× Zorro III slots │
│ Internal SCSI-2 (NCR53C710) │
│ CPU slot │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68040/060 CPU<br/>25-50 MHz]
FatGary[/Fat Gary CSG 5393<br/>32-bit System Controller/]
Buster[/Super Buster<br/>Zorro III Arbiter/]
Alice{{Alice 8374<br/>DMA, Blitter 64-bit, Copper}}
Lisa{{Lisa 8375<br/>Display Encoder<br/>24-bit Palette}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
SCSI[NCR53C710<br/>SCSI-2 Controller]
ROM["Kickstart ROM<br/>512 KB + Ext<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>2 MB Fixed<br/>$000000"]
FastRAM["Fast RAM<br/>16 MB SIMM<br/>$08000000"]
CPUSlot((CPU Slot))
ZorroIII("5x Zorro III<br/>$100000-$7FFFFF")
CPU -->|Addr/Data<br/>32-bit| FatGary
FatGary -->|Chip Select| Alice
FatGary -->|Chip Select| Lisa
FatGary -->|Chip Select| Paula
FatGary -->|/ROMCS| ROM
FatGary -->|Chip Select| CIAA
FatGary -->|Chip Select| CIAB
FatGary -->|/RAMSLOT| FastRAM
FatGary -->|/SCSICS| SCSI
FatGary -->|"/FPUCS $E80000"| FPU[68882 FPU]
FatGary -->|Bus Grant| Buster
FatGary -->|Bus Ctrl| CPUSlot
Buster -->|Arbitration| ZorroIII
Alice -->|DMA<br/>4x Fetch| ChipRAM
SCSI -->|DMA| Alice
Paula -->|Drive Ctrl| Floppy[Floppy Drive]
```
| Spec | Value |
@ -361,20 +511,37 @@ The final Commodore Amiga. A tower-case variant of the A4000 with SCSI replacing
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.
```
┌─────────────────────────────────────┐
│ CDTV Architecture │
├─────────────────────────────────────┤
│ 68000 @ 7.09 MHz │
│ 1 MB Chip RAM │
│ 256/512 KB Kickstart ROM │
│ OCS (Agnus 8361/8372) │
│ Custom CD-ROM controller │
│ NVRAM (clock + settings) │
│ IR remote receiver │
│ No keyboard/mouse ports (ext only) │
│ Internal expansion (A2000-compat) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68000 CPU<br/>7.09 MHz]
Gary[/Gary CSG 5719<br/>System Controller/]
Agnus{{Agnus 8361/8372<br/>DMA, Blitter, Copper}}
Denise{{Denise 8362<br/>Display Encoder}}
Paula{{Paula 8364<br/>Audio, Floppy, Serial}}
DMAC[/DMAC<br/>CD-ROM DMA/]
ROM[Kickstart ROM<br/>256/512 KB<br/>CDTV Extensions]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>1 MB / 2 MB<br/>$000000"]
CDROM[(CD-ROM Drive<br/>Caddy-Load)]
NVRAM[NVRAM<br/>32 B Settings]
IR[IR Receiver<br/>Remote Control]
ExpSlot((Internal Expansion<br/>A2000-compatible))
CPU -->|Address/Data| Gary
Gary -->|Chip Select| Agnus
Gary -->|Chip Select| Denise
Gary -->|Chip Select| Paula
Gary -->|/ROMCS| ROM
Gary -->|Chip Select| CIAA
Gary -->|Chip Select| CIAB
Gary -->|Chip Select| DMAC
Gary -->|Bus Ctrl| ExpSlot
Agnus -->|DMA| ChipRAM
DMAC -->|DMA| CDROM
CIAA -.->|Serial| IR
CIAB -.->|Serial| NVRAM
Paula -->|Drive Ctrl| Floppy[Floppy Drive<br/>Optional External]
```
| Spec | Value |
@ -392,19 +559,35 @@ Commodore's CD-ROM-based multimedia console, based on A2000 hardware. It predate
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.
```
┌─────────────────────────────────────┐
│ CD32 Architecture │
├─────────────────────────────────────┤
│ 68EC020 @ 14.18 MHz │
│ 2 MB Chip RAM (fixed) │
│ 512 KB Kickstart ROM │
│ AGA: Alice 8374, Lisa 8375, Paula │
│ Akiko (C2P + CD-ROM + NVRAM glue) │
│ Custom CD-ROM drive (tray) │
│ No keyboard port (ext via SX-1) │
│ FMV cartridge slot (MPEG-1) │
└─────────────────────────────────────┘
```mermaid
graph TB
CPU[68EC020 CPU<br/>14.18 MHz]
Alice{{Alice 8374<br/>DMA, Blitter 64-bit, Copper}}
Lisa{{Lisa 8375<br/>Display Encoder<br/>24-bit Palette}}
Paula{{Paula 8364<br/>Audio}}
Akiko[/Akiko<br/>C2P + CD-ROM + NVRAM/]
ROM["Kickstart ROM<br/>512 KB<br/>$F80000"]
CIAA[CIA-A 8520]
CIAB[CIA-B 8520]
ChipRAM["Chip RAM<br/>2 MB Fixed<br/>$000000"]
CDROM[(CD-ROM Drive<br/>2x Speed)]
NVRAM[NVRAM<br/>1 KB Game Saves]
FMVSlot((FMV Slot<br/>MPEG-1 Decoder))
ExpPort((Expansion<br/>SX-1 / SX-32))
CPU -->|Address/Data<br/>32-bit| Alice
Alice -->|DMA| ChipRAM
Alice -->|Video Ctrl| Lisa
CPU -->|Data Bus| Akiko
Akiko -->|C2P| ChipRAM
Akiko -->|CD Ctrl| CDROM
Akiko -.->|Serial| NVRAM
CPU -->|Chip Select| Paula
CPU -->|Chip Select| ROM
CPU -->|Chip Select| CIAA
CPU -->|Chip Select| CIAB
CPU -->|Bus Ctrl| FMVSlot
CPU -->|Bus Ctrl| ExpPort
```
| Spec | Value |