First commit main
authorHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 06:46:20 +0000 (02:46 -0400)
committerHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 06:46:20 +0000 (02:46 -0400)
A30611.XX [new file with mode: 0644]
AVALAN.DOC [new file with mode: 0644]
AVALCH.MAP [new file with mode: 0644]

diff --git a/A30611.XX b/A30611.XX
new file mode 100644 (file)
index 0000000..2a6a662
--- /dev/null
+++ b/A30611.XX
@@ -0,0 +1,2339 @@
+       .TITLE  MASS\r
+       .RADIX  16\r
+       .ASECT\r
+MAXOB  =0A\r
+CODE:  .BLKB MAXOB\r
+OCD:   .BLKB MAXOB\r
+MODE:  .BLKB MAXOB\r
+TOG:   .BLKB 1\r
+TARG:  .BLKB 1\r
+SCRH:  .BLKB 2\r
+LNUM:  .BLKB 1\r
+HPOS:  .BLKB MAXOB\r
+VPOS:  .BLKB MAXOB\r
+CODET: .BLKB MAXOB\r
+MODET: .BLKB MAXOB\r
+HPOST: .BLKB MAXOB\r
+VPOST: .BLKB MAXOB\r
+OCDT:  .BLKB MAXOB\r
+VPOSL: .BLKB MAXOB\r
+TUP:   .BLKB 1\r
+COINS: .BLKB 1\r
+CREDIT:        .BLKB 1\r
+POLY:  .BLKB 1\r
+FRAME: .BLKB 2\r
+HNUM:  .BLKB 1\r
+ATRK:  .BLKB 1\r
+TEMP1: .BLKB 2\r
+TEMP2: .BLKB 2\r
+TEMP3: .BLKB 2\r
+TEMP4: .BLKB 2\r
+DONE:  .BLKB 1\r
+TIME:  .BLKB 1\r
+HEATS: .BLKB 1\r
+AMT:   .BLKB 2\r
+VALU:  .BLKB 1\r
+LCNT:  .BLKB 1\r
+CNT:   .BLKB 1\r
+POS:   .BLKB 2\r
+LIM:   .BLKB 1\r
+SCORE: .BLKB 2\r
+PTR:   .BLKB 2\r
+TEMP5: .BLKB 2\r
+TEMP6: .BLKB 2\r
+PFLG:  .BLKB 1\r
+SCR2:  .BLKB 2\r
+TIMER: .BLKB 2\r
+SCRT:  .BLKB 2\r
+EPLY:  .BLKB 2\r
+EFLG:  .BLKB 2\r
+SNUM:  .BLKB 1\r
+RTEST: .BLKB 2\r
+PIK:   .BLKB 3\r
+LOBJ:  .BLKB 1\r
+SFLG0: .BLKB 1\r
+SFLG1:  .BLKB 1\r
+SFLG2: .BLKB 1\r
+SFLG3: .BLKB 1\r
+SFLG4: .BLKB 1\r
+TEMP7: .BLKB 2\r
+KOIN1:  .BLKB 2\r
+FFLG:  .BLKB 2\r
+LOBJS: .BLKB 1\r
+LNUMS: .BLKB 1\r
+EFLAG:  .BLKB 2\r
+ARR:   .BLKB 32.\r
+       .=100\r
+SAVR1: .BLKB 3*MAXOB+5\r
+SAVR2: .BLKB 3*MAXOB+5\r
+SAVS1: .BLKB 34.\r
+SAVS2: .BLKB 34.\r
+SAVM:  .BLKB 32.\r
+PAD1   =7776.\r
+PAD2   =7008.\r
+PAD3   =6240.\r
+PAD4   =5472.\r
+PAD5   =4704.\r
+PAD6   =3936.\r
+TEST   =3000\r
+TESTV  =0AA\r
+MAXOB  =0A\r
+SB     =2001\r
+SW     =2000\r
+HCON   =2002\r
+SOUND1 =4004\r
+SOUND2 =4005\r
+SOUND3 =4006\r
+SLITE  =4007\r
+SCON   =5000\r
+ATR    =4001\r
+CLITE  =4000\r
+CLITE2 =4003\r
+VINT   =4002\r
+AMODE  =2001\r
+CSW    =2000\r
+COINAD =2001\r
+TREST  =3000\r
+       .SBTTL  POWER ON LOGIC\r
+       .ASECT\r
+       .=6800\r
+PWRON: SEI                     ;POWER ON,LOCKOUT IRQ\r
+       CLD                     ;CLEAR DECIMAL MODE\r
+       LDX     I,0FF           ;SET UP STACK\r
+       TXS\r
+       LDA     A,TEST          ;PRODUCTION DIAGNOSTIC PRESENT?\r
+       CMP     I,TESTV\r
+       BNE     BEGIN           ;NO,START PROGRAM\r
+       JMP     TEST            ;YES, GO TO DIAGNOSTIC\r
+BEGIN: JSR     SETUP           ;DO POWER ON INITIALIZATION\r
+MAIN:  JSR     ATRACT\r
+       JSR     START\r
+       JMP     MAIN\r
+       .SBTTL  ATTRACT ROUTINE\r
+ATRACT:        LDA     I,0\r
+       STA     ATRK\r
+       LDA     I,1\r
+       STA     A,ATR\r
+       JSR ISET\r
+       JSR     INITL\r
+       JSR     EOUT\r
+A5:    LDA     I,0\r
+       STA     TIMER\r
+       STA     TIMER+1\r
+A1:    JSR     PLAY\r
+       JSR     WAIT\r
+       JSR CNTRL\r
+       JSR OUTPT\r
+       JSR     OBJ\r
+       LDA     CREDIT\r
+       BNE     A2\r
+       INC     TIMER\r
+       BNE     A1\r
+       LDA     I,0\r
+       STA     TIMER\r
+       INC     TIMER+1\r
+       LDA     TIMER+1\r
+       CMP     I,6\r
+       BNE     A1\r
+       JMP     ATRACT\r
+A2:    RTS\r
+       .SBTTL  START ROUTINE\r
+START: LDA     I,0\r
+       STA     HNUM\r
+       STA PFLG\r
+       LDA EFLG                ;CHECK EXTENDED PLAY FLAGS\r
+       CMP I,2                 ;IF 0, DO NOTHING\r
+       BNE 10$                 ;IF 1, MAKE IT 2\r
+       LDA I,0                 ;IF 2, RESET IT\r
+       STA EFLG\r
+       BEQ 15$\r
+10$:   CMP I,1\r
+       BNE 15$\r
+       INC EFLG\r
+15$:   LDA EFLG+1\r
+       CMP I,2\r
+       BNE 11$\r
+       LDA I,0\r
+       STA EFLG+1\r
+       BEQ 12$\r
+11$:   CMP I,1\r
+       BNE 12$\r
+       INC EFLG+1\r
+12$:   JSR ISET\r
+       JSR RSET\r
+       JSR     INITL\r
+       JSR     EOUT\r
+       LDA     I,1\r
+       STA     A,CLITE         ;TURN ON 1-PLAYER START LITE\r
+6$:    LDA     CREDIT\r
+       CMP     I,2             ;ENOUGH CREDIT FOR 2-PLAYER?\r
+       BCC     1$              ;NO\r
+       LDA     I,1             ;YES,TURN ON 2-PLAYER START LITE\r
+       STA     A,CLITE2\r
+1$:    LDA     A,SW\r
+       AND     I,80            ;START 1?\r
+       BEQ     2$              ;NO\r
+       LDA     I,1             ;YES,SET ATRK=1\r
+       STA     ATRK\r
+       DEC     CREDIT\r
+       LDA I,0\r
+       STA     A,CLITE2        ;MAKE SURE 2-PLAY LITE OUT\r
+       BPL     3$\r
+2$:    LDA     A,SW\r
+       AND     I,40            ;START 2?\r
+       BEQ     4$              ;NO\r
+       LDA     CREDIT          ;YES,ENOUGH CREDIT?\r
+       CMP     I,2\r
+       BCC     4$              ;NO\r
+       LDA     I,2             ;YES,SET ATRK=2\r
+       STA     ATRK\r
+       DEC     CREDIT\r
+       DEC     CREDIT\r
+       LDA     I,0\r
+       STA     A,CLITE         ;MAKE SURE 1-PLAY LITE OUT\r
+       BPL     3$\r
+4$:    JSR     WAIT            ;LOOK FOR COINS\r
+       JSR     CNTRL\r
+       JSR     OUTPT\r
+       JSR     HSCR\r
+       JMP     6$\r
+3$:    JSR ISET\r
+       LDA     I,0\r
+       STA     PFLG            ;SET TO PLAYER 1\r
+       STA     SCORE\r
+       STA     SCORE+1\r
+       STA     SCR2\r
+       STA     SCR2+1\r
+       STA EFLAG\r
+       STA EFLAG+1\r
+S6:    JSR RSET\r
+       JSR     INITL\r
+S5:    LDA     A,SB            ;WAIT FOR SERVE BUTTON\r
+       ASL\r
+       BMI     S1\r
+       JSR     CNTRL\r
+       JSR     WAIT\r
+       JSR     OUTPT\r
+       JSR     HSCR\r
+       LDA     FRAME           ;FLASH PLAYER UP\r
+       AND     I,10\r
+       BEQ     1$\r
+       LDA     I,0\r
+       STA     A,SLITE\r
+       LDA     I,1\r
+       JSR     MESS\r
+       LDA     ATRK            ;IN 1-PLAYER GAME DO NOT\r
+       CMP     I,1             ;WRITE PLAYER-2 TO SCREEN\r
+       BEQ     4$\r
+       LDA     I,5\r
+       BNE     2$\r
+1$:    LDA     I,1\r
+       STA     A,SLITE\r
+       LDA     PFLG\r
+       BNE     3$\r
+       LDA     I,81\r
+       BNE     2$\r
+3$:    LDA     I,85\r
+2$:    JSR     MESS\r
+4$:    INC     FRAME\r
+       BNE S5                  ;AUTO-SERVE\r
+S1:    JSR     INITL\r
+       LDA     I,0\r
+       STA     A,ATR           ;TURN OFF ATTRACT\r
+       LDA I,0\r
+       STA     A,SLITE\r
+       LDA I,1\r
+       STA SFLG1\r
+S4:    JSR     PLAY\r
+       LDA     DONE            ;DONE WITH HEAT?\r
+       BNE     S2              ;YES\r
+S200:  JSR     WAIT            ;NO,WAIT FOR VBLANK\r
+       JSR     OUTPT           ;UPDATE OBJECTS\r
+       JSR     OBJ\r
+       JSR     HSCR\r
+       JMP     S4\r
+S2:    JSR SAVE\r
+       LDA I,0\r
+       STA SFLG1\r
+       LDA I,07F\r
+       STA FRAME\r
+8$:    JSR WAIT\r
+       INC FRAME\r
+       BNE 8$\r
+       LDA ATRK\r
+       CMP I,2\r
+       BNE 26$\r
+       LDA PFLG\r
+       BNE 26$\r
+       INC PFLG\r
+7$:    JMP S6\r
+26$:   LDA I,0\r
+       STA PFLG\r
+       INC HNUM\r
+       LDA HNUM\r
+       CMP HEATS\r
+       BCC 7$\r
+       LDA A,SB\r
+       AND I,04\r
+       BEQ S25\r
+       LDY I,0\r
+23$:   LDA AY,EFLG             ;EXTENDED PLAY ALREADY AWARDED?\r
+       BNE 20$                 ;YES\r
+       CPY I,1                 ;NO, CHECK AND SEE\r
+       BEQ 21$\r
+       LDA EPLY+1              ;PLAYER ONE\r
+       CMP SCORE+1\r
+       BCC 1$                  ;GOT IT\r
+       BNE 20$\r
+       LDA SCORE\r
+       CMP EPLY\r
+       BCS 1$\r
+       BCC 20$\r
+21$:   LDA EPLY+1\r
+       CMP SCR2+1\r
+       BCC 1$\r
+       BNE 20$\r
+       LDA SCR2\r
+       CMP EPLY\r
+       BCC 20$\r
+1$:    INC CREDIT\r
+       LDA I,1                 ;TURN ON APPROPRIATE\r
+       STA A,CLITE             ;CREDIT LITES\r
+       LDA CREDIT\r
+       CMP I,2\r
+       BCC 9$\r
+       LDA I,1\r
+       STA A,CLITE2\r
+9$:    LDA     I,088           ;GOT EXTENDED PLAY\r
+       STA     FRAME           ;FLASH VIDEO\r
+       LDA I,1\r
+       STA AY,EFLG\r
+       LDA I,32.\r
+       STA SFLG3\r
+       STY TEMP7\r
+3$:    JSR     WAIT\r
+       LDA     FRAME\r
+       AND     I,4\r
+       BEQ     4$\r
+       LDA     I,1\r
+4$:    STA     A,VINT\r
+       STA     A,SOUND2\r
+5$:    LDA     I,0A\r
+       JSR     MESS\r
+       INC     FRAME\r
+       BNE     3$\r
+       LDA     I,8A\r
+       JSR     MESS\r
+       LDY TEMP7\r
+20$:   INY\r
+       CPY I,3\r
+       BCC 23$\r
+S25:   LDA     I,0             ;NO, FREEZE SCREEN\r
+       STA     FRAME\r
+       STA SFLG1\r
+       LDA     I,1\r
+       STA     A,SLITE\r
+1$:    JSR     WAIT\r
+       LDA     FRAME           ;FLASH GAME OVER\r
+       AND     I,10\r
+       BEQ     2$\r
+       LDA     I,9\r
+       BNE     3$\r
+2$:    LDA     I,89\r
+3$:    JSR     MESS\r
+       LDA     FRAME\r
+       CMP     I,30\r
+       BCC     4$\r
+       LDA     I,1             ;ALLOW COINS TO COME IN\r
+       STA     A,ATR           ;DURING GAME OVER\r
+4$:    INC     FRAME\r
+       BNE     1$\r
+       LDA     I,0\r
+       STA     A,CLITE         ;TURN OFF CREDIT LITES\r
+       STA     A,CLITE2\r
+       RTS\r
+       .SBTTL  PLAY SUBROUTINE\r
+PLAY:  LDA     TIME                    ;TIME TO DROP AN OBJECT?\r
+       BEQ     P1                      ;YES\r
+       DEC     TIME                    ;NO,DECREMENT TIME\r
+       JMP     P50\r
+P1:    LDA     TUP                     ;RESET TIME\r
+       STA     TIME\r
+P40:   LDX     I,6                     ;LOOK FOR AVAILABLE OBJECT\r
+P3:    LDA     ZX,MODE\r
+       BEQ     P4\r
+       INX\r
+       CPX     I,MAXOB\r
+       BNE     P3\r
+       JMP     P50                     ;NO AVAILABLE OBJECTS\r
+P4:    JSR     RANDU                   ;PICK UP RANDOM HPOS\r
+       AND     I,0F8\r
+       STA     ZX,HPOS\r
+       STA ZX,HPOST\r
+       LDY ATRK\r
+       BEQ 3$\r
+       LDY LNUM\r
+       CPY I,7\r
+       BEQ 2$\r
+       LSR\r
+       LSR\r
+       LSR\r
+       TAY\r
+       LDA AY,ARR\r
+       BEQ P4\r
+       LDA I,0\r
+       STA AY,ARR\r
+3$:    LDY LNUM\r
+       LDA ATRK\r
+       BNE 4$\r
+       LDA I,73\r
+       BNE 5$\r
+2$:    LDY I,6\r
+7$:    LDA AY,MODE\r
+       BNE P50\r
+       INY\r
+       CPY I,MAXOB\r
+       BNE 7$\r
+       LDA TOG\r
+       STA TEMP7\r
+       JSR IISET\r
+       JSR INITL\r
+       LDA I,0\r
+       LDX TEMP7\r
+       CPX I,0\r
+       BEQ 10$\r
+       CPX I,1\r
+       BEQ 11$\r
+       STA MODE+1\r
+11$:   STA MODE+2\r
+10$:   STA MODE+3\r
+       STA MODE+4\r
+       STA MODE+5\r
+       INX\r
+       STX TOG\r
+       JMP P1\r
+4$:    LDA AY,SLART\r
+5$:    STA ZX,VPOS\r
+       STA ZX,VPOST\r
+       LDY LNUM\r
+       LDA AY,CODEL\r
+       STA ZX,CODE\r
+       STA ZX,CODET\r
+       LDA AY,OBCH\r
+       STA ZX,OCD\r
+       STA ZX,OCDT\r
+       LDA I,1\r
+       STA ZX,MODE             ;ACTIVATE OBJECT\r
+       STA ZX,MODET\r
+       INC LOBJ\r
+       LDA LOBJ\r
+       CMP I,32.\r
+       BCC P50\r
+       LDA I,0\r
+       STA LOBJ\r
+       LDY I,0\r
+       LDA I,1\r
+6$:    STA AY,ARR\r
+       INY\r
+       CPY I,32.\r
+       BNE 6$\r
+       INC LNUM\r
+       LDA LNUM\r
+       CMP I,7\r
+       BCC P50\r
+       LDA I,7\r
+       STA LNUM\r
+P50:   JSR     CNTRL\r
+       LDA     ATRK                    ;DO NOT INCREASE OBJECTS IN ATTRACT\r
+       BEQ     U4\r
+       LDA     FRAME                   ;EVERY ONCE IN\r
+       AND     I,3F                    ;AWHILE DECREASE\r
+       BNE     U4                      ;TIME BETWEEN OBJECTS\r
+       LDA     TUP                     ;UP TO A MAXIMUM\r
+       SEC\r
+       SBC     I,6\r
+       CMP     I,10\r
+       BCS     U5\r
+       LDA     I,10\r
+U5:    STA     TUP\r
+U4:    LDA FRAME\r
+       AND I,0FF\r
+       BNE 1$\r
+       LDA ATRK                ;IN GAME PLAY\r
+       BEQ 2$                  ;WHILE FIRST TWO\r
+       LDA MODE+5              ;PADDLES ARE ACTIVE\r
+       BNE 3$                  ;SLOW DOWN GAME\r
+       LDA MODE+4\r
+       BEQ 2$\r
+3$:    LDA I,7F\r
+       STA AMT\r
+       LDA I,1\r
+       STA AMT+1\r
+       BNE 1$\r
+2$:    LDA AMT\r
+       CLC\r
+       ADC I,60\r
+       STA AMT\r
+       LDA AMT+1\r
+       ADC I,0\r
+       STA AMT+1               ;FIX UPPER SPEED\r
+       CMP I,3\r
+       BCC 1$\r
+       LDA AMT\r
+       CMP I,60\r
+       BCC 1$\r
+       LDA I,3\r
+       STA AMT+1\r
+       LDA I,60\r
+       STA AMT\r
+1$:    LDX I,6                 ;LOOK FOR ACTIVE OBJECTS\r
+U2:    LDA ZX,MODE\r
+       BEQ U1\r
+       LDA FRAME\r
+       AND I,1\r
+       BNE U1\r
+       LDA AX,VPOSL\r
+       CLC\r
+       ADC AMT\r
+       STA AX,VPOSL\r
+       LDA ZX,VPOS                     ;ACTIVE OBJECT,UPDATE POSITION\r
+       ADC AMT+1\r
+       BCC     U3\r
+       LDA     I,0FF\r
+U3:    STA     ZX,VPOS\r
+U1:    INX\r
+       CPX     I,MAXOB\r
+       BNE     U2\r
+       JSR     COLL                    ;LOOK FOR COLLISIONS\r
+       LDA LNUM\r
+       CMP I,2\r
+       BNE P60\r
+       LDA SFLG2\r
+       CMP I,4\r
+       BEQ 1$\r
+       LDA SFLG3\r
+       CMP I,4\r
+       BEQ 1$\r
+       LDA SFLG0\r
+       CMP I,4\r
+       BNE 2$\r
+1$:    LDA I,2\r
+       STA TARG\r
+       LDA I,0\r
+       STA MODE+5\r
+2$:    JMP P100\r
+P60:   CMP I,3\r
+       BNE P61\r
+       LDA SFLG2\r
+       CMP I,4\r
+       BEQ 2$\r
+       LDA SFLG3\r
+       CMP I,4\r
+       BEQ 2$\r
+       LDA SFLG0\r
+       CMP I,4\r
+       BNE P100\r
+2$:    LDA I,3\r
+       STA TARG\r
+       LDA I,0\r
+       STA MODE+4\r
+       LDA I,2\r
+       LDX I,0\r
+1$:    STA ZX,CODE\r
+       INX\r
+       CPX I,6\r
+       BNE 1$\r
+       BEQ P100\r
+P61:   CMP I,4\r
+       BNE P62\r
+       LDA SFLG2\r
+       CMP I,4\r
+       BEQ 1$\r
+       LDA SFLG3\r
+       CMP I,4\r
+       BEQ 1$\r
+       LDA SFLG0\r
+       CMP I,4\r
+       BNE P100\r
+1$:    LDA I,4\r
+       STA TARG\r
+       LDA I,0\r
+       STA MODE+3\r
+       BEQ P100\r
+P62:   CMP I,5\r
+       BNE P63\r
+       LDA SFLG2\r
+       CMP I,4\r
+       BEQ 2$\r
+       LDA SFLG3\r
+       CMP I,4\r
+       BEQ 2$\r
+       LDA SFLG0\r
+       CMP I,4\r
+       BNE P100\r
+2$:    LDA I,5\r
+       STA TARG\r
+       LDA I,0\r
+       STA MODE+2\r
+       LDA I,4\r
+       LDX I,0\r
+1$:    STA ZX,CODE\r
+       INX\r
+       CPX I,6\r
+       BNE 1$\r
+       BEQ P100\r
+P63:   CMP I,6\r
+       BNE P100\r
+       LDA SFLG2\r
+       CMP I,4\r
+       BEQ 1$\r
+       LDA SFLG3\r
+       CMP I,4\r
+       BEQ 1$\r
+       LDA SFLG0\r
+       CMP I,4\r
+       BNE P100\r
+1$:    LDA I,6\r
+       STA TARG\r
+       LDA I,0\r
+       STA MODE+1\r
+P100:  INC     FRAME\r
+       RTS\r
+       .SBTTL  READ HORIZONTAL CONTROL\r
+CNTRL:  LDA ATRK\r
+       BEQ R5\r
+       LDA A,HCON\r
+       CMP I,40\r
+       BCS 1$\r
+       LDA I,40\r
+       BNE 5$\r
+1$:    CMP I,0B8\r
+       BCC 5$\r
+       LDA I,0B7\r
+5$:    SEC\r
+       SBC I,40\r
+       ASL\r
+R2:    LDX     I,5\r
+R3:    STA     ZX,HPOS\r
+       DEX\r
+       BPL     R3\r
+R4:    RTS\r
+R5:    LDA I,0                 ;DELETE TOP 2 PADDLES\r
+       STA MODE+5\r
+       STA MODE+4\r
+       LDX I,3\r
+5$:    LDY I,6\r
+3$:    LDA ZX,VPOS\r
+       CMP AY,VPOS\r
+       BCC 1$\r
+       SEC\r
+       SBC I,0A\r
+       CMP AY,VPOS\r
+       BCS 1$\r
+       LDA AY,MODE\r
+       BEQ 1$\r
+       LDA ZX,HPOS\r
+       CMP AY,HPOS\r
+       BCS 2$\r
+       LDA AY,HPOS\r
+       SEC\r
+       SBC ZX,HPOS\r
+       CMP I,8\r
+       BCC 9$\r
+       LSR\r
+       LSR\r
+9$:    LSR\r
+       CLC\r
+       ADC ZX,HPOS\r
+       JMP 4$\r
+2$:    LDA ZX,HPOS\r
+       SEC\r
+       SBC AY,HPOS\r
+       CMP I,8\r
+       BCC 10$\r
+       LSR\r
+       LSR\r
+10$:   LSR\r
+       STA TEMP1\r
+       LDA ZX,HPOS\r
+       SEC\r
+       SBC TEMP1\r
+4$:    LDX I,5\r
+8$:    STA ZX,HPOS\r
+       DEX\r
+       BPL 8$\r
+       RTS\r
+1$:    INY\r
+       CPY I,MAXOB\r
+       BNE 3$\r
+       DEX\r
+       BPL 5$\r
+       RTS\r
+       .SBTTL  COLLISION ROUTINE\r
+COLL:  LDX     I,6\r
+C17:   LDA     I,4\r
+       SEC\r
+       SBC     ZX,OCD\r
+       STA     TEMP3                   ;SET CENTER OF OBJECT\r
+       LDY ZX,OCD\r
+       LDA     AY,LIMT\r
+       STA     LIM\r
+       LDA     AY,TABV\r
+       STA     TEMP1+1\r
+       LDA     CODE\r
+       CMP     I,0\r
+       BNE     C1\r
+       LDA     AY,TAB1H\r
+       BNE     C30\r
+C1:    CMP     I,2\r
+       BNE     C2\r
+       LDA     AY,TAB2H\r
+       BNE     C30\r
+C2:    LDA     AY,TAB3H\r
+C30:   STA     TEMP1\r
+C3:    LDA     ZX,MODE                 ;OBJECT ACTIVE?\r
+       BEQ     C4                      ;NO\r
+       LDA     ZX,HPOS                 ;YES, CHECK IF\r
+       CLC\r
+       ADC     TEMP3\r
+       SEC                             ;HORIZONTAL POSITION\r
+       SBC     HPOS                    ;OF OBJECT IS WITHIN\r
+       SEC\r
+       SBC     I,8\r
+       BPL     C5                      ;LIMITS OF PADDLE\r
+       EOR     I,0FF\r
+       CLC\r
+       ADC     I,1\r
+C5:    CMP     TEMP1\r
+       BCC     C6\r
+C10:   LDA     ZX,VPOS                 ;VERTICAL POSITION OF OBJECT=LIM?\r
+       CMP     LIM\r
+       BCC     C4                      ;NO\r
+       LDA     ATRK\r
+       BEQ     C32\r
+       LDA     I,1\r
+       STA     DONE                    ;SET DONE FLAG\r
+       LDA     I,0\r
+       LDX     I,6\r
+C20:   STA     ZX,MODE\r
+       INX\r
+       CPX     I,MAXOB\r
+       BNE     C20\r
+       LDA I,32.\r
+       STA SFLG3\r
+       RTS\r
+C32:   LDA     I,0\r
+       STA     ZX,MODE\r
+C4:    INX\r
+       CPX     I,MAXOB\r
+       BNE     C17\r
+       RTS\r
+C6:    LDY     I,0\r
+C7:    LDA     AY,MODE\r
+       BEQ     C12\r
+       LDA     ZX,VPOS                 ;CHECK IF VERTICAL\r
+       CLC\r
+       ADC     TEMP3\r
+       SEC                             ;POSITION OF OBJECT IS\r
+       SBC     AY,VPOS                 ;WITHIN LIMITS OF ANY PADDLE\r
+       SEC\r
+       SBC     I,2\r
+       BPL     C8\r
+       EOR     I,0FF\r
+       CLC\r
+       ADC     I,1\r
+C8:    CMP     TEMP1+1\r
+       BCC     C9\r
+C12:   INY\r
+       CPY     I,6\r
+       BNE     C7\r
+       BEQ     C10\r
+C9:    LDA     I,0\r
+       STA     ZX,MODE                 ;DEACTIVATE OBJECT\r
+       LDA ZX,HPOS\r
+       LSR\r
+       LSR\r
+       LSR\r
+       TAY\r
+       LDA I,0\r
+       STA AY,SAVM             ;DEACTIVATE OBJECT IN\r
+       INC LOBJS               ;SAVM ARRAY\r
+       LDA LOBJS               ;DEACTIVATED ENTIRE LINE?\r
+       CMP I,32.\r
+       BCC 4$                  ;NO\r
+       LDA I,0                 ;YES, GO TO NEXT LINE\r
+       STA LOBJS\r
+       LDY I,0\r
+       LDA I,1\r
+5$:    STA AY,SAVM\r
+       INY\r
+       CPY I,32.\r
+       BNE 5$\r
+       INC LNUMS\r
+       LDA LNUMS\r
+       CMP I,7\r
+       BCC 4$\r
+       LDA I,7\r
+       STA LNUMS\r
+4$:    LDA     ATRK\r
+       BEQ     C4\r
+       LDY I,4\r
+       LDA ZX,CODE             ;ATTACH SOUND TO\r
+       CMP I,6                 ;A PARTICULAR KIND\r
+       BNE 6$                  ;OF OBJECT\r
+       STY SFLG2\r
+       BEQ 8$\r
+6$:    CMP I,0E\r
+       BNE 7$\r
+       STY SFLG3\r
+       BEQ 8$\r
+7$:    STY SFLG0\r
+8$:    STX     TEMP5\r
+       SED\r
+       LDA     PFLG\r
+       BEQ     1$\r
+       LDA     TARG\r
+       CLC\r
+       ADC     SCR2\r
+       STA     SCR2\r
+       LDA     SCR2+1\r
+       ADC     I,0\r
+       STA     SCR2+1\r
+       LDA A,SB\r
+       AND I,04\r
+       BEQ 2$\r
+       LDA EFLAG+1             ;EXTENDED SOUND GIVEN?\r
+       BNE 2$                  ;YES\r
+       LDA EFLAG+1             ;NO, NO EXTENDED PLAY THIS GAME?\r
+       BNE 2$                  ;CORRECT\r
+       LDA EPLY+1              ;NOW CHECK FOR EXTENDED PLAY\r
+       CMP SCR2+1\r
+       BCC 10$\r
+       BNE 2$\r
+       LDA SCR2\r
+       CMP EPLY\r
+       BCC 2$\r
+10$:   LDA I,1\r
+       STA EFLAG+1\r
+       JMP 20$\r
+1$:    LDA     TARG\r
+       CLC\r
+       ADC     SCORE\r
+       STA     SCORE\r
+       LDA     SCORE+1\r
+       ADC     I,0\r
+       STA     SCORE+1\r
+       LDA A,SB\r
+       AND I,04\r
+       BEQ 2$\r
+       LDA EFLAG\r
+       BNE 2$\r
+       LDA EFLG\r
+       BNE 2$\r
+       LDA EPLY+1\r
+       CMP SCORE+1\r
+       BCC 11$\r
+       BNE 2$\r
+       LDA SCORE\r
+       CMP EPLY\r
+       BCC 2$\r
+11$:   LDA I,1\r
+       STA EFLAG\r
+20$:   LDA I,80\r
+       STA SFLG4\r
+2$:    CLD\r
+       LDA     I,0\r
+       JSR     NUM                     ;OUTPUT SCORE\r
+       LDX     TEMP5\r
+       JMP     C4\r
+CODEL:  .BYTE  6,6,6,0E,0E,14,14\r
+OBCH:  .BYTE   0,0,0,1,1,2,2\r
+SLART:  .BYTE  40,40,38,32,2C,28,24\r
+TAB1H: .BYTE   12.,11.,10.             ;LIMITS TABLES\r
+TAB2H: .BYTE   10.,10.,10.\r
+TAB3H: .BYTE   10.,10.,10.\r
+TABV:  .BYTE   6,5,4\r
+EOUT:  LDA     A,SW            ;OUTPUT COIN MESSAGE\r
+       AND     I,0C\r
+       LSR\r
+       LSR\r
+       BEQ     5$\r
+       ADC     I,5\r
+       JSR     MESS\r
+5$:    LDA A,SB\r
+       AND I,04\r
+       BEQ 8$\r
+       LDA     I,12.           ;OUTPUT EXTENDED PLAY MESSAGE\r
+       JSR     MESS\r
+       LDY     I,95\r
+       LDA A,CSW               ;ADJUST POINTER FOR\r
+       AND I,20                ;EXTENDED PLAY LEVEL\r
+       BEQ 7$                  ;POSITION DEPENDENT ON\r
+       LDY I,93                ;LANGUAGE PICKED\r
+       LDA A,CSW\r
+       AND I,10\r
+       BEQ 6$\r
+       LDY I,92\r
+       BNE 6$\r
+7$:    LDA A,CSW\r
+       AND I,10\r
+       BEQ 6$\r
+       LDY I,93\r
+6$:    STY     TEMP2\r
+       LDA     I,0D\r
+       STA     TEMP2+1\r
+       LDA     EPLY\r
+       STA     PTR\r
+       LDA     EPLY+1\r
+       STA     PTR+1\r
+       JSR     HEXN\r
+8$:    RTS\r
+       .SBTTL  INITIALIZATION ROUTINE\r
+INITL: LDA     I,0\r
+       STA     DONE                    ;RESET DONE FLAG\r
+       STA     TIME                    ;RESET TIME\r
+       STA     FRAME\r
+       STA AMT\r
+       JSR     BLANK                   ;BLANK SCREEN\r
+       LDA     I,0\r
+       JSR     MESS                    ;OUTPUT MISSES MESSAGE\r
+       LDA     I,1\r
+       STA A,VINT\r
+       JSR     MESS                    ;OUT SCORE MESSAGE\r
+       LDA     ATRK                    ;IF JUST 1-PLAYER GAME,\r
+       CMP     I,1                     ;DO NOT OUTPUT PLAYER-2 TO SCREEN\r
+       BEQ     1$\r
+       LDA     I,5\r
+       JSR     MESS\r
+1$:    LDA     I,11.\r
+       JSR     MESS\r
+       LDA     PFLG\r
+       STA     TEMP4\r
+       LDA     I,0\r
+       STA     PFLG\r
+       LDA     I,0\r
+       JSR     NUM                     ;OUTPUT ACTUAL SCORE\r
+       LDA     ATRK\r
+       CMP     I,1\r
+       BEQ     2$\r
+       LDA     I,1\r
+       STA     PFLG\r
+       LDA     I,0\r
+       JSR     NUM\r
+2$:    LDA     TEMP4\r
+       STA     PFLG\r
+       LDA     I,1\r
+       JSR     NUM                     ;OUTPUT HEAT NUMBER\r
+       JSR     HSCR\r
+       LDA     A,SB                    ;SET # OF HEATS\r
+       AND     I,08\r
+       LSR\r
+       LSR\r
+       TAX\r
+       CLC\r
+       ADC I,3\r
+       STA     HEATS           ;SET # OF HEATS\r
+       LDA     AX,RLEV         ;SET REPLAY LEVEL\r
+       STA     EPLY\r
+       LDA     AX,RLEV+1\r
+       STA     EPLY+1\r
+       JSR     CNTRL\r
+       LDA     I,243.\r
+       STA     VPOS\r
+       LDA     I,219.\r
+       STA     VPOS+1\r
+       LDA     I,195.\r
+       STA     VPOS+2\r
+       LDA     I,171.\r
+       STA     VPOS+3\r
+       LDA     I,147.\r
+       STA     VPOS+4\r
+       LDA     I,123.\r
+       STA     VPOS+5\r
+INIT2: LDX     I,6\r
+I1:    LDA     I,0\r
+       STA     ZX,HPOS         ;SET OBJECTS HPOS,VPOS,CODE & MODE\r
+       STA     ZX,VPOS\r
+       STA ZX,VPOSL\r
+       STA ZX,MODET\r
+       INX\r
+       CPX     I,MAXOB\r
+       BNE     I1\r
+       LDA     I,30            ;SET TIME BETWEEN OBJECTS\r
+       STA     TUP\r
+       LDA     I,2\r
+       STA     AMT+1           ;SET RATE OF OBJECT FALL\r
+       LDA     I,7F            ;OUTPUT WALL AT TOP\r
+       STA     PTR\r
+       LDA     I,1F\r
+       STA     PTR+1\r
+       LDY     I,080\r
+       LDA     I,0FF\r
+1$:    STA     NY,PTR\r
+       DEY\r
+       BNE     1$\r
+       JSR     COIN\r
+       LDX I,14\r
+       LDA I,80\r
+       STA POS\r
+       LDA I,0\r
+       STA PTR\r
+       LDA I,4\r
+       STA POS+1\r
+       LDA I,5\r
+       STA PTR+1\r
+3$:    LDA AX,PICT\r
+       LDY I,0\r
+       STA TEMP1\r
+2$:    LDA LNUMS\r
+       CMP I,6\r
+       BNE 20$\r
+       LDA AY,SAVM\r
+       BEQ 21$\r
+20$:   LDA TEMP1\r
+       STA NY,POS\r
+21$:   LDA LNUMS\r
+       CMP I,5\r
+       BCC 22$\r
+       BEQ 30$\r
+       BCS 23$\r
+30$:   LDA AY,SAVM\r
+       BEQ 23$\r
+22$:   LDA TEMP1\r
+       STA NY,PTR\r
+23$:   STA A,TREST\r
+10$:   INY\r
+       CPY I,32.\r
+       BNE 2$\r
+       JSR UTIL\r
+       INX\r
+       CPX I,18\r
+       BNE 3$\r
+       LDA I,80\r
+       STA POS\r
+       LDA I,040\r
+       STA PTR\r
+       LDA I,5\r
+       STA POS+1\r
+       LDA I,6\r
+       STA PTR+1\r
+       LDX I,0E\r
+4$:    LDA AX,PICT\r
+       LDY I,0\r
+       STA TEMP1\r
+5$:    LDA LNUMS\r
+       CMP I,4\r
+       BCC 24$\r
+       BEQ 31$\r
+       BCS 25$\r
+31$:   LDA AY,SAVM\r
+       BEQ 25$\r
+24$:   LDA TEMP1\r
+       STA NY,POS\r
+25$:   STA A,TREST\r
+11$:   LDA LNUMS\r
+       CMP I,3\r
+       BCC 26$\r
+       BEQ 32$\r
+       BCS 12$\r
+32$:   LDA AY,SAVM\r
+       BEQ 12$\r
+26$:   LDA TEMP1\r
+       STA NY,PTR\r
+12$:   INY\r
+       CPY I,32.\r
+       BNE 5$\r
+       JSR UTIL\r
+       INX\r
+       CPX I,14\r
+       BNE 4$\r
+       LDA I,0\r
+       STA PTR\r
+       STA POS\r
+       LDA I,7\r
+       STA POS+1\r
+       LDA I,8\r
+       STA PTR+1\r
+       LDX I,06\r
+I3:    LDA AX,PICT\r
+       LDY I,0\r
+       STA TEMP1\r
+7$:    LDA LNUMS\r
+       CMP I,2\r
+       BCC 27$\r
+       BEQ 33$\r
+       BCS 13$\r
+33$:   LDA AY,SAVM\r
+       BEQ 13$\r
+27$:   LDA TEMP1\r
+       STA NY,POS\r
+13$:   LDA LNUMS\r
+       CMP I,1\r
+       BCC 28$\r
+       BEQ 34$\r
+       BCS 29$\r
+34$:   LDA AY,SAVM\r
+       BEQ 29$\r
+28$:   LDA TEMP1\r
+       STA NY,PTR\r
+29$:   STA A,TREST\r
+14$:   INY\r
+       CPY I,32.\r
+       BNE 7$\r
+       JSR UTIL\r
+       INX\r
+       CPX I,0E\r
+       BNE I3\r
+       RTS\r
+RLEV:  .WORD   450             ;REPLAY LEVELS\r
+       .WORD   750\r
+UTIL:  LDA POS\r
+       CLC\r
+       ADC I,20\r
+       STA POS\r
+       LDA POS+1\r
+       ADC I,0\r
+       STA POS+1\r
+       LDA PTR\r
+       CLC\r
+       ADC I,20\r
+       STA PTR\r
+       LDA PTR+1\r
+       ADC I,0\r
+       STA PTR+1\r
+       RTS\r
+       .SBTTL SAVE & RESTORE WALL STATUS\r
+SAVE:  LDX I,0\r
+       LDA PFLG\r
+       BNE 1$\r
+2$:    LDA ZX,CODE\r
+       STA AX,SAVR1\r
+       INX\r
+       CPX I,3*MAXOB+5\r
+       BNE 2$\r
+       LDX I,0\r
+3$:    LDA AX,SAVM\r
+       STA AX,SAVS1\r
+       INX\r
+       CPX I,32.\r
+       BNE 3$\r
+       LDA LOBJS\r
+       STA A,SAVS1+32.\r
+       LDA LNUMS\r
+       STA A,SAVS1+33.\r
+       RTS\r
+1$:    LDA ZX,CODE\r
+       STA AX,SAVR2\r
+       INX\r
+       CPX I,3*MAXOB+5\r
+       BNE 1$\r
+       LDX I,0\r
+4$:    LDA AX,SAVM\r
+       STA AX,SAVS2\r
+       INX\r
+       CPX I,32.\r
+       BNE 4$\r
+       LDA LOBJS\r
+       STA A,SAVS2+32.\r
+       LDA LNUMS\r
+       STA A,SAVS2+33.\r
+       RTS\r
+RSET:  LDX I,0\r
+       LDA PFLG\r
+       BNE 1$\r
+2$:    LDA AX,SAVR1\r
+       STA ZX,CODE\r
+       INX\r
+       CPX I,3*MAXOB+5\r
+       BNE 2$\r
+       LDX I,0\r
+3$:    LDA AX,SAVS1\r
+       STA AX,SAVM\r
+       STA AX,ARR\r
+       INX\r
+       CPX I,32.\r
+       BNE 3$\r
+       LDA A,SAVS1+32.\r
+       STA LOBJS\r
+       STA LOBJ\r
+       LDA A,SAVS1+33.\r
+       STA LNUMS\r
+       STA LNUM\r
+       RTS\r
+1$:    LDA AX,SAVR2\r
+       STA ZX,CODE\r
+       INX\r
+       CPX I,3*MAXOB+5\r
+       BNE 1$\r
+       LDX I,0\r
+4$:    LDA AX,SAVS2\r
+       STA AX,SAVM\r
+       STA AX,ARR\r
+       INX\r
+       CPX I,32.\r
+       BNE 4$\r
+       LDA A,SAVS2+32.\r
+       STA LOBJS\r
+       STA LOBJ\r
+       LDA A,SAVS2+33.\r
+       STA LNUMS\r
+       STA LNUM\r
+       RTS\r
+ISET:  LDA I,0\r
+       TAX\r
+1$:    STA AX,SAVR1\r
+       STA AX,SAVR2\r
+       INX\r
+       CPX I,3*MAXOB+5\r
+       BNE 1$\r
+       LDA I,1\r
+       STA A,SAVR1+<3*MAXOB+1>\r
+       STA A,SAVR2+<3*MAXOB+1>\r
+       LDX I,0\r
+2$:    STA AX,SAVR1+<2*MAXOB>\r
+       STA AX,SAVR2+<2*MAXOB>\r
+       INX\r
+       CPX I,6\r
+       BNE 2$\r
+       LDA I,6\r
+3$:    STA AX,SAVR1\r
+       STA AX,SAVR2\r
+       INX\r
+       CPX I,MAXOB\r
+       BNE 3$\r
+       LDA PFLG\r
+       STA TEMP7\r
+       LDA I,0\r
+       STA PFLG\r
+       JSR IISET\r
+       LDA I,1\r
+       STA PFLG\r
+       JSR IISET\r
+       LDA TEMP7\r
+       STA PFLG\r
+       RTS\r
+IISET: LDA I,0\r
+       TAX\r
+1$:    STA ZX,CODE\r
+       INX\r
+       CPX I,3*MAXOB+5\r
+       BNE 1$\r
+       LDA I,1\r
+       STA TARG\r
+       LDX I,0\r
+2$:    STA ZX,MODE\r
+       STA A,TREST\r
+       INX\r
+       CPX I,6\r
+       BNE 2$\r
+       LDA I,6\r
+3$:    STA ZX,CODE\r
+       INX\r
+       CPX I,MAXOB\r
+       BNE 3$\r
+       LDX I,0\r
+       LDA I,1\r
+4$:    STA AX,SAVM\r
+       LDY PFLG\r
+       BNE 5$\r
+       STA AX,SAVS1\r
+5$:    LDY PFLG\r
+       BEQ 6$\r
+       STA AX,SAVS2\r
+6$:    STA AX,ARR\r
+       INX\r
+       CPX I,32.\r
+       BNE 4$\r
+       LDA I,0\r
+       STA LOBJS\r
+       STA LOBJ\r
+       LDY PFLG\r
+       BNE 7$\r
+       STA A,SAVS1+32.\r
+7$:    LDY PFLG\r
+       BEQ 8$\r
+       STA A,SAVS2+32.\r
+8$:    LDA I,1\r
+       STA LNUMS\r
+       STA LNUM\r
+       LDY PFLG\r
+       BNE 9$\r
+       STA A,SAVS1+33.\r
+9$:    LDY PFLG\r
+       BEQ 10$\r
+       STA A,SAVS2+33.\r
+10$:   RTS\r
+       .SBTTL  HIGH SCORE ROUTINE\r
+HSCR:  LDA     ATRK            ;IF IN ATTRACT DO NOT\r
+       BEQ     1$              ;UPDATE HIGH SCORE\r
+       LDA     SCRT+1\r
+       CMP     SCORE+1\r
+       BCC     2$\r
+       BNE     3$\r
+       LDA     SCRT\r
+       CMP     SCORE\r
+       BCS     3$\r
+2$:    LDA     SCORE\r
+       STA     SCRT\r
+       LDA     SCORE+1\r
+       STA     SCRT+1\r
+3$:    LDA     SCRT+1\r
+       CMP     SCR2+1\r
+       BCC     4$\r
+       BNE     1$\r
+       LDA     SCRT\r
+       CMP     SCR2\r
+       BCS     1$\r
+4$:    LDA     SCR2\r
+       STA     SCRT\r
+       LDA     SCR2+1\r
+       STA     SCRT+1\r
+1$:    LDA     I,5B            ;ACTUALLY OUTPUT HIGH SCORE\r
+       STA     TEMP2\r
+       LDA     I,2\r
+       STA     TEMP2+1\r
+       LDY     I,4\r
+6$:    LDA     I,20            ;BLANK HIGH SCORE AREA\r
+       JSR     STORE\r
+       DEY\r
+       BNE     6$\r
+       LDA     SCRT\r
+       STA     PTR\r
+       LDA     SCRT+1\r
+       STA     PTR+1\r
+       JSR     HEXN\r
+       RTS\r
+HEXN:  LDY     I,0\r
+       STY     TEMP1\r
+       LDA     PTR+1\r
+       AND     I,0F0\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       BEQ     1$\r
+       INC     TEMP1\r
+       ORA     I,30\r
+       JSR     STORE\r
+       INY\r
+1$:    LDA     PTR+1\r
+       AND     I,0F\r
+       BNE     2$\r
+       LDX     TEMP1\r
+       BEQ     3$\r
+2$:    ORA     I,30\r
+       INC     TEMP1\r
+       JSR     STORE\r
+       INY\r
+3$:    LDA     PTR\r
+       AND     I,0F0\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       BNE     4$\r
+       LDX     TEMP1\r
+       BEQ     5$\r
+4$:    ORA     I,30\r
+       INC     TEMP1\r
+       JSR     STORE\r
+       INY\r
+5$:    LDA     PTR\r
+       AND     I,0F\r
+       ORA     I,30\r
+       JSR     STORE\r
+       RTS\r
+       .SBTTL  PADDLE OUTPUT ROUTINE\r
+OUTPT: LDY     CODE\r
+       LDA     AY,PICT\r
+       STA     PIK\r
+       LDA     AY,PICT+1\r
+       STA     PIK+1\r
+       LDA     I,0\r
+       STA     PIK+2\r
+       LDA     HPOS\r
+       AND     I,7\r
+       TAY\r
+       BEQ     L1\r
+O42:   CLC\r
+       ROR     PIK\r
+       ROR     PIK+1\r
+       ROR     PIK+2\r
+       DEY\r
+       BNE     O42\r
+L1:    LDA     HPOST\r
+       AND     I,0F8\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     CNT\r
+       LDA     HPOS\r
+       AND     I,0F8\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     VALU\r
+       LDA     I,3\r
+       STA     TEMP5\r
+       LDA     I,0\r
+       LDX     CNT\r
+O48:   LDY     MODET+5\r
+       BEQ     1$\r
+       STA     AX,PAD6\r
+       STA     AX,PAD6+20\r
+       STA     AX,PAD6+40\r
+       STA     AX,PAD6+60\r
+1$:    LDY     MODET+4\r
+       BEQ     2$\r
+       STA     AX,PAD5\r
+       STA     AX,PAD5+20\r
+       STA     AX,PAD5+40\r
+       STA     AX,PAD5+60\r
+2$:    LDY     MODET+3\r
+       BEQ     3$\r
+       STA     AX,PAD4\r
+       STA     AX,PAD4+20\r
+       STA     AX,PAD4+40\r
+       STA     AX,PAD4+60\r
+3$:    LDY     MODET+2\r
+       BEQ     4$\r
+       STA     AX,PAD3\r
+       STA     AX,PAD3+20\r
+       STA     AX,PAD3+40\r
+       STA     AX,PAD3+60\r
+4$:    LDY     MODET+1\r
+       BEQ     5$\r
+       STA     AX,PAD2\r
+       STA     AX,PAD2+20\r
+       STA     AX,PAD2+40\r
+       STA     AX,PAD2+60\r
+5$:    STA     AX,PAD1\r
+       STA     AX,PAD1+20\r
+       STA     AX,PAD1+40\r
+       STA     AX,PAD1+60\r
+       INX\r
+       DEC     TEMP5\r
+       BNE     O48\r
+       LDX     VALU\r
+       LDA     I,3\r
+       STA     TEMP5\r
+       LDA     I,0\r
+       STA     TEMP4\r
+O51:   LDY     TEMP4\r
+       LDA     AY,PIK\r
+       LDY     MODE+5\r
+       BEQ     1$\r
+       STA     AX,PAD6\r
+       STA     AX,PAD6+20\r
+       STA     AX,PAD6+40\r
+       STA     AX,PAD6+60\r
+1$:    LDY     MODE+4\r
+       BEQ     2$\r
+       STA     AX,PAD5\r
+       STA     AX,PAD5+20\r
+       STA     AX,PAD5+40\r
+       STA     AX,PAD5+60\r
+2$:    LDY     MODE+3\r
+       BEQ     3$\r
+       STA     AX,PAD4\r
+       STA     AX,PAD4+20\r
+       STA     AX,PAD4+40\r
+       STA     AX,PAD4+60\r
+3$:    LDY     MODE+2\r
+       BEQ     4$\r
+       STA     AX,PAD3\r
+       STA     AX,PAD3+20\r
+       STA     AX,PAD3+40\r
+       STA     AX,PAD3+60\r
+4$:    LDY     MODE+1\r
+       BEQ     5$\r
+       STA     AX,PAD2\r
+       STA     AX,PAD2+20\r
+       STA     AX,PAD2+40\r
+       STA     AX,PAD2+60\r
+5$:    STA     AX,PAD1\r
+       STA     AX,PAD1+20\r
+       STA     AX,PAD1+40\r
+       STA     AX,PAD1+60\r
+       INX\r
+       INC     TEMP4\r
+       DEC     TEMP5\r
+       BNE     O51\r
+O50:   LDX     I,5\r
+L3:    LDA     ZX,HPOS         ;COPY BUFFERS\r
+       STA     ZX,HPOST\r
+       LDA     ZX,VPOS\r
+       STA     ZX,VPOST\r
+       LDA     ZX,MODE\r
+       STA     ZX,MODET\r
+       LDA     ZX,CODE\r
+       STA     ZX,CODET\r
+       DEX\r
+       BPL     L3\r
+       RTS\r
+       .SBTTL  OBJECT OUTPUT ROUTINE\r
+OBJ:   LDX     I,6\r
+       STX     SNUM            ;SET UP INDEX\r
+B1:    LDX     SNUM\r
+       LDA     ZX,MODET        ;OBJECT ACTIVE?\r
+       BEQ     B2              ;NO\r
+       LDA     ZX,HPOST        ;YES\r
+       STA     POS\r
+       LDA     ZX,VPOST\r
+       STA     POS+1\r
+       LSR     POS+1\r
+       ROR     POS\r
+       LSR     POS+1\r
+       ROR     POS\r
+       LSR     POS+1\r
+       ROR     POS\r
+       LDY ZX,OCDT\r
+       LDA     AY,MASK0\r
+       STA     TEMP1\r
+B2:    LDX     SNUM\r
+       LDA     ZX,MODE\r
+       BEQ     B3\r
+       LDA     ZX,HPOS\r
+       STA     PTR\r
+       LDA     ZX,VPOS\r
+       STA     PTR+1\r
+       LSR     PTR+1\r
+       ROR     PTR\r
+       LSR     PTR+1\r
+       ROR     PTR\r
+       LSR     PTR+1\r
+       ROR     PTR\r
+       LDX     SNUM\r
+       LDA     ZX,CODE\r
+       STA     TEMP5\r
+B3:    LDY     ZX,OCDT\r
+       LDA     AY,LIN\r
+       STA     TEMP2\r
+       LDX     SNUM\r
+       LDA     ZX,MODET\r
+       BEQ     B5\r
+       LDX     TEMP2\r
+       LDY     I,0\r
+B4:    LDA     NY,POS\r
+       AND     TEMP1\r
+       STA     NY,POS\r
+       TYA\r
+       CLC\r
+       ADC     I,32.\r
+       TAY\r
+       DEX\r
+       BNE     B4\r
+B5:    LDX     SNUM\r
+       LDA     ZX,MODE\r
+       BEQ     B6\r
+       LDY     ZX,OCD\r
+       LDA     AY,LIN\r
+       STA     TEMP2\r
+       LDX     TEMP5\r
+       LDY     I,0\r
+B7:    LDA     NY,PTR\r
+       ORA     AX,PICT\r
+       STA     NY,PTR\r
+       TYA\r
+       CLC\r
+       ADC     I,32.\r
+       TAY\r
+       INX\r
+       DEC     TEMP2\r
+       BNE     B7\r
+B6:    INC     SNUM\r
+       LDA     SNUM\r
+       CMP     I,MAXOB\r
+       BCS     B10\r
+       JMP     B1\r
+B10:   LDX     I,6\r
+B9:    LDA     ZX,HPOS\r
+       STA     ZX,HPOST\r
+       LDA     ZX,VPOS\r
+       STA     ZX,VPOST\r
+       LDA     ZX,MODE\r
+       STA     ZX,MODET\r
+       LDA     ZX,CODE\r
+       STA     ZX,CODET\r
+       LDA ZX,OCD\r
+       STA ZX,OCDT\r
+       INX\r
+       CPX     I,MAXOB\r
+       BNE     B9\r
+       RTS\r
+PICT:  .BYTE   0FF,0FF         ;FULL PADDLE, CODE=0\r
+       .BYTE   03F,0FC         ;3/4 PADDLE, CODE=2\r
+       .BYTE   0F,0F0          ;1/2 PADDLE, CODE=4\r
+       .BYTE   0,1C,7E,7E      ;LARGEST OBJECT, CODE=6\r
+       .BYTE   0FE,0FE,0FC,38\r
+       .BYTE   0,38,7C,0FC     ;MEDIUM OBJECT, CODE=0E\r
+       .BYTE   0F8,70\r
+       .BYTE   0,70,0F0,0E0    ;SMALL OBJECT, CODE=14\r
+MASK0: .BYTE   0,3,0F\r
+LIN:   .BYTE   8,6,4\r
+LIMT:  .BYTE   245.,247.,250.\r
+       .SBTTL COIN SUBROUTINE\r
+COIN:  NOP\r
+CO6:   LDA COINS               ;ANY COINS?\r
+       BNE CO1                 ;YES\r
+       LDA A,CSW               ;NO,FREEPLAY?\r
+       AND I,0C\r
+       BNE CO10\r
+CO2:   LDA I,0                 ;YES, SET COINS=0 AND\r
+       STA COINS               ;CREDIT=2\r
+       LDA I,2\r
+       STA CREDIT\r
+CO10:  RTS\r
+CO1:   LDA A,CSW               ;COIN MODE?\r
+       AND I,0C\r
+       BEQ CO2                 ;FREE/DAY\r
+       AND I,8\r
+       BEQ CO5                 ;/COIN/CREDIT\r
+       LDA A,CSW\r
+       AND I,4\r
+       BEQ CO4\r
+       INC CREDIT              ;1 COIN 2 CREDITS\r
+       BPL CO5\r
+CO4:   LDA COINS               ;2 COINS 1 CREDIT\r
+       CMP I,2\r
+       BCC CO10\r
+       DEC COINS\r
+CO5:   DEC COINS\r
+       INC CREDIT\r
+       LDA CREDIT              ;LIMIT CREDIT\r
+       CMP I,0F                ;ACCUMULATION TO 15\r
+       BCC CO6\r
+       LDA I,0F\r
+       STA CREDIT\r
+       BNE CO6\r
+       .SBTTL MESSAGE ROUTINE\r
+;\r
+;MESSAGE ROUTINE\r
+;      ON ENTRY A-REG  =BITS 0-5 = # OF MESSAGE\r
+;\r
+;                      =BIT 7    = 1 BLANK MESSAGE\r
+;                                  0 WRITE MESSAGE\r
+;\r
+MESS:  LDX I,0\r
+       STX PTR\r
+       STX PTR+1\r
+       CLC\r
+       ROL\r
+       ROL PTR                 ;SAVE R/W BIT\r
+       TAX\r
+       LDA A,CSW\r
+       AND I,20\r
+       BEQ 1$\r
+       LDA A,CSW\r
+       AND I,10\r
+       BEQ 2$\r
+       LDA AX,MESGG            ;GERMAN\r
+       STA TEMP1\r
+       LDA AX,MESGG+1\r
+       STA TEMP1+1\r
+       LDA AX,POSMG\r
+       STA TEMP2\r
+       LDA AX,POSMG+1\r
+       BNE 3$\r
+2$:    LDA AX,MESGF            ;FRENCH\r
+       STA TEMP1\r
+       LDA AX,MESGF+1\r
+       STA TEMP1+1\r
+       LDA AX,POSMF\r
+       STA TEMP2\r
+       LDA AX,POSMF+1\r
+       BNE 3$\r
+1$:    LDA A,CSW\r
+       AND I,10\r
+       BEQ 4$\r
+       LDA AX,MESGS            ;SPANISH\r
+       STA TEMP1\r
+       LDA AX,MESGS+1\r
+       STA TEMP1+1\r
+       LDA AX,POSMS\r
+       STA TEMP2\r
+       LDA AX,POSMS+1\r
+       BNE 3$\r
+4$:    LDA AX,MESG             ;ENGLISH\r
+       STA TEMP1\r
+       LDA AX,MESG+1\r
+       STA TEMP1+1\r
+       LDA AX,POSM\r
+       STA TEMP2\r
+       LDA AX,POSM+1\r
+3$:    STA TEMP2+1\r
+M40:   LDY I,0\r
+M1:    LDA NY,TEMP1\r
+       BEQ M5\r
+       AND I,3F\r
+       LDX PTR\r
+       BEQ M2\r
+       LDA I,20\r
+M2:    JSR STORE\r
+       INY\r
+       BPL M1\r
+M5:    RTS\r
+BLANK: LDA     I,2             ;ROUTINE BLANKS SCREEN\r
+       STA     POS+1\r
+       LDA     I,0\r
+       STA     POS\r
+       LDX     I,1E\r
+2$:    LDY     I,0\r
+       TYA\r
+1$:    STA     NY,POS\r
+       INY     \r
+       BNE     1$\r
+       STA     A,TREST         ;PULSE WATCHDOG\r
+       INC     POS+1\r
+       DEX\r
+       BNE     2$\r
+       RTS\r
+       .SBTTL WAIT SUBROUTINE\r
+WAIT:  LDA A,AMODE\r
+       BMI WAIT\r
+2$:    LDA A,AMODE\r
+       BPL 2$\r
+       LDA A,AMODE\r
+       ROL\r
+       ROL\r
+       BPL 1$\r
+       JSR ITEST\r
+1$:    STA A,TREST             ;PULSE WATCHDOG\r
+       JSR COIN\r
+       JSR RANDU\r
+       JSR SOUND\r
+       RTS\r
+       .SBTTL OUTPUT A NUMBER ROUTINE\r
+NUM:   BNE N1                  ;HEAT NUMBER OR SCORE?\r
+       LDA I,7C\r
+       LDX PFLG\r
+       BNE 1$\r
+       LDA I,6B                ;SCORE, SET UP INDIRECT\r
+1$:    STA TEMP2               ;TO SCREEN\r
+       LDA I,3\r
+       STA TEMP2+1\r
+       LDA PFLG\r
+       BNE 2$\r
+       LDA SCORE\r
+       STA PTR\r
+       LDA SCORE+1\r
+       STA PTR+1\r
+       JMP 3$\r
+2$:    LDA SCR2\r
+       STA PTR\r
+       LDA SCR2+1\r
+       STA PTR+1\r
+3$:    JSR HEXN\r
+       RTS\r
+N1:    LDA I,49\r
+       STA TEMP2\r
+       LDA I,2\r
+       STA TEMP2+1\r
+       LDY I,0\r
+       LDA HNUM                ;GET HEAT NUMBER\r
+       ORA I,30\r
+       JSR STORE               ;OUTPUT TO SCREEN\r
+       RTS\r
+       .SBTTL STORE CHARACTER SUBROUTINE\r
+STORE: TAX                     ;ROUTINE TO OUTPUT 1 CHARACTER\r
+       LDA TEMP2\r
+       STA POS\r
+       LDA TEMP2+1\r
+       STA POS+1\r
+       LDA I,0\r
+       STA TEMP3\r
+ST1:   LDA TEMP3\r
+       BNE ST2\r
+       LDA AX,MTAB1\r
+       JMP ST10\r
+ST2:   CMP I,1\r
+       BNE ST3\r
+       LDA AX,MTAB2\r
+       JMP ST10\r
+ST3:   CMP I,2\r
+       BNE ST4\r
+       LDA AX,MTAB3\r
+       JMP ST10\r
+ST4:   CMP I,3\r
+       BNE ST5\r
+       LDA AX,MTAB4\r
+       JMP ST10\r
+ST5:   CMP I,4\r
+       BNE ST6\r
+       LDA AX,MTAB5\r
+       JMP ST10\r
+ST6:   CMP I,5\r
+       BNE ST7\r
+       LDA AX,MTAB6\r
+       JMP ST10\r
+ST7:   LDA AX,MTAB7\r
+ST10:  STA NY,POS\r
+       LDA POS\r
+       CLC\r
+       ADC I,32.\r
+       STA POS\r
+       LDA POS+1\r
+       ADC I,0\r
+       STA POS+1\r
+       INC TEMP3\r
+       LDA TEMP3\r
+       CMP I,7\r
+       BNE ST1\r
+       RTS\r
+       .SBTTL SOUND CONTROL\r
+SOUND: LDA ATRK\r
+       BEQ 4$\r
+       LDA SFLG1\r
+       BEQ 4$\r
+       STA A,SCON\r
+       LDA FRAME\r
+       AND I,1F\r
+       BNE 3$\r
+       INC SFLG1\r
+       LDA SFLG1\r
+       CMP I,3F\r
+       BCC 3$\r
+       LDA I,3F\r
+       STA SFLG1\r
+       BNE 3$\r
+4$:    STA A,SCON\r
+3$:    LDA SFLG4               ;HAD NEW SOUND\r
+       BEQ 6$\r
+       DEC SFLG4\r
+       LDA SFLG4\r
+       AND I,8\r
+       BNE 7$\r
+       LDA I,0\r
+       STA A,SOUND3\r
+       LDA I,1\r
+       STA A,SOUND2\r
+       BNE 8$\r
+7$:    LDA I,1\r
+       STA A,SOUND3\r
+       LDA I,0\r
+       STA A,SOUND2\r
+       BEQ 8$\r
+6$:    LDA SFLG2\r
+       BEQ 1$\r
+       DEC SFLG2\r
+       LDA I,1\r
+1$:    STA A,SOUND2\r
+       LDA SFLG3\r
+       BEQ 2$\r
+       DEC SFLG3\r
+       LDA I,1\r
+2$:    STA A,SOUND3\r
+8$:    LDA SFLG0\r
+       BEQ 5$\r
+       DEC SFLG0\r
+       LDA I,1\r
+5$:    STA A,SOUND1\r
+       RTS\r
+       .SBTTL PWRON INITIALIZATION ROUTINE\r
+SETUP: LDA I,0\r
+       STA COINS\r
+       STA CREDIT\r
+       STA HNUM\r
+       STA SCORE\r
+       STA SCORE+1\r
+       STA SCR2\r
+       STA SCR2+1\r
+       STA SCRT\r
+       STA SCRT+1\r
+       STA SFLG0\r
+       STA SFLG1\r
+       STA SFLG2\r
+       STA SFLG3\r
+       STA SFLG4\r
+       STA EFLG\r
+       STA EFLG+1\r
+       STA KOIN1\r
+       STA KOIN1+1\r
+       STA FFLG\r
+       STA FFLG+1\r
+       STA A,SOUND1\r
+       STA A,SOUND2\r
+       STA A,SOUND3\r
+       STA A,CLITE             ;TURN OFF CREDIT LITES\r
+       STA A,CLITE2\r
+       LDA I,1\r
+       STA A,SLITE\r
+       STA A,VINT\r
+       LDA A,HCON\r
+       LDX I,5\r
+1$:    STA ZX,HPOS\r
+       DEX\r
+       BPL 1$\r
+       RTS\r
+       .SBTTL INTERNAL SELF-TEST\r
+ITEST: JSR BLANK\r
+       LDA I,1\r
+       STA A,VINT\r
+2$:    LDA I,0FF               ;CHECK OUT 1ST\r
+       STA AX,0                ;256 BYTES\r
+       LDA AX,0\r
+       CMP I,0FF\r
+       BNE 1$\r
+       STA A,TREST\r
+       INX\r
+       BNE 2$\r
+3$:    LDA I,0FF               ;CHECK OUT 2ND 256 BYTES\r
+       STA AX,100\r
+       LDA AX,100\r
+       CMP I,0FF\r
+       BNE 1$\r
+       STA A,TREST\r
+       INX\r
+       BNE 3$\r
+       STX TEMP1               ;NOW CHECK OUT REST OF RAM\r
+       LDA I,2\r
+       STA TEMP1+1\r
+5$:    LDY I,0\r
+       LDA I,0FF\r
+       STA NY,TEMP1\r
+       STA A,TREST\r
+       LDA NY,TEMP1\r
+       CMP I,0FF\r
+       BNE 1$\r
+       LDA TEMP1+1\r
+       CMP I,1F\r
+       BNE 7$\r
+       LDA TEMP1\r
+       CMP I,0FF\r
+       BEQ 8$\r
+7$:    LDY I,1\r
+       LDA NY,TEMP1\r
+       BNE 1$\r
+8$:    INC TEMP1\r
+       BNE 5$\r
+       INC TEMP1+1\r
+       LDA TEMP1+1\r
+       CMP I,20\r
+       BNE 5$\r
+       JSR FREEZE\r
+       JSR BLANK\r
+       JSR FREEZE\r
+       LDA I,2\r
+       BNE 9$\r
+1$:    JSR BLANK\r
+       LDA I,3\r
+9$:    JSR MESS\r
+I5:    LDA I,4                 ;ROM CHECKSUM\r
+       JSR MESS                ;FIRST OUTPUT ROM OK TO SCREEN\r
+       LDA I,30\r
+       STA TEMP2\r
+       LDA I,6\r
+       STA TEMP2+1\r
+       LDA I,PWRON&0FF00/256.\r
+       STA TEMP5+1\r
+       LDX I,0\r
+I8:    LDA I,4\r
+       STA TEMP1\r
+       LDA I,PWRON&0FF\r
+       STA TEMP5\r
+       TAY\r
+I7:    CLC\r
+       ADC NY,TEMP5            ;BUILD CHECKSUM\r
+       INY\r
+       STA A,TREST             ;PULSE WATCHDOG\r
+       BNE I7\r
+       INC TEMP5+1\r
+       DEC TEMP1\r
+       BNE I7\r
+       CMP AX,CKSUM            ;CHECKSUM OK?\r
+       BEQ I9                  ;YES\r
+       STX TEMP6\r
+       TXA                     ;BAD ROM CHECKSUM\r
+       ORA I,30                ;OUTPUT ROM # AND A BLANK\r
+       JSR STORE\r
+       INC TEMP2\r
+       LDA I,20\r
+       JSR STORE\r
+       LDX TEMP6\r
+I9:    INX\r
+       CPX I,6\r
+       BNE I8\r
+       LDA I,0\r
+       STA SFLG0\r
+       STA SFLG1\r
+       STA SFLG2\r
+       STA SFLG3\r
+       STA SFLG4\r
+       STA A,SCON\r
+       STA A,ATR               ;TURN ON SOUND\r
+       STA A,SLITE\r
+       LDA I,1\r
+       STA A,CLITE\r
+       STA A,CLITE2\r
+       LDA I,4B\r
+       STA TEMP2\r
+       LDA I,7\r
+       STA TEMP2+1\r
+I10:   LDY I,0\r
+       LDA A,HCON              ;READ HORIZONTAL CONTROL\r
+       AND I,0F0               ;AND OUTPUT TO\r
+       LSR                     ;SCREEN IN HEX\r
+       LSR\r
+       LSR\r
+       LSR\r
+       JSR ASK\r
+       JSR STORE\r
+       INY\r
+       LDA A,HCON\r
+       AND I,0F\r
+       JSR ASK\r
+       JSR STORE\r
+       DEY\r
+       LDA A,AMODE             ;CHECK COIN SWITCHES\r
+       ROR\r
+       BCC 1$\r
+       LDA I,3\r
+       STA SFLG3\r
+1$:    ROR\r
+       BCC 2$\r
+       LDA I,3\r
+       STA SFLG3\r
+2$:    LDA A,AMODE             ;CHECK SERVE SWITCH\r
+       ROL\r
+       BPL 3$\r
+       LDA I,3\r
+       STA SFLG3\r
+3$:    LDA A,CSW               ;CHECK START SWITCHES\r
+       BPL 4$\r
+       LDA I,3\r
+       STA SFLG3\r
+4$:    LDA A,CSW\r
+       ROL\r
+       BPL 5$\r
+       LDA I,3\r
+       STA SFLG3\r
+5$:    JSR SOUND\r
+6$:    LDA A,AMODE\r
+       BMI 6$\r
+7$:    LDA A,AMODE\r
+       BPL 7$\r
+       STA A,TREST             ;PULSE WATCHDOG\r
+10$:   LDA A,AMODE\r
+       BMI 10$\r
+11$:   LDA A,AMODE\r
+       BPL 11$\r
+       LDA A,AMODE             ;STILL IN SELF-TEST?\r
+       ROL\r
+       ROL\r
+       BMI I10                 ;YES\r
+       JMP PWRON               ;NO, RETURN\r
+CKSUM: .BYTE 65,34,2D,0,30,09,0E5      ;CHECKSUM TABLE\r
+FREEZE:        LDA I,0                 ;WAITS AROUND AWHILE\r
+       TAX\r
+       TAY\r
+FZ1:   INX\r
+       BNE FZ1\r
+       INY\r
+       STA A,TREST             ;PULSE WATCHDOG\r
+       BNE FZ1\r
+       CLC\r
+       ADC I,1\r
+       CMP I,2\r
+       BCC FZ1\r
+       RTS\r
+ASK:   CMP I,0A                ;CONVERT A-REG TO ASCII\r
+       BCS AK1\r
+       ORA I,30\r
+       RTS\r
+AK1:   SEC\r
+       SBC I,9\r
+       RTS\r
+       .SBTTL RANDOM NUMBER GENERATOR\r
+RANDU:  CLC\r
+       LDA POLY\r
+       BIT A,MM5\r
+       BEQ 1$\r
+       SEC\r
+1$:    BIT A,MM2\r
+       BEQ 3$\r
+       BCS 2$\r
+       SEC\r
+       BCS 3$\r
+2$:    CLC\r
+3$:    AND I,0F\r
+       BNE 4$\r
+       ROL\r
+       EOR I,1\r
+       LSR\r
+4$:    ROL\r
+       STA POLY\r
+       ASL\r
+       ASL\r
+       ASL\r
+       RTS\r
+MM5:   .BYTE 10\r
+MM2:   .BYTE 2\r
+       .SBTTL NMI PROGRAM PROTECT LOGIC\r
+NMI:   PHA\r
+       TXA\r
+       PHA\r
+       TYA\r
+       PHA\r
+       CLD\r
+       LDA A,AMODE             ;IN SELF-TEST?\r
+       AND I,20\r
+       BNE NM1                 ;YES, IGNORE PROGRAM PROTECT LOGIC\r
+       LDA RTEST               ;CHECK RAM CELLS\r
+       CMP I,92\r
+       BNE NM2\r
+       LDA RTEST+1\r
+       CMP I,3F\r
+       BNE NM2\r
+       TSX\r
+       LDA AX,106              ;GET PCH\r
+       CMP I,PWRON&0FF00/256.  ;VALID RANGE?\r
+       BCC NM3\r
+       CMP I,PWRON+1800&0FF00/256.\r
+       BCS NM3\r
+       LDA A,COINAD\r
+       LDX I,0\r
+6$:    ROR\r
+       ROR ZX,KOIN1\r
+       LDY ZX,KOIN1\r
+       BNE 7$\r
+       LDY ZX,FFLG\r
+       BEQ 8$\r
+       INC COINS\r
+       LDY I,0\r
+       STY ZX,FFLG\r
+       BEQ 8$\r
+7$:    CPY I,07F\r
+       BNE 8$\r
+       LDY I,1\r
+       STY ZX,FFLG\r
+8$:    INX\r
+       CPX I,2\r
+       BNE 6$\r
+       LDA A,AMODE\r
+       AND I,10\r
+       BNE NM1\r
+       LDA I,0\r
+       STA KOIN1\r
+       STA KOIN1+1\r
+       STA FFLG\r
+       STA FFLG+1\r
+NM1:   PLA\r
+       TAY\r
+       PLA\r
+       TAX\r
+       PLA\r
+       RTI\r
+NM2:   LDA I,92\r
+       STA RTEST\r
+       LDA I,3F\r
+       STA RTEST+1\r
+NM3:   JMP PWRON\r
+       .SBTTL  ASCII CODE CONVERSION TABLES\r
+MTAB1: .BYTE 0,38,0FC,3C,0F8,0FC,0FE,3E,0C6\r
+       .BYTE 0FC,6,0C6,0C0,0C6,0C6,7C,0FC\r
+       .BYTE 7C,0FC,78,0FC,0C6,0C6,0C6,0C6\r
+       .BYTE 0CC,0FE,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,38,30,7C\r
+       .BYTE 7E,1C,0FC,3C,0FE,78,7C\r
+MTAB2: .BYTE 0,6C,0C6,66,0CC,0C0,0C0,60,0C6\r
+       .BYTE 30,6,0CC,0C0,0EE,0E6,0C6,0C6\r
+       .BYTE 0C6,0C6,0CC,30,0C6,0C6,0C6,0EE\r
+       .BYTE 0CC,0E,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,4C,70,0C6\r
+       .BYTE 0C,3C,0C0,060,0C6,0C4,0C6\r
+MTAB3: .BYTE 0,0C6,0C6,0C0,0C6,0C0,0C0,0C0,0C6\r
+       .BYTE 030,6,0D8,0C0,0FE,0F6,0C6,0C6\r
+       .BYTE 0C6,0C6,0C0,030,0C6,0C6,0D6,7C\r
+       .BYTE 0CC,1C,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0C6,030,0E\r
+       .BYTE 18,6C,0FC,0C0,0C,0E4,0C6\r
+MTAB4: .BYTE 0,0C6,0FC,0C0,0C6,0F8,0FC,0CE,0FE\r
+       .BYTE 30,6,0F0,0C0,0FE,0FE,0C6,0C6\r
+       .BYTE 0C6,0CE,07C,30,0C6,0EE,0FE,38\r
+       .BYTE 78,38,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,7C,0,0,0C6,030,3C\r
+       .BYTE 3C,0CC,6,0FC,018,78,7E\r
+MTAB5: .BYTE 0,0FE,0C6,0C0,0C6,0C0,0C0,0C6,0C6\r
+       .BYTE 30,6,0F8,0C0,0D6,0DE,0C6,0FC\r
+       .BYTE 0DE,0F8,6,30,0C6,7C,0FE,7C\r
+       .BYTE 30,70,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,7C,0,0,0C6,30,78\r
+       .BYTE 6,0FE,6,0C6,30,9E,6\r
+MTAB6: .BYTE 0,0C6,0C6,66,0CC,0C0,0C0,66,0C6\r
+       .BYTE 30,0C6,0DC,0C0,0C6,0CE,0C6,0C0\r
+       .BYTE 0CC,0DC,0C6,30,0C6,38,0EE,0EE\r
+       .BYTE 30,0E0,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,64,30,0E0\r
+       .BYTE 0C6,0C,0C6,0C6,30,86,0C\r
+MTAB7: .BYTE 0,0C6,0FC,3C,0F8,0FE,0C0,03E,0C6\r
+       .BYTE 0FC,7C,0CE,0FE,0C6,0C6,7C,0C0\r
+       .BYTE 7A,0CE,7C,30,7C,10,0C6,0C6\r
+       .BYTE 30,0FE,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,0,0,0,0,0\r
+       .BYTE 0,0,0,0,0,38,0FC,0FE\r
+       .BYTE 7C,0C,7C,7C,30,7C,78\r
+       .SBTTL  MESSAGE TABLES\r
+MESG:  .WORD   MES0\r
+       .WORD   MES1\r
+       .WORD   MES2\r
+       .WORD   MES3\r
+       .WORD   MES4\r
+       .WORD   MES5\r
+       .WORD   MES6\r
+       .WORD   MES7\r
+       .WORD   MES8\r
+       .WORD   MES9\r
+       .WORD   MES10\r
+       .WORD   MES11\r
+       .WORD   MES12\r
+POSM:  .WORD   241\r
+       .WORD   361\r
+       .WORD   50B\r
+       .WORD   50B\r
+       .WORD   62B\r
+       .WORD   372\r
+       .WORD   0A08\r
+       .WORD   0A08\r
+       .WORD   0A08\r
+       .WORD   0A0B\r
+       .WORD   0D89\r
+       .WORD   250\r
+       .WORD   0D83\r
+MES0:  .ASCIZ  /MISSES/\r
+MES1:  .ASCIZ  /PLAYER-1/\r
+MES2:  .ASCIZ  /RAM  OK/\r
+MES3:  .ASCIZ  /RAM  BAD/\r
+MES4:  .ASCIZ  /ROM  OK/\r
+MES5:  .ASCIZ  /PLAYER-2/\r
+MES6:  .ASCIZ  /1 COIN 1 PLAYER /\r
+MES8:  .ASCIZ  /1 COIN 2 PLAYERS/\r
+MES7:  .ASCIZ  /2 COINS 1 PLAYER/\r
+MES9:  .ASCIZ  /GAME OVER/\r
+MES10: .ASCIZ  /EXTENDED PLAY/\r
+MES11: .ASCIZ  /HIGH SCORE/\r
+MES12: .ASCIZ  /EXTENDED PLAY FOR      PTS/\r
+MESGG:  .WORD MES0G\r
+       .WORD MES1G\r
+       .WORD MES2\r
+       .WORD MES3\r
+       .WORD MES4\r
+       .WORD MES5G\r
+       .WORD MES6G\r
+       .WORD MES7G\r
+       .WORD MES8G\r
+       .WORD MES9G\r
+       .WORD MES10G\r
+       .WORD MES11G\r
+       .WORD MES12G\r
+POSMG: .WORD 241\r
+       .WORD 361\r
+       .WORD 50B\r
+       .WORD 50B\r
+       .WORD 62B\r
+       .WORD 372\r
+       .WORD 0A07\r
+       .WORD 0A07\r
+       .WORD 0A07\r
+       .WORD 0A0B\r
+       .WORD 0D85\r
+       .WORD 24F\r
+       .WORD 0D81\r
+MES0G: .ASCIZ  /FEHLER/\r
+MES1G: .ASCIZ  /SPIELER-1/\r
+MES5G: .ASCIZ  /SPIELER-2/\r
+MES6G: .ASCIZ  /1 MUENZE 1 SPIELER/\r
+MES7G: .ASCIZ  /2 MUENZE 1 SPIELER/\r
+MES8G: .ASCIZ  /1 MUENZE 2 SPIELER/\r
+MES9G: .ASCIZ  /SPIELENDE/\r
+MES10G:        .ASCIZ  /VERLAENGERTE SPIELZEIT/\r
+MES11G:        .ASCIZ  /TOP TREFFER/\r
+MES12G:        .ASCIZ  /VERLAENGERT FUER      PUNKTEN/\r
+MESGF: .WORD MES0F\r
+       .WORD MES1F\r
+       .WORD MES2\r
+       .WORD MES3\r
+       .WORD MES4\r
+       .WORD MES5F\r
+       .WORD MES6F\r
+       .WORD MES7F\r
+       .WORD MES8F\r
+       .WORD MES9F\r
+       .WORD MES10F\r
+       .WORD MES11F\r
+       .WORD MES12F\r
+POSMF: .WORD 241\r
+       .WORD 361\r
+       .WORD 50B\r
+       .WORD 50B\r
+       .WORD 62B\r
+       .WORD 372\r
+       .WORD 0A08\r
+       .WORD 0A08\r
+       .WORD 0A08\r
+       .WORD 0A09\r
+       .WORD 0D8A\r
+       .WORD 24C\r
+       .WORD 0D83\r
+MES0F: .ASCIZ  /ERREURS/\r
+MES1F: .ASCIZ  /JOUEUR-1/\r
+MES5F: .ASCIZ  /JOUEUR-2/\r
+MES6F: .ASCIZ  /1 PIECE 1 JOUEUR/\r
+MES7F: .ASCIZ  /2 PIECES 1 JOUEUR/\r
+MES8F: .ASCIZ  /1 PIECE 2 JOUEURS/\r
+MES9F: .ASCIZ  /FIN DE PARTIE/\r
+MES10F:        .ASCIZ  /JEU PROLONGE/\r
+MES11F:        .ASCIZ  /MEILLEUR SCORE/\r
+MES12F:        .ASCIZ  /JEU PROLONGE DE      POINTS/\r
+MESGS: .WORD MES0S\r
+       .WORD MES1S\r
+       .WORD MES2\r
+       .WORD MES3\r
+       .WORD MES4\r
+       .WORD MES5S\r
+       .WORD MES6S\r
+       .WORD MES7S\r
+       .WORD MES8S\r
+       .WORD MES9S\r
+       .WORD MES10S\r
+       .WORD MES11S\r
+       .WORD MES12S\r
+POSMS: .WORD 241\r
+       .WORD 361\r
+       .WORD 50B\r
+       .WORD 50B\r
+       .WORD 62B\r
+       .WORD 372\r
+       .WORD 0A07\r
+       .WORD 0A07\r
+       .WORD 0A07\r
+       .WORD 0A0A\r
+       .WORD 0D89\r
+       .WORD 24E\r
+       .WORD 0D83\r
+MES0S: .ASCIZ /FALLOS/\r
+MES1S: .ASCIZ /JUGADOR-1/\r
+MES5S: .ASCIZ /JUGADOR-2/\r
+MES6S: .ASCIZ /1 MONEDA 1 JUGADOR/\r
+MES8S: .ASCIZ /1 MONEDA 2 JUGADORES/\r
+MES7S: .ASCIZ /2 MONEDAS 1 JUGADOR/\r
+MES9S: .ASCIZ /FIN PARTIDA/\r
+MES10S:        .ASCIZ /JUGADA EXTRA/\r
+MES11S:        .ASCIZ /PUNTAJE ALTO/\r
+MES12S:        .ASCIZ /JUGADA EXTRA DE      PUNTOS/\r
+       .REPT   PWRON+800+0FFA-.\r
+       .BYTE   0\r
+       .ENDM\r
+       .=PWRON+800+0FFA\r
+       .WORD   NMI             ;VECTORS\r
+       .WORD   PWRON\r
+       .WORD   PWRON\r
+       .=0F7C3\r
+       .WORD NMI\r
+       .END\r
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\ No newline at end of file
diff --git a/AVALAN.DOC b/AVALAN.DOC
new file mode 100644 (file)
index 0000000..982f97b
Binary files /dev/null and b/AVALAN.DOC differ
diff --git a/AVALCH.MAP b/AVALCH.MAP
new file mode 100644 (file)
index 0000000..e2ce32a
Binary files /dev/null and b/AVALCH.MAP differ