Custom Chip Register List
This is a listing of the Amiga custom registers housed inside the Agnus that control the various custom chips in the OCS, ECS, and AGA chipsets.This is the basis of hardware programming - you use these registers (and the CIA registers) to control all of the computer hardware. Click a register description to read more.
How to access the registers
Most of the registers are write-only - they control the chips' behavior. For a few of them, there are corresponding read-only registers at another address (such as INTENA and INTENAR) where the R signifies that it can be read.Don't read a write-only register, and don't write to a read-only register!
Special registers
A few are 'trigger' registers that start things, such as BLTSIZE which starts the blitter and COPJMP which starts the copper.Some write-only registers have a special clear/set function in bit 15. This means the rest of the value written is a bitpattern mask, where bits are cleared if bit 15=0 and set if bit 15=1. Where the mask bits are 0, the corresponding bits are unaffected.
For example, this sets bits 10 and 6 to give the Blitter priority over the CPU and enable Blitter DMA in DMACON:
move.w #$8440,$dff096
While this clears the audio DMA bits of all four audio channels in DMACON:
move.w #$000f,$dff096
Both the CPU and the Copper can read and write these registers. In the case of the Copper, see the CDANG bit.