This appendix contains information about the register set in address order. The following codes and abbreviations are used in this appendix: & Register used by DMA channel only. % Register used by DMA channel usually, processors sometimes. + Address register pair. Must be an even address pointing to chip memory. * Address not writable by the Copper. ~ Address not writable by the Copper unless the "copper danger bit", copcon is set true. A,D,P A=Agnus chip, D=Denise chip, P=Paula chip. W,R W=write-only; R=read-only, ER Early read. This is a DMA data transfer to RAM, from either the disk or the blitter. RAM timing requires data to be on the bus earlier than microprocessor read cycles. These transfers are therefore initiated by Agnus timing, rather than a read address on the destination address bus. S Strobe (write address with no register bits). Writing the register causes the effect. PTL,PTH Chip memory pointer that addresses DMA data. Must be reloaded by a processor before use (vertical blank for bitplane and sprite pointers, and prior to starting the blitter for blitter pointers). LCL,LCH Chip memory location (starting address) of DMA data. Used to automatically restart pointers, such as the Copper program counter (during vertical blank) and the audio sample counter (whenever the audio length count is finished). MOD 15-bit modulo. A number that is automatically added to the memory address at the end of each line to generate the address for the beginning of the next line. This allows the blitter (or the display window) to operate on (or display) a window of data that is smaller than the actual picture in memory (memory map). Uses 15 bits, plus sign extend. About the ECS registers. ------------------------ Registers denoted with an "(E)" in the chip column means that those registers have been changed in the Enhanced Chip Set (ECS). The ECS is found in the A3000, and is installable in the A500 and A2000. Certain ECS registers are completely new, others have been extended in their functionality. See the register map in appendix c for information on which ecs registers are new and which have been modified. ---------------------------------------------------------------------- NAME ADD R/W CHIP FUNCTION ---------------------------------------------------------------------- bltddat & *000 er a blitter destination early read (dummy address) dmaconr *002 r ap dma control (and blitter status) read vposr *004 r a( e ) read vert most signif. bit (and frame flop) vhposr *006 r a read vert and horiz. position of beam dskdatr & *008 er p disk data early read (dummy address) joy0dat *00a r d joystick-mouse 0 data (vert,horiz) joy1dat *00c r d joystick-mouse 1 data (vert,horiz) clxdat *00e r d collision data register (read and clear) adkconr *010 r p audio, disk control register read pot0dat *012 r p( e ) pot counter pair 0 data (vert,horiz) pot1dat *014 r p( e ) pot counter pair 1 data (vert,horiz) potgor *016 r p pot port data read (formerly potinp) serdatr *018 r p serial port data and status read dskbytr *01a r p disk data byte and status read intenar *01c r p interrupt enable bits read intreqr *01e r p interrupt request bits read dskpth + *020 w a( e ) disk pointer (high 3 bits, 5 bits if ecs) dskptl + *022 w a disk pointer (low 15 bits) dsklen *024 w p disk length dskdat & *026 w p disk dma data write refptr & *028 w a refresh pointer vposw *02a w a write vert most signif. bit (and frame flop) vhposw *02c w a write vert and horiz position of beam copcon *02e w a( e ) coprocessor control register (cdang) serdat *030 w p serial port data and stop bits write serper *032 w p serial port period and control potgo *034 w p pot port data write and start joytest *036 w d write to all four joystick-mouse counters at once strequ & *038 s d strobe for horiz sync with vb and equ strvbl & *03a s d strobe for horiz sync with vb (vert. blank) strhor & *03c s dp strobe for horiz sync strlong & *03e s d( e ) strobe for identification of long horiz. line. bltcon0 ~040 w a blitter control register 0 bltcon1 ~042 w a( e ) blitter control register 1 bltafwm ~044 w a blitter first word mask for source a bltalwm ~046 w a blitter last word mask for source a bltcpth + ~048 w a blitter pointer to source c (high 3 bits) bltcptl + ~04a w a blitter pointer to source c (low 15 bits) bltbpth + ~04c w a blitter pointer to source b (high 3 bits) bltbptl + ~04e w a blitter pointer to source b (low 15 bits) bltapth + ~050 w a( e ) blitter pointer to source a (high 3 bits) bltaptl + ~052 w a blitter pointer to source a (low 15 bits) bltdpth + ~054 w a blitter pointer to destination d (high 3 bits) bltdptl + ~056 w a blitter pointer to destination d (low 15 bits) bltsize ~058 w a blitter start and size (window width,height) bltcon0l ~05a w a( e ) blitter control 0, lower 8 bits (minterms) bltsizv ~05c w a( e ) blitter v size (for 15 bit vertical size) bltsizh ~05e w a( e ) blitter h size and start (for 11 bit h size) bltcmod ~060 w a blitter modulo for source c bltbmod ~062 w a blitter modulo for source b bltamod ~064 w a blitter modulo for source a bltdmod ~066 w a blitter modulo for destination d ~068 ~06A ~06C ~06E bltcdat % ~070 w a blitter source c data register bltbdat % ~072 w a blitter source b data register bltadat % ~074 w a blitter source a data register ~076 SPRHDAT ~078 W A( E ) Ext. logic UHRES sprite pointer and data id ~07A deniseid ~07c r d( e ) chip revision level for denise (video out chip) dsksync ~07e w p disk sync pattern register for disk read cop1lch + 080 w a( e ) coprocessor first location register (high 3 bits, high 5 bits if ECS) cop1lcl + 082 w a coprocessor first location register (low 15 bits) cop2lch + 084 w a( e ) coprocessor second location register (high 3 bits, high 5 bits if ECS) cop2lcl + 086 w a coprocessor second location register (low 15 bits) copjmp1 088 s a coprocessor restart at first location copjmp2 08a s a coprocessor restart at second location copins 08c w a coprocessor instruction fetch identify diwstrt 08e w a display window start (upper left vert-horiz position) diwstop 090 w a display window stop (lower right vert.-horiz. position) ddfstrt 092 w a display bitplane data fetch start (horiz. position) ddfstop 094 w a display bitplane data fetch stop (horiz. position) dmacon 096 w adp dma control write (clear or set) clxcon 098 w d collision control intena 09a w p interrupt enable bits (clear or set bits) intreq 09c w p interrupt request bits (clear or set bits) adkcon 09e w p audio, disk, uart control aud0lch + 0a0 w a( e ) audio channel 0 location (high 3 bits, 5 if ECS) aud0lcl + 0a2 w a audio channel 0 location (low 15 bits) aud0len 0a4 w p audio channel 0 length aud0per 0a6 w p( e ) audio channel 0 period aud0vol 0a8 w p audio channel 0 volume aud0dat & 0aa w p audio channel 0 data 0AC 0AE aud1lch + 0b0 w a audio channel 1 location (high 3 bits) aud1lcl + 0b2 w a audio channel 1 location (low 15 bits) aud1len 0b4 w p audio channel 1 length aud1per 0b6 w p audio channel 1 period aud1vol 0b8 w p audio channel 1 volume aud1dat & 0ba w p audio channel 1 data 0BC 0BE aud2lch + 0c0 w a audio channel 2 location (high 3 bits) aud2lcl + 0c2 w a audio channel 2 location (low 15 bits) aud2len 0c4 w p audio channel 2 length aud2per 0c6 w p audio channel 2 period aud2vol 0c8 w p audio channel 2 volume aud2dat & 0ca w p audio channel 2 data 0CC 0CE aud3lch + 0d0 w a audio channel 3 location (high 3 bits) aud3lcl + 0d2 w a audio channel 3 location (low 15 bits) aud3len 0d4 w p audio channel 3 length aud3per 0d6 w p audio channel 3 period aud3vol 0d8 w p audio channel 3 volume aud3dat & 0da w p audio channel 3 data 0DC 0DE bpl1pth + 0e0 w a bitplane 1 pointer (high 3 bits) bpl1ptl + 0e2 w a bitplane 1 pointer (low 15 bits) bpl2pth + 0e4 w a bitplane 2 pointer (high 3 bits) bpl2ptl + 0e6 w a bitplane 2 pointer (low 15 bits) bpl3pth + 0e8 w a bitplane 3 pointer (high 3 bits) bpl3ptl + 0ea w a bitplane 3 pointer (low 15 bits) bpl4pth + 0ec w a bitplane 4 pointer (high 3 bits) bpl4ptl + 0ee w a bitplane 4 pointer (low 15 bits) bpl5pth + 0f0 w a bitplane 5 pointer (high 3 bits) bpl5ptl + 0f2 w a bitplane 5 pointer (low 15 bits) bpl6pth + 0f4 w a bitplane 6 pointer (high 3 bits) bpl6ptl + 0f6 w a bitplane 6 pointer (low 15 bits) 0F8 0FA 0FC 0FE bplcon0 100 w ad( e ) bitplane control register (misc. control bits) bplcon1 102 w d bitplane control reg. (scroll value PF1, PF2) bplcon2 104 w d( e ) bitplane control reg. (priority control) bplcon3 106 w d( e ) bitplane control (enhanced features) bpl1mod 108 w a bitplane modulo (odd planes) bpl2mod 10a w a bitplane modulo (even planes) 10C 10E bpl1dat & 110 w d bitplane 1 data (parallel-to-serial convert) bpl2dat & 112 w d bitplane 2 data (parallel-to-serial convert) bpl3dat & 114 w d bitplane 3 data (parallel-to-serial convert) bpl4dat & 116 w d bitplane 4 data (parallel-to-serial convert) bpl5dat & 118 w d bitplane 5 data (parallel-to-serial convert) bpl6dat & 11a w d bitplane 6 data (parallel-to-serial convert) 11C 11E spr0pth + 120 w a sprite 0 pointer (high 3 bits) spr0ptl + 122 w a sprite 0 pointer (low 15 bits) spr1pth + 124 w a sprite 1 pointer (high 3 bits) spr1ptl + 126 w a sprite 1 pointer (low 15 bits) spr2pth + 128 w a sprite 2 pointer (high 3 bits) spr2ptl + 12a w a sprite 2 pointer (low 15 bits) spr3pth + 12c w a sprite 3 pointer (high 3 bits) spr3ptl + 12e w a sprite 3 pointer (low 15 bits) spr4pth + 130 w a sprite 4 pointer (high 3 bits) spr4ptl + 132 w a sprite 4 pointer (low 15 bits) spr5pth + 134 w a sprite 5 pointer (high 3 bits) spr5ptl + 136 w a sprite 5 pointer (low 15 bits) spr6pth + 138 w a sprite 6 pointer (high 3 bits) spr6ptl + 13a w a sprite 6 pointer (low 15 bits) spr7pth + 13c w a sprite 7 pointer (high 3 bits) spr7ptl + 13e w a sprite 7 pointer (low 15 bits) spr0pos % 140 w ad sprite 0 vert-horiz start position data spr0ctl % 142 w ad( e ) sprite 0 vert stop position and control data spr0data % 144 w d sprite 0 image data register a spr0datb % 146 w d sprite 0 image data register b spr1pos % 148 w ad sprite 1 vert-horiz start position data spr1ctl % 14a w ad sprite 1 vert stop position and control data spr1data % 14c w d sprite 1 image data register a spr1datb % 14e w d sprite 1 image data register b spr2pos % 150 w ad sprite 2 vert-horiz start position data spr2ctl % 152 w ad sprite 2 vert stop position and control data spr2data % 154 w d sprite 2 image data register a spr2datb % 156 w d sprite 2 image data register b spr3pos % 158 w ad sprite 3 vert-horiz start position data spr3ctl % 15a w ad sprite 3 vert stop position and control data spr3data % 15c w d sprite 3 image data register a spr3datb % 15e w d sprite 3 image data register b spr4pos % 160 w ad sprite 4 vert-horiz start position data spr4ctl % 162 w ad sprite 4 vert stop position and control data spr4data % 164 w d sprite 4 image data register a spr4datb % 166 w d sprite 4 image data register b spr5pos % 168 w ad sprite 5 vert-horiz start position data spr5ctl % 16a w ad sprite 5 vert stop position and control data spr5data % 16c w d sprite 5 image data register a spr5datb % 16e w d sprite 5 image data register b spr6pos % 170 w ad sprite 6 vert-horiz start position data spr6ctl % 172 w ad sprite 6 vert stop position and control data spr6data % 174 w d sprite 6 image data register a spr6datb % 176 w d sprite 6 image data register b spr7pos % 178 w ad sprite 7 vert-horiz start position data spr7ctl % 17a w ad sprite 7 vert stop position and control data spr7data % 17c w d sprite 7 image data register a spr7datb % 17e w d sprite 7 image data register b color00 180 w d color table 00 color01 182 w d color table 01 color02 184 w d color table 02 color03 186 w d color table 03 color04 188 w d color table 04 color05 18a w d color table 05 color06 18c w d color table 06 color07 18e w d color table 07 color08 190 w d color table 08 color09 192 w d color table 09 color10 194 w d color table 10 color11 196 w d color table 11 color12 198 w d color table 12 color13 19a w d color table 13 color14 19c w d color table 14 color15 19e w d color table 15 color16 1a0 w d color table 16 color17 1a2 w d color table 17 color18 1a4 w d color table 18 color19 1a6 w d color table 19 color20 1a8 w d color table 20 color21 1aa w d color table 21 color22 1ac w d color table 22 color23 1ae w d color table 23 color24 1b0 w d color table 24 color25 1b2 w d color table 25 color26 1b4 w d color table 26 color27 1b6 w d color table 27 color28 1b8 w d color table 28 color29 1ba w d color table 29 color30 1bc w d color table 30 color31 1be w d color table 31 htotal 1c0 w a( e ) highest number count, horiz line (VARBEAMEN=1) hsstop 1c2 w a( e ) horizontal line position for hsync stop hbstrt 1c4 w a( e ) horizontal line position for hblank start hbstop 1c6 w a( e ) horizontal line position for hblank stop vtotal 1c8 w a( e ) highest numbered vertical line (VARBEAMEN=1) vsstop 1ca w a( e ) vertical line position for vsync stop vbstrt 1cc w a( e ) vertical line for vblank start vbstop 1ce w a( e ) vertical line for vblank stop 1D0 Reserved 1D2 Reserved 1D4 Reserved 1D6 Reserved 1D8 Reserved 1DA Reserved beamcon0 1dc w a( e ) beam counter control register (shres,pal) hsstrt 1de w a( e ) horizontal sync start (varhsy) vsstrt 1e0 w a( e ) vertical sync start (varvsy) hcenter 1e2 w a( e ) horizontal position for vsync on interlace diwhigh 1e4 w ad( e ) display window - upper bits for start, stop RESERVED 1110X RESERVED 1111X NO-OP(NULL) 1FE