Fact-checked by Grok 2 weeks ago

Amiga Original Chip Set

The Original Chip Set (OCS) is the foundational custom chipset designed for the Commodore Amiga series of personal computers, debuting with the in July 1985 and defining the platform's pioneering multimedia hardware architecture through 1990. Comprising the interconnected Agnus, Denise, Paula, and Gary chips, the OCS enabled hardware-accelerated blitting for rapid graphics operations, programmable sprites for dynamic animations, a coprocessor for efficient data movement, and four independent channels of 8-bit , all integrated with shared chip RAM to support resolutions up to 640x512 pixels and a palette of 4,096 colors in hold-and-modify () mode. The OCS's Agnus chip served as the central controller for video timing, direct memory access (DMA), the blitter (capable of over 1 million pixels per second), the Copper coprocessor for display list interrupts, and sprite handling, while managing up to 512 KB of chip RAM (expandable to 1 MB via the later "Fat Agnus" revision) shared between the Motorola 68000 CPU, graphics, and audio subsystems at interleaved clock rates of approximately 7.16 MHz (NTSC) or 7.09 MHz (PAL). Complementing this, the Denise chip processed the visual output, supporting up to five bitplanes for 32 colors in standard single-playfield mode, or six bitplanes for 16 colors (8 per playfield) in dual-playfield mode, with modes like extra half-brite (EHB) for 64 colors or hold-and-modify (HAM) for 4,096 colors, collision detection between sprites and playfields, and flexible resolutions including low (320 pixels wide), high (640 pixels), and interlaced modes for PAL (320x256/512 or 640x256/512) and NTSC (320x200/400 or 640x200/400) displays, with 32 programmable 12-bit RGB color registers. For audio, the Paula chip provided four DMA-driven channels of 8-bit sampled sound at rates up to 28 kHz, configurable periods from 124 ticks (maximum sample rate of about 28 kHz) to 65,535 ticks (minimum sample rate of about 109 Hz for NTSC or 108 Hz for PAL), and independent volume control (0-64 levels), routing to stereo output with left/right channel assignments and support for modulation effects, all drawing data from word-aligned chip RAM. Meanwhile, the Gary chip handled system glue logic, including memory mapping, I/O port interfacing for peripherals like floppy disks and serial/parallel ports, interrupt generation, and the autoconfiguration protocol for expansion cards, ensuring seamless CPU access to the custom hardware. Overall, the OCS's integrated design allowed for bitplane-based graphics requiring 8,000 bytes for a single low-resolution bitplane up to 122,880 bytes for six high-resolution bitplanes in non-interlaced mode (double for interlaced), sprite capabilities with eight hardware sprites (each 16 pixels wide, attachable to playfields) supporting 4 colors each (3 visible + transparent), or up to 16 colors (15 visible + transparent) per logical object when pairing two sprites, and efficient DMA channels that minimized CPU overhead, making the Amiga a benchmark for affordable, high-performance multimedia computing in the 1980s.

Introduction

Historical Development

The Amiga Original Chip Set (OCS) originated from the efforts of a team of engineers who had previously worked at . In 1982, following the departure of key personnel from amid internal conflicts and the video game crash, , Joe Decuir, Dave Needle, and others founded Hi-Toro Corporation (later renamed ) in , with initial funding of approximately $7 million from venture capitalists including Larry Kaplan. The company initially focused on developing custom hardware to revive Miner's vision of advanced , drawing from his earlier work on 's chips. The project, codenamed after the wife of company president Dave Morse, began as a game console designed to compete with emerging systems like Nintendo's Entertainment System (). Development involved early prototypes using a 6502 processor before transitioning to the , with software contributions from RJ Mical and Bob Jacob to demonstrate capabilities like multitasking and graphics. Funding challenges mounted after the 1983 video game market crash; Amiga secured a $500,000 from in early 1984, secured against the Lorraine design rights in case of default, alongside smaller venture investments. As repayment loomed by mid-1984, financial struggles forced a pivot from a dedicated console to a versatile to broaden market appeal. In August 1984, Commodore International acquired Amiga Corporation for $27 million, including repayment of the Atari loan just days before default, securing the technology and averting seizure by Atari under Jack Tramiel's leadership. This acquisition integrated the Lorraine chipset—renamed OCS—into Commodore's lineup, with Miner serving as chief chip architect. The Amiga 1000, powered by the OCS, launched on July 23, 1985, at a high-profile event in New York, establishing it as the first true multimedia home computer capable of integrated graphics, sound, and animation in an affordable package.

Core Components and Capabilities

The Original Chip Set (OCS) of the computers comprises four primary custom chips—Agnus, Denise, Paula, and Gary—designed by the and manufactured by to deliver integrated multimedia capabilities that offload processing from the CPU, facilitating efficient multitasking with hardware-accelerated and audio. These chips, fabricated in a 5 μm depletion-mode NMOS process, collectively enable the Amiga's signature features, including planar , sprite handling, and generation, which were advanced for 1985 consumer hardware. Gary (MOS 8361) provides system , handling memory mapping, interrupt generation, and I/O interfacing for peripherals. Agnus, in its initial variants 8370 () and 8371 (PAL), serves as the central controller for CPU interfacing via (), incorporating a engine for high-speed memory block transfers and operations such as line drawing at approximately 1 million pixels per second, a Copper co-processor for managing display lists and real-time screen updates without CPU intervention, and circuitry for video timing and to coordinate raster beam operations. These functions allow Agnus to arbitrate access to up to 512 KB of chip RAM shared among the CPU, , and audio subsystems, ensuring smooth interleaving of tasks during multitasking environments. Denise, implemented as the MOS 8362 variant, is responsible for the graphics rendering pipeline, including pixel generation from up to six bitplanes in a planar , compositing up to eight 16-pixel-wide hardware sprites per scanline with , color lookup via 32 programmable registers drawn from a 12-bit (4096-color) RGB palette, and output of analog video signals such as RGB and composite formats. This setup supports display modes ranging from low-resolution 320×200 with 16 colors to high-resolution interlaced 640×512 in , enabling dynamic screen compositions that integrate playfields, sprites, and color cycling for complex visuals in applications and games. Paula, designated as the 8364 chip, manages audio, storage, and communication peripherals through four DMA-driven 8-bit (PCM) channels for stereo sound output at sample rates up to 28 kHz, a controller supporting (MFM) encoding for double-density 880 KB disks, and a (UART) for operations at standard rates like 9600 baud. Together, the OCS provide a cohesive system for hardware-accelerated , where the 4096-color palette and planar modes allow for vibrant, multicolored displays, while the audio subsystem delivers clear stereo playback, all while preserving CPU cycles for concurrent software tasks like preemptive multitasking in the .

System Architecture

Overall Design and Integration

The Amiga Original Chip Set (OCS) employs a shared 16-bit data bus architecture that interconnects the custom chips—Agnus, Denise, and Paula—with the CPU and Chip RAM, enabling efficient interleaved access where the CPU operates on even clock cycles and the custom chips on odd cycles. This multiplexed bus, with addresses latched on the falling edge of the frame clock select signal (/FCS), allows the chips to access memory at the base address $DFF000, supporting operations for , audio, and I/O without constant CPU intervention. Agnus serves as the central arbiter, prioritizing and managing cycles among channels for bitplanes, sprites, , , audio, and disk operations to ensure timely data transfers and prevent bus contention. System synchronization relies on the dot clock, derived from a master of 28.63636 MHz for or 28.37516 MHz for PAL, which is divided to produce the system clock of approximately 7.16 MHz () or 7.09 MHz (PAL) for pixel timing and requests. Horizontal and vertical blanking signals, generated by Agnus's beam counter, coordinate video output and fetches, with programmable scan rates via registers like BEAMCON0 to accommodate interlaced modes or synchronization. Power distribution uses a single +5V supply for core operations, with clock signals propagated across the chips to maintain phase alignment for video and audio timing. Integration with the 68000 CPU occurs through Agnus's address decoding for Chip RAM, which supports up to 512 in original OCS configurations, requiring word-aligned, continuous blocks for DMA efficiency. The CPU configures chip registers via direct writes and receives interrupts from the custom chips, while DMA steals cycles only as needed for high-priority tasks like display refresh. At boot, the Kickstart (256–512 ) initializes these registers, sets up the Copper list for initial video modes, and performs autoconfiguration for peripherals, jumping to the operating system after hardware setup.

Memory and Bus Interactions

The Amiga Original Chip Set (OCS) distinguishes between Chip RAM and Fast RAM to facilitate efficient multimedia processing. Chip RAM, typically ranging from 256 KB to 512 KB depending on the Agnus variant, serves as accessible by both the 68000 CPU and the custom chips via (DMA), with Agnus acting as the to manage these interactions. In contrast, Fast RAM—often external expansion memory—is inaccessible to the custom chips, allowing the CPU to operate at full speed without DMA interference. This separation ensures that real-time graphics and audio tasks utilize dedicated bandwidth in Chip RAM while preserving CPU performance for general . DMA operations in the OCS rely on cycle stealing, where the custom chips preempt CPU access to Chip RAM during designated slots, coordinated by Agnus. The system supports six primary DMA channels—bitplane (for video), , , , disk, audio—plus a dedicated refresh channel for DRAM integrity, enabling concurrent hardware tasks without software intervention. Video DMA holds the highest priority to maintain uninterrupted display output, while the remaining channels employ for fair allocation. The CPU yields control during these DMA slots, potentially reducing its effective by up to 40% in high-resolution video modes to accommodate bitplane fetches. The OCS bus employs a 16-bit multiplexed / , where and share the same lines, synchronized via the /DTACK (Data Transfer Acknowledge) signal to indicate completion of transfers. DMA cycles operate at approximately 250 ns each, allowing Agnus to arbitrate contention through interleaved even-odd assignments, with DMA taking odd cycles when active. This mechanism resolves bus conflicts dynamically, prioritizing video synchronization signals from Agnus to align DMA with display timing. The OCS lacks built-in or error correction hardware, placing responsibility on software for checks in the multitasking environment.
DMA ChannelPurposePriority Level
BitplaneVideo display data fetchHighest
SpriteObject renderingHighest
CopperDisplay list processingHigh
BlitterGraphics accelerationMedium
DiskFloppy disk I/OMedium-Low
AudioSound channel playbackMedium-Low
Note: Refresh channel (always active) has the lowest priority for memory maintenance.

Agnus Chip

Blitter Engine

The , integrated into the , serves as a dedicated for performing high-speed block image transfers, known as bit-blits, between memory regions to accelerate operations such as copying rectangular blocks of data, drawing lines, and filling areas. This enables efficient manipulation of bitmapped in the Amiga's RAM, offloading tasks from the CPU to support rendering in applications like games and user interfaces. The supports multiple operational modes tailored to common graphics tasks. In line-drawing mode, it implements the Bresenham algorithm in hardware to generate straight lines between two points, handling slope octants and sign extensions for precise rasterization. For area fills, it employs a Z-pattern to propagate data across bit planes, ensuring consistent filling of rectangular regions while minimizing memory access overhead. Copy operations allow masking with logical functions including , and XOR, applied across up to four source channels (A, B, C, D) to composite images or apply patterns selectively. Control of the blitter is managed through nine primary registers, which configure operations and pointers for transfers. These include BLTCON0 and BLTCON1 for setting modes, logic functions, channel shifts, and fill options; BLTAPT/PT, BLTBPT/PT, BLTCPT/PT, and BLTDPT/PT as high- and low-word pointers to source A, B, C, and destination D memory locations, respectively; BLTSIZE to specify blit dimensions (up to pixels wide by 32,768 lines high); and BLTMOD with BLTDMOD for adjustments to handle non-rectangular or wrapped memory layouts. Additional registers like BLTAFWM and BLTALWM refine edge handling for partial words in source A. Performance is driven by a 64-bit internal path, achieving transfer rates of approximately 4 MB/s, with provided through a that signals when source matches a . addressing further optimizes transfers by allowing skips between lines, supporting irregular shapes without excess cycles. However, the incurs a fixed five-cycle per 16-bit word due to its pipelined and lacks support for or , restricting it to affine transformations via software preprocessing. The can initiate blits via writes for synchronized display updates.

Copper Co-Processor

The Copper co-processor, integrated within the Agnus chip of the Amiga Original Chip Set (OCS), functions as a simple, display-synchronized that interprets and executes instruction lists known as copperlists, stored in Chip RAM. It operates as a two-cycle , fetching instructions via (DMA) exclusively during odd-numbered memory cycles to avoid conflicts with even-cycle display DMA, and it holds priority over the and 68000 CPU but below disk, audio, display, and sprite DMA channels. This architecture enables the Copper to perform real-time modifications to video hardware registers without burdening the main CPU, effectively acting as a microcode interpreter for its limited instruction set comprising primarily MOVE and WAIT operations. The Copper's instruction set centers on two key commands: MOVE, which transfers 16-bit immediate data from the copperlist to a specified custom chip —such as writing to BPL1PTH to update a bitplane pointer—and WAIT, which halts execution until the video beam reaches or exceeds designated horizontal (H) and vertical (V) coordinates, defined by 8-bit position values and 6-bit enable masks for precise . Each instruction consists of two sequential 16-bit words fetched from memory; a MOVE requires 2 DMA cycles (4 memory cycle times), while a WAIT demands 3 DMA cycles (6 memory cycle times) due to an additional wakeup cycle after stalling. These instructions allow for conditional branching via SKIP in more advanced lists, but the core MOVE and WAIT pair suffices for most dynamic control tasks. Common applications of the include palette cycling to create smooth color animations by sequentially updating color registers during the frame, horizontal scrolling through adjustments to the BPLCON1 register's shift bits, and sprite multiplexing by repositioning and recoloring the eight hardware sprites across multiple scanlines to simulate more than eight on-screen. Copperlists are typically constructed to run during the vertical blanking interval for initial setup, though WAIT instructions enable mid-screen changes, with execution restarting automatically from the COP1LC pointer at each frame's start. The list length is constrained by available DMA bandwidth rather than a fixed size, as the Copper competes for bus access and may stall during conflicts with other DMA channels like the . In practice, typical lists process dozens to hundreds of instructions per frame, often around 100 for complex effects, executing primarily during blanking periods to minimize interference. Programming the Copper involves writing copperlists to Chip RAM addresses pointed to by the 24-bit location registers COP1LCH/COP1LCL (DFF080/DFF082) and optionally COP2LCH/COP2LCL (DFF084/DFF086) for , with the custom chip I/O space mapped at DFF000–DFFFFF for register access. To initiate execution, the COPJMP1 (DFF088) or COPJMP2 (DFF08A) strobe is written after enabling Copper DMA via the CPEN bit in COPCON (DFF08E) and the appropriate channel in DMACON (DFF096). Upon reaching the end of a list—marked by FFFFFFFE—or via a [jump](/page/Jump), the Copper can trigger an [interrupt](/page/Interrupt) (level 3, bit 12 in INTREQ/DFF00C) to signal the CPU, allowing synchronization for tasks like triggering.

Video Timing and Synchronization

The Agnus chip in the Amiga Original Chip Set (OCS) serves as the primary generator of video timing signals, producing precise horizontal and vertical synchronization pulses essential for raster display operation. It supports NTSC and PAL video standards, generating horizontal sync (HSY*) and vertical sync (VSY*) pulses with NTSC featuring 262 lines per field (up to 524 in interlaced mode) and PAL using 312 lines per field (up to 625 in interlaced mode). These pulses enable long and short line modes, where long lines accommodate full horizontal resolution including borders, while short lines restrict display to the active window, minimizing border visibility through registers like DIWSTRT and DIWSTOP that define the display window boundaries. Clock domains in Agnus derive from a 28 MHz master oscillator divided to produce a pixel clock of approximately 7.16 MHz for (3.579545 MHz effective pixel rate) and 7.00 MHz for PAL (3.546895 MHz effective), supporting resolutions such as 320×200 (low) to 640×200 (high) in non-interlaced mode, and 320×256 to 640×256 in PAL, with interlaced variants doubling vertical resolution to 512 lines. The horizontal beam position counter (HPOS) cycles from 0 to $FF (256 counts), with each count representing four clocks in low resolution or two in high, allowing flexible timing for display fetch and . Vertical positioning is tracked via the VPOS counter, which increments at the end of each horizontal line, providing a total frame height aligned to broadcast standards. External synchronization is facilitated through capabilities, where the ERSY bit in the BPLCON0 enables input of external and vertical reference signals via the composite sync (CSY*) pin, allowing the to overlay its graphics onto broadcast video sources with for /PAL standards and up to ±2% clock variation. Key include VHPOSW, a read-only position that reports current (bits 7-0) and vertical (bits 15-8) coordinates for precise timing queries, and LOFL (long field flag) in the VPOSR , which detects even/odd field alternation in interlaced modes to identify long frames (e.g., 263 lines in odd fields). is enabled by the LACE bit in BPLCON0, alternating even and odd fields every 16.6 ms () or 20 ms (PAL), with programmable sync polarity via BEAMCON0 to adjust signal inversion for and flicker reduction in dual-field displays. The co-processor can synchronize its operations to these positions for timed display effects.
FeatureNTSCPALRegister Control
Lines per Field262 (non-interlaced visible: ~200-227)312 (non-interlaced visible: ~256)VPOSR/LOFL for field detection
Pixel Clock (MHz)7.16 (system), 3.58 (effective)7.00 (system), 3.55 (effective)Derived from 28 MHz oscillator
Interlace FieldsEven/odd alternation, 524 total linesEven/odd alternation, 625 total linesBPLCON0 (LACE bit)
External SyncGenlock via CSY*, ±2% toleranceGenlock via CSY*, ±2% toleranceBPLCON0 (ERSY bit), BEAMCON0 (polarity)

Denise Chip

Graphics Rendering Pipeline

The graphics rendering pipeline of the Denise chip in the Amiga Original Chip Set (OCS) processes bitplane data and sprites to compose video frames in , enabling flexible display modes while interfacing with the Agnus chip for . This pipeline fetches graphical data from Chip RAM, assembles pixels according to selected color modes, applies layering priorities, and outputs serialized RGB signals to a video (DAC). Designed for efficiency, it supports resolutions up to 640x256 pixels non-interlaced (PAL), with interlaced modes reaching 640x512 (PAL) or 640x400 (), video timing derived from Agnus's beam position and sync signals. The pipeline begins with bitplane fetching, where Denise retrieves data for 2 to 6 bitplanes via (DMA) slots allocated every 8 s horizontally. Each bitplane contributes 1 bit per , allowing 2 to 6 bits per overall in standard configurations, drawn from a frame buffer typically requiring 20-123 in Chip RAM. This DMA mechanism ensures continuous data flow without CPU intervention, supporting display widths of 320 or 640 s depending on the mode. Once fetched, the bitplane data defines the base playfield, onto which sprites are overlaid during composition. Color modes dictate how fetched bits map to the 12-bit RGB palette (4 bits per channel), with standard modes using 2 to 5 bitplanes for 4 to 32 simultaneous colors from a palette of 4,096. For expanded palettes, Extra Half-Brite (EHB) mode employs 6 bitplanes to achieve 64 colors (32 full + 32 half-bright) by hardware-halving the brightness for higher indices. In (HAM) mode with 6 bitplanes, the pipeline modifies previous colors by holding five bits and altering one channel per (red, , or blue), yielding 4,096 colors without indexing a full palette, though at the cost of sequential color dependencies. These modes are selected via the BPLCON0 , balancing against memory usage. Layering occurs through a fixed during assembly: the background color (register COLOR00) serves as the lowest layer, followed by bitplanes ordered from BPL0 (highest ) to BPL5 (lowest), with sprites able to attach above or below the bitplanes via the SPRxCTL . Sprites overlay the composed playfield, using 3 colors plus per sprite (2 bits per ). between sprites or against bitplanes employs modulo comparisons on horizontal positions, setting status bits in the INTREQ for software handling. This scheme resolves overlaps deterministically per scanline, contributing to the pipeline's real-time performance. Final output from the pipeline serializes the composed RGB pixels (parallel to serial conversion) to the video DAC, supporting NTSC or PAL standards with programmable resolutions such as 320x200/400 (low-res) or 640x200/400 (hi-res), including interlaced options via DIWSTRT/DIWSTOP registers. Borders beyond the display window are filled with the background color, and overscan is enabled by adjusting horizontal/vertical counters, allowing full-screen effects up to the TV's visible area. The resulting signal includes genlock compatibility for external video mixing.

Sprite and Collision Detection

The Denise chip in the Amiga Original Chip Set (OCS) provides hardware support for eight independent movable sprites, enabling efficient rendering of small graphical objects such as cursors, icons, or game elements without taxing the main CPU. Each sprite consists of two bitplanes, allowing for four possible states per pixel (00 for transparent, 01, 10, and 11 for three colors), with colors drawn from the upper palette registers (16–31). In attach mode, pairs of sprites (e.g., sprites 0 and 1) can be linked to form a single object using four bitplanes, supporting 16 states (15 colors plus transparent), which expands the visual complexity while maintaining the same dimensional footprint. This structure is defined in Chip RAM, where each scanline requires two 16-bit words (SPRxDATA and SPRxDATB) fetched via dedicated DMA channels. Sprite data is managed through eight dedicated DMA channels controlled by the Agnus chip, which fetch the necessary words during horizontal blanking intervals to prevent interference with the active display scan. This automatic DMA process ensures seamless updates, with sprites reusable within the same frame provided they are separated by at least one scanline to avoid channel conflicts. Positioning is handled by the SPRxPOS registers, where bits 15–8 specify the vertical start position (VSTART, ranging 0–255) and bits 7–0 the horizontal start (HSTART, 0–255 in position units, with fine bit in SPRxCTL), complemented by fine adjustments in SPRxCTL (e.g., bit 0 for the least significant horizontal bit, SH0, and bits 1–2 for vertical extensions). The SPRxCTL register also defines the vertical stop position (VSTOP, up to 255 lines high), allowing variable heights while the width remains fixed at 16 pixels (in low-resolution terms, equivalent to 32 display pixels in low-res mode or 16 in high-res). Collision detection is a key feature of Denise's sprite hardware, supporting interactions between sprites and the background playfields as well as among sprites themselves, which is essential for applications like requiring hit detection. The system uses detection channels: one for general sprite-to-playfield collisions and six for sprite-to-sprite pairwise comparisons between the four sprite pairs (0/1, 2/3, 4/5, 6/7), configured via the CLXCON (bits 12–15 enable individual sprites, bits 0–5 select participating bitplanes for playfield definition). When a collision occurs—detected only on overlapping non-transparent edge pixels—the corresponding bits in the read-only CLXDAT are set (e.g., bit 0 for sprite-playfield, bits 1–6 for sprite-sprite pairs), and reading CLXDAT clears them for subsequent checks. These flags can trigger interrupts via the INTREQ (bit 5 for vertical blanking to poll collisions, or integrated with list events), allowing software to respond efficiently without constant CPU polling. Beyond basic sprites, the hardware supports more versatile objects through features like attach mode, which not only increases but also allows chaining multiple attached pairs adjacent to one another for effectively larger composite sprites up to several times the base width (e.g., four sprites for a 64-pixel-wide object). Objects (BOBs) extend this capability via software multiplexing, where the engine redraws larger, multi-plane images into temporary buffers and cycles sprite data structures line-by-line using the eight channels, simulating dozens of unique objects per frame despite the hardware limit of eight simultaneous sprites. This relies on precise timing during blanking periods to swap data without visual artifacts. Despite these strengths, sprite handling in the OCS has notable limitations that shaped programming practices. The fixed width of 16 pixels precludes horizontal scaling or arbitrary resizing, requiring developers to composite wider elements manually via multiple or . Heights are variable but capped at 255 scanlines, and there is no built-in support for , , or sub-pixel positioning beyond basic offsets. Collision detection is restricted to edge-based overlaps of opaque pixels, ignoring internal fills or complex shapes, and operates only on the selected playfields without depth buffering. Additionally, all operations demand Chip RAM residency, and bandwidth constraints in high-resolution or scrolled modes can limit reuse frequency, often necessitating careful optimization to avoid glitches. These traits integrate into the broader rendering pipeline by prioritizing them over playfields in the compositor when enabled.

Color Palette and Output

The Denise chip in the Amiga Original Chip Set handles through a 32-entry , where each entry stores a 12-bit RGB value in format, yielding a total palette of 4096 possible colors. These color registers, addressed at DFF180 to DFF1BE (even addresses only), are write-only and configured via software or the Copper co-processor, enabling real-time palette cycling for effects like animations. The zeroth register (COLOR00 at $DFF180) is dedicated to the background and border color, while the remaining 31 registers define colors for pixels, sprites, and other elements. In typical operation, up to 32 colors are displayed simultaneously by indexing the palette with bitplane data, but the (HAM) mode expands this to 4096 on-screen colors using 6 bitplanes in low resolution. achieves this by holding the previous pixel's color and directly modifying one RGB channel (, , or ) based on the new bitplane bits, as enabled by bit 11 (HOMOD) in the BPLCON0 register at $DFF100. Palette cycling, often used for smooth color transitions, is programmed via Copper instructions to update registers during vertical blanking. Denise generates 12-bit digital RGB output, which external circuitry converts to analog signals for display. This supports RGB analog output at a 15 kHz horizontal scan rate through the DB23 video connector, providing full-color video to monitors with pins dedicated to red, green, blue, and sync. For television use, composite output encodes luminance and chrominance, though on models like the Amiga 500, the onboard composite is limited to monochrome unless an external RF modulator (such as the A520) is attached for color. Programmable blanking and border coloring are controlled via display window registers like DIWHIGH at $DFF1E4, ensuring clean edges. PAL and NTSC compatibility is supported through hardware crystal selection or software configuration via the BEAMCON0 register at $DFF1DC, accommodating 50 Hz (PAL) or 60 Hz () refresh rates with resolutions such as 320×256 pixels (32 colors) for PAL and 320×200 (32 colors) for NTSC in non-interlaced low-resolution mode. Sprite colors reference the same palette as bitplane pixels, with lookup integrated into the rendering . While dithering techniques could approximate additional colors by alternating palette entries, the provides no hardware alpha blending.

Paula Chip

Audio Processing

The Paula chip provides four independent audio channels capable of playing 8-bit linear (PCM) samples, enabling the generation of sampled sounds and simple waveforms for music and effects in applications. Each channel operates via (DMA) from Chip RAM, fetching data autonomously to support up to approximately 28,867 samples per second in systems, limited by the of the video beam. This DMA-driven approach allows for efficient, low-CPU-overhead audio playback, with samples stored as byte pairs in word-aligned locations. Waveform playback is controlled through dedicated period and volume registers for each channel, located at offsets from the Paula base address $DFF0A0. The period registers (AUDxPER, where x=0-3) determine the playback frequency by setting a counter value from 124 to 65,535 color clocks (NTSC), effectively dividing the system clock (approximately 3.58 MHz in NTSC) to produce tones or sample rates ranging from low bass notes to the maximum sampling frequency. Volume is adjusted via 6-bit linear registers (AUDxVOL), scaling output from mute (0) to full amplitude (64, equivalent to 0 dB), with intermediate steps like 32 providing -6 dB attenuation. Stereo positioning is achieved by assigning channels 0 and 2 to the right output and channels 1 and 3 to the left, allowing software to pan sounds by varying relative volumes between sides. DMA modes include one-shot playback, where a length counter (AUDxLEN ) specifies the sample block size in words (up to 65,535), halting after completion, or continuous looping by restarting the pointer upon end-of-block detection. The length counter integrates with the overall scheduling in the chip set, prioritizing audio fetches alongside other custom chip operations during video blanking intervals. For advanced effects, channels can be linked for amplitude or , such as using one channel to modulate another's or via the ADKCON . Audio output incorporates a hardware low-pass filter with a cutoff around 4 kHz to reduce high-frequency noise and aliasing artifacts inherent in 8-bit sampling, implemented as an on the analog outputs. This filter can be bypassed on certain models via a CIA chip control bit, enabling higher-frequency content up to the Nyquist limit, though it risks introducing distortion without software mitigation. Developers often employed software techniques, such as between samples, to enhance perceived quality beyond the native 8-bit resolution, particularly for multi-sampled instruments in games and demos. Interrupts are generated for audio events through the INTREQ and INTENA registers, with bits 4-7 dedicated to channel-specific triggers like block completion or data register reads, operating at level 4. These ADKINT signals allow responses, such as refilling sample buffers or switching waveforms, facilitating dynamic in resource-constrained environments typical of 1980s software.
RegisterOffset (from $DFF0A0)FunctionRange
AUDxLEN$00 + 4xSample length counter (words)1–65,535
AUDxPER$02 + 4xPeriod/frequency divider1–65,535
AUDxVOL$04 + 4xLinear control0–64
AUDxDAT$06 + 4xData input (8-bit samples)N/A
This table summarizes the core per-channel registers (x=0–3), essential for programming audio sequences.

Floppy Disk Control

The Paula chip in the Amiga Original Chip Set (OCS) integrates a controller designed to manage data transfer for double-density 3.5-inch drives, supporting a formatted capacity of 880 KB per disk through MFM encoding at 250 kbit/s, with 11 sectors per track across 80 tracks per side on double-sided media. This interface connects via a 23-pin DB23S connector, enabling control of the built-in drive and up to three additional MFM-compatible units, with signals for read/write data, track stepping, direction, and motor control. Data operations rely on a dedicated DMA channel with the highest priority in the system, allowing full-track transfers (5,632 bytes of data) into Chip RAM during a single disk revolution, including hardware synchronization via a predefined sync word such as $4489 in MFM mode. For compatibility with non-native formats like disks, the controller performs GCR-to-MFM conversion on the fly, processing the incoming serial data stream through Paula's digital PLL for bit timing recovery. Track buffering occurs directly in Chip RAM, with DMA initiated by setting the DSKLEN register ($DFF024), which specifies the transfer length in words and enables read/write modes. Key registers in Paula handle disk-specific functions, including DSKBYTR (DFF01A) for real-time byte counting and [data validation](/page/Data_validation) during transfers, and ADKCON (DFF09E) for selecting MFM or GCR encoding along with bit cell timing (2 µs for fast MFM or 4 µs for GCR). Drive-level commands, such as track stepping, motor activation, and side selection, are issued via the CIA-B chip's ADCON ($BFD000), which interfaces with Paula for overall coordination. Interrupts are generated for sync detection () or DMA completion (level 1), ensuring precise CPU involvement without constant polling. The controller incorporates hardware CRC checking to verify data integrity on each sector, reducing error rates during read/write cycles. Variable speed support, adjustable via motor control signals, allows emulation of slower formats for or compatibility with devices like the , while the system boots the Kickstart ROM directly from disk by loading the initial track into memory. This channel shares arbitration priority with Paula's audio functions, potentially introducing minor during simultaneous operations. Compatibility is limited to double-density formats on 3.5-inch media, supporting standard Amiga disks and cross-platform reads like PC or floppies, but high-density (HD) drives require external upgrades for 1.44 MB operation due to the fixed 250 kbit/s encoding rate.

Serial Port Management

The Paula chip in the Amiga Original Chip Set incorporates a (UART) for managing RS-232-C , enabling connectivity with external peripherals. This UART is designed to be compatible with the 6850 Asynchronous Communications Adapter (ACIA), emulating its core functionality for asynchronous data transmission and reception while integrating seamlessly with the Amiga's custom hardware architecture. The UART supports programmable baud rates ranging from 110 bits per second to over 1,000,000 bits per second, determined by dividing the color clock—approximately 3.579545 MHz for systems or 3.546895 MHz for PAL—by (SERPER + 1). The baud rate is set via the Serial Period Register (SERPER) at address $DFF032. For example, a SERPER value of 372 yields approximately 9,600 bps on systems, while smaller values enable higher rates, though practical reliability typically limits operation to 150,000–250,000 bps due to hardware and software constraints. Data handling occurs through the Serial Data Register (SERDAT) at DFF030 for [transmission](/page/Transmission) and DFF018 (as SERDATR) for , supporting asynchronous modes with 1 start bit, 8 or 9 data bits, and at least 1 stop bit; 9-bit receive mode is enabled by setting bit 15 in SERPER, useful for protocols requiring additional framing like bits. The operates without built-in generation or checking, focusing on straightforward byte-oriented transfers, which are typically managed via polling or interrupts rather than (), though can be integrated for higher-speed transfers in system-wide bus operations. Overrun errors are detectable via status bits in SERDATR, ensuring robust error handling in software. The physical interface uses a DB-25 connector on early models like the (female, with detailed pinout including TXD on pin 2, RXD on pin 3, and control signals like , DTR, and DSR), providing full voltage levels through an external transceiver circuit to meet EIA-232 standards. This port supports connections to devices such as modems for , printers for output, and MIDI interfaces (with adapters) for musical instrument control at rates up to 31.25 kbps. Software-managed modem control signals allow for handshaking and flow control. Serial events trigger interrupts via Paula's interrupt controller, including Receive Buffer Full (RBF) when data arrives in SERDATR, Transmit Buffer Empty (TBE) when SERDAT is ready for new data, and Transmit Shift Register Empty (TSRE) upon completion of a transmission. These interrupts, at levels 1 or 5, are enabled through the Interrupt Enable Register (INTENA) at DFF09A and acknowledged via the Interrupt Request Register (INTREQ) at DFF07C, allowing efficient software handling without constant polling.

Naming and Design Origins

Etymology of Chip Names

The names of the Original Chip Set's core components—Agnus, Denise, and Paula—originated during the Hi-Toro era, the startup phase of the project's development in the early , and were retained unchanged after Commodore's acquisition of the technology in 1984. These monikers were selected by the design team led by to infuse the hardware with a sense of personality and approachability, diverging from the typically abstract or technical labels common in at the time. No official acronyms were assigned to the chips, emphasizing their informal, thematic character instead. The Agnus chip, responsible for address generation and , derives its name from the Latin phrase , meaning "Lamb of God," a reference to the biblical figure symbolizing sacrifice and burden-bearing. This etymology, attributed to —a devoutly religious —highlights the chip's pivotal role in handling the demanding (DMA) workload, akin to a lamb carrying the weight of others' sins. While some sources suggest a functional like "Address GeNerator UnitS," the religious connotation aligns with the project's whimsical naming to humanize complex technology. In contrast, Denise and Paula were chosen as everyday names, continuing Miner's tradition from his tenure of assigning feminine labels to chips and systems for a friendly, relatable feel within the intimate Hi-Toro team. Denise, overseeing display enhancement and input handling, and Paula, managing audio and peripherals, thus contribute to the overall "personable" theme, mirroring the Amiga machine's name— for "female friend"—to evoke warmth and in hardware. The Gary chip, added by after acquisition, derives from "Gate ARraY," reflecting its role in consolidating without the thematic naming of the original trio.

Influence from Project Origins

The design of the Amiga Original Chip Set (OCS) was profoundly shaped by lead designer Jay Miner's prior work at , where he contributed to the development of custom chips for the and 8-bit computer line. For the , Miner created the Television Interface Adapter (TIA) chip, which handled video output, sound generation, and input processing in a resource-constrained environment. His subsequent involvement in the and computers included the Alphanumeric Television Interface Controller (ANTIC) chip, which used display lists to efficiently manage variable-resolution graphics modes without constant CPU intervention. These experiences directly influenced the OCS's functionality within the Agnus chip, which accelerated operations like copying and filling, and the display list concepts that informed the coprocessor's ability to dynamically adjust video parameters during screen rendering. The OCS evolved from the prototype, an early demonstration system developed by and his team at Hi-Toro (later ) in the early 1980s. Initially built around a CPU with preliminary custom video and audio chips—prototyped under names like Portia (audio), (graphics), and Agnus ()—the Lorraine showcased basic multitasking and hardware-accelerated media capabilities on breadboards. To enable more advanced preemptive multitasking and higher performance, the design shifted to a CPU, integrating the custom chips more tightly with the to offload , , and I/O tasks, forming the core of the OCS as Agnus, Denise, and Paula. This evolution addressed the limitations of 8-bit architectures while preserving the prototype's focus on seamless real-time operations. Reflecting its origins as a proposed console amid the 1983 video game crash, the OCS incorporated hardware optimized for arcade-like real-time performance, drawing from Miner's console design philosophy. Features such as hardware sprites in the Denise chip allowed up to eight independently movable objects to overlay bitmapped backgrounds without CPU overhead, enabling fluid animations in . Similarly, the Paula chip's four audio channels supported stereo sample playback, facilitating complex soundtracks and effects during intensive rendering. These elements were tailored for cost-sensitive consumer hardware, prioritizing low-latency media handling over general-purpose computing flexibility. Budget and manufacturing constraints during led to key innovations in the OCS, such as planar graphics and the coprocessor, which balanced with memory efficiency. Planar graphics organized into separate bitplanes—up to six for 64 colors—reducing usage by indexing into a shared palette rather than storing full color values per , a technique that allowed vibrant visuals within the era's expensive memory limits. The , integrated into Agnus, served as a cost-effective alternative to dedicating the full CPU to video control, executing lists to alter registers like colors and mid-frame without interrupting the 68000, thus enabling effects like palette cycling for apparent color expansion. These choices stemmed from Miner's emphasis on hardware efficiency for immersive experiences. Early concepts for the OCS blitter were formalized in patent filings by Commodore-Amiga inventors including , which described a bit-mapped with line buffering techniques reflecting design ideas for accelerated transfers.

Evolution and Legacy

Limitations of the Original Chip Set

The Original Chip Set (OCS) employed a managed by the Agnus chip, which allocates fixed slots per horizontal scanline among the CPU, bitplanes, sprites, , , audio, disk controller, and memory refresh. In demanding modes such as low-resolution (320 pixels) with 6 bitplanes and 8 sprites, DMA consumes around 147 slots out of approximately 226 available per scanline (PAL), leaving the CPU with about 35% access time; in high-resolution interlaced modes (limited to 4 bitplanes), usage is similar at ~130 slots, or 40%; activating the Blitter or Copper can reduce CPU access to 0-20% during contention for the ~7 MHz bus. The OCS graphics subsystem relied on a planar bitmap format with up to 6 bitplanes, enabling a maximum of 64 colors selected from a 12-bit (4096-color) palette in low-resolution modes, but this structure proved inefficient for true-color rendering or complex image manipulation, as altering a single pixel required writing to multiple bitplanes across separate memory words. Additionally, the absence of dedicated hardware for image scaling—beyond the Blitter's basic line drawing and block transfers—or 3D acceleration limited the chipset's suitability for emerging multimedia and gaming demands beyond 2D sprites and scrolling. Audio capabilities in the OCS were handled by the Paula chip, which supported four independent 8-bit PCM channels configured as two mono pairs for output, with sample rates up to approximately 28 kHz but lacking hardware support for effects like filtering, reverb, or beyond basic volume and period control. contention in high-activity scenarios could sample fetching, potentially introducing audible artifacts such as clicks if buffers were not updated promptly by the CPU. Expandability was severely constrained by the original Agnus (part 8367 or 8361), which addressed a maximum of 512 KB of chip RAM essential for graphics and sound operations; achieving 1 MB required replacing it with the revised "Fat Agnus" (8372A), and no provision existed for further increases without a full upgrade to ECS or later. The NMOS fabrication process used in the OCS custom chips generated more heat and power consumption than later versions, contributing to design considerations in revisions like the Fat Agnus.

Transition to Enhanced Chipsets

The Enhanced Chip Set (ECS) represented the first incremental evolution from the Original Chip Set (OCS), introduced in late 1990 with the Amiga 3000 and subsequently in the Amiga 500+ in November 1991. It featured revised versions of the Agnus and Denise chips—specifically the 8372-R3 Agnus and 8373-R3 Denise—which maintained backward compatibility with OCS software and hardware while addressing key limitations. These updates enabled support for up to 2 MB of chip RAM on compatible models like the Amiga 2000 and 500+, along with minor bug fixes such as improved NTSC/PAL switching via software or jumpers, and enhanced display modes including productivity hires (640x480 interlaced). The Paula chip remained unchanged, preserving the original audio capabilities. Variants like the "Super Agnus" (8372A revision of the 8370 series) further improved flexibility by allowing PAL/NTSC mode selection without hardware modifications in many cases. Building on the OCS baseline, ECS served as a cost-effective bridge, utilizing a manufacturing process to reduce power consumption and production expenses compared to the NMOS-based OCS, which facilitated broader adoption in mid-range models like the in 1992. However, its enhancements were modest, focusing on reliability and memory expansion rather than radical graphical improvements, setting the stage for more ambitious upgrades amid growing competition from VGA standards in the early 1990s. The Advanced Graphics Architecture (AGA) chipset marked a more substantial advancement, debuting in October 1992 with the and in October 1992 with the 1200. replaced Agnus and Denise with (graphics and video timing) and (addressing and I/O control), while retaining the original Paula for audio continuity, ensuring full with OCS and ECS through modes in the operating system. Key innovations included a 256-color mode from a 24-bit palette (over 16.7 million colors), HAM8 mode for up to 640,000 colors on screen, and programmable sprites with flexible sizing and colors beyond the OCS's 16-color limit. These features aimed to compete directly with emerging VGA capabilities, enabling higher resolutions like 640x480 non-interlaced at 60 Hz and improved monitor compatibility. By 1993, as AGA-equipped models dominated new production, the OCS was largely phased out in official Commodore hardware following the shift to ECS and then , though OCS-based systems persisted in third-party clones and expansions into the and beyond, including FPGA-based recreations like the Minimig and modern demoscene productions as of 2025, alongside widespread in software like FS-UAE and WinUAE.

References

  1. [1]
    The Amiga Story - Low End Mac
    Apr 14, 2016 · The Amiga 1000 (A1000) was the most advanced graphics and audio system on the market when it was introduced on July 23, 1985. It ran its 68000 ...
  2. [2]
    [PDF] Amiga Hardware Reference Manual Table of CONTENTS
    AMIGA HARDWARE REFERENCE MANUAL. TABLE OF CONTENTS. Chapter 1 INTRODUCTION. Components of the Amiga ..................................2. THE MC68000 AND THE ...
  3. [3]
    The Amiga Story: Conceived at Atari, Born at Commodore
    Nov 5, 2016 · Commodore bought Amiga and repaid Atari's loan just days before it was due. Lorraine was renamed Amiga and would be released in one year.Missing: NES funding default
  4. [4]
    The 68000 Wars, Part 1: Lorraine | The Digital Antiquarian
    Mar 27, 2015 · Atari will pay Amiga a royalty of $2 per computer or game console containing the chipset sold, $15 per standup arcade videogame.Missing: default | Show results with:default
  5. [5]
  6. [6]
    30 years ago: When the C64 and Amiga pioneer Commodore went ...
    Apr 29, 2024 · At the last second, Commodore bought Amiga for 27 million dollars and paid Atari off. Tramiel, still in takeover negotiations, had no idea ...
  7. [7]
    Commodore Deal With Amiga Set - The New York Times
    Aug 17, 1984 · The acquisition may enable Commodore to introduce a computer with processing power and color graphics capabilities similar to Apple's Macintosh ...Missing: $27 | Show results with:$27
  8. [8]
    The Amiga turns 30—“Nobody had ever designed a personal ...
    Jul 23, 2015 · The Amiga 1000 was a radical multimedia machine from a group of thinkers, tinkerers, and visionaries which delivered affordable graphics, animation, music, and ...
  9. [9]
    1 / Programming in the Amiga Environment / The Custom Chips
    Each of the custom chips (named Paula, Agnus, and Denise) is dedicated to a particular job: Paula (8364) Audio, floppy disk, serial, interrupts Agnus (8361 ...<|separator|>
  10. [10]
    How many gates does each chip in OCS have?
    May 28, 2017 · The Amiga 1000 chips were fabricated in 5 micron depletion-mode NMOS (mostly passive pull-up transistors), not CMOS (complementary P and N ...Missing: process | Show results with:process
  11. [11]
    1 / Components of the Amiga / The MC68000 and the Amiga Custom ...
    The bit blitter, in a special mode, draws patterned lines into rectangularly organized memory regions at a speed of about 1 million dots per second; and it can ...<|separator|>
  12. [12]
    Amiga (1988) | IEEE Computer Society
    Jun 8, 2022 · The Amiga and its Denise chip was the first multimedia device to blend video, graphics, and audio. As a result of providing open access to ...
  13. [13]
    articles - - Screen Modes - Amiga Graphics Archive
    Screen modes ; Productivity. 640×400 @ 70Hz. 6 bit color depth (64 colors) up to 4 colors ; Productivity Laced. 640×800 @ 70Hz. 6 bit color depth (64 colors) up ...Missing: interlaced | Show results with:interlaced
  14. [14]
    Paula - ExoticA
    Apr 10, 2014 · Besides audio playback, the 8364 also includes logic for floppy disk drive control and serial port input/output. Contents. 1 Functional blocks.
  15. [15]
    Amiga 500/500+ - RetroShowcase
    Note that the original Chip Set (OCS) was a chipset used in the earliest Commodore Amiga computers and defined the Amiga's graphics and sound capabilities.Missing: audio | Show results with:audio
  16. [16]
    Why did the Amiga sound so much better than any other PC sound?
    Jun 16, 2024 · The Commodore Amiga's sound chip, Paula, has four independent hardware-mixed 8-bit PCM sound channels that can support waveform output rates from around 20 ...Missing: MFM floppy UART serial<|separator|>
  17. [17]
    [PDF] Hardvvare Reference Manual - iKod.se
    Page 1. Page 2. Page 3. Hardvvare Reference Manual. Third Edition. Commodore-Amiga, Inc. AMIGA TECHNICAL REFERENCE SERIES ... .,..,. Addison-Wesley Publishing ...
  18. [18]
    1 / Components of the Amiga / Amiga Memory System
    ECS Fat Agnus (8372A) can access up to one megabyte of Chip memory. It is pin compatible with the original Fat Agnus (8370/8371) found in earlier A500 and A2000 ...Missing: specifications Synertek
  19. [19]
    [PDF] inner workings of your Amiga - iKod.se
    The Amiga's inner workings include hardware like the 68000 processor, custom chips, interfaces, and the keyboard.
  20. [20]
    Knowledge Base Channel - Amiga Realm
    The DMA controller therefore is connected to the chip ram address bus. The Amigas DMA controller is contained within Agnus. DMAC (Direct Memory Access Chip) ...
  21. [21]
  22. [22]
    Amiga® Hardware Reference Manual: 2 Coprocessor Hardware
    In this chapter, you will learn how to use the Amiga's graphics coprocessor (or Copper) and its simple instruction set to organize mid-screen register value ...Missing: Original Chip architecture
  23. [23]
  24. [24]
    Amiga Hardware Reference Manual 3rd Edition - Internet Archive
    Dec 18, 2020 · Amiga Hardware Reference Manual 3rd Edition. by: Commodore-Amiga ... PDF download · download 1 file · SINGLE PAGE PROCESSED JP2 ZIP download.
  25. [25]
    8 Interface Hardware / Floppy Disk Controller - Amiga Developer Docs
    The built-in disk controller in the system can handle up to four MFM-type devices. Typically these are double-sided, double-density, 3.5" (90mm) or 5.25" ...Missing: Reference Manual Paula
  26. [26]
    Gamechangers – Jay Miner & The Amiga Computer - Geekometry
    Jan 31, 2015 · The “Agnus” chip ... For more on the history of the Commodore Amiga computers, consider reading Jimmy Maher's “The Future Was Here – Commodore ...
  27. [27]
    A history of the Amiga, part 2: The birth of Amiga - Ars Technica
    Aug 12, 2007 · At the time, it was merely practical—the investors wanted a game console, the new company needed Jay Miner, and Jay wanted to design a new ...
  28. [28]
    Amiga Machine Code Letter XII - HAM - Mark Wrobel
    Feb 22, 2020 · Planar graphics uses bitplanes to provide each pixel with a value that maps into a color index. This technique saves memory, because the number ...Missing: efficiency | Show results with:efficiency
  29. [29]
    Copper - Amiga Graphics Archive - Specials
    The Copper was a coprocessor of the Amiga's chipset that could be used to change video settings while the cpu was busy doing more important stuff.
  30. [30]
  31. [31]
    Amiga memory bandwidth - Retrocomputing Stack Exchange
    Mar 16, 2018 · In graphic intensive tasks the amiga chipset can take full control of the buses and run at full bandwidth (7mb/s) at the expense of the cpu not ...Why was OCS low resolution limited to 6 bitplanes?What exactly was the Amiga Ranger?More results from retrocomputing.stackexchange.comMissing: Original | Show results with:Original
  32. [32]
    Amiga® Hardware Reference Manual: C Enhanced Chip Set
    This appendix contains information on the Enhanced Chip Set (ECS). The Enhanced Chip Set consists of the Agnus (8372-R3) and Denise (8373-R3) custom Amiga ...
  33. [33]
  34. [34]
    Amiga Beginners Series #3 - Amiga Hardware
    Oct 22, 2019 · Maximum chip ram for any Amiga is 2 MB however OCS machines and earlier ECS machines are limited by Agnus to 512 kB and 1 MB respectively. Given ...
  35. [35]
  36. [36]
    Amiga Manual: AGA Graphics Supplement - Internet Archive
    May 7, 2016 · Provides information about changes to the Amiga operating system to support new graphics features offered by the AGA (AA) chipset. Addeddate ...Missing: reference | Show results with:reference
  37. [37]
    The Amiga AGA Chipset - Bambi
    The AGA chipset was released in August, 1992 as the new graphics processor for the A4000 high-end system, and later, in October, for the entry level A1200.
  38. [38]
    HAPPY BIRTHDAY AMIGA 1200!!! - Lemon Amiga
    Oct 21, 2012 · On the 21st of October 1992, Commodore rushed into production their brand new AGA ... AGA chipset allowing for higher sampling rates for ...