mirror of
https://github.com/alfishe/amiga-bootcamp.git
synced 2026-06-13 00:26:28 +00:00
Peripherals and models description improved and expanded
This commit is contained in:
parent
94fb74680f
commit
a5b49d073f
19 changed files with 1752 additions and 275 deletions
|
|
@ -6,46 +6,102 @@
|
|||
|
||||
The Amiga uses a **24-bit physical address bus** on OCS/ECS machines (68000/68020 effective), giving 16 MB of addressable space. AGA machines with 68030/040 and 32-bit-clean software can address the full 4 GB, but Chip RAM and custom registers remain in the lower 16 MB.
|
||||
|
||||
## Memory Map — 24-bit (OCS/ECS, A500/A600/A3000)
|
||||
## Memory Map — 24-bit (OCS/ECS: A1000, A500, A500+, A2000, A600, A3000, CDTV)
|
||||
|
||||
```
|
||||
$000000–$1FFFFF Chip RAM (max 2 MB on ECS, 512 KB on OCS A500)
|
||||
$200000–$9FFFFF Fast RAM (expansion via Zorro II autoconfig)
|
||||
$A00000–$BEFFFF Zorro II I/O space
|
||||
$BFD000–$BFDFFF CIA-B (8520, keyboard, floppy motor, disk side)
|
||||
$BFE001–$BFE1FF CIA-A (8520, parallel port, serial flags, timer)
|
||||
$C00000–$C7FFFF Slow RAM ("Ranger", DMA-visible but not fast)
|
||||
$C80000–$CFFFFF Zorro II expansion I/O (boards)
|
||||
$D00000–$D7FFFF Zorro II expansion I/O
|
||||
$D80000–$DBFFFF Reserved / board-specific
|
||||
$DC0000–$DCFFFF Real-Time Clock (MSM6242B / RF5C01A)
|
||||
$DD0000–$DEFFFF Reserved
|
||||
$DF0000–$DFFFFF Custom chip registers ($DFF000–$DFF1FE)
|
||||
$E00000–$E7FFFF Kick memory (WCS / Ranger slow RAM mirror)
|
||||
$E80000–$EFFFFF Autoconfig space (Zorro II probe)
|
||||
$F00000–$F7FFFF Extended Kickstart ROM (OS 3.1: second 256 KB)
|
||||
$F80000–$FFFFFF Kickstart ROM (512 KB mirror at top of 16 MB)
|
||||
```
|
||||
| Address Range | Size | Region |
|
||||
|---|---|---|
|
||||
| `$000000`–`$1FFFFF` | 2 MB max | Chip RAM (512 KB on OCS A500, 1–2 MB on ECS) |
|
||||
| `$200000`–`$9FFFFF` | 8 MB | Fast RAM (Zorro II autoconfig expansion) |
|
||||
| `$A00000`–`$BEFFFF` | ~2 MB | Zorro II I/O space |
|
||||
| `$BFD000`–`$BFDFFF` | 4 KB | CIA-B (8520 — keyboard, floppy motor, disk side select) |
|
||||
| `$BFE001`–`$BFE1FF` | 512 B | CIA-A (8520 — parallel port, serial flags, timers) |
|
||||
| `$C00000`–`$C7FFFF` | 512 KB | Slow RAM ("Ranger" — on Chip bus, not DMA-visible) |
|
||||
| `$C80000`–`$CFFFFF` | 512 KB | Zorro II expansion I/O (boards) |
|
||||
| `$D00000`–`$D7FFFF` | 512 KB | Zorro II expansion I/O |
|
||||
| `$D80000`–`$DBFFFF` | 256 KB | Reserved / board-specific |
|
||||
| `$DC0000`–`$DCFFFF` | 64 KB | Real-Time Clock (MSM6242B / RF5C01A) |
|
||||
| `$DD0000`–`$DEFFFF` | 128 KB | Reserved |
|
||||
| `$DF0000`–`$DFFFFF` | 64 KB | Custom chip registers (`$DFF000`–`$DFF1FE`) |
|
||||
| `$E00000`–`$E7FFFF` | 512 KB | Kick memory (WCS / Ranger slow RAM mirror) |
|
||||
| `$E80000`–`$EFFFFF` | 512 KB | Autoconfig space (Zorro II probe) |
|
||||
| `$F00000`–`$F7FFFF` | 512 KB | Extended Kickstart ROM (OS 3.1: second 256 KB) |
|
||||
| `$F80000`–`$FFFFFF` | 512 KB | Kickstart ROM (primary, mirrored at top of 16 MB) |
|
||||
|
||||
## Memory Map — 32-bit (AGA, A1200/A4000)
|
||||
## Memory Map — 32-bit (AGA: A1200, A4000, CD32)
|
||||
|
||||
| Address Range | Size | Region |
|
||||
|---|---|---|
|
||||
| `$000000`–`$1FFFFF` | 2 MB | Chip RAM |
|
||||
| `$200000`–`$07FFFFFF` | up to 126 MB | Fast RAM (on-board via Ramsey on A4000; trapdoor/PCMCIA on A1200) |
|
||||
| `$A00000`–`$BEFFFF` | ~2 MB | Zorro II I/O |
|
||||
| `$BFD000` | — | CIA-B |
|
||||
| `$BFE001` | — | CIA-A |
|
||||
| `$C00000`–`$CFFFFF` | 1 MB | Slow RAM / board I/O |
|
||||
| `$D80000`–`$D8FFFF` | 64 KB | IDE / Gayle (A1200/A4000) |
|
||||
| `$DA0000`–`$DA3FFF` | 16 KB | PCMCIA attribute memory (A1200) |
|
||||
| `$DC0000` | — | Real-Time Clock |
|
||||
| `$DFF000`–`$DFFFFF` | 64 KB | Custom chip registers |
|
||||
| `$E00000`–`$E7FFFF` | 512 KB | Kick mirror / WCS |
|
||||
| `$F00000`–`$F7FFFF` | 512 KB | Extended Kickstart ROM |
|
||||
| `$F80000`–`$FFFFFF` | 512 KB | Kickstart ROM |
|
||||
| `$01000000`+ | up to 1.75 GB | Zorro III expansion (32-bit, A3000/A4000 only) |
|
||||
|
||||
## Per-Model Address Space Variations
|
||||
|
||||
The maps above show the common layout. Several models have unique regions:
|
||||
|
||||
### A1000 — Writable Control Store (WCS)
|
||||
|
||||
| Address Range | Size | Region |
|
||||
|---|---|---|
|
||||
| `$F80000`–`$FFFFFF` | 512 KB | **WCS RAM** — Kickstart is loaded from floppy into this RAM at boot (A1000 has no ROM-based Kickstart) |
|
||||
| `$FC0000`–`$FFFFFF` | 256 KB | Bootstrap ROM (256-byte boot loader that loads Kickstart into WCS) |
|
||||
|
||||
The A1000 is the only model where Kickstart lives in **RAM**, not ROM. If power is lost, Kickstart must be reloaded from the Kickstart floppy. The WCS is write-protected after loading via a hardware latch.
|
||||
|
||||
### A2000 — Zorro II Bus and CPU Slot
|
||||
|
||||
| Address Range | Size | Region |
|
||||
|---|---|---|
|
||||
| `$200000`–`$9FFFFF` | 8 MB | Zorro II Fast RAM (5 expansion slots, autoconfig) |
|
||||
| `$E80000`–`$EFFFFF` | 512 KB | Autoconfig space — probed at boot for each Zorro II card |
|
||||
| CPU slot | — | Directly wired 68000 socket — accepts accelerators (GVP G-Force, A2630) |
|
||||
|
||||
The A2000 is the canonical "big-box" expandable Amiga. Its 5 Zorro II slots provide 8 MB of Fast RAM address space. Some later A2000 revisions (rev 6+) support Super Agnus for 2 MB Chip RAM.
|
||||
|
||||
### CDTV — CD-ROM Controller and NVRAM
|
||||
|
||||
| Address Range | Size | Region |
|
||||
|---|---|---|
|
||||
| `$000000`–`$0FFFFF` | 1 MB | Chip RAM (stock, expandable to 2 MB with Super Agnus mod) |
|
||||
| `$E00000`–`$E3FFFF` | 256 KB | CDTV Extended ROM (CD filesystem, player software, DMAC) |
|
||||
| `$E40000`–`$E7FFFF` | 256 KB | CDTV Extended ROM (second bank) |
|
||||
| `$DC0000`–`$DC003F` | 64 B | Real-Time Clock (Oki MSM6242B) |
|
||||
| `$E90000`–`$E9FFFF` | 64 KB | DMAC (WD33C93 SCSI DMA controller for CD-ROM) |
|
||||
| `$F00000`–`$F3FFFF` | 256 KB | CDTV **NVRAM** (battery-backed, stores bookmarks and saves) |
|
||||
|
||||
The CDTV is essentially an A500 with a CD-ROM drive, IR remote, and NVRAM in a consumer set-top box form factor. It uses the OCS chipset (original Agnus) with 1 MB Chip RAM. The DMAC at `$E90000` handles DMA transfers between the CD-ROM's SCSI interface and memory.
|
||||
|
||||
### CD32 — Akiko Chip and Flash ROM
|
||||
|
||||
| Address Range | Size | Region |
|
||||
|---|---|---|
|
||||
| `$000000`–`$1FFFFF` | 2 MB | Chip RAM (fixed) |
|
||||
| `$B80000`–`$B8FFFF` | 64 KB | **Akiko** custom chip (chunky-to-planar conversion, CD-ROM controller, NVRAM interface) |
|
||||
| `$DC0000`–`$DC003F` | 64 B | Real-Time Clock |
|
||||
| `$DFF000`–`$DFFFFF` | 64 KB | Custom chip registers (AGA — Alice/Lisa) |
|
||||
| `$E00000`–`$E7FFFF` | 512 KB | CD32 Extended ROM (CD filesystem, boot, CDDA player) |
|
||||
| `$F00000`–`$F7FFFF` | 512 KB | CD32 flash ROM (firmware, SysInfo) |
|
||||
| `$F80000`–`$FFFFFF` | 512 KB | Kickstart 3.1 ROM |
|
||||
|
||||
The CD32's unique feature is the **Akiko** chip at `$B80000`, which provides:
|
||||
- **Chunky-to-Planar (C2P) conversion**: a hardware DMA engine that converts linear 8-bit pixel arrays to planar bitplane format — the single most sought-after feature for game ports
|
||||
- **CD-ROM controller**: handles the double-speed CD drive directly
|
||||
- **NVRAM interface**: 1 KB battery-backed storage for game saves
|
||||
|
||||
> [!NOTE]
|
||||
> The CD32 has no Zorro slots, no CPU slot, no trapdoor connector, and no PCMCIA port. The only expansion path is the (rare) FMV module slot or the SX-1/SX-32 expansion unit that adds a keyboard port, IDE, and PCMCIA.
|
||||
|
||||
```
|
||||
$000000–$1FFFFF 2 MB Chip RAM
|
||||
$200000–$07FFFFFF Fast RAM (on-board: 4–16 MB via Ramsey on A4000)
|
||||
Trapdoor/PCMCIA on A1200
|
||||
$A00000–$BEFFFF Zorro II I/O
|
||||
$BFD000 CIA-B
|
||||
$BFE001 CIA-A
|
||||
$C00000–$CFFFFF Slow RAM / board I/O
|
||||
$D80000–$D8FFFF IDE / Gayle (A1200/A4000)
|
||||
$DA0000–$DA3FFF PCMCIA attribute memory (A1200)
|
||||
$DC0000 RTC
|
||||
$DFF000–$DFFFFF Custom registers
|
||||
$E00000–$E7FFFF Kick mirror / WCS
|
||||
$F00000–$F7FFFF Extended ROM
|
||||
$F80000–$FFFFFF Kickstart ROM (512 KB)
|
||||
$01000000+ Zorro III expansion (32-bit, A3000/A4000 only)
|
||||
```
|
||||
|
||||
## Memory Type Classification
|
||||
|
||||
|
|
@ -77,16 +133,24 @@ Fast RAM is **CPU-only** — generally used for code, non-DMA data structures, a
|
|||
## Diagram
|
||||
|
||||
```mermaid
|
||||
block-beta
|
||||
columns 1
|
||||
block:chip["Chip RAM\n$000000–$1FFFFF\n(DMA accessible)"]
|
||||
block:fast["Fast RAM\n$200000–$9FFFFF\n(CPU only, faster)"]
|
||||
block:zio["Zorro II I/O\n$A00000–$BEFFFF"]
|
||||
block:cia["CIA-A/B\n$BFD000/$BFE001"]
|
||||
block:slow["Slow/Ranger RAM\n$C00000–$C7FFFF"]
|
||||
block:rtc["RTC $DC0000"]
|
||||
block:custom["Custom Registers\n$DFF000–$DFFFFF"]
|
||||
block:rom["Kickstart ROM\n$F80000–$FFFFFF"]
|
||||
flowchart TB
|
||||
chip["Chip RAM<br/>$000000–$1FFFFF<br/>(DMA accessible)"]
|
||||
fast["Fast RAM<br/>$200000–$9FFFFF<br/>(CPU only, faster)"]
|
||||
zio["Zorro II I/O<br/>$A00000–$BEFFFF"]
|
||||
cia["CIA-A/B<br/>$BFD000 / $BFE001"]
|
||||
slow["Slow / Ranger RAM<br/>$C00000–$C7FFFF"]
|
||||
custom["Custom Registers<br/>$DFF000–$DFFFFF"]
|
||||
rom["Kickstart ROM<br/>$F80000–$FFFFFF"]
|
||||
|
||||
chip --- fast --- zio --- cia --- slow --- custom --- rom
|
||||
|
||||
style chip fill:#2d6a4f,color:#fff
|
||||
style fast fill:#1b4332,color:#fff
|
||||
style slow fill:#774936,color:#fff
|
||||
style custom fill:#e63946,color:#fff
|
||||
style rom fill:#457b9d,color:#fff
|
||||
style zio fill:#264653,color:#fff
|
||||
style cia fill:#264653,color:#fff
|
||||
```
|
||||
|
||||
## Key Chip RAM Addresses
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue