mirror of
https://github.com/alfishe/amiga-bootcamp.git
synced 2026-06-13 00:26:28 +00:00
docs(amiga): Mermaid syntax fixes, 68040 FPU elaboration, Gayle trapezoid→quoted, gcc toolchain integration
This commit is contained in:
parent
a59d8350b3
commit
a383d4c065
11 changed files with 2738 additions and 277 deletions
|
|
@ -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 KB–1 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 │
|
||||
│ 1–2 MB Chip RAM │
|
||||
│ 4–16 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) │
|
||||
│ 4–16 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 **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.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -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 |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue