The Commodore Amiga 4000
There are two models of the Commodore Amiga 4000:
- A4000/040 - released October 1992 using Motorola 68040
- A4000/030 - released April 1993 using Motorola 68EC030
The Amiga 4000 was an upgrade to the A3000 and introduced the Advanced Graphics Architecture chipset with enhanced graphics. The SCSI hard drive interface was replaced with the Parallel ATA system. The system came in two cases, first the desktop-case and later an expanded tower case that offers more room for expansion.
The AGA chipset is part of Commodore's third generation Amiga chipset and has improved graphical abilities. The palette is expanded from 12-bit color depth to 24-bit. This increased the number of possible colors from 4096 to 16.8million. There are also new HAM-8 color modes, with 262,144 colors on screen simultaneously. The AGA also has improved sprite capacity and an overall performance increase.
Expansion ports:
- External:
- 2 DE-9 ports for joystick, mouse or light-pen
- 25-pin RS323 serial port
- 25-pin parallel Centronics port
- 2 RCA Audio Out
- 6-pin mini DIN keyboard
- DB-23F Floppy disk drive port
- Analog RGB video out
- Internal:
- Internal ATA controller
- 4 100pin 32-bit internal Zorro III slots
- 1 AGA video slot
- 3 16-bit ISA slots
- 1 200-pin CPU expansion port
- 4 72-pin SIMM memory slots
AmigaOS
AmigaOS, as it came to be known, was not a single monolithic package at first but rather a layered combination of Kickstart, Workbench, and supporting components like AmigaDOS and shared libraries. Kickstart, stored in ROM (except on the original Amiga 1000 where it was loaded from disk), contained the low-level core: the Exec kernel for preemptive multitasking, memory management, and interprocess communication, along with key libraries such as graphics.library and intuition.library. This firmware formed the foundation of the system, ensuring that hardware, multitasking, and UI primitives were always available at boot.
Workbench, by contrast, was the graphical desktop environment delivered on disk. It provided the user interface, window management, icon handling, and system tools. Workbench relied on the services of Kickstart, it drew windows through Intuition, accessed files via AmigaDOS, and extended the system with additional utilities and preferences. Together, Kickstart and Workbench formed the functional face of AmigaOS, Kickstart as the kernel and core subsystems, Workbench as the GUI and user-level workspace. In addition, the command-line shell (CLI) and AmigaDOS provided scripting and file management, while later releases added ARexx for inter-application scripting.
The system was modular by design. Kickstart provided the immutable low-level pieces in ROM, while Workbench and the CLI were extensible and upgradeable via disk distribution. This separation gave the Amiga an unusual balance, stability and performance at the kernel and library level, flexibility at the GUI and application layer. Devices and filesystems were implemented as modular components loaded into Exec’s device architecture, while the datatypes system (introduced later) allowed Workbench applications to dynamically support new file formats. The whole environment, though often referred to casually by its Workbench version number, was in fact a blend of firmware, disk software, and user interface conventions under the broader label of AmigaOS.
Compared with other operating systems of the 1980s and early 1990s, this distinction was unique. MS-DOS, for instance, had no resident GUI, its functionality was monolithic and text-driven. Classic Mac OS shipped with a graphical desktop tightly integrated into ROM and system files, but it used cooperative multitasking and lacked the modular separation that allowed the Amiga to upgrade Workbench independently of Kickstart. Unix variants offered true multitasking and networking but were hardware-heavy and lacked a consumer-friendly GUI. AmigaOS, by splitting Kickstart and Workbench yet tying them through Exec and Intuition, delivered a responsive multitasking operating system with multimedia capabilities that were far beyond most consumer systems of its time.
Workbench vs Kickstart ROM
Workbench 1.x
- Workbench 1.0/1.1 - Kickstart 1.0/1.1 (diskloaded on the A1000)
- Workbench 1.2 - Kickstart 1.2 (used on the A500, A2000)
- Workbench 1.3 - Kickstart 1.3 (used on the A500, A1500, A2000)
Workbench 2.x
- Workbench 2.0 - Kickstart 2.0 (A1200, A4000)
- Workbench 2.04 - Kickstart 2.04 (A500+, early A600 models)
- Workbench 2.05 - Kickstart 2.05 (IDE support, A600)
- Workbench 2.1 - Kickstart 2.04/2.05 (Disk based update)
Workbench 3.x
- Workbench 3.0 - Kickstart 3.0 (A1200, A4000)
- Workbench 3.1 - Kickstart 3.1 (A1200, A4000T, A-CD32)
- Workbench 3.5/3.9 - Kickstart 3.1 ROM (post Commodore updates)
- The Amiga 1000 was unique because it loaded Kickstart 1.0/1.1 from floppy into writable RAM rather than ROM
- From the Amiga 500 onward, Kickstart was permanently stored in ROM, and the workbench version had to match the Kickstart major revision number
- Workbench updates like 2.1 were software-only and could run on any existing 2.x Kickstart ROM, but major leaps 1.x -> 2.x or higher always required a new Kickstart ROM due to kernel and library changes.
Video - Amiga Advanced Graphics Architecture
The AGA (Advanced Graphics Architecture) chipset was Commodore’s final major update to the Amiga custom hardware, introduced in 1992 with the Amiga 1200, Amiga 4000, and later the CD32 console. At its core, AGA replaced the ECS video chip (Enhanced DENISE) with a new device codenamed Lisa, while keeping PAULA for audio and updating AGNUS into Alice. AGA’s design philosophy was evolutionary rather than revolutionary: it retained the Amiga’s bitplane-based graphics model and sprite system but expanded color depth, memory bandwidth, and palette precision to keep pace with contemporary VGA-class PCs. The goal was to provide higher color fidelity and improved display modes while preserving backward compatibility with existing software.
Technically, AGA expanded the Amiga’s display to support 8 bitplanes like ECS, but with a vastly extended palette: 24-bit color registers (16.7 million possible colors) compared to the 12-bit (4096) palette of ECS. This allowed the machine to display up to 256 colors on screen simultaneously in standard modes, as opposed to the ECS maximum of 128. It also introduced HAM8 mode, an enhancement of the classic Hold-And-Modify technique, which allowed up to 262,144 colors on screen from the full 24-bit palette, a dramatic leap for multimedia applications. The Lisa chip also implemented faster pixel fetches and could sustain VGA and SVGA resolutions such as 640×480 in 256 colors or 800×600 in 16 colors, depending on memory bandwidth.
Compared to Enhanced DENISE, AGA’s improvements were centered around color depth and palette width rather than new architectural concepts. Where ECS offered 128 on-screen colors from 4096 choices, AGA expanded this to 256 on-screen colors from over 16 million, with HAM8 pushing into the hundreds of thousands simultaneously. The sprite system remained 8 channels of 16-pixel-wide objects, but now those sprites could use the expanded 24-bit palette, allowing more colorful user interfaces and games. Productivity modes also benefitted from the wider palette and faster memory fetches, giving the Amiga higher-resolution usability than its predecessors. In short, AGA was an incremental but vital step that extended the Amiga’s life by addressing its most pressing limitation—color depth—while keeping the core DENISE-derived planar architecture intact.
Sound - PAULA
The PAULA chip was the audio, disk, and system I/O controller in the Commodore Amiga custom chipset, complementing AGNUS and DENISE. Architecturally, PAULA was responsible for handling four independent DMA-driven audio channels, the floppy disk controller, serial I/O, and system-level interrupt control. By centralizing these diverse functions in a single IC, PAULA reduced system chip count while enabling the Amiga to provide advanced multimedia capabilities without relying on additional hardware. Its tight integration with AGNUS ensured that audio and disk DMA transfers were arbitrated alongside video memory requests, preserving real-time performance.
For audio, PAULA offered four 8-bit PCM channels, each with independent volume and sample rate control. The sample data was fetched directly from chip RAM via DMA, eliminating CPU overhead for playback. Two channels were hardwired to the left audio output and two to the right, providing true stereo sound. The sample rate was programmable by adjusting the DMA period registers, giving a practical range from a few kilohertz up to approximately 28 kHz in NTSC systems and 29 kHz in PAL. Clever software techniques, such as mixing or oversampling in the CPU, could extend fidelity further, but PAULA’s hardware alone already surpassed what was standard in most contemporaneous home computers, which were limited to simple PSG (programmable sound generator) chips.
In addition to audio, PAULA provided a floppy disk controller capable of handling the Amiga’s unusual variable-rate MFM encoding and custom disk formats, which allowed more flexible use of the 880 KB double-density 3.5" disks. It also handled serial communication, basic timers, and the central interrupt controller, which distributed and prioritized interrupts from all custom chips and I/O sources. Compared to dedicated PC sound cards and disk controllers of the mid-1980s, PAULA’s integration was unique: it combined stereo PCM playback, flexible disk handling, serial I/O, and interrupts in one IC, directly tied into the Amiga’s DMA framework. This made it a crucial part of the Amiga’s multimedia architecture and a key reason the platform could deliver advanced sound and storage features years ahead of mainstream competitors.
CPU - The Motorola 68000
The Motorola 68000 is a 16/32-bit microprocessor that was first released in 1979. It was widely used in computers and other electronic devices during the 1980s and early 1990s. The 68000 was known for its advanced architecture, which included a 32-bit internal bus and a 24-bit address bus, allowing it to access up to 16 megabytes of memory. This made it more powerful than many other processors of its time, such as the Intel 8086 and Zilog Z80. It was also designed to be highly modular and expandable, with a large number of on-chip and off-chip peripherals.
Some of the most famous and successful computers that used the 68000 was the Commodore Amiga and the Atari ST, both of which were popular in the home and personal computer markets. Additionally, it was also used in workstations, such as the Sun 3 and Apollo DN3000, and in a wide variety of embedded systems and industrial control systems. The 68000 was also used in the Macintosh, the first model of the Macintosh was powered by a Motorola 68000 CPU. The processor was eventually succeeded by the 68020 and 68030, which offered improved performance and additional features.
The 68000 has a 32-bit instruction set, with 32-bit registers and a 16-bit internal data bus. The address bus is 24-bit and does not use memory segmentation, making it easier to address memory. There are three ALU's (Arithmetic Logic Unit), two for calculating addresses, and one for data, and the chip has a 16-bit external address bus.
The 68000 architecture was expanded with 32-bit ALUs, and caches. Here is a list with some 680x0 versions and their major improvements:
- 68010 - Virtual memory support
- 68020 - 32-bit ALU & Instruction Cache
- 68030 - On-Chip MMU, 2x 256 byte cache
- 68040 - 2x 4K Cache, 6 stage pipeline, FPU
- 68LC040 - No Floating Point Unit (FPU)
- 68060 - 2x 8K Cache, 10 stage pipelinet
Source: WikiPedia - Motorola 6800
Source: WikiPedia - 68000 Series
RAM max: 18MB
ROM: 512kB
640x480 VGA
800x600 interlaced
1024x768 interlaced
262,144 simultaneous (HAM-8 mode)
