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

[PREV] [NEXT] [CONTENTS]
Craig Lisowski (clisowsk@mcs.kent.edu)