The chipset which gave the Amiga its unique graphics features consists of three main "custom" chips: Agnus, Denise, and Paula.
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).
Denise also supports interlacing, which doubles the vertical resolution, at the cost of intrusive flickering on typical monitors of that era.
Planar bitmap graphics are used, which splits the individual bits per pixel into separate areas of memory, called bitplanes.
Paula also handles interrupts and various I/O functions including the floppy disk drive, the serial port, and analog joysticks.
Both the central 68000 processor and other members of the chipset have to arbitrate for access to chip RAM via Agnus.
Like Denise, these timings were designed for display on household TVs, and can be synchronized to an external clock source.
The blitter allows rapid copying of video memory, meaning that the CPU can be freed for other tasks.
The Copper is a programmable finite-state machine 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.
This made the Amiga particularly attractive as a character generator for titling videos and broadcast work, as it avoided the use and expense of A/B roll and chroma key units that would be required without the genlock support.
Denise is programmed to fetch planar video data from one to five bitplanes and translate that into a color lookup.
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 low resolution, or 2bpp in high resolution, use extra DMA channels that can slow or temporarily halt the CPU in addition to the usual non-conflicting channels).
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).
[4][5] 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 engine.[1].
Starting with ECS, Denise was upgraded to support "Productivity" mode which allowed for 640x400 non-interlaced albeit with only 4 colors.
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.
It is Agnus who is maintaining horizontal and vertical screen position counters and initiating the DRAM read operations.
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 and vibrato, and even rudimentary FM synthesis effects.
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.
This allows for output rates that exceed 57 kHz per channel and increases the number of possible voices (simultaneous sounds) through software mixing.
A software technique was later developed which can play back 14-bit audio by combining two channels set at different volumes.
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.
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.
In addition to the native 880 KB 3.5-inch disk format, the controller can handle many foreign formats, such as: The Amiga 3000 introduced a special, dual-speed floppy drive that also allowed use of high density disks with double capacity without any change to Paula's floppy controller.