Recent from talks
Nothing was collected or created yet.
MOS Technology Agnus
View on Wikipedia
The MOS Technology "Agnus", usually called Agnus, is an integrated circuit in the custom chipset of the Amiga computer. The Agnus, Denise and Paula chips collectively formed the OCS and ECS chipsets.
The Agnus is the Address Generator Chip. Its main function, in chip area, is the RAM Address Generator and Register Address Encoder which handles all DMA addresses. The 8361 Agnus is made up of approximately 21000 transistors and contains DMA Channel Controllers. The Blitter and Copper are also contained here. Originally Agnus was fabricated in 5 μm manufacturing process like all OCS chipset.
Agnus features:
- Memory controller ("Chip" memory that can be accessed by the processor and the chipset)
- The Blitter, a bitmap manipulator. The Blitter is capable of copying blocks of display data, or any arbitrary data in the chip memory, at high speed with various raster operations as well as drawing pixel perfect lines and filling outlined polygons, while freeing the CPU for concurrent tasks.
- "Copper", a display synchronized co-processor
- 25 Direct Memory Access (DMA) channels, allowing graphics, sound and I/O to be used with minimal CPU intervention
- DRAM refresh controller
- Generates the system clock from the 28 MHz oscillator
- Video timing
Agnus was replaced by Alice in the Amiga 4000 and Amiga 1200 when the AGA chipset was introduced in 1992.
Chips by capability
[edit]
- OCS Agnus which can address up to 512 KB of Chip RAM (PLCC versions add 512 KB of pseudo-fast RAM)
- 8361 (DIP) - Amiga 1000 (NTSC); Amiga 2000 model A (NTSC)
- 8367 (DIP) - Amiga 1000 (PAL); Amiga 2000 model A (PAL)
- 8370 (PLCC) - Amiga 500 to Rev 5.x (NTSC); Amiga 2000 model B to Rev 4.5 (NTSC)
- 8371 (PLCC) - Amiga 500 to Rev 5.x (PAL); Amiga 2000 model B to Rev 4.5 (PAL)
- ECS Agnus which can address up to 1 MB of Chip RAM
- 8372 - no data*
- 8372A - Amiga 500 from Rev 6 (NTSC/PAL); Amiga 2000 model B from Rev 6.0 to Rev 6.3 (NTSC/PAL); Commodore CDTV
- 8375 (318069-16 only) (PAL) - Amiga 500 from Rev 6 (PAL); Amiga 2000 model B from Rev 6.4 (PAL)
- 8375 (318069-17 only) (NTSC) - Amiga 500 from Rev 6 (NTSC); Amiga 2000 model B from Rev 6.4 (NTSC)
- ECS Agnus which can address up to 2 MB of Chip RAM
- 8372AB - Amiga 3000 from Rev 6.1 to Rev 8.9 (NTSC/PAL)
- 8372B - Amiga 3000 Rev 9 (NTSC/PAL)
- 8375 (PAL) - Amiga 500 Plus; Amiga 600 (PAL)
- 8375 (NTSC) - Amiga 600 (NTSC)
* Somewhere 8372A Agnus mentioned as simply "8372".
Chips by package
[edit]- 48-lead DIP Agnus (aka thin Agnus): 8361; 8367
- 84-contact PLCC Fat Agnus (named Fat Lady on most Amiga 2000 motherboards) 8370; 8371; 8372; 8372A; 8372AB; 8372B; 8375
Notes
Fat Agnus 1MB and Fat Agnus 2MB also known as Super Agnus; Super Fat Agnus; Fatter Agnus; Big Agnus; Big Fat Agnus.
DMA Channels
[edit]| Priority | Name | Count | Cycles/Rasterline | Chip | Notes |
|---|---|---|---|---|---|
| MPU | 1 | varying | CPU | ||
| A | Blitter | 4 | varying | Agnus (internal) | yields 1/4 cycles to CPU when BLTPRI not active |
| B | Bitplane | 6 | 80 | Denise | impairs sprite channels on severe overscan |
| C | Copper | 1 | varying | Agnus (internal) | |
| D | Audio | 4 | 4 | Paula | |
| E | Sprites | 8 | 16 | Denise | |
| F | Disk | 1 | 3 | Paula | |
| G | Memory Refresh | 1 | 4 | - | |
| Reference: Amiga 500 plus Service Manual | |||||
Pinout
[edit]PLCC versions
[edit]When replacing or upgrading chips, pinouts need to be taken care of. Types are just mentioned for reference; four-digit types and pinouts/usage are not consistent.[1]
| Pin | OCS/ECS | ECS | AGA (Alice) | Description | |
|---|---|---|---|---|---|
| A500/2000 | A3000 | A500+/600 | A4000/1200 | ||
| 8370/1 | 8372 | 8375 | 8374 | ||
| 1 | RD13 | DRD13 | DRD13 | DRD13 | Data Bus 16 bit, bit 13 |
| 2 | RD12 | DRD12 | DRD12 | DRD12 | . . . |
| 3 | RD11 | DRD11 | DRD11 | DRD11 | |
| 4 | RD10 | DRD10 | DRD10 | DRD10 | |
| 5 | RD9 | DRD9 | DRD9 | DRD9 | |
| 6 | RD8 | DRD8 | DRD8 | DRD8 | |
| 7 | RD7 | DRD7 | DRD7 | DRD7 | |
| 8 | RD6 | DRD6 | DRD6 | DRD6 | |
| 9 | RD5 | DRD5 | DRD5 | DRD5 | |
| 10 | RD4 | DRD4 | DRD4 | DRD4 | |
| 11 | RD3 | DRD3 | DRD3 | DRD3 | |
| 12 | RD2 | DRD2 | DRD2 | DRD2 | |
| 13 | RD1 | DRD1 | DRD1 | DRD1 | |
| 14 | RD0 | DRD0 | DRD0 | DRD0 | Data Bus 16 bit, bit 0 |
| 15 | Vcc | Vcc | Vcc | Vcc1 | +5V ±5% |
| 16 | RST* | _RESET | _RESET | /RESET | Global RESETn, low active |
| 17 | INT3 | _INTR | _INTR | /INTR | |
| 18 | DMAL | DMAL | DMAL | DMAL | |
| 19 | BLS* | _BLISS | _BLISS | /BLS | |
| 20 | DBR* | _BLIT | _BLIT | /DBR | |
| 21 | RRW | _WE | _WE | /WE | |
| 22 | PRW | R/W | R/W | R/W | |
| 23 | RGEN* | _REGEN | _REGEN | _REGEN | |
| 24 | AS* | _AS | _AS | NC2 | |
| 25 | RAMEN* | _RAMEN | _RAMEN | /RAMEN | |
| 26 | RGA8 | RGA8 | RGA8 | RGA8 | |
| 27 | RGA7 | RGA7 | RGA7 | RGA7 | |
| 28 | RGA6 | RGA6 | RGA6 | RGA6 | |
| 29 | RGA5 | RGA5 | RGA5 | RGA5 | |
| 30 | RGA4 | RGA4 | RGA4 | RGA4 | |
| 31 | RGA3 | RGA3 | RGA3 | RGA3 | |
| 32 | RGA2 | RGA2 | RGA2 | RGA2 | |
| 33 | RGA1 | RGA1 | RGA1 | RGA1 | |
| 34 | 28 MHz | 28 MHz | 28 MHz | SCLK | |
| 35 | XCLK | A20 | A20 | A20 | |
| 36 | XCLKEN* | _XCLKEN | _CDAC | 14 MHz | |
| 37 | CDAC* | _CDAC | 7 MHz | /CDAC | |
| 38 | 7 MHz | 7 MHz | CCKQ | 7 MHz | |
| 39 | CCKQ | CCKQ | CCK | CCKQ | |
| 40 | CCK | CCK | 14M | CCK | |
| 41 | TEST | TEST | GND | /NTSC | |
| 42 | Vss | Vss1 | DRA0 | GND2 | |
| 43 | MA0 | DRA0 | DRA1 | DRA0 | Memory address bus 9 bit, bit 0 (except 8375 which is bit 1) |
| 44 | MA1 | DRA1 | DRA2 | DRA1 | . . . |
| 45 | MA2 | DRA2 | DRA3 | DRA2 | |
| 46 | MA3 | DRA3 | DRA4 | DRA3 | |
| 47 | MA4 | DRA4 | DRA5 | DRA4 | |
| 48 | MA5 | DRA5 | DRA6 | DRA5 | |
| 49 | MA6 | DRA6 | DRA7 | DRA6 | |
| 50 | MA7 | DRA7 | DRA8 | DRA7 | |
| 51 | MA8 | DRA8 | _LDS | DRA8 | Memory address bus 9 bit, bit 8 (except 8375 which is bit _LDS) |
| 52 | LDS* | _LDS | _UDS | Vcc2 | |
| 53 | UDS* | _UDS | _CASL | NC1 | |
| 54 | CASL* | _CASL | _CASU | /CAS | |
| 55 | CASU* | _CASU | DRA9 | Vbb | |
| 56 | RAS1* | DRA9 | _RAS1 | DRA9 | |
| 57 | RAS0* | _RAS | _RAS0 | /RAS | |
| 58 | Vss | Vss2 | GND | GND3 | |
| 59 | A19 | A19 | A19 | A19 | |
| 60 | A1 | A1 | A1 | A1 | |
| 61 | A2 | A2 | A2 | A2 | |
| 62 | A3 | A3 | A3 | A3 | |
| 63 | A4 | A4 | A4 | A4 | |
| 64 | A5 | A5 | A5 | A5 | |
| 65 | A6 | A6 | A6 | A6 | |
| 66 | A7 | A7 | A7 | A7 | |
| 67 | A8 | A8 | A8 | A8 | |
| 68 | A9 | A9 | A9 | A9 | |
| 69 | A10 | A10 | A10 | A10 | |
| 70 | A11 | A11 | A11 | A11 | |
| 71 | A12 | A12 | A12 | A12 | |
| 72 | A13 | A13 | A13 | A13 | |
| 73 | A14 | A14 | A14 | A14 | |
| 74 | A15 | A15 | A15 | A15 | |
| 75 | A16 | A16 | A16 | A16 | |
| 76 | A17 | A17 | A17 | A17 | |
| 77 | A18 | A18 | A18 | A18 | |
| 78 | LP* | _LPEN | _LPEN | /LPEN | |
| 79 | VSY* | _VSYNC | _VSYNC | /VSYNC | |
| 80 | CSY* | _CSYNC | _CSYNC | /CSYNC | |
| 81 | HSY* | _HSYNC | _HSYNC | /HSYNC | |
| 82 | Vss | Vss3 | GND | GND1 | Ground, common on whole board |
| 83 | RD15 | DRD15 | DRD15 | DRD15 | Data Bus 16 bit, bit 15 |
| 84 | RD14 | DRD14 | DRD14 | DRD14 | Data Bus 16 bit, bit 14 |
References: A500 Service Training, A3000 Service Manual, A500+ Service Manual, A1200 schematics
See also
[edit]References
[edit]- Sources
- AMIGA 1000 ASSEMBLY LEVEL REPAIR (Commodore-Amiga, Inc.) 1985 PN 314038-01 Dave's Amiga Schematics and Manuals
- Commodore Amiga A500/A2000 Technical Reference Manual (Commodore-Amiga, Inc.) 1987 Dave's Amiga Schematics and Manuals
- A500 SYSTEM SCHEMATICS COMPONENT PART LIST (Rev 6A/7) Dave's Amiga Schematics and Manuals
- A3000 SYSTEM SCHEMATICS (Commodore Business Machines, Inc.) March, 1990 PN-314677-01 www.1000bit.net
- CDTV SERVICE MANUAL (Commodore International Spare GmbH) May, 1991 PN-400403-01 www.ianstedman.co.uk (ZIP-file)
- A500 PLUS SERVICE MANUAL (Commodore International Spare GmbH) October, 1991 PN-400420-01 www.1000bit.net
- A600 SYSTEM SCHEMATICS (Commodore International Spare GmbH) April, 1992 PN-400422-02 www.1000bit.net
- OBLIGEMENT: les chipsets de l'Amiga
- Big Book of Amiga Hardware
- alexh on English Amiga Board (Agnus 8372B info)
- National Amiga Inc. mirrored on l8r.net
- Marketed Commodore Amiga models
- AMIGA Auckland Inc.
- Amiga University
- Commodore Computer Online Museum
- Notes
- ^ George Robbins (14 October 1992). "Difference of 8372A vs 8375". Newsgroup: comp.sys.amiga.hardware. Usenet: 35861@cbmvax.commodore.com. Retrieved 1 October 2018.[permanent dead link]
MOS Technology Agnus
View on GrokipediaOverview
Role in Amiga Chipset
The MOS Technology Agnus serves as the Address Generator Chip in the Amiga's Original Chip Set (OCS) and Enhanced Chip Set (ECS), forming a core part of the custom chipset alongside the Denise graphics processor and the Paula audio and input/output controller.[3] It acts as the central hub for memory addressing and timing coordination, enabling the Amiga's signature multimedia performance by synchronizing data transfers across hardware components. Agnus also integrates the Blitter for hardware-accelerated graphics operations and the Copper coprocessor for display list processing.[1] Agnus's primary responsibilities include generating RAM addresses for video display operations, managing Direct Memory Access (DMA) for graphics rendering, audio playback, and peripheral interactions, as well as handling DRAM refresh cycles to maintain memory integrity.[3] It also produces essential video beam timing signals that dictate the horizontal and vertical synchronization for screen output, ensuring precise control over display updates.[3] Operating at a 28.63636 MHz clock rate, Agnus supports up to 25 DMA channels with prioritized time slots, allowing efficient allocation of bus cycles for tasks like bitplane fetching and sprite handling.[3] Within Amiga systems, Agnus orchestrates data flow between the Motorola 68000 CPU, shared chip RAM, and custom hardware, facilitating seamless multitasking by granting DMA requests precedence over CPU access during critical periods such as video blanking intervals.[3] This integration empowers the chipset to deliver concurrent graphics, sound, and system operations without software intervention, a hallmark of the Amiga's architecture.[3] Introduced in July 1985 with the Amiga 1000, Agnus was foundational to the platform's innovative multimedia features, including smooth hardware scrolling through coordinated bitplane DMA and independent sprite movement for dynamic visuals.[3] In the ECS variant, debuting in 1990 with models like the Amiga 3000, revised Agnus chips preserved these roles while accommodating expanded memory addressing up to 2 MB.[4][3]Key Technical Specifications
The MOS Technology Agnus chip was fabricated using an N-channel HMOS process.[3] Agnus generates the system clock at 7.15909 MHz for NTSC configurations or 7.09379 MHz for PAL configurations from a 28.63636 MHz (NTSC) or 28.37516 MHz (PAL) input oscillator, while supporting 15 kHz video beam synchronization through its beam counters and timing mechanisms.[1][3] The chip features 23 address lines (A1-A23), allowing support for up to 8 MB of total RAM across the system, with 16-bit data bus access dedicated to chip RAM operations; individual DMA channels utilize 18-bit RAM address pointers for precise memory management.[3] As the core component of the Original Chip Set (OCS), Agnus provides baseline functionality for DMA, blitter, and copper operations, with ECS revisions introducing enhancements such as expanded addressing for up to 2 MB chip RAM and additional video modes.[1]Development and Revisions
Origins and Design Team
The MOS Technology Agnus chip originated from the Lorraine project, a prototype multimedia computer initiated in 1982 by the Hi-Toro company, a startup founded by former Atari engineers including Dave Morse, Jay Miner, and Joe Decuir.[5] Hi-Toro, later renamed Amiga Corporation in 1983 to appeal to investors, aimed to develop an affordable 16-bit computer expandable for gaming and professional use, with Miner—known for designing the Atari 2600's Television Interface Adaptor (TIA) chip—leading the hardware team that included designers Dale Luck and others.[6] The project faced financial difficulties, leading to its acquisition by Commodore International on August 13, 1984, for $24 million, after which the custom chips, including Agnus, were finalized under Commodore's oversight.[7] Agnus was designed primarily as a versatile direct memory access (DMA) engine to enable efficient multimedia processing in a cost-effective system, drawing inspiration from arcade and flight simulator hardware to integrate advanced graphics capabilities directly into silicon.[5] Key goals included supporting fast bit-block transfer (blitter) operations for graphics acceleration and a lightweight coprocessor (Copper) for managing display lists and video register changes without burdening the Motorola 68000 CPU, allowing the Amiga to deliver real-time video effects and animations rivaling dedicated arcade machines.[8] This approach prioritized shared memory access among custom chips, the CPU, and peripherals to create a unified system for affordable computing, with the design process spanning from 1982 to 1984 and involving three primary chip designers, including Miner for Agnus.[5] Initial fabrication occurred at MOS Technology, Commodore's semiconductor subsidiary, using a 5-micrometer NMOS process.[5][9] The first silicon for Agnus was taped out in late 1984, following the Commodore acquisition, with prototypes demonstrated at the June 1984 Consumer Electronics Show (CES) using breadboard implementations to showcase basic DMA and blitter functionality, such as a bouncing ball demo.[5] Significant design challenges included balancing DMA channel priorities to prevent CPU starvation, as the 68000 processor required exclusive access during even bus cycles for optimal performance, while custom chip DMA operations filled odd cycles to maximize bandwidth without halting instruction execution.[10] Additionally, ensuring compatibility with the 68000's addressing scheme, which favored even-aligned word accesses but interfaced with interleaved chip RAM, demanded careful arbitration logic in Agnus to handle odd-address penalties and maintain system stability during high-contention scenarios.[11]Evolution Across Amiga Models
The MOS Technology Agnus debuted in 1985 as a core component of the Original Chip Set (OCS) in the Amiga 1000, handling DMA operations, blitter functions, and memory addressing for the system's initial 512 KB chip RAM configuration.[12] This initial implementation, produced by MOS Technology, established Agnus as the central coordinator for shared RAM access and video timing in early Amiga hardware.[13] By 1987, with the launch of the Amiga 500 and Amiga 2000, Agnus underwent revisions to the 8370 (NTSC) and 8371 (PAL) variants, known as "Fat Agnus" due to their larger PLCC packaging that supported improved manufacturing efficiency and compatibility with the new models' base 512 KB chip RAM setups.[13] These changes responded to hardware upgrades requiring more flexible integration, while mask-programmed updates between 1987 and 1989—such as the 8372 series—focused on cost reductions and corrections for PAL/NTSC signal handling to ensure stable video output across regions.[14] The evolution was driven by growing demands for expanded chip RAM, rising from 512 KB to 1 MB in later OCS configurations, enabling more sophisticated multitasking and graphics-intensive applications.[12] In 1990, the introduction of the Enhanced Chip Set (ECS) with the Amiga 3000 prompted further adaptations, including the 8372A and 8372B variants, which extended chip RAM support to 2 MB and incorporated bug fixes for addressing issues in prior iterations.[12] These ECS-compatible revisions, still manufactured under MOS Technology (later Commodore Semiconductor Group), enhanced video mode flexibility, such as additional display resolutions and interlaced modes, to meet evolving software requirements.[13] By the early 1990s, the 8375 series refined these advancements for models like the Amiga 500+ and Amiga 600, using dedicated PAL and NTSC versions to eliminate jumper-based switching and reduce production costs through process optimizations.[14] Agnus production ceased in 1992 with the shift to the Advanced Graphics Architecture (AGA) chipset in the Amiga 1200 and Amiga 4000, where it was superseded by the Alice chip, ending further MOS-branded iterations and transitioning Amiga hardware to enhanced color and graphics capabilities.[15]Chip Variants
Variants by Memory Support
The MOS Technology Agnus chip was initially released in variants limited to 512 KB of chip RAM support, including the 8361 (NTSC) and 8367 (PAL) models. These "thin" Agnus versions, designed for early Amiga systems such as the Amiga 1000 and Amiga 500, provided foundational DMA capabilities for graphics, audio, and I/O operations, along with support for up to seven bitplanes in display modes. The 8367 was a PAL-specific variant tailored for European markets, ensuring compatibility with regional video standards without altering core memory addressing.[2] Subsequent iterations expanded memory capacity to 1 MB with the introduction of "Fat Agnus" variants, namely the 8370 and 8371. These chips, intended for upgrades in Amiga 500 and Amiga 2000 systems, enabled the addressing of an additional 512 KB of chip RAM beyond the original limit, facilitating larger frame buffers and more complex graphics operations while preserving basic DMA and seven-bitplane support. The 8371 addressed specific bugs in the 8370 through mask ROM revisions, improving reliability in memory management and display timing without introducing new features.[2] Enhanced variants under the "Super Agnus" designation, including the 8372, 8372A, 8372AB, and 8372B, built upon the Fat Agnus foundation, with ECS compatibility for larger blitter operations. Produced by UHA as later revisions, the A and B suffixes reflected yield improvements in fabrication processes. These chips supported up to 2 MB chip RAM addressing (e.g., 8372B) but extended DMA flexibility for ECS-equipped Amiga models.[2][16] For ECS-based systems, the 8375 variant (and PAL equivalents like 8372B) supported up to 2 MB of chip RAM, targeting the Amiga 3000 and Amiga 3000T. The 8375, specifically optimized for NTSC standards, featured refined addressing logic to handle the expanded memory range seamlessly, enabling higher-resolution modes such as Super Hi-Res (1280 pixels horizontally) while retaining seven-bitplane graphics and basic DMA channels. All Agnus variants universally supported core OCS features like seven-bitplane displays and standard DMA operations, with later models incorporating ECS enhancements for advanced color modes and programmable scan rates.[2]Variants by Package Configuration
The MOS Technology Agnus chip was produced in two primary package configurations: the 48-pin Dual In-line Package (DIP) for early variants and the 84-pin Plastic Leaded Chip Carrier (PLCC) for later "Fat" and "Super" variants. These packaging choices directly influenced their integration into Amiga motherboards, balancing ease of assembly, upgradability, and space efficiency.[16][13] The 48-pin DIP configuration, measuring approximately 62 mm in length by 15 mm in width with a 2.54 mm pin pitch, was used exclusively for the initial "thin" Agnus variants, including the 8361 (NTSC) and 8367 (PAL). This through-hole package facilitated socketed installations in early Amiga models such as the Amiga 1000 and certain Amiga 2000 revisions, allowing for straightforward chip replacement and upgrades without specialized soldering equipment. The limited pin count supported basic 512 KB chip RAM addressing, making it suitable for the Original Chip Set (OCS) in compact, hobbyist-friendly designs.[13][17][16] In contrast, the 84-pin PLCC configuration, with a square body size of about 36.5 mm per side and a finer 1.27 mm pin pitch, became the standard for enhanced Agnus variants starting with the 8370 series. This surface-mount-compatible package accommodated additional pins for expanded addressing and Enhanced Chip Set (ECS) signals, enabling support for up to 2 MB of chip RAM in models like the Amiga 500, 2000, 3000, 500+, 600, and CDTV. The PLCC design was typically socketed in consumer models like the Amiga 500 for serviceability but also supported direct soldering in higher-density boards such as the Amiga 3000 tower.[13][16][18] These package differences had significant implications for board integration and maintenance. The DIP's taller profile (around 5-6 mm) and wider footprint made it ideal for prototyping and user upgrades via standard IC sockets, though it occupied more vertical space in chassis-constrained systems. Conversely, the PLCC's low-profile (under 5 mm height) and compact form enabled denser layouts in later Amiga expansions, but required precision surface-mount soldering techniques, increasing manufacturing complexity while improving overall system reliability through better thermal dissipation. Both packages used leaded construction typical of 1980s CMOS fabrication, with no documented 100-pin variants in production use.[17][18]Internal Components
DMA Controller and Channels
The DMA controller in the MOS Technology Agnus manages 25 direct memory access (DMA) channels, enabling concurrent hardware tasks such as graphics, audio, and I/O operations with limited CPU overhead. These channels are multiplexed across 7 priority slots, designated A (highest priority) through G (lowest), where channels within the same slot share access via round-robin scheduling to promote equitable bus usage. The CPU yields the data bus during assigned DMA slots, ensuring prioritized hardware access to Chip RAM while the processor idles or executes from Fast RAM when possible.[19][2] The channels are organized by function and priority as follows, with specific cycle demands tailored to their roles:| Channel Type | Number of Channels | Priority Slot | Cycle Allocation per Raster Line |
|---|---|---|---|
| Blitter | 4 | A | Variable (depending on graphics operations like block moves or line fills) |
| Bitplane | 6 | B | 80 cycles total (for display data fetch, scaling with active planes) |
| Copper | 1 | C | Variable (based on instruction list processing for display control) |
| Audio | 4 | D | 4 cycles total (1 cycle per active channel for sample playback) |
| Sprites | 8 | E | 16 cycles total (2 cycles per active sprite for position and data) |
| Disk | 1 | F | 3 cycles (fixed for floppy controller data transfer) |
| Memory Refresh | 1 | G | 4 cycles (fixed for DRAM row refresh) |