Appendix A

Hardware Registers


                          Register                         Shadow          

Name Description Address Name Address

----------------------------------------------------------------------

ALLPOT game paddle ready indicators $D208 53768

AUDC1 Audio channel 1 control $D201 53761

AUDC2 Audio channel 2 control $D203 53763

AUDC3 Audio channel 3 control $D205 53765

AUDC4 Audio channel 1 control $D207 53767

AUDCTL general audio control $D208 53768

AUDF1 Audio frequency 1 control $D200 53760

AUDF2 Audio frequency 2 control $D202 53762

AUDF3 Audio frequency 3 control $D204 53764

AUDF4 Audio frequency 4 control $D206 53766

CHACTL character control $D401 54273 CHART $02F3 755

CHBASE Address of character set / 256 $D409 54281 CHBAS $O2F4 756

COLBK color/brightness of setcolor 4 $D01A 53274 COLOR4 $02C8 712

COLPF0 Color/brightness of setcolor 0 $D016 53270 COLOR0 $02C4 708

COLPF1 color/brightness of setcolor 1 $D017 53271 COLOR1 $02C5 709

COLPF2 color/brightness of setcolor 2 $DO18 53272 COLOR2 $02C6 710

COLPF3 color/brightness of setcolor 3 $DO19 53273 COLOR3 $02C7 711

COLPM0 color/brightness, player/missile 0 $D012 53266 PCOLR0 $02C0 704

COLPM1 color/brightness, player/missile 1 $DO13 53267 PCOLR1 $02C1 705

COLPM2 color/brightness, player/missile 2 $DO14 53268 PCOLR2 $02C2 706

COLPM3 color/brightness, player/missile 3 $DO15 53269 PCOLR3 $02C3 707

CONSOL [START], [SELECT], [OPT.], speaker $D01F 53279

DLISTH display list pointer high byte $D403 54275 SDLSTH $0231 561

DLISTL display list pointer low byte $D402 54274 SDLSTL $0230 560

DMACTL Direct Memory access control (DMA) $D400 54272 SDMCTL $022F 559

GRACTL graphics control $D01D 53277

GRAFM missile graphics $D011 53265

GRAFP0 player 0 graphics $D00D 53261

GRAFP1 player 1 graphics $D00E 53262

GRAFP2 player 2 graphics $D00F 53263

GRAFP3 player 3 graphics $D010 53264

HITCLR clear collisions $D01E 54278

HPOSM0 horizontal position of missile 0 $D004 53252

HPOSM1 horizontal position of missile 1 $D005 53253

HPOSM2 horizontal position of missile 2 $D006 53254

HOPSM3 horizontal position of missile 3 $D007 53255

HPOSP0 horizontal position of player 0 $D000 53248

HPOSP1 horizontal position of player 1 $D001 53249

HPOSP2 horizontal position of player 2 $D002 53250

HPOSP3 horizontal position of player 3 $D003 53251

HSCROL horizontal scroll $D404 54276

IRQEN interrupt request enable (IRQ) $D20E 53774 POKMSK $0010 16

IRQST IRQ status $D20E 53774

KBCODE keyboard code $D209 53769 CH $O2FC 764

M0PF missile 0 to graphics collisions $D000 53248

M0PL missile 0 to player collisions $D008 53256

M1PF missile 1 to graphics collisions $D001 53249

M1PL missile 1 to player collisions $D009 53257

M2PF missile 2 to graphics collisions $D002 53250

M2PL missile 2 to player collisions $D00A 53258

M3PF missile 3 to graphics collisions $D003 53251

M3PL missile 3 to player collisions $D00B 53259

NMIEN non-maskable interrupt enable (NMI)$D40E 54286

NMIRES NMI reset $D40F 54287

NMIST NMI status $D40F 54287

P0PF player 0 to graphics collisions $D004 53252

P0PL player 0 to player collisions $D00C 53260

P1PF player 1 to graphics collisions $D005 53253

P1PL player 1 to player collisions $D00D 53261

P2PF player 2 to graphics collisions $D006 53254

P2PL player 2 to player collisions $D00E 53262

P3PF player 3 to graphics collisions $DOO7 53255

P3PL player 3 to player collisions $D00F 53263

PACTL port A control $D302 54018

PAL Europe/North America TV indicator $D014 53268

PBCLT port B control $D303 54019

PENH light pen horizontal position $D40C 54284 LPENH $0234 564

PENV light pen vertical position $D40D 54285 LPENV $0235 565

PMBASE player/missile address / 256 $D407 54279

PORTA port A $D300 54016 STICK0 $0278 632

STICK1 $0279 634

PORTB port B $D301 54017 STICK2 $027A 634

STICK3 $027B 635

POT0 game paddle 0 $D200 53760 PADDL0 $0270 624

POT1 game paddle 1 $D201 53761 PADDL1 $0271 625

POT2 game paddle 2 $D202 53762 PADDL2 $0272 626

POT3 game paddle 3 $D203 53763 PADDL3 $0273 627

POT4 game paddle 4 $D204 53764 PADDL4 $0274 628

POT5 game paddle 5 $D205 53765 PADDL5 $0275 629

POT6 game paddle 6 $D206 53766 PADDL6 $0276 630

POT7 game paddle 7 $D207 53767 PADDL7 $0277 631

POTGO start pot scan sequence $D20B 53771

PRIOR p/m priority and GTIA mode $D21B 53275 GPRIOR $026F 623

RANDOM random number generator $D20A 53770

SERIN serial port input $D20D 53774

SEROUT serial port output $D20D 53773

SIZEM missile size $D00C 53260

SIZEP0 player 0 size $D008 53256

SIZEP1 player 1 size $D009 53257

SIZEP2 player 2 size $D00A 53258

SIZEP3 player 3 size $D00B 53259

SKCTL serial port control $D20F 53775 SSKCTL $0232 563

SKREST reset serial port status $D20A 53770

SKSTAT serial port status $D20F 53775

STIMER start timer $D209 53769

TRIG0 joystick trigger 0 $D010 53264 STRIG0 $0284 644

TRIG1 joystick trigger 1 $D011 53265 STRIG1 $0285 645

TRIG2 joystick trigger 2 $D012 53266 STRIG2 $0286 646

TRIG3 joystick trigger 3 $D013 53267 STRIG3 $0287 647

VCOUNT vertical line counter $D40B 54283

VDELAY vertical delay $D01C 54276

VSCROL vertical scroll $D405 54277

WSYNC wait for horizontal sync $D40A 54282


NUMERICAL ORDER

Registers sharing addresses are listed first when writen to, then when read from

                          Register                         Shadow          

Name Description Address Name Address

----------------------------------------------------------------------

HPOSP0 horizontal position of player 0 $D000 53248

M0PF missile 0 to graphics collisions $D000 53248

HPOSP1 horizontal position of player 1 $D001 53249

M1PF missile 1 to graphics collisions $D001 53249

HPOSP2 horizontal position of player 2 $D002 53250

M2PF missile 2 to graphics collisions $D002 53250

HPOSP3 horizontal position of player 3 $D003 53251

M3PF missile 3 to graphics collisions $D003 53251

HPOSM0 horizontal position of missile 0 $D004 53252

P0PF player 0 to graphics collisions $D004 53252

HPOSM1 horizontal position of missile 1 $D005 53253

P1PF player 1 to graphics collisions $D005 53253

HPOSM2 horizontal position of missile 2 $D006 53254

P2PF player 2 to graphics collisions $D006 53254

HOPSM3 horizontal position of missile 3 $D007 53255

P3PF player 3 to graphics collisions $D007 53255

SIZEP0 player 0 size $D008 53256

M0PL missile 0 to player collisions $D008 53256

SIZEP1 player 1 size $D009 53257

M1PL missile 1 to player collisions $D009 53257

SIZEP2 player 2 size $D00A 53258

M2PL missile 2 to player collisions $D00A 53258

SIZEP3 player 3 size $D00B 53259

M3PL missile 3 to player collisions $D00B 53259

SIZEM missile size $D00C 53260

P0PL player 0 to player collisions $D00C 53260

GRAFP0 player 0 graphics $D00D 53261

P1PL player 1 to player collisions $D00D 53261

GRAFP1 player 1 graphics $D00E 53262

P2PL player 2 to player collisions $D00E 53262

GRAFP2 player 2 graphics $D00F 53263

P3PL player 3 to player collisions $D00F 53263

GRAFP3 player 3 graphics $D010 53264

TRIG0 joystick trigger 0 $D010 53264 STRIG0 $0284 644

GRAFM missile graphics $D011 53265

TRIG1 joystick trigger 1 $D011 53265 STRIG1 $0285 645

COLPM0 color/brightness, player/missile 0 $D012 53266 PCOLR0 $02C0 704

TRIG2 joystick trigger 2 $D012 53266 STRIG2 $0286 646

COLPM1 color/brightness, player/missile 1 $D013 53267 PCOLR1 $02C1 705

TRIG3 joystick trigger 3 $D013 53267 STRIG3 $0287 647

COLPM2 color/brightness, player/missile 2 $D014 53268 PCOLR2 $02C2 706

PAL Europe/North America TV indicator $D014 53268

COLPM3 color/brightness, player/missile 3 $D015 53269 PCOLR3 $02C3 707

COLPF0 Color/brightness of setcolor 0 $D016 53270 COLOR0 $02C4 708

COLPF1 color/brightness of setcolor 1 $D017 53271 COLOR1 $02C5 709

COLPF2 color/brightness of setcolor 2 $D018 53272 COLOR2 $02C6 710

COLPF3 color/brightness of setcolor 3 $D019 53273 COLOR3 $02C7 711

COLBK color/brightness of setcolor 4 $D01A 53274 COLOR4 $02C8 712

VDELAY vertical delay $D01C 54276

GRACTL graphics control $D01D 53277

HITCLR clear collisions $D01E 54278

CONSOL [START], [SELECT], [OPT.], speaker $D01F 53279

AUDF1 Audio frequency 1 control $D200 53760

POT0 game paddle 0 $D200 53760 PADDL0 $0270 624

AUDC1 Audio channel 1 control $D201 53761

POT1 game paddle 1 $D201 53761 PADDL1 $0271 625

AUDF2 Audio frequency 2 control $D202 53762

POT2 game paddle 2 $D202 53762 PADDL2 $0272 626

AUDC2 Audio channel 2 control $D203 53763

POT3 game paddle 3 $D203 53763 PADDL3 $0273 627

AUDF3 Audio frequency 3 control $D204 53764

POT4 game paddle 4 $D204 53764 PADDL4 $0274 628

AUDC3 Audio channel 3 control $D205 53765

POT5 game paddle 5 $D205 53765 PADDL5 $0275 629

AUDF4 Audio frequency 4 control $D206 53766

POT6 game paddle 6 $D206 53766 PADDL6 $0276 630

AUDC4 Audio channel 1 control $D207 53767

POT7 game paddle 7 $D207 53767 PADDL7 $0277 631

ALLPOT game paddle ready indicators $D208 53768

AUDCTL general audio control $D208 53768

KBCODE keyboard code $D209 53769 CH $O2FC 764

STIMER start timer $D209 53769

RANDOM random number generator $D20A 53770

SKREST reset serial port status $D20A 53770

POTGO start pot scan sequence $D20B 53771

SEROUT serial port output $D20D 53773

SERIN serial port input $D20D 53774

IRQEN interrupt request enable (IRQ) $D20E 53774 POKMSK $0010 16

IRQST IRQ status $D20E 53774

SKCTL serial port control $D20F 53775 SSKCTL $0232 563

SKSTAT serial port status $D20F 53775

PRIOR p/m priority and GTIA mode $D21B 53275 GPRIOR $026F 623

PORTA port A $D300 54016 STICK0 $0278 632

STICK1 $0279 633

PORTB port B $D301 54017 STICK2 $027A 634

STICK3 $027B 635

PACTL port A control $D302 54018

PBCTL port B control $D303 54019

DMACTL Direct Memory access control (DMA) $D400 54272 SDMCTL $022F 559

CHACTL character control $D401 54273 CHART $02F3 755

DLISTL display list pointer low byte $D402 54274 SDLSTL $0230 560

DLISTH display list pointer high byte $D403 54275 SDLSTH $0231 561

HSCROL horizontal scroll $D404 54276

VSCROL vertical scroll $D405 54277

PMBASE player/missile address / 256 $D407 54279

CHBASE Address of character set / 256 $D409 54281 CHBAS $O2F4 756

WSYNC wait for horizontal sync $D40A 54282

VCOUNT vertical line counter $D40B 54283

PENH light pen horizontal position $D40C 54284 LPENH $0234 564

PENV light pen vertical position $D40D 54285 LPENV $0235 565

NMIEN non-maskable interrupt enable (NMI)$D40E 54286

NMIRES NMI reset $D40F 54287

NMIST NMI status $D40F 54287


SHADOW REGISTER ORDER


ALPHEBETICAL ORDER

                          Register                         Shadow          

Name Description Address Name Address

---------------------------------------------------------------------- KBCODE keyboard code $D209 53769 CH $O2FC 764

CHACTL character control $D401 54273 CHART $02F3 755

CHBASE Address of character set / 256 $D409 54281 CHBAS $O2F4 756

COLBK color/brightness of setcolor 4 $D01A 53274 COLOR4 $02C8 712

COLPF0 Color/brightness of setcolor 0 $D016 53270 COLOR0 $02C4 708

COLPF1 color/brightness of setcolor 1 $D017 53271 COLOR1 $02C5 709

COLPF2 color/brightness of setcolor 2 $D018 53272 COLOR2 $02C6 710

COLPF3 color/brightness of setcolor 3 $D019 53273 COLOR3 $02C7 711

PRIOR p/m priority and GTIA mode $D21B 53275 GPRIOR $026F 623

PENH light pen horizontal position $D40C 54284 LPENH $0234 564

PENV light pen vertical position $D40D 54285 LPENV $0235 565

POT0 game paddle 0 $D200 53760 PADDL0 $0270 624

POT1 game paddle 1 $D201 53761 PADDL1 $0271 625

POT2 game paddle 2 $D202 53762 PADDL2 $0272 626

POT3 game paddle 3 $D203 53763 PADDL3 $0273 627

POT4 game paddle 4 $D204 53764 PADDL4 $0274 628

POT5 game paddle 5 $D205 53765 PADDL5 $0275 629

POT6 game paddle 6 $D206 53766 PADDL6 $0276 630

POT7 game paddle 7 $D207 53767 PADDL7 $0277 631

COLPM0 color/brightness, player/missile 0 $D012 53266 PCOLR0 $02C0 704

COLPM1 color/brightness, player/missile 1 $D013 53267 PCOLR1 $02C1 705

COLPM2 color/brightness, player/missile 2 $D014 53268 PCOLR2 $02C2 706

COLPM3 color/brightness, player/missile 3 $D015 53269 PCOLR3 $02C3 707

IRQEN interrupt request enable (IRQ) $D20E 53774 POKMSK $0010 16

DLISTH display list pointer high byte $D403 54275 SDLSTH $0231 561

DLISTL display list pointer low byte $D402 54274 SDLSTL $0230 560

DMACTL Direct Memory access control (DMA) $D400 54272 SDMCTL $022F 559

SKCTL serial port control $D20F 53775 SSKCTL $0232 563

PORTA port A $D300 54016 STICK0 $0278 632

STICK1 $0279 633

PORTB port B $D301 54017 STICK2 $027A 634

STICK3 $027B 635

TRIG0 joystick trigger 0 $D010 53264 STRIG0 $0284 644

TRIG1 joystick trigger 1 $D011 53265 STRIG1 $0285 645

TRIG2 joystick trigger 2 $D012 53266 STRIG2 $0286 646

TRIG3 joystick trigger 3 $D013 53267 STRIG3 $0287 647


NUMERICAL ORDER

     IRQEN  interrupt request enable (IRQ)     $D20E 53774 POKMSK $0010  16

DMACTL Direct Memory access control (DMA) $D400 54272 SDMCTL $022F 559

DLISTL display list pointer low byte $D402 54274 SDLSTL $0230 560

DLISTH display list pointer high byte $D403 54275 SDLSTH $0231 561

SKCTL serial port control $D20F 53775 SSKCTL $0232 563

PENH light pen horizontal position $D40C 54284 LPENH $0234 564

PENV light pen vertical position $D40D 54285 LPENV $0235 565

PRIOR p/m priority and GTIA mode $D21B 53275 GPRIOR $026F 623

POT0 game paddle 0 $D200 53760 PADDL0 $0270 624

POT1 game paddle 1 $D201 53761 PADDL1 $0271 625

POT2 game paddle 2 $D202 53762 PADDL2 $0272 626

POT3 game paddle 3 $D203 53763 PADDL3 $0273 627

POT4 game paddle 4 $D204 53764 PADDL4 $0274 628

POT5 game paddle 5 $D205 53765 PADDL5 $0275 629

POT6 game paddle 6 $D206 53766 PADDL6 $0276 630

POT7 game paddle 7 $D207 53767 PADDL7 $0277 631

PORTA port A $D300 54016 STICK0 $0278 632

STICK1 $0279 633

PORTB port B $D301 54017 STICK2 $027A 634

STICK3 $027B 635

TRIG0 joystick trigger 0 $D010 53264 STRIG0 $0284 644

TRIG1 joystick trigger 1 $D011 53265 STRIG1 $0285 645

TRIG2 joystick trigger 2 $D012 53266 STRIG2 $0286 646

TRIG3 joystick trigger 3 $D013 53267 STRIG3 $0287 647

COLPM0 color/brightness, player/missile 0 $D012 53266 PCOLR0 $02C0 704

COLPM1 color/brightness, player/missile 1 $D013 53267 PCOLR1 $02C1 705

COLPM2 color/brightness, player/missile 2 $D014 53268 PCOLR2 $02C2 706

COLPM3 color/brightness, player/missile 3 $D015 53269 PCOLR3 $02C3 707

COLPF0 Color/brightness of setcolor 0 $D016 53270 COLOR0 $02C4 708

COLPF1 color/brightness of setcolor 1 $D017 53271 COLOR1 $02C5 709

COLPF2 color/brightness of setcolor 2 $D018 53272 COLOR2 $02C6 710

COLPF3 color/brightness of setcolor 3 $D019 53273 COLOR3 $02C7 711

COLBK color/brightness of setcolor 4 $D01A 53274 COLOR4 $02C8 712

CHACTL character control $D401 54273 CHART $02F3 755

CHBASE Address of character set / 256 $D409 54281 CHBAS $O2F4 756

KBCODE keyboard code $D209 53769 CH $O2FC 764


Go to chapter 20
Go to appendix B