Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Custom chip registers

These ASCII Markdown pages supply Copperline’s IO Map, debugger console, control protocol, DAP adapter, and VS Code register tree. Offsets are relative to $DFF000. Access descriptions give the usual CPU-visible direction; individual pages describe exceptions such as AGA palette readback. Debugger inspection can also show internal latches behind write-only registers.

Field names follow Amiga Hardware Reference Manual terminology. The pages also describe Copperline’s implementation limits, including registers that are only latched or have no effect. They are a programming reference for the emulator, not a complete specification of external chip signals.

(ECS/AGA) and (AGA) mark fields that exist only on those chipsets. (not emulated) marks fields and registers that have no effect in Copperline; some of them are still stored for the debugger.

build.rs compiles the pages into the emulator, so each one keeps the same layout: the # NAME, Offset:, Access: and Chipset: lines, a one-paragraph summary (the text the debugger shows), and a ## Bitfields section. Pages must stay ASCII and sort by offset.

OffsetRegisterAccessChipset
$000BLTDDATreadOCS/ECS/AGA
$002DMACONRreadOCS/ECS/AGA
$004VPOSRreadOCS/ECS/AGA
$006VHPOSRreadOCS/ECS/AGA
$008DSKDATRreadOCS/ECS/AGA
$00AJOY0DATreadOCS/ECS/AGA
$00CJOY1DATreadOCS/ECS/AGA
$00ECLXDATreadOCS/ECS/AGA
$010ADKCONRreadOCS/ECS/AGA
$012POT0DATreadOCS/ECS/AGA
$014POT1DATreadOCS/ECS/AGA
$016POTGORreadOCS/ECS/AGA
$018SERDATRreadOCS/ECS/AGA
$01ADSKBYTRreadOCS/ECS/AGA
$01CINTENARreadOCS/ECS/AGA
$01EINTREQRreadOCS/ECS/AGA
$020DSKPTHwriteOCS/ECS/AGA
$022DSKPTLwriteOCS/ECS/AGA
$024DSKLENwriteOCS/ECS/AGA
$026DSKDATwriteOCS/ECS/AGA
$028REFPTRwriteOCS/ECS/AGA
$02AVPOSWwriteOCS/ECS/AGA
$02CVHPOSWwriteOCS/ECS/AGA
$02ECOPCONwriteOCS/ECS/AGA
$030SERDATwriteOCS/ECS/AGA
$032SERPERwriteOCS/ECS/AGA
$034POTGOwriteOCS/ECS/AGA
$036JOYTESTwriteOCS/ECS/AGA
$038STREQUwriteOCS/ECS/AGA
$03ASTRVBLwriteOCS/ECS/AGA
$03CSTRHORwriteOCS/ECS/AGA
$03ESTRLONGwriteOCS/ECS/AGA
$040BLTCON0writeOCS/ECS/AGA
$042BLTCON1writeOCS/ECS/AGA
$044BLTAFWMwriteOCS/ECS/AGA
$046BLTALWMwriteOCS/ECS/AGA
$048BLTCPTHwriteOCS/ECS/AGA
$04ABLTCPTLwriteOCS/ECS/AGA
$04CBLTBPTHwriteOCS/ECS/AGA
$04EBLTBPTLwriteOCS/ECS/AGA
$050BLTAPTHwriteOCS/ECS/AGA
$052BLTAPTLwriteOCS/ECS/AGA
$054BLTDPTHwriteOCS/ECS/AGA
$056BLTDPTLwriteOCS/ECS/AGA
$058BLTSIZEwriteOCS/ECS/AGA
$05ABLTCON0LwriteECS/AGA
$05CBLTSIZVwriteECS/AGA
$05EBLTSIZHwriteECS/AGA
$060BLTCMODwriteOCS/ECS/AGA
$062BLTBMODwriteOCS/ECS/AGA
$064BLTAMODwriteOCS/ECS/AGA
$066BLTDMODwriteOCS/ECS/AGA
$070BLTCDATwriteOCS/ECS/AGA
$072BLTBDATwriteOCS/ECS/AGA
$074BLTADATwriteOCS/ECS/AGA
$078SPRHDATwriteECS/AGA
$07ABPLHDATwriteECS/AGA
$07CDENISEIDreadECS/AGA
$07EDSKSYNCwriteOCS/ECS/AGA
$080COP1LCHwriteOCS/ECS/AGA
$082COP1LCLwriteOCS/ECS/AGA
$084COP2LCHwriteOCS/ECS/AGA
$086COP2LCLwriteOCS/ECS/AGA
$088COPJMP1writeOCS/ECS/AGA
$08ACOPJMP2writeOCS/ECS/AGA
$08CCOPINSwriteOCS/ECS/AGA
$08EDIWSTRTwriteOCS/ECS/AGA
$090DIWSTOPwriteOCS/ECS/AGA
$092DDFSTRTwriteOCS/ECS/AGA
$094DDFSTOPwriteOCS/ECS/AGA
$096DMACONwriteOCS/ECS/AGA
$098CLXCONwriteOCS/ECS/AGA
$09AINTENAwriteOCS/ECS/AGA
$09CINTREQwriteOCS/ECS/AGA
$09EADKCONwriteOCS/ECS/AGA
$0A0AUD0LCHwriteOCS/ECS/AGA
$0A2AUD0LCLwriteOCS/ECS/AGA
$0A4AUD0LENwriteOCS/ECS/AGA
$0A6AUD0PERwriteOCS/ECS/AGA
$0A8AUD0VOLwriteOCS/ECS/AGA
$0AAAUD0DATwriteOCS/ECS/AGA
$0B0AUD1LCHwriteOCS/ECS/AGA
$0B2AUD1LCLwriteOCS/ECS/AGA
$0B4AUD1LENwriteOCS/ECS/AGA
$0B6AUD1PERwriteOCS/ECS/AGA
$0B8AUD1VOLwriteOCS/ECS/AGA
$0BAAUD1DATwriteOCS/ECS/AGA
$0C0AUD2LCHwriteOCS/ECS/AGA
$0C2AUD2LCLwriteOCS/ECS/AGA
$0C4AUD2LENwriteOCS/ECS/AGA
$0C6AUD2PERwriteOCS/ECS/AGA
$0C8AUD2VOLwriteOCS/ECS/AGA
$0CAAUD2DATwriteOCS/ECS/AGA
$0D0AUD3LCHwriteOCS/ECS/AGA
$0D2AUD3LCLwriteOCS/ECS/AGA
$0D4AUD3LENwriteOCS/ECS/AGA
$0D6AUD3PERwriteOCS/ECS/AGA
$0D8AUD3VOLwriteOCS/ECS/AGA
$0DAAUD3DATwriteOCS/ECS/AGA
$0E0BPL1PTHwriteOCS/ECS/AGA
$0E2BPL1PTLwriteOCS/ECS/AGA
$0E4BPL2PTHwriteOCS/ECS/AGA
$0E6BPL2PTLwriteOCS/ECS/AGA
$0E8BPL3PTHwriteOCS/ECS/AGA
$0EABPL3PTLwriteOCS/ECS/AGA
$0ECBPL4PTHwriteOCS/ECS/AGA
$0EEBPL4PTLwriteOCS/ECS/AGA
$0F0BPL5PTHwriteOCS/ECS/AGA
$0F2BPL5PTLwriteOCS/ECS/AGA
$0F4BPL6PTHwriteOCS/ECS/AGA
$0F6BPL6PTLwriteOCS/ECS/AGA
$0F8BPL7PTHwriteAGA
$0FABPL7PTLwriteAGA
$0FCBPL8PTHwriteAGA
$0FEBPL8PTLwriteAGA
$100BPLCON0writeOCS/ECS/AGA
$102BPLCON1writeOCS/ECS/AGA
$104BPLCON2writeOCS/ECS/AGA
$106BPLCON3writeECS/AGA
$108BPL1MODwriteOCS/ECS/AGA
$10ABPL2MODwriteOCS/ECS/AGA
$10CBPLCON4writeAGA
$10ECLXCON2writeAGA
$110BPL1DATwriteOCS/ECS/AGA
$112BPL2DATwriteOCS/ECS/AGA
$114BPL3DATwriteOCS/ECS/AGA
$116BPL4DATwriteOCS/ECS/AGA
$118BPL5DATwriteOCS/ECS/AGA
$11ABPL6DATwriteOCS/ECS/AGA
$11CBPL7DATwriteAGA
$11EBPL8DATwriteAGA
$120SPR0PTHwriteOCS/ECS/AGA
$122SPR0PTLwriteOCS/ECS/AGA
$124SPR1PTHwriteOCS/ECS/AGA
$126SPR1PTLwriteOCS/ECS/AGA
$128SPR2PTHwriteOCS/ECS/AGA
$12ASPR2PTLwriteOCS/ECS/AGA
$12CSPR3PTHwriteOCS/ECS/AGA
$12ESPR3PTLwriteOCS/ECS/AGA
$130SPR4PTHwriteOCS/ECS/AGA
$132SPR4PTLwriteOCS/ECS/AGA
$134SPR5PTHwriteOCS/ECS/AGA
$136SPR5PTLwriteOCS/ECS/AGA
$138SPR6PTHwriteOCS/ECS/AGA
$13ASPR6PTLwriteOCS/ECS/AGA
$13CSPR7PTHwriteOCS/ECS/AGA
$13ESPR7PTLwriteOCS/ECS/AGA
$140SPR0POSwriteOCS/ECS/AGA
$142SPR0CTLwriteOCS/ECS/AGA
$144SPR0DATAwriteOCS/ECS/AGA
$146SPR0DATBwriteOCS/ECS/AGA
$148SPR1POSwriteOCS/ECS/AGA
$14ASPR1CTLwriteOCS/ECS/AGA
$14CSPR1DATAwriteOCS/ECS/AGA
$14ESPR1DATBwriteOCS/ECS/AGA
$150SPR2POSwriteOCS/ECS/AGA
$152SPR2CTLwriteOCS/ECS/AGA
$154SPR2DATAwriteOCS/ECS/AGA
$156SPR2DATBwriteOCS/ECS/AGA
$158SPR3POSwriteOCS/ECS/AGA
$15ASPR3CTLwriteOCS/ECS/AGA
$15CSPR3DATAwriteOCS/ECS/AGA
$15ESPR3DATBwriteOCS/ECS/AGA
$160SPR4POSwriteOCS/ECS/AGA
$162SPR4CTLwriteOCS/ECS/AGA
$164SPR4DATAwriteOCS/ECS/AGA
$166SPR4DATBwriteOCS/ECS/AGA
$168SPR5POSwriteOCS/ECS/AGA
$16ASPR5CTLwriteOCS/ECS/AGA
$16CSPR5DATAwriteOCS/ECS/AGA
$16ESPR5DATBwriteOCS/ECS/AGA
$170SPR6POSwriteOCS/ECS/AGA
$172SPR6CTLwriteOCS/ECS/AGA
$174SPR6DATAwriteOCS/ECS/AGA
$176SPR6DATBwriteOCS/ECS/AGA
$178SPR7POSwriteOCS/ECS/AGA
$17ASPR7CTLwriteOCS/ECS/AGA
$17CSPR7DATAwriteOCS/ECS/AGA
$17ESPR7DATBwriteOCS/ECS/AGA
$180COLOR00writeOCS/ECS/AGA
$182COLOR01writeOCS/ECS/AGA
$184COLOR02writeOCS/ECS/AGA
$186COLOR03writeOCS/ECS/AGA
$188COLOR04writeOCS/ECS/AGA
$18ACOLOR05writeOCS/ECS/AGA
$18CCOLOR06writeOCS/ECS/AGA
$18ECOLOR07writeOCS/ECS/AGA
$190COLOR08writeOCS/ECS/AGA
$192COLOR09writeOCS/ECS/AGA
$194COLOR10writeOCS/ECS/AGA
$196COLOR11writeOCS/ECS/AGA
$198COLOR12writeOCS/ECS/AGA
$19ACOLOR13writeOCS/ECS/AGA
$19CCOLOR14writeOCS/ECS/AGA
$19ECOLOR15writeOCS/ECS/AGA
$1A0COLOR16writeOCS/ECS/AGA
$1A2COLOR17writeOCS/ECS/AGA
$1A4COLOR18writeOCS/ECS/AGA
$1A6COLOR19writeOCS/ECS/AGA
$1A8COLOR20writeOCS/ECS/AGA
$1AACOLOR21writeOCS/ECS/AGA
$1ACCOLOR22writeOCS/ECS/AGA
$1AECOLOR23writeOCS/ECS/AGA
$1B0COLOR24writeOCS/ECS/AGA
$1B2COLOR25writeOCS/ECS/AGA
$1B4COLOR26writeOCS/ECS/AGA
$1B6COLOR27writeOCS/ECS/AGA
$1B8COLOR28writeOCS/ECS/AGA
$1BACOLOR29writeOCS/ECS/AGA
$1BCCOLOR30writeOCS/ECS/AGA
$1BECOLOR31writeOCS/ECS/AGA
$1C0HTOTALwriteECS/AGA
$1C2HSSTOPwriteECS/AGA
$1C4HBSTRTwriteECS/AGA
$1C6HBSTOPwriteECS/AGA
$1C8VTOTALwriteECS/AGA
$1CAVSSTOPwriteECS/AGA
$1CCVBSTRTwriteECS/AGA
$1CEVBSTOPwriteECS/AGA
$1D0SPRHSTRTwriteECS/AGA
$1D2SPRHSTOPwriteECS/AGA
$1D4BPLHSTRTwriteECS/AGA
$1D6BPLHSTOPwriteECS/AGA
$1D8HHPOSWwriteECS/AGA
$1DAHHPOSRreadECS/AGA
$1DCBEAMCON0writeECS/AGA
$1DEHSSTRTwriteECS/AGA
$1E0VSSTRTwriteECS/AGA
$1E2HCENTERwriteECS/AGA
$1E4DIWHIGHwriteECS/AGA
$1E6BPLHMODwriteECS/AGA
$1E8SPRHPTHwriteECS/AGA
$1EASPRHPTLwriteECS/AGA
$1ECBPLHPTHwriteECS/AGA
$1EEBPLHPTLwriteECS/AGA
$1FCFMODEwriteAGA
$1FENO-OPwriteECS/AGA