HOME

TheInfoList



OR:

The Original Chip Set (OCS) is a
chipset In a computer system, a chipset is a set of electronic components in one or more integrated circuits known as a "Data Flow Management System" that manages the data flow between the processor, memory and peripherals. It is usually found on the mo ...
used in the earliest
Commodore Commodore may refer to: Ranks * Commodore (rank), a naval rank ** Commodore (Royal Navy), in the United Kingdom ** Commodore (United States) ** Commodore (Canada) ** Commodore (Finland) ** Commodore (Germany) or ''Kommodore'' * Air commodore ...
Amiga Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphi ...
computers and defined the Amiga's graphics and sound capabilities. It was succeeded by the slightly improved
Enhanced Chip Set The Enhanced Chip Set (ECS) is the second generation of the Amiga computer's chipset, offering minor improvements over the original chipset (OCS) design. ECS was introduced in 1990 with the launch of the Amiga 3000. Amigas produced from 1990 o ...
(ECS) and greatly improved
Advanced Graphics Architecture Amiga Advanced Graphics Architecture (AGA) is the third-generation Amiga graphic chipset, first used in the Amiga 4000 in 1992. Before release AGA was codenamed Pandora by Commodore International. AGA was originally called AA for Advanced Archit ...
(AGA). The original chipset appeared in Amiga models built between 1985 and 1990: the Amiga 1000, Amiga 2000, Amiga CDTV, and Amiga 500.


Overview of chips

The chipset which gave the Amiga its unique graphics features consists of three main "custom" chips; ''Agnus'', ''Denise'', and ''Paula''. Both the original chipset and the enhanced chipset were manufactured using
NMOS logic N-type metal-oxide-semiconductor logic uses n-type (-) MOSFETs (metal-oxide-semiconductor field-effect transistors) to implement logic gates and other digital circuits. These nMOS transistors operate by creating an inversion layer in a p-type t ...
technology by
Commodore Commodore may refer to: Ranks * Commodore (rank), a naval rank ** Commodore (Royal Navy), in the United Kingdom ** Commodore (United States) ** Commodore (Canada) ** Commodore (Finland) ** Commodore (Germany) or ''Kommodore'' * Air commodore ...
's chip manufacturing subsidiary,
MOS Technology MOS Technology, Inc. ("MOS" being short for Metal Oxide Semiconductor), later known as CSG (Commodore Semiconductor Group) and GMT Microelectronics, was a semiconductor design and fabrication company based in Audubon, Pennsylvania. It is mos ...
. According to
Jay Miner Jay Glenn Miner (May 31, 1932 – June 20, 1994) was an American integrated circuit designer, known primarily for developing graphics and audio chips for the Atari 2600 and Atari 8-bit family and as the "father of the Amiga". Early life Jay ...
, the OCS chipset was fabricated in 5 µm manufacturing process while
AGA Aga or AGA may refer to: Business * Architectural Glass and Aluminum (AGA), a glazing contractor, established in 1970 * AGA (automobile), ''Autogen Gasaccumulator AG'', 1920s German car company *AGA AB, ''Aktiebolaget Svenska Gasaccumulator'', a ...
Lisa was implemented in 1.5 µm process. All three custom chips were originally packaged in 48-pin DIPs; later versions of Agnus, known as Fat Agnus, were packaged in an 84-pin PLCC. Agnus is the central chip in the design. It controls all access to
chip RAM Chip RAM is a commonly used term for the integrated RAM used in Commodore's line of Amiga computers. Chip RAM is shared between the central processing unit (CPU) and the Amiga's dedicated chipset (hence the name). It was also, rather misleadingly, ...
from both the central
68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
processor and the other custom chips, using a complicated priority system. Agnus includes sub-components known as the ''blitter'' (fast transfer of data in memory without the intervention of the processor) and the ''Copper'' (video-synchronized co-processor). The original Agnus can address of
chip RAM Chip RAM is a commonly used term for the integrated RAM used in Commodore's line of Amiga computers. Chip RAM is shared between the central processing unit (CPU) and the Amiga's dedicated chipset (hence the name). It was also, rather misleadingly, ...
. Later revisions, dubbed 'Fat Agnus', added pseudo-fast RAM, which for ECS was changed to 1 MB (sometimes called 'Fatter Agnus') and subsequently to 2 MB chip RAM. Denise is the main video processor. Without using overscan, the Amiga's graphics display is 320 or 640
pixel In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a raster image, or the smallest point in an all points addressable display device. In most digital display devices, pixels are the ...
s wide by 200 (
NTSC The first American standard for analog television broadcast was developed by National Television System Committee (NTSC)National Television System Committee (1951–1953), Report and Reports of Panel No. 11, 11-A, 12–19, with Some supplement ...
) or 256 (
PAL Phase Alternating Line (PAL) is a colour encoding system for analogue television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
) pixels tall. Denise also supports interlacing, which doubles the vertical resolution, at the cost of intrusive flickering on typical monitors of that era.
Planar Planar is an adjective meaning "relating to a plane (geometry)". Planar may also refer to: Science and technology * Planar (computer graphics), computer graphics pixel information from several bitplanes * Planar (transmission line technologies), ...
bitmap graphics upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
are used, which splits the individual bits per pixel into separate areas of memory, called
bitplanes A bit plane of a digital discrete signal (such as image or sound) is a set of bits corresponding to a given bit position in each of the binary numbers representing the signal. For example, for 16-bit data representation there are 16 bit planes ...
. In normal operation, Denise allows between one and five bitplanes, giving two to 32 unique colors. These colors are selected from a palette of 4096 colors (four bits per
RGB The RGB color model is an additive color model in which the red, green and blue primary colors of light are added together in various ways to reproduce a broad array of colors. The name of the model comes from the initials of the three addi ...
component). A 6th bitplane is available for two special video modes:
Halfbrite mode Extra Half-Brite, usually abbreviated as EHB, is a planar display mode of the Amiga computer. This mode uses six bitplanes (six bits/pixel). The first five bitplanes index 32 colors selected from a 12-bit color space (4096 possible colors). I ...
and
Hold-And-Modify Hold-And-Modify, usually abbreviated as HAM, is a display mode of the Commodore Amiga computer. It uses a highly unusual technique to express the color of pixels, allowing many more colors to appear on screen than would otherwise be possible ...
(HAM) mode. Denise also supports eight sprites, single pixel scrolling, and a "dual-playfield" mode. Denise also handles mouse and digital joystick input. Paula is primarily the audio chip, with four independent hardware-mixed 8-bit PCM sound channels, each of which supports 65 volume levels (no sound to maximum volume) and waveform output rates from roughly 20 samples per second to almost 29,000 samples per second. Paula also handles
interrupts In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
and various I/O functions including the
floppy disk drive A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
, the
serial port In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. ...
, and analog joysticks. There are many similarities both in overall functionality and in the division of functionality into the three component chips between the OCS chipset and the much earlier and simpler chipset of the Atari 8-bit family of home computers, consisting of the
ANTIC Alphanumeric Television Interface Controller (ANTIC) is an LSI ASIC dedicated to generating 2D computer graphics to be shown on a television screen or computer display. Under the direction of Jay Miner, the chip was designed in 1977-1978 by ...
,
GTIA Color Television Interface Adaptor (CTIA) and its successor Graphic Television Interface Adaptor (GTIA) are custom chips used in the Atari 8-bit family of computers and in the Atari 5200 home video game console. In these systems, a CTIA or GTIA ch ...
and
POKEY POKEY, an acronym for Pot Keyboard Integrated Circuit, is a digital I/O chip designed by Doug Neubauer at Atari, Inc. for the Atari 8-bit family of home computers. It was first released with the Atari 400 and Atari 800 in 1979 and is included i ...
chips; both chipsets were conceptually designed by
Jay Miner Jay Glenn Miner (May 31, 1932 – June 20, 1994) was an American integrated circuit designer, known primarily for developing graphics and audio chips for the Atari 2600 and Atari 8-bit family and as the "father of the Amiga". Early life Jay ...
, which explains the similarity.


Agnus

The Agnus chip is in overall control of the entire chipset's operation. All operations are synchronised to the position of the video beam. This includes access to the built-in
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
, known as
chip RAM Chip RAM is a commonly used term for the integrated RAM used in Commodore's line of Amiga computers. Chip RAM is shared between the central processing unit (CPU) and the Amiga's dedicated chipset (hence the name). It was also, rather misleadingly, ...
because the chipset has access to it. Both the central
68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
processor and other members of the chipset have to arbitrate for access to chip RAM via ''Agnus''. In computing architecture terms, this is
Direct Memory Access Direct memory access (DMA) is a feature of computer systems and allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU). Without DMA, when the CPU is using programmed input/output, it is ...
(DMA), where Agnus is the DMA Controller (DMAC). Agnus has a complex and priority-based memory access policy that attempts to best coordinate requests for memory access among competing resources. For example, bitplane data fetches are prioritized over blitter transfers as the immediate display of frame buffer data is considered more important than the processing of memory by the blitter. Agnus also attempts to order accesses in such a way so as to overlap CPU bus cycles with DMA cycles. As the original 68000 processor in Amigas tended only to access memory on every second available memory cycle, Agnus operates a system where "odd" memory access cycles are allocated first and as needed to time-critical custom chip DMA while any remaining cycles are available to the CPU, thus the CPU does not generally get locked out of memory access and does not appear to slow down. However, non-time-critical custom chip access, such as ''blitter'' transfers, can use up any spare odd or even cycles and, if the "BLITHOG" (blitter hog) flag is set, Agnus can lock out the even cycles from the CPU in deference to the ''blitter''. Agnus's timings are measured in "color clocks" of 280  ns. This is equivalent to two low resolution (140 ns) pixels or four high resolution (70 ns) pixels. Like Denise, these timings were designed for display on household TVs, and can be synchronized to an external clock source.


Blitter

The ''
blitter A blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, dedicated to the rapid movement and modification of data within a computer's memory. A blitter can copy large quantities of data from one memory area to ano ...
'' is a sub-component of Agnus. "Blit" is shorthand for "block image transfer" or
bit blit Bit blit (also written BITBLT, BIT BLT, BitBLT, Bit BLT, Bit Blt etc., which stands for ''bit block transfer'') is a data operation commonly used in computer graphics in which several bitmaps are combined into one using a '' boolean function''. Th ...
. The blitter is a highly parallel memory transfer and logic operation unit. It has three modes of operation: copying blocks of memory, filling blocks (e.g. polygon filling) and line drawing. The blitter allows rapid copying of video memory, meaning that the CPU can be freed for other tasks. The blitter was primarily used for drawing and redrawing graphics images on the screen, called "bobs", short for "blitter objects". The blitter's block copying mode takes zero to three data sources in memory, called A, B and C, performs a programmable boolean function on the data sources and writes the result to a destination area, D. Any of these four areas can overlap. The blitter runs either from the start of the block to the end, known as "ascending" mode, or in reverse, "descending" mode. Blocks are "rectangular"; they have a "width" in multiples of 16 bits, a height measured in "lines", and a "stride" distance to move from the end of one line to the next. This allows the blitter to operate on any video resolution up to 1,024×1,024 pixels. The copy automatically performs a per-pixel logical operation. These operations are described generically using minterms. This is most commonly used to do direct copies (D = A), or apply a pixel mask around blitted objects (D = (C AND B) OR A). The copy can also barrel shift each line by 0 to 15 pixels. This allows the blitter to draw at pixel offsets that are not exactly multiples of 16. These functions allow the Amiga to move GUI windows around the screen rapidly as each is represented in graphical memory space as a rectangular block of memory which may be shifted to any required screen memory location at will. The blitter's line mode draws single-pixel thick lines using
Bresenham's line algorithm Bresenham's line algorithm is a line drawing algorithm that determines the points of an ''n''-dimensional raster that should be selected in order to form a close approximation to a straight line between two points. It is commonly used to draw li ...
. It can also apply a 16-bit repeating pattern to the line. The line mode can also be used to draw rotated bobs: each line of bob data is used as line pattern while the line mode draws the tilted bob line by line. The blitter's filling mode is used to fill per-line horizontal spans. On each span, it reads each pixel in turn from right to left. Whenever it reads a set pixel, it toggles filling mode on or off. When filling mode is on, it sets every pixel until filling mode is turned off or the line ends. Together, these modes allow the blitter to draw individual flat-shaded polygons. Later Amigas tended to use a combination of a faster CPU and blitter for many operations.


Copper

The ''Copper'' is another sub-component of Agnus; The name is short for "co-processor". The Copper is a programmable
finite-state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
that executes a programmed instruction stream, synchronized with the video hardware. When it is turned on, the Copper has three states; either reading an instruction, executing it, or waiting for a specific video beam position. The Copper runs a program called the ''Copper list'' in parallel with the main CPU. The Copper runs in sync with the video beam, and it can be used to perform various operations which require video synchronization. Most commonly it is used to control video output, but it can write to most of the chipset registers and thus can be used to initiate blits, set audio registers, or interrupt the CPU. The Copper list has three kinds of instructions, each one being a pair of two bytes, four bytes in total: * The MOVE instruction writes a 16-bit value into one of the chipset's hardware registers and is also used to strobe a new address into the Copper's instruction pointer. * The WAIT instruction halts Copper execution until a given beam position is reached, thus making possible to synchronize other instructions with respect to screen drawing. It can also wait for a blitter operation to finish. * The SKIP instruction will skip the following Copper instruction if a given beam position has already been reached. This can be used to create Copper list loops. The length of the Copper list program is limited by execution time. The Copper restarts executing the Copper list at the start of each new video frame. There is no explicit "end" instruction; instead, the WAIT instruction is used to wait for a location which is never reached.


Uses of the Copper

* The Copper is most commonly used to set and reset the video hardware registers at the beginning of each frame. * It can be used to change video settings mid-frame. This allows the Amiga to change video configuration, including resolution, between
scanline A scan line (also scanline) is one line, or row, in a raster scanning pattern, such as a line of video on a cathode ray tube (CRT) display of a television set or computer monitor. On CRT screens the horizontal scan lines are visually discernible, ...
s. This allows the Amiga to display different horizontal resolutions, different color depths, and entirely different frame buffers on the same screen. The
AmigaOS AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
graphical user interface allows two or more programs to operate at different resolutions in different buffers, while all are visible on the screen simultaneously. A paint program might use this feature to allow users to draw directly on a low resolution
Hold-And-Modify Hold-And-Modify, usually abbreviated as HAM, is a display mode of the Commodore Amiga computer. It uses a highly unusual technique to express the color of pixels, allowing many more colors to appear on screen than would otherwise be possible ...
(HAM) screen, while offering a high resolution toolbar at the top or bottom of the screen. * The Copper can also change color registers mid-frame, creating the "
raster bar The raster bar (also referred to as rasterbar or copperbar) is an effect used in demos and older video games that displays animated bars of colour, usually horizontal, which additionally might extend into the border, a.k.a. the otherwise unalte ...
s" effect seen commonly in Amiga games. The Copper can go further than this and change the background color often enough to make a blocky graphics display without using any bitmap graphics at all. * The Copper allows "re-use" of sprites; after a sprite has been drawn at its programmed location, the Copper can then immediately move it to a new location and it will be drawn again, even on the same scanline. * The Copper can trigger an interrupt when the video beam reaches a precise location on the display. This is useful for synchronizing the CPU to the video beam. * The Copper can also be used to program and operate the blitter. This allows blitter operation and control to proceed independently of, and concurrently with, the CPU. * The Copper can be used to produce "sliced
HAM Ham is pork from a leg cut that has been preserved by wet or dry curing, with or without smoking."Bacon: Bacon and Ham Curing" in ''Chambers's Encyclopædia''. London: George Newnes, 1961, Vol. 2, p. 39. As a processed meat, the term "ham ...
", or S-HAM, this consists of building a Copper list that switches the palette on every scanline, improving the choice of base colors in
Hold-And-Modify Hold-And-Modify, usually abbreviated as HAM, is a display mode of the Commodore Amiga computer. It uses a highly unusual technique to express the color of pixels, allowing many more colors to appear on screen than would otherwise be possible ...
mode graphics.


External video timing

Under normal circumstances, the Amiga generates its own video timings, but Agnus also supports synchronising the system to an external signal so as to achieve
genlock Genlock (generator locking) is a common technique where the video output of one source (or a specific reference signal from a signal generator) is used to synchronize other picture sources together. The aim in video applications is to ensure the ...
ing with external video hardware. There is also a 1-bit output on this connector that indicates whether the Amiga is outputting background color or not, permitting easy overlaying of Amiga video onto external video. This made the Amiga particularly attractive as a character generator for titling videos and broadcast work, as it avoided the use and expense of AB roll and chromakey units that would be required without the genlock support. The support of overscan, interlacing and genlocking capabilities, and the fact that the display timing was very close to broadcast standards (NTSC or PAL), made the Amiga the first ideal computer for video purposes, and indeed, it was used in many studios for digitizing video data (sometimes called frame-grabbing), subtitling and interactive video news.


Denise

Denise is programmed to fetch
planar Planar is an adjective meaning "relating to a plane (geometry)". Planar may also refer to: Science and technology * Planar (computer graphics), computer graphics pixel information from several bitplanes * Planar (transmission line technologies), ...
video data from one to five bitplanes and translate that into a color lookup. The number of bitplanes is arbitrary, thus if 32 colors are not needed, 2, 4, 8 or 16 can be used instead. The number of bitplanes (and resolution) can be changed on the fly, usually by the Copper. This allows for very economical use of RAM, and balancing of CPU processing speed vs graphical sophistication when executing from Chip RAM (as modes beyond 4bpp in lores, or 2bpp in hires, use extra DMA channels that can slow or temporarily halt the CPU in addition to the usual non-conflicting channels). There can also be a sixth bitplane, which can be used in three special graphics modes: In Extra-HalfBrite (EHB), if a pixel is set on the sixth bitplane, the brightness of the regular 32 color pixel is halved. Early versions of the Amiga 1000 sold in the
United States The United States of America (U.S.A. or USA), commonly known as the United States (U.S. or US) or America, is a country primarily located in North America. It consists of 50 states, a federal district, five major unincorporated territorie ...
did not have the Extra-HalfBrite mode. In
Hold-and-Modify Hold-And-Modify, usually abbreviated as HAM, is a display mode of the Commodore Amiga computer. It uses a highly unusual technique to express the color of pixels, allowing many more colors to appear on screen than would otherwise be possible ...
(HAM) mode, each 6-bit pixel is interpreted as two control bits and four data bits. The four possible permutations of control bits are "set", "modify red", "modify green" and "modify blue". With "set", the four data bits act like a regular 16-color display look up. With one of the "modify"s, the red, green or blue component of the previous pixel is modified to the data value, and the other two components are held from the previous pixel. This allows all 4096 colors on screen at once and is an example of lossy image compression in hardware. In dual-playfield mode, instead of acting as a single screen, two "playfields" of eight colors each (three bitplanes each) are drawn on top of each other. They are independently scrollable and the background color of the top playfield "shines through" to the underlying playfield. There are two horizontal graphics resolutions, "lowres" with 140 ns pixels and "hires" with 70 ns pixels, with a default of 320 or 640 horizontal pixels wide without using overscan. As the pixel output is regulated by the main system clock, which is based directly on the NTSC colorburst clock, these sizes very nearly fill the width of a standard television with only a thin "underscan" border between the graphics and the screen border when compared to many other contemporary home computers, for an appearance closer to a games console but with finer detail. On top of this, Denise supports reasonably extensive overscan; technically modes with enough data for up to 400 or 800 pixels (+25%) may be specified, although this is only actually useful for scrolling and special effects that involve partial display of large graphics, as a separate hardware limit is met at 368 (or 736) pixels, which is the maximum that will fit between the end of one blanking period and the start of the next - although it is unlikely that even this many pixels will be visible on any display other than a dedicated monitor that allows adjustment of horizontal scan width, as much of the image will, by design, disappear seamlessly behind the screen bezel (or, on LCDs, be cropped off at the edge of the panel). Because of the highly regular structure of the Amiga's timing in relation to scanlines and allocation of DMA resources to various uses besides normal "playfield" graphics, increased horizontal resolution is also a tradeoff between number of pixels and how many hardware sprites are available, as increasing the DMA slots dedicated to playfield video ends up stealing some (from 1 to 7 of the total 8) the sprite engin

Vertical resolution, without overscan, is 200 pixels for a 60 Hz NTSC Amiga or 256 for a 50 Hz PAL Amiga. This can be doubled using an interlaced video, interlaced display, and, as with horizontal resolution, increased using overscan, to a maximum of 241 (or 483) for NTSC, and 283 (or 567) for PAL (interlaced modes gaining one extra line as the maximum is determined by how many lines are taken from the available total by blanking and sync, and the total scanlines in non-interlaced modes are half the original, broadcast-spec odd-numbered interlaced counts, rounded down). Starting with ECS, Denise was upgraded to support "Productivity" mode which allowed for 640x400 non-interlaced albeit with only 4 colors. Denise can composite up to eight 16-pixel-wide sprites per scan line (in automatic mode) on top, underneath, or between playfields, and detect collisions between sprites and the playfields or between sprites. These sprites have three visible colors and one transparent color. Optionally, adjacent pairs of sprites can be "attached" to make a single 15-color sprite. Using Copper or CPU register manipulations, each sprite ''channel'' can be reused multiple times in a single frame to increase the total sprites per frame. Sprite ''position'' registers may also be changed during a scanline, increasing the total number of sprites on a single scanline. However, the sprite ''data'', or shape, is only fetched a single time per scanline and can't change. The first Amiga game to utilize the sprite re-position registers during a scanline was Hybris released in 1988. The Denise chip does not support a dedicated text mode. Finally, Denise is responsible for handling mouse/joystick X/Y inputs. The notion that Denise fetches bit plane and sprite data is a simplification. It is Agnus who is maintaining horizontal and vertical screen position counters and initiating the DRAM read operations. Denise has a number of bit plane registers which hold 16 bits of data each, enough to draw 16 pixels. When Agnus issues a write to register 1, all registers are then transferred into separate shift registers from which pixels are generated (at the same time new values are loaded from DRAM). Denise is not aware of any memory addresses either.


Paula

The Paula chip, designed by Glenn Keller, from
MOS Technology MOS Technology, Inc. ("MOS" being short for Metal Oxide Semiconductor), later known as CSG (Commodore Semiconductor Group) and GMT Microelectronics, was a semiconductor design and fabrication company based in Audubon, Pennsylvania. It is mos ...
, is the interrupt controller, but also includes logic for audio playback, floppy disk drive control, serial port
input/output In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals ...
and mouse/joystick buttons two and three signals. The logic remained functionally identical across all Amiga models from Commodore.


Audio

Paula has four DMA-driven 8-bit PCM sample sound channels. Two sound channels are mixed into the left audio output, and the other two are mixed into the right output, producing
stereo Stereophonic sound, or more commonly stereo, is a method of sound reproduction that recreates a multi-directional, 3-dimensional audible perspective. This is usually achieved by using two independent audio channels through a configuration ...
audio output. The only supported hardware sample format is signed linear 8-bit
two's complement Two's complement is a mathematical operation to reversibly convert a positive binary number into a negative binary number with equivalent (but negative) value, using the binary digit with the greatest place value (the leftmost bit in big- endian ...
. Each sound channel has an independent frequency and a 6-bit volume control (64 levels). Internally, the audio hardware is implemented by four state machines, each having eight different states. Additionally the hardware allows one channel in a channel pair to modulate the other channel's period or amplitude. It is rarely used on the Amiga due to both frequency and volume being controllable in better ways, but could be used to achieve different kinds of
tremolo In music, ''tremolo'' (), or ''tremolando'' (), is a trembling effect. There are two types of tremolo. The first is a rapid reiteration: * Of a single Musical note, note, particularly used on String instrument#Bowing, bowed string instrument ...
and
vibrato Vibrato ( Italian, from past participle of " vibrare", to vibrate) is a musical effect consisting of a regular, pulsating change of pitch. It is used to add expression to vocal and instrumental music. Vibrato is typically characterised in terms ...
, and even rudimentary
FM synthesis Frequency modulation synthesis (or FM synthesis) is a form of sound synthesis whereby the frequency of a waveform is changed by modulating its frequency with a modulator. The frequency of an oscillator is altered "in accordance with the amplitud ...
effects. Audio may be output using two methods. Most often, DMA-driven audio is used. As explained in the discussion of Agnus, memory access is prioritized and one DMA slot per scan line is available for each of the four sound channels. On a regular NTSC or PAL display, DMA audio playback is limited to a maximum output rate of 28,867 values per channel (PAL: 28837) per second totaling 57674 (PAL: 57734) values per second on each stereo output. This rate can be increased with the ECS and AGA chipsets by using a video mode with higher
horizontal scan rate Horizontal scan rate, or horizontal frequency, usually expressed in kilohertz, is the number of times per second that a raster-scan video system transmits or displays a complete horizontal line, as opposed to vertical scan rate The refresh rate ...
. Alternately, Paula may signal the CPU to load a new sample into any of the four audio output buffers by generating an interrupt when a new sample is needed. This allows for output rates that exceed 57 kHz per channel and increases the number of possible voices (simultaneous sounds) through software mixing. The Amiga contains an analog
low-pass filter A low-pass filter is a filter that passes signals with a frequency lower than a selected cutoff frequency and attenuates signals with frequencies higher than the cutoff frequency. The exact frequency response of the filter depends on the filter des ...
(
reconstruction filter In a mixed-signal system ( analog and digital), a reconstruction filter, sometimes called an anti-imaging filter, is used to construct a smooth analog signal from a digital input, as in the case of a digital to analog converter ( DAC) or other samp ...
) which is external to Paula. The filter is a 12 dB/oct
Butterworth Butterworth may refer to: Places * Butterworth (ancient township), a former township centred on Milnrow, in the then Parish of Rochdale, England, United Kingdom * Butterworth, Eastern Cape, now also known as Gcuwa, a town located in South Africa ...
low-pass filter at approximately 3.3 kHz. The filter can only be applied globally to all four channels. In models after the Amiga 1000 (excluding the very first revision of the Amiga 500), the brightness of the power LED is used to indicate the status of the filter. The filter is active when the LED is at normal brightness, and deactivated when dimmed (on early Amiga 500 models the LED went completely off). Models released before Amiga 1200 also have a static "tone knob" type low-pass filter that is enabled regardless of the optional "LED filter". This filter is a 6 dB/oct low-pass filter with cutoff frequency at 4.5 or 5 kHz. A software technique was later developed which can play back 14-bit audio by combining two channels set at different volumes. This results in two 14-bit channels instead of four 8-bit channels. This is achieved by playing the high byte of a 16-bit sample at maximum volume, and the low byte at minimum volume (both ranges overlap, so the low byte needs to be shifted right two bits). The bit shift operation requires a small amount of CPU or blitter overhead, whereas conventional 8-bit playback is almost entirely DMA driven. This technique was incorporated into the retargetable audio subsystem AHI, allowing compatible applications to use this mode transparently.


Floppy disk controller

The floppy controller is unusually flexible. It can read and write raw bit sequences directly from and to the disk via DMA or programmed I/O at 500 (
double density Disk density is a capacity designation on magnetic storage, usually floppy disks. Each designation describes a set of characteristics that can affect the areal density of a disk or the efficiency of the encoded data. Such characteristics include ...
) or 250 kbit/s (
single density Disk density is a capacity designation on magnetic storage, usually floppy disks. Each designation describes a set of characteristics that can affect the areal density of a disk or the efficiency of the encoded data. Such characteristics include ...
or GCR). MFM or GCR were the two most commonly used formats though in theory any
run-length limited Run-length limited or RLL coding is a line coding technique that is used to send arbitrary data over a communications channel with bandwidth limits. RLL codes are defined by four main parameters: ''m'', ''n'', ''d'', ''k''. The first two, ''m'' ...
code could be used. It also provides a number of convenient features, such as sync-on-word (in MFM coding, $4489 is usually used as the
sync word In computer networks, a syncword, sync character, sync sequence or preamble is used to synchronize a data transmission by indicating the end of header information and the start of data. The syncword is a known sequence of data used to identif ...
). MFM encoding/decoding is usually done with the blitter — one pass for decode, three passes for encode. Normally the entire track is read or written in one shot, rather than sector-by-sector; this made it possible to get rid of most of the inter-sector gaps that most floppy disk formats need to safely prevent the "bleeding" of a written sector into the previously-existing header of the next sector due to speed variations of the drive. If all sectors and their headers are always written in one go, such bleeding is only an issue at the end of the track (which still must not bleed back into its beginning), so that only one gap per track is needed. This way, for the native Amiga disk format, the raw storage capacity of 3.5 inch DD disks was increased from the typical 720 KB to 880 KB, although the less-than-ideal
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
of the earlier Amiga models reduced this again to approximately 830 KB of actual payload data. In addition to the native 880 KB 3.5-inch disk format, the controller can handle many foreign formats, such as: *
IBM PC The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
*
Apple II The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
* Mac 800 KB (requires a Mac drive) *
AMAX Mac emulator AMAX is a certification program for AM radio broadcasting standards, created in the United States beginning in 1991 by the Electronic Industries Association (EIA) and the National Association of Broadcasters (NAB). It was developed with the intent ...
(a special floppy of only 200 KB to exchange data between Amiga and Macintosh could be formatted by the Amiga, and it could be read and written by floppy drives of both systems) *
Commodore 1541 The Commodore 1541 (also known as the CBM 1541 and VIC-1541) is a floppy disk drive which was made by Commodore International for the Commodore 64 (C64), Commodore's most popular home computer. The best-known floppy disk drive for the C64, th ...
(requires 5¼-inch drive slowed to 280 rpm) *
Commodore 1581 The Commodore 1581 is a 3½-inch double-sided double-density floppy disk drive that was released by Commodore Business Machines (CBM) in 1987, primarily for its C64 and C128 home/personal computers. The drive stores 800 kilobytes using an M ...
formatted 3½-floppy for C64 and C128 The Amiga 3000 introduced a special, dual-speed floppy drive that also allowed to use high density disks with double capacity without any change to Paula's floppy controller.


Serial port

The serial port is rudimentary, using
programmed input/output Programmed may refer to: * ''Programmed'' (Innerzone Orchestra album), 1999 * ''Programmed'' (Lethal album), 1990 See also * Program (disambiguation) Program, programme, programmer, or programming may refer to: Business and management * P ...
only and lacking a FIFO buffer. However, virtually any bit rate can be selected, including all standard rates,
MIDI MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and re ...
rate, as well as extremely high custom rates.


Origin of the chip names

* The name Agnus is derived from 'Address GeNerator UnitS' since it houses all address registers and controls memory access of the custom chips. * Denise is a contrived contraction of Display ENabler, intended to continue the naming convention. * Paula is a similarly contrived contraction of Ports, Audio,
UART A universal asynchronous receiver-transmitter (UART ) is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least signific ...
and Logic, and coincidentally the chip designer's girlfriend.


Amiga graphics chipset roadmap


See also

*
List of home computers by video hardware This is a list of home computers, sorted alphanumerically, which lists all relevant details of their video hardware. Home computers are the second generation of desktop computers, entering the market in 1977 and becoming common during the 1980s. ...


References

* Miner, Jay et al. (1991). ''Amiga Hardware Reference Manual: Third Edition''.
Addison-Wesley Addison-Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles throu ...
Publishing Company, Inc. .''INTERVIEW , Glenn Keller - Commodore Amiga Paula Chip Designer''


External links


Custom chips
at Amiga History Guide * , filed 1985 {{Amiga hardware Amiga chipsets Graphics chips MOS Technology integrated circuits Sound chips AmigaOS