First commit main
authorHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 06:19:16 +0000 (02:19 -0400)
committerHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 06:19:16 +0000 (02:19 -0400)
A7325.RBN [new file with mode: 0644]
A7326.RBN [new file with mode: 0644]
A7327.RBN [new file with mode: 0644]
A7328.RBN [new file with mode: 0644]
A7329.XX [new file with mode: 0644]
PSDIAG.INS [new file with mode: 0644]
PSDIAG.MAC [new file with mode: 0644]
PSHARK.DIR [new file with mode: 0644]
PSHARK.MAP [new file with mode: 0644]

diff --git a/A7325.RBN b/A7325.RBN
new file mode 100644 (file)
index 0000000..0a873fa
Binary files /dev/null and b/A7325.RBN differ
diff --git a/A7326.RBN b/A7326.RBN
new file mode 100644 (file)
index 0000000..56697a1
Binary files /dev/null and b/A7326.RBN differ
diff --git a/A7327.RBN b/A7327.RBN
new file mode 100644 (file)
index 0000000..6e2048f
Binary files /dev/null and b/A7327.RBN differ
diff --git a/A7328.RBN b/A7328.RBN
new file mode 100644 (file)
index 0000000..01b936c
Binary files /dev/null and b/A7328.RBN differ
diff --git a/A7329.XX b/A7329.XX
new file mode 100644 (file)
index 0000000..c4be057
--- /dev/null
+++ b/A7329.XX
@@ -0,0 +1,1645 @@
+       .NLIST\r
+       .MACRO PAIR A,B\r
+       .BYTE   ^D<A>*20+^D<B>\r
+       .ENDM\r
+       .LIST\r
+       .TITLE POOLSHARK 6/14/76 TAH\r
+       .ASECT\r
+       .=70000\r
+IRQRST =64000\r
+DISP   =2000\r
+HPOS   =4000\r
+VPOS   =6000\r
+P1     =10000\r
+P2     =10001\r
+CN1    =10002\r
+CN2    =10003\r
+SCRAT  =12000\r
+SCORES =14000\r
+CLICK  =16000\r
+CONTRL =60000\r
+BUMP   =62000\r
+STF1   =66002\r
+STN1   =66003\r
+STF2   =66004\r
+STN2   =66005\r
+STF12  =66006\r
+STN12  =66007\r
+OBJH   =0                      ;HPOS FOR DISPLAY\r
+OBJV   =20                     ;VPOS\r
+OBJHL  =40                     ;HPOS LOW\r
+OBJVL  =60                     ;VPOS LOW\r
+OBJHV  =100                    ;HV\r
+OBJHVL =120                    ;HV LOW\r
+OBJVV  =140                    ;VV\r
+OBJVVL =160                    ;VL LOW\r
+J      =200                    ;WORK\r
+K      =201                    ;WORK\r
+L      =202                    ;WORK\r
+M      =203                    ;WORK\r
+X2     =204                    ;HOLD X DURING INTERRUPT\r
+X3     =206                    ;HOLD X\r
+TPTR   =210                    ;BUILD TABLE PTRS\r
+SPT    =212                    ;SAVE STACK\r
+MORA   =214                    ;SOURCE FOR EXTRAS\r
+MORD   =216                    ;DEST. FOR EXTRAS\r
+TSTH   =220                    ;PARAMETERS OF INCIDENT BALL\r
+TSTHL  =221\r
+TSTV   =222\r
+TSTVL  =223\r
+TSTHV  =224\r
+TSTHVL =225\r
+TSTVV  =226\r
+TSTVVL =227\r
+SYNC   =230\r
+TIME   =231\r
+RTC    =231\r
+THETA  =232\r
+PSYNC  =234\r
+R0     =240\r
+R1     =241\r
+R2     =242\r
+R3     =243\r
+R4     =244\r
+R5     =245\r
+R6     =246\r
+R7     =247\r
+BP     =250\r
+SCR1   =251\r
+SCR2   =253\r
+TIMER  =255\r
+HEAT   =257\r
+PFG    =260\r
+CF     =261\r
+X4     =262\r
+TEMP   =264\r
+R8     =266\r
+R9     =267\r
+ZCNT   =270\r
+HOLDHV =271\r
+HOLDVV =272\r
+RACK   =276\r
+PLYNUM =275\r
+CREDIT =274\r
+AT     =273\r
+COIN   =377\r
+CNTACT =300                            ;300-317\r
+MODE = 277\r
+GOTYM=320\r
+GOFLAG=321\r
+ATTYM=322\r
+PNUM=323\r
+QTV=324\r
+QTH=325\r
+QTM=326\r
+BONUS  =330\r
+EXPLY  =10001\r
+DIAG   =40000\r
+\r
+\r
+BEGIN: .BYTE   36,0            ;CHECKSUM & COMPLEMENT\r
+TESTPS:        STAA    E,STN12                 ;START LIGHTS ON\r
+       JSR     E,BLANK                 ;CLEAR SCREEN\r
+       JSR     E,SWITCH                ;TEST SWITCHES\r
+       LDAA    I,13                    ;"TEST"\r
+       JSR     E,MESOUT\r
+       STAA    E,IRQRST\r
+       SEI\r
+       LDX     I,COIN\r
+       LDAA    I,COIN\r
+TLP0:  STAA    X,0\r
+       DEX\r
+       DECA\r
+       BNE     TLP0\r
+       STAA    X,0\r
+       LDX     I,COIN\r
+       LDAA    I,COIN\r
+TLP1:  CMPA    X,0\r
+       BNE     RMER\r
+       CLR     X,0\r
+       DEX\r
+       DECA\r
+       BNE     TLP1\r
+       CMPA    X,0\r
+       BEQ     CKSM\r
+RMER:  TSTA\r
+       BMI     RM2\r
+       LDAA    I,14\r
+RMER1: JSR     E,MESOUT\r
+       JSR     E,TSWIT\r
+       BRA     S,-3\r
+RM2:   LDAA    I,15\r
+       BRA     RMER1\r
+CKSM:  CLI\r
+       LDX     I,BEGIN\r
+       LDAA    X,0\r
+       INX\r
+       INX\r
+ROMA:  SUBA    X,0\r
+       INX\r
+       CPX     I,BEGIN+2000\r
+       BNE     ROMA\r
+       STAA    E,CN2\r
+       TSTA\r
+       BEQ     ROMB\r
+       LDAA    I,16                    ;C\r
+       JSR     E,MESOUT\r
+       JSR     E,TSWIT\r
+       BRA     S,-3\r
+ROMB:  LDAA    E,BEGIN+3776\r
+ROMB1: SUBA    X,0\r
+       INX\r
+       CPX     I,BEGIN+3776\r
+       BNE     ROMB1\r
+       STAA    E,CN2\r
+       TSTA\r
+       BEQ     ROMC\r
+       LDAA    I,17                    ;D\r
+       JSR     E,MESOUT\r
+ROMC:  INX\r
+       INX\r
+       LDAA    X,0\r
+       INX\r
+       INX\r
+ROMC1: SUBA    X,0\r
+       INX\r
+       CPX     I,BEGIN+6000\r
+       BNE     ROMC1\r
+       STAA    E,CN2\r
+       TSTA\r
+       BEQ     TSTOK\r
+       LDAA    I,20                    ;E\r
+       JSR     E,MESOUT\r
+TSTOK: LDAA    X,0\r
+       INX\r
+       INX\r
+ROMD:  SUBA    X,0\r
+       CPX     I,BEGIN+7777\r
+       BEQ     TSTOKA\r
+       INX\r
+       BRA     ROMD\r
+       STAA    E,CN2\r
+       TSTA\r
+       BEQ     TSTOKA\r
+       LDAA    I,37                    ;F\r
+       JSR     E,MESOUT\r
+       JSR     E,TSWIT\r
+       BRA     S,-3\r
+TSTOKA:        LDAA    I,12                    ;OK\r
+       JSR     E,MESOUT\r
+TSTLPE:        LDAA    I,26                    ;POT ADJUST\r
+       JSR     E,MESOUT\r
+       LDAA    I,27                    ;P1X\r
+       JSR     E,MESOUT\r
+       CLR     E,R0\r
+       LDX     I,P1\r
+       JSR     E,POTADJ\r
+       COM     E,R0\r
+       LDAA    I,30                    ;P1Y\r
+       JSR     E,MESOUT\r
+       JSR     E,PXAL\r
+       CLR     E,R0\r
+       LDAA    I,31                    ;P2X\r
+       JSR     E,MESOUT\r
+       LDX     I,P2\r
+       JSR     E,POTADJ\r
+       COM     E,R0\r
+       LDAA    I,32                    ;P2Y\r
+       JSR     E,MESOUT\r
+       JSR     E,PXAL\r
+       JSR     E,BLANK\r
+       LDAA    I,40                    ;TEST COMPLETE\r
+       JSR     E,MESOUT\r
+TSTLPZ:        JSR     E,SWITCH\r
+       JSR     E,TSWIT\r
+       BRA     TSTLPZ\r
+POTADJ:        STX     D,R1                    ;R0=0 => X POT\r
+PXAL:  JSR E,SWITCH\r
+       LDX     D,R1                    ;R0=200 => Y POT\r
+       JSR     E,TSWIT\r
+       JSR     E,GETVAL\r
+       TST     E,R0\r
+       BPL     XPOT\r
+       CMPB    I,10\r
+       BRA     S,+4\r
+XPOT:  CMPA    I,10\r
+       BEQ     PXDN\r
+       BCS     PXUP\r
+       STAA    E,BUMP+1\r
+PXUN:  LDAA    I,36                    ;NOT ALIGNED\r
+       JSR     E,MESOUT\r
+       LDAA    I,34\r
+       JSR     E,MESOUT                ;CLEAR "PUSH START2"\r
+       BRA     PXAL\r
+PXUP:  STAA    E,BUMP\r
+       BRA     PXUN\r
+PXDN:  STAA    E,BUMP\r
+       LDAA    I,35                    ;"ALIGNED"\r
+       JSR     E,MESOUT\r
+       LDAA    I,33                    ;PUSH START2\r
+       JSR     E,MESOUT\r
+       LDAA    E,CN2\r
+       BITA    I,100\r
+       BNE     PXAL\r
+       LDAA    E,CN2\r
+       BITA    I,100\r
+       BEQ     S,-5\r
+       LDAA    I,34                    ;CLEAR "PUSH START2"\r
+       JSR     E,MESOUT\r
+       RTS\r
+SWITCH:        LDAA    E,CN1\r
+       COMA\r
+       ANDA    I,300\r
+       BEQ     S,+5\r
+       STAA    E,SCORES\r
+       LDAA    E,CN2\r
+       COMA\r
+       ANDA    I,300\r
+       BEQ     S,+5\r
+       STAA    E,SCORES\r
+       STAA    E,CN2\r
+       RTS\r
+TSWIT: LDAA    E,CN2\r
+       BITA    I,20\r
+       BEQ     S,3\r
+       WAI\r
+       RTS\r
+START:STARTG:  SEI\r
+       LDS     I,375\r
+       LDAA    E,DIAG\r
+       CMPA    I,17\r
+       BNE     ST\r
+       LDAA    E,DIAG+4\r
+       CMPA    I,266\r
+       BNE     ST\r
+       JMP     E,DIAG\r
+ST:    LDX     I,330                   ;SET SP=370\r
+ST1:   CLR     X,0\r
+       DEX\r
+       BNE     ST1\r
+       LDAA I,60\r
+       LDAB I,6\r
+       LDX I,SCR1\r
+       STAA X,0\r
+       INX\r
+       DECB\r
+       BNE S,-4\r
+ST2:   COM     E,AT\r
+       CLR     E,GOFLAG\r
+       CLR     E,COIN\r
+       LDX     I,0\r
+       STX     D,TIMER\r
+       STX     D,TIMER+1\r
+       CLR     E,BUMP\r
+       CLR     E,SCRAT\r
+       STAA E,STF12            ;START 1&2 OFF\r
+       LDAA    I,200\r
+       STAA    D,PSYNC\r
+       CLR     E,RTC\r
+       JSR     E,BLANK\r
+       JSR     E,PFOUT\r
+       CLR     E,PFG\r
+       JSR     E,BRACK\r
+       LDAA I,16\r
+       STAA D,ATTYM\r
+ATLP:  LDAA E,CN2\r
+       BITA    I,20\r
+       BNE     ATLPZ\r
+       JMP     E,TESTPS\r
+ATLPZ: COMA\r
+       ANDA I,3\r
+       STAA D,MODE\r
+MD:    STAA E,STF12            ;START 1&2 OFF\r
+MD0:   LDAA D,MODE\r
+       JSR E,MESOUT\r
+       LDAA I,21\r
+       JSR E,MESOUT\r
+       LDAA E,CN1\r
+       COMA\r
+       ANDA I,3\r
+       ADDA I,22\r
+       JSR E,MESOUT\r
+       STAA E,CN2\r
+       LDAA D,GOTYM\r
+       BNE ATON\r
+       LDAA I,13\r
+       STAA D,GOTYM\r
+       COM E,GOFLAG\r
+       LDAA D,GOFLAG\r
+       BMI GOFF\r
+       LDAA I,4\r
+       BRA GOON                ;GAME OVER TO SCREEN\r
+GOFF:  LDAA I,5                ;GAME OVER OFF SCREEN\r
+GOON:  JSR E,MESOUT\r
+ATON:  JSR E,ATPLY             ; ATTRACT BALL MOTION 1 FRAME\r
+       JSR E,COININ\r
+       LDAA D,COIN\r
+       BNE COINOP\r
+       DEC E,GOTYM\r
+       LDAA D,RTC\r
+       BNE ATLP\r
+       DEC E,ATTYM\r
+       BNE ATLP\r
+       WAI\r
+COINOP:        LDAA D,MODE\r
+       BNE MOD1\r
+       LDAA D,COIN\r
+       CMPA I,2\r
+       BCC ST2M1\r
+       STAA E,STN1             ;START 1 ON\r
+       STAA E,STF2             ;START 2 OFF\r
+       LDAA I,6                ;PUSH START1 OR INSERT COIN\r
+       JSR E,MESOUT\r
+       CLR E,PNUM\r
+CON:   JSR E,COININ\r
+       LDAA I,2\r
+       CMPA D,COIN\r
+       BEQ ST2M1\r
+       LDAA E,CN1\r
+       ASLA\r
+       BMI CON\r
+       CLR E,CREDIT\r
+       JMP E,GMPLAY\r
+ST2M1: STAA E,STF1             ;START 1 OFF\r
+       STAA E,STN2             ;START 2 ON\r
+       LDAA    I,7             ;PUSH START 2\r
+       JSR     E,MESOUT\r
+       LDAA    I,200\r
+       STAA    D,PNUM\r
+       LDAA E,CN2\r
+       ASLA\r
+       BMI S,-4\r
+       JMP E,GMPLAY\r
+MOD1:  CMPA I,1\r
+       BNE MOD2\r
+MDRST1:        STAA E,STN12            ;START 1&2 ON\r
+       LDAA I,10               ;PUSH START1 OR START2\r
+       JSR E,MESOUT\r
+MDSTLP:        LDAA E,CN1\r
+       ASLA\r
+       BPL M2ST1\r
+       LDAA E,CN2\r
+       ASLA\r
+       BMI MDSTLP\r
+       LDAA I,200\r
+       BRA MD1GO\r
+M2ST1: CLRA\r
+MD1GO: CLR E,CREDIT\r
+MDGO:  STAA D,PNUM\r
+       JMP E,GMPLAY\r
+MOD2:  CMPA I,2\r
+       BNE MOD3\r
+       STAA E,STN12            ;START 1&2 ON\r
+       LDAA I,10               ;PUSH START1 OR START2\r
+       JSR E,MESOUT\r
+       LDAA I,1\r
+       STAA E,CREDIT\r
+MD2LP: LDAA E,CN1\r
+       ASLA\r
+       BPL MD2ST1\r
+       LDAA E,CN2\r
+       ASLA\r
+       BMI MD2LP\r
+       LDAA I,200\r
+       BRA MDGO\r
+MD2ST1:        CLRA\r
+       BRA MDGO\r
+MOD3:  LDAA D,COIN\r
+       CMPA I,2\r
+       BGE MD2E\r
+       LDAA I,11               ;INSERT COIN\r
+       JSR E,MESOUT\r
+       JSR E,COININ\r
+       BRA MOD3\r
+MD2E:  STAA E,STN1             ;START 1 ON\r
+       LDAA I,6                ;PUSH START1 OR INSERT COIN\r
+       JSR E,MESOUT\r
+MD23:  LDAA E,CN1\r
+       ASLA\r
+       BPL MD2G\r
+       JSR E,COININ\r
+       LDAA D,COIN\r
+       CMPA I,3\r
+       BLT MD23\r
+       STAA E,STF1             ;START 1 OFF\r
+       LDAA I,11               ;INSERT COIN\r
+       JSR E,MESOUT\r
+MD34L: JSR E,COININ\r
+       LDAA D,COIN\r
+       CMPA I,4\r
+       BLT MD34L\r
+       STAA E,STN2             ;START 2 ON\r
+       LDAA I,7                ;PUSH START 2\r
+       JSR E,MESOUT\r
+       BRA MD24\r
+MD2G:  CLR E,PNUM\r
+MD4LP: CLR E,CREDIT\r
+       JMP E,GMPLAY\r
+MD24:  LDAA E,CN2\r
+       ASLA\r
+       BMI S,-4\r
+       LDAA I,200\r
+       STAA D,PNUM\r
+       BRA MD4LP\r
+GMPLAY:        CLR E,AT\r
+       CLR E,PFG\r
+       STAA E,STF12            ;START 1&2 OFF\r
+       LDAA I,200\r
+       STAA E,PSYNC\r
+       CLR E,RTC\r
+       JSR E,BLANK\r
+       JSR E,PFOUT\r
+       CLR E,BP\r
+       LDAA    E,CN1\r
+       COMA\r
+       ANDA    I,3\r
+       ADDA    I,62\r
+       STAA    D,RACK\r
+       LDAA    I,60\r
+       LDAB    I,6\r
+       LDX     I,SCR1\r
+       STAA    X,0\r
+       INX\r
+       DECB\r
+       BNE     S,-4\r
+       INCA\r
+       STAA    D,HEAT\r
+NEXTP: CLR     E,BONUS\r
+       LDAA    I,63\r
+       STAA    D,TIMER\r
+       LDAA    I,60\r
+       STAA    D,TIMER+1\r
+MAIN1: JSR     E,BRACK\r
+MAIN0: LDAA    D,BP\r
+       BEQ     NBP\r
+       LSRA\r
+       BCS     S,+7\r
+       STAA    E,BUMP+1\r
+       BRA     S,+5\r
+       STAA    E,BUMP\r
+       ROLA\r
+       DECA\r
+       STAA    D,BP\r
+NBP:   CLR     E,SYNC\r
+       LDAA    D,SYNC\r
+       BPL     S,-2\r
+       INC     E,RTC\r
+       STAA    E,CN2\r
+       LDAA    D,RTC\r
+       ANDA    I,77\r
+       BNE     MVB1\r
+       LDAA    I,60\r
+       CMPA    D,TIMER\r
+       BNE     TUPDT\r
+       CMPA    D,TIMER+1\r
+       BNE     TUPDT\r
+SRATST:LDAA D,PNUM\r
+       BEQ HEATCK\r
+       LDAA    D,PFG\r
+       BMI     HEATCK\r
+       LDAA    I,200\r
+       STAA    D,PFG\r
+       JMP     E,NEXTP\r
+HEATCK:        LDAA    D,RACK\r
+       CMPA    D,HEAT\r
+       BNE     HTOK\r
+       LDAA D,MODE\r
+       CMPA I,2\r
+       BEQ S,+5\r
+       JMP E,ST2\r
+       LDAA D,CREDIT\r
+       BNE S,+5\r
+       JMP E,ST2\r
+       STAA    E,BUMP          ;CLEAR BUMP SOUND\r
+       JMP     E,MDRST1\r
+HTOK:  INC     E,HEAT\r
+       CLR     E,PFG\r
+       JMP     E,NEXTP\r
+TUPDT: LDAA    D,TIMER+1\r
+       DECA\r
+       CMPA    I,57\r
+       BNE     TMOK\r
+       LDAA    I,71\r
+       STAA    D,TIMER+1\r
+       LDAA    D,TIMER\r
+       DECA\r
+       STAA    D,TIMER\r
+       BRA     S,+4\r
+TMOK:  STAA    D,TIMER+1\r
+MVB1:  TST     E,ZCNT\r
+       BNE     MVB2\r
+       TST     E,EXPLY\r
+       BPL     BONSET\r
+BON:   JMP     E,MAIN1\r
+BONSET:        LDAA    D,BONUS\r
+       BMI     BON\r
+       LDAA    I,200\r
+       STAA    D,BONUS\r
+       LDAB    I,1\r
+       LDAA    I,5\r
+       ADDA    D,TIMER+1\r
+       CMPA    I,72\r
+       BCC     1$\r
+       STAA    D,TIMER+1\r
+       BRA     2$\r
+1$:    INCB\r
+       SUBA    I,12\r
+       STAA    D,TIMER+1\r
+2$:    ADDB    D,TIMER\r
+       STAB    D,TIMER\r
+       BRA     BON\r
+MVB2:  LDX     I,17\r
+MVB0:  JSR     E,PLAY          ;MOVE BALL # IN IR\r
+       DEX\r
+       BNE     MVB0\r
+       LDAA    I,20\r
+       STAA    D,CNTACT\r
+       JSR     E,PLAY\r
+       LDAA    D,PFG\r
+       BPL     S,+7\r
+       LDX     I,P2\r
+       BRA     S,+5\r
+       LDX     I,P1\r
+       JSR     E,GETVAL\r
+       STAA    D,R2            ;H VAL\r
+       STAB    D,R3            ;V VAL\r
+       LDX     I,XTAB\r
+       STX     D,R6\r
+       STX     D,R4\r
+       LDAA    D,R5\r
+       ADDA    D,R2\r
+       STAA    D,R5\r
+       LDAA    D,R4\r
+       ADCA    I,0\r
+       STAA    D,R4\r
+       LDAA    D,R7\r
+       ADDA    D,R3\r
+       STAA    D,R7\r
+       LDAA    D,R6\r
+       ADCA    I,0\r
+       STAA    D,R6\r
+       LDX     D,R4\r
+       LDAA    X,0\r
+       STAA    D,OBJHV\r
+       LDX     D,R6\r
+       LDAA    X,0\r
+       STAA    D,OBJVV\r
+       JMP     E,MAIN0\r
+;USED A&B: X-POT VALUE RETURNED IN A, Y-POT VALUE RETURNED IN B\r
+GETVAL:        LDAA    I,10\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,10\r
+       BNE     S,+3\r
+       CLRA\r
+       ORAA    I,4\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,10\r
+       BNE     S,+4\r
+       ANDA    I,10\r
+       ORAA    I,2\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,10\r
+       BNE     S,+4\r
+       ANDA    I,14\r
+       ORAA    I,1\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,10\r
+       BNE     S,+4\r
+       ANDA    I,16\r
+       STAA    D,TEMP                  ;X SAVED\r
+       LDAB    I,10\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+3\r
+       CLRB\r
+       ORAB    I,4\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+4\r
+       ANDB    I,10\r
+       ORAB    I,2\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+4\r
+       ANDB    I,14\r
+       ORAB    I,1\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+4\r
+       ANDB    I,16\r
+       LDAA    D,TEMP\r
+       RTS\r
+\r
+BRACK: SEI\r
+       STS     D,SPT\r
+       LDS     I,BINIT-1       ;INITIAL BALL TABLE\r
+       LDX     I,200\r
+       CLR     X,0\r
+       DEX\r
+       BNE     S,-3\r
+       LDX     I,317                   ;SET CONTACT TBL TO NONE\r
+       LDAB    I,20\r
+       TBA\r
+       STAA    X,0\r
+       DEX\r
+       DECB\r
+       BNE     S,-4\r
+       LDX     I,0\r
+       LDAB    I,20\r
+       STAB    D,R0\r
+BLK0:  PULA\r
+       LDAB    D,PFG\r
+       BMI     S,+3\r
+       NEGA\r
+       STAA    X,0\r
+       PULA\r
+       STAA    X,20\r
+       INX\r
+       DEC     E,R0\r
+       BNE     BLK0\r
+       LDS     D,SPT\r
+       TST     E,IRQRST\r
+       CLI\r
+       LDAA    I,17\r
+       STAA    D,ZCNT\r
+       RTS\r
+BINIT: .BYTE   60,237,220,237,236,230,236,247,254,220,254,237\r
+       .BYTE   254,256,272,210,272,227,272,246,272,265\r
+       .BYTE   310,200,310,217,310,236,310,255,310,274\r
+XTAB:  .BYTE 70,60,50,40,30,20,10,0,0,370,360,350,340,330,320,310\r
+BLANK: LDX     I,DISP\r
+       LDAB    I,40\r
+       STAB    D,R0\r
+BLKLP: CLR     E,SYNC\r
+       CLR     E,PSYNC\r
+       CLI\r
+       LDAA    D,PSYNC\r
+       BPL     S,-2\r
+       STAA    E,CN2\r
+BLKLP1:        CLR     X,0\r
+       INX\r
+       DECB\r
+       BNE     BLKLP1\r
+       LDAB    I,40\r
+       DEC     E,R0\r
+       BNE     BLKLP\r
+       RTS\r
+                               ;THE BASIC MOVE AND CHECK ROUTINE\r
+MESOUT:        ASLA\r
+       LDX I,MIN\r
+       STX D,MORA\r
+       TAB\r
+       ADDA D,MORA+1\r
+       STAA D,MORA+1\r
+       LDX I,MOUT\r
+       STX D,MORD\r
+       ADDB D,MORD+1\r
+       STAB D,MORD+1\r
+       LDX D,MORA\r
+       LDX X,0\r
+       STX D,MORA\r
+       LDX D,MORD\r
+       LDX X,0\r
+       STX D,MORD\r
+MSOUT1:        CLR E,SYNC\r
+       CLR E,PSYNC\r
+       CLI\r
+MSOUT2:        LDAA E,CN1\r
+       ANDA E,CN2\r
+       BMI MSOUT3\r
+       JSR E,COININ\r
+       BRA MSOUT1\r
+MSOUT3:        LDAA D,PSYNC\r
+       BPL MSOUT2\r
+MESLP: LDX D,MORA\r
+       LDAA X,0\r
+       BMI MRORE\r
+       TAB\r
+       CLRA\r
+MESLOP:        INX\r
+       STX D,MORA\r
+       LDX D,MORD\r
+MDRLP: STAB X,0\r
+       INX\r
+       DECA\r
+       BPL MDRLP\r
+       STX D,MORD\r
+       BRA MESLP\r
+MRORE: COMA\r
+       BNE MESLOP\r
+       STAA    E,CN2\r
+       RTS\r
+ATPLY: CLR E,SYNC\r
+CKCON: LDAA E,CN1\r
+       ANDA E,CN2\r
+       BMI DOSYNK\r
+       JSR E,COININ\r
+DOSYNK:        LDAA D,SYNC\r
+       BPL CKCON\r
+       INC E,RTC\r
+       STAA    E,CN2\r
+       RTS\r
+COININ:        LDAA    D,AT\r
+       BMI     S,+3\r
+       RTS\r
+       LDAA    E,CN1\r
+       ANDA    E,CN2\r
+       BPL     S,+3\r
+       RTS\r
+       LDAA    I,17\r
+       STAA    D,R0\r
+       STAA    D,R1\r
+CNLP:  LDAA    E,CN1\r
+       BMI     C1NT\r
+       LDAA    D,R0\r
+       BEQ     C2CK\r
+C1CK:  DEC     E,R0\r
+       BNE     C2CK\r
+       INC     E,COIN\r
+       BRA     CNLP0\r
+C1NT:  LDAA    I,17\r
+       STAA    D,R0\r
+C2CK:  LDAA    I,143           ;1 MSEC. DELAY\r
+       STAA    D,R4\r
+       DEC     E,R4\r
+       BNE     S,-3\r
+       LDAA    E,CN2\r
+       BMI     C2NT\r
+       LDAA    D,R1\r
+       BEQ     CNLP0\r
+C2PRC: DEC     E,R1\r
+       BNE     CNLP0\r
+       INC     E,COIN\r
+       BRA     CNLP0\r
+C2NT:  LDAA    I,17\r
+       STAA    D,R1\r
+CNLP0: LDAA    E,CN1\r
+       ANDA    E,CN2\r
+       BPL     CNLP\r
+       RTS\r
+\r
+\r
+; THIS ROUTINE TAKES X AND Y IN A AND B, RETURNS THETA AND R\r
+POLAR: STAA    D,K             ;SAVE X\r
+       CLRA                    ;START WITH QUADRANT 0\r
+       EORB    D,K\r
+       BPL     S,+4    ; --     IF X AND Y ARE SAME SIGN, QUAD. IS 0 OR 2\r
+       LDAA    I,20    ;  !     OTHERWISE, QUAD IS 1 OR 3 (SHIFTED LEFT 4)\r
+       EORB    D,K     ; <-     RECONSTITUTE Y\r
+       BPL     S,+5    ; --\r
+       NEGB            ;  !     TAKE !Y!\r
+       ADDA    I,40    ;  !     ADD 2 TO QUAD. OF Y WAS NEG.\r
+       STAA    D,L     ; <-     SAVE QUAD. FOR NOW\r
+       LDAA    D,K\r
+       BPL     S,+3\r
+       NEGA                    ;TAKE !X!\r
+       STAA    D,R0\r
+       ASLA\r
+       ASLA\r
+       ASLA                    ;MAKE ROOM FOR Y\r
+       ASLA\r
+       SUBA    D,R0\r
+       ABA                     ;AND STUFF IT\r
+       STX     D,X3\r
+       LDAB    I,TBL1&177400/400 ;TABLE SHOULD LIVE ON 256 BYTE BOUNDARY, TO\r
+       STAB    D,TPTR          ; SAVE 8 BYTES, 20 CYCLES\r
+       STAA    D,TPTR+1\r
+       LDX     D,TPTR\r
+       LDAA    X,0\r
+       TAB\r
+       BEQ     PLR\r
+       ANDB    I,17            ;ISOLATE THETA (BOTTOM FOUR BITS)\r
+       BNE     PLR\r
+       TST     E,R0\r
+       BNE     PLR\r
+       LDAB    I,20\r
+PLR:   ANDA    I,360           ;ISOLATE R  (TOP FOUR BITS)\r
+       STAA    D,R1            ;SAVE R\r
+       LDAA    D,L\r
+       BITA    I,20            ;CHECK QUAD 1 OR 3\r
+       BEQ     S,+5    ; --\r
+       ADDA    I,20    ;  !     IF SO ANGLE IS NEXT QUAD\r
+       NEGB            ;  !     MINUS THETA\r
+       ABA             ; <-\r
+       ANDA    I,77\r
+       TAB\r
+       LDAA    D,R1            ;GET R\r
+       LSRA\r
+       LSRA\r
+       LSRA\r
+       LSRA\r
+       LDX     D,X3\r
+       RTS\r
+\r
+;THESE TAKE AN ANGLE IN A, RETURN SIN OR COS IN A. CLOBBER B, TPTR+1,X3\r
+SIN:   SUBA    I,20            ;SIN (ALPHA)=COS (PI/2-ALPHA)\r
+       NEGA\r
+COS:   TAB\r
+       ANDA    I,17            ;ISOLATE ANGLE MOD PI/2\r
+       BITB    I,20            ;CHECK IF QUADRANT 1 OR 3\r
+       BEQ     EQUAD\r
+       TSTA\r
+       BNE     S,+6\r
+       LDAA    I,20\r
+       BRA     EQUAD\r
+       NEGA                    ;ALPHA<- PI -ALPHA\r
+       ANDA    I,17\r
+EQUAD: STAA    D,TPTR+1\r
+       STX     D,X3\r
+       LDX     D,TPTR\r
+       LDAA    X,TBL2-TBL1\r
+       ADDB    I,20\r
+       BITB    I,40            ;CHECK IF QUAD 1 OR 2\r
+       BEQ     S,+3\r
+       NEGA\r
+       LDX     D,X3\r
+       RTS\r
+\r
+INT:   LDAA    D,SYNC\r
+       BPL     DISP1\r
+INTA:  LDAA    E,IRQRST\r
+       LDAA    D,PSYNC\r
+       BMI     S,+5\r
+       COM     E,PSYNC\r
+       RTI\r
+DISP1: LDAA    D,PSYNC\r
+       BMI     DISP2\r
+       COM     E,PSYNC\r
+       BRA     INTA\r
+DISP2: STS     D,SPT           ;ENTERED ON INTERRUPT FROM VBLANK\r
+       LDS     I,-1            ;GET READY TO PUL LOC 0\r
+       LDX     I,HPOS          ;POINT TO DISP. MOVING OBJECTS RAM.\r
+       LDAA    I,20            ;# OF WDS TO MOVE\r
+DOLOOP:        PULB\r
+       STAB    X,0\r
+       INX\r
+       DECA\r
+       BNE     DOLOOP\r
+       LDX     I,VPOS\r
+       LDAA    I,20\r
+DOVLP: PULB\r
+       STAB    X,0\r
+       INX\r
+       DECA\r
+       BNE     DOVLP\r
+       LDS     I,SCR1-1\r
+       PULA\r
+       STAA    E,DISP+203\r
+       PULA\r
+       STAA    E,DISP+204\r
+       PULA\r
+       STAA    E,DISP+230\r
+       PULA\r
+       STAA    E,DISP+231\r
+       PULA\r
+       STAA    E,DISP+324\r
+       PULA\r
+       STAA    E,DISP+325\r
+       PULA\r
+       STAA    E,DISP+312\r
+       LDS     D,SPT\r
+       TST     E,AT\r
+       BPL     2$\r
+       JMP     E,INTEND\r
+2$:    LDX     I,DISP+1706\r
+       LDAA    D,RTC\r
+       TST     E,PFG\r
+       BMI     P2AROW\r
+       BITA    I,20\r
+       BNE     P1AOFF\r
+       LDAA    I,32            ;P1 ARROW ON\r
+       LDAB    I,33\r
+       STAA    X,1\r
+       STAA    X,2\r
+       STAB    X,41\r
+       STAB    X,42\r
+       LDAA    D,BONUS\r
+       BPL     1$\r
+       LDAA    I,2             ;B\r
+       LDAB    I,17            ;O\r
+       STAA    X,3\r
+       STAB    X,4\r
+       LDAA    I,16            ;N\r
+       LDAB    I,25            ;U\r
+       STAA    X,5\r
+       STAB    X,6\r
+       LDAA    I,23            ;S\r
+       STAA    X,7\r
+1$:    LDAA    I,21\r
+       LDAB    I,12\r
+       BRA     P1AON\r
+P1AOFF:        CLR     X,1\r
+       CLR     X,2\r
+       CLR     X,41\r
+       CLR     X,42\r
+       CLR     X,3\r
+       CLR     X,4\r
+       CLR     X,5\r
+       CLR     X,6\r
+       CLR     X,7\r
+       CLRA\r
+       CLRB\r
+P1AON: STAA    X,0\r
+       STAB    X,40\r
+       CLR     X,21\r
+       CLR     X,22\r
+       CLR     X,23\r
+       CLR     X,61\r
+       CLR     X,62\r
+       CLR     X,63\r
+       CLR     X,14\r
+       CLR     X,15\r
+       CLR     X,16\r
+       CLR     X,17\r
+       CLR     X,20\r
+       BRA     INTEND\r
+P2AROW:        BITA    I,20\r
+       BNE     P2AOFF\r
+       LDAA    I,32\r
+       LDAB    I,33\r
+       STAA    X,21\r
+       STAB    X,61\r
+       STAA    X,22\r
+       STAB    X,62\r
+       LDAA    D,BONUS\r
+       BPL     1$\r
+       LDAA    I,2\r
+       LDAB    I,17\r
+       STAA    X,14\r
+       STAB    X,15\r
+       LDAA    I,16\r
+       LDAB    I,25\r
+       STAA    X,16\r
+       STAB    X,17\r
+       LDAA    I,23\r
+       STAA    X,20\r
+1$:    LDAA    I,27\r
+       LDAB    I,30\r
+       BRA     P2AON\r
+P2AOFF:        CLR     X,21\r
+       CLR     X,22\r
+       CLR     X,61\r
+       CLR     X,62\r
+       CLR     X,14\r
+       CLR     X,15\r
+       CLR     X,16\r
+       CLR     X,17\r
+       CLR     X,20\r
+       CLRA\r
+       CLRB\r
+P2AON: STAA    X,23\r
+       STAB    X,63\r
+       CLR     X,0\r
+       CLR     X,1\r
+       CLR     X,2\r
+       CLR     X,40\r
+       CLR     X,41\r
+       CLR     X,42\r
+       CLR     X,3\r
+       CLR     X,4\r
+       CLR     X,5\r
+       CLR     X,6\r
+       CLR     X,7\r
+INTEND:        COM     E,SYNC\r
+       LDAA    E,IRQRST\r
+       RTI                     ;REMEMBER, VBLANK MAY STILL BE THERE,SO\r
+;                               BE CAREFUL ABOUT READING SWITCHES RIGHT AWAY.\r
+DIV32: CLRA\r
+       ASLB\r
+       BCC     S,+3\r
+       COMA                    ;SIGN EXTEND\r
+       ASLB\r
+       ROLA\r
+       ASLB\r
+       ROLA\r
+       RTS\r
+\r
+PFOUT: SEI\r
+       LDX     I,DISP+140\r
+       STX     D,MORA\r
+       LDX     I,PLYFLD\r
+       STX     D,MORD\r
+PFOUT1:        CLR     E,SYNC\r
+       CLR     E,PSYNC\r
+       CLI\r
+       LDAA    D,PSYNC\r
+       BPL     S,-2\r
+       STAA    E,CN2\r
+DELOOP:        LDX     D,MORD\r
+       LDAA    X,0\r
+       BMI     RORE\r
+       TAB\r
+       CLRA\r
+DRLOOP:        INX\r
+       STX     D,MORD\r
+       LDX     D,MORA\r
+DRLP:  STAB    X,0\r
+       INX\r
+       DECA\r
+       BPL     DRLP\r
+       STX     D,MORA\r
+       BRA     DELOOP\r
+RORE:  COMA\r
+       BNE     DRLOOP\r
+DOUT:  INX\r
+       STX     D,MORD\r
+       CPX     I,PFEND\r
+       BNE     PFOUT1\r
+       RTS\r
+FILR   = 73776-.\r
+       .REPT FILR\r
+       .BYTE 0\r
+       .ENDR\r
+       .=73776\r
+       .BYTE 226,0             ;CHECKSUM & COMPLEMENT\r
+       .BYTE 64,0\r
+\r
+;BEING THE TABLES FOR GENERATING PLAYFIELD\r
+;AS INTERPRETED BY THE DISPLAY ROUTINE, -N MEANS REPEAT PREVIOUS CHARACTER\r
+;N TIMES THUS .BYTE  50,-5 WILL PRODUCE 6 OF PLAYFIELD GRAPHIC #50. A REPEAT\r
+;COUNT OF 1 (IE. A -1) IS INTERPRETED AS THE END OF THE STRING, CAUSES THE\r
+;DISPLAY ROUTINE TO RETURN\r
+;      !!! THESE ASSUME A 32 X 32 PLAYFIELD, MUST BE UPDATED !!!\r
+;\r
+PLYFLD:        .BYTE   0,20,14,1,31,5,22,0,61,0,-12.,20,14,1,31,5,22,0,62,0,0,-1       ;3\r
+       .BYTE   0,-31.,-1                                                       ;4\r
+       .BYTE   0,-8.,22,1,3,13,0,53,51,51,52,0,24,11,15,5,0,-8.,-1                     ;5\r
+       .BYTE   0,53,51,51,52,0,-8.,50,0,0,50,0,-8.,53,51,51,52,0,-1            ;6\r
+       .BYTE   0,50,0,0,55,51,-8.,74,75,76,77,51,-8.,54,0,0,50,0,-1            ;7\r
+       .BYTE   0,50,0,35,36,0,-21.,37,40,0,50,0,-1                                             ;10\r
+       .BYTE   0,55,52,34,0,-23.,41,53,54,0,-1                                 ;11\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;12\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;13\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;14\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;15\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;16\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;17\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;20\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;21\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;22\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;23\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;24\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;25\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;26\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;27\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;30\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;31\r
+       .BYTE   0,0,50,0,-25.,50,0,0,-1                                         ;32\r
+       .BYTE   0,53,54,42,0,-23.,47,55,52,0,-1                                 ;33\r
+       .BYTE   0,50,0,43,44,0,-21.,45,46,0,50,0,-1                                             ;34\r
+       .BYTE   0,50,0,0,53,51,-8.,56,57,72,73,51,-8.,52,0,0,50,0,-1            ;35\r
+       .BYTE   0,55,51,51,54,0,-8.,50,0,0,50,0,-8.,55,51,51,54,0,-1            ;36\r
+       .BYTE   0,-13.,55,51,51,54,0,-13.,-1                                    ;37\r
+PFEND: .BYTE   0\r
+MIN:   .BYTE   MES0&177400/400,MES0&377\r
+       .BYTE   MES1&177400/400,MES1&377\r
+       .BYTE   MES2&177400/400,MES2&377\r
+       .BYTE   MES3&177400/400,MES3&377\r
+       .BYTE   MES4&177400/400,MES4&377\r
+       .BYTE   MES5&177400/400,MES5&377\r
+       .BYTE   MES6&177400/400,MES6&377\r
+       .BYTE   MES7&177400/400,MES7&377\r
+       .BYTE   MES10&177400/400,MES10&377\r
+       .BYTE   MES11&177400/400,MES11&377\r
+       .BYTE   MES12&177400/400,MES12&377\r
+       .BYTE   MES13&177400/400,MES13&377\r
+       .BYTE   MES14&177400/400,MES14&377\r
+       .BYTE   MES15&177400/400,MES15&377\r
+       .BYTE   MES16&177400/400,MES16&377\r
+       .BYTE   MES17&177400/400,MES17&377\r
+       .BYTE   MES20&177400/400,MES20&377\r
+       .BYTE   MES21&177400/400,MES21&377\r
+       .BYTE   MES22&177400/400,MES22&377\r
+       .BYTE   MES23&177400/400,MES23&377\r
+       .BYTE   MES24&177400/400,MES24&377\r
+       .BYTE   MES25&177400/400,MES25&377\r
+       .BYTE   MES26&177400/400,MES26&377\r
+       .BYTE   MES27&177400/400,MES27&377\r
+       .BYTE   MES30&177400/400,MES30&377\r
+       .BYTE   MES31&177400/400,MES31&377\r
+       .BYTE   MES32&177400/400,MES32&377\r
+       .BYTE   MES33&177400/400,MES33&377\r
+       .BYTE   MES34&177400/400,MES34&377\r
+       .BYTE   MES35&177400/400,MES35&377\r
+       .BYTE   MES36&177400/400,MES36&377\r
+       .BYTE   MES37&177400/400,MES37&377\r
+       .BYTE   MES40&177400/400,MES40&377\r
+MOUT:  .BYTE   DISP+1705&177400/400,DISP+1705&377              ;0\r
+       .BYTE   DISP+1705&177400/400,DISP+1705&377              ;1\r
+       .BYTE   DISP+1705&177400/400,DISP+1705&377              ;2\r
+       .BYTE   DISP+1705&177400/400,DISP+1705&377              ;3\r
+       .BYTE   DISP+613&177400/400,DISP+613&377                ;4\r
+       .BYTE   DISP+613&177400/400,DISP+613&377                ;5\r
+       .BYTE   DISP+603&177400/400,DISP+603&377                ;6\r
+       .BYTE   DISP+603&177400/400,DISP+603&377                ;7\r
+       .BYTE   DISP+603&177400/400,DISP+603&377                ;10\r
+       .BYTE   DISP+603&177400/400,DISP+603&377                ;11\r
+       .BYTE   DISP+721&177400/400,DISP+721&377                ;12\r
+       .BYTE   DISP+713&177400/400,DISP+713&377                ;13\r
+       .BYTE   DISP+721&177400/400,DISP+721&377                ;14\r
+       .BYTE   DISP+722&177400/400,DISP+721&377                ;15\r
+       .BYTE   DISP+723&177400/400,DISP+721&377                ;16\r
+       .BYTE   DISP+724&177400/400,DISP+721&377                ;17\r
+       .BYTE   DISP+725&177400/400,DISP+721&377                ;20\r
+       .BYTE   DISP+1554&177400/400,DISP+1554&377              ;21\r
+       .BYTE   DISP+1553&177400/400,DISP+1553&377              ;22\r
+       .BYTE   DISP+1553&177400/400,DISP+1553&377              ;23\r
+       .BYTE   DISP+1553&177400/400,DISP+1553&377              ;24\r
+       .BYTE   DISP+1553&177400/400,DISP+1553&377              ;25\r
+       .BYTE   DISP+1147&177400/400,DISP+1147&377              ;26\r
+       .BYTE   DISP+1153&177400/400,DISP+1153&377              ;27\r
+       .BYTE   DISP+1153&177400/400,DISP+1153&377              ;30\r
+       .BYTE   DISP+1153&177400/400,DISP+1153&377              ;31\r
+       .BYTE   DISP+1153&177400/400,DISP+1153&377              ;32\r
+       .BYTE   DISP+1342&177400/400,DISP+1342&377              ;33\r
+       .BYTE   DISP+1340&177400/400,DISP+1340&377              ;34\r
+       .BYTE   DISP+1157&177400/400,DISP+1157&377              ;35\r
+       .BYTE   DISP+1157&177400/400,DISP+1157&377              ;36\r
+       .BYTE   DISP+726&177400/400,DISP+721&377                ;37\r
+       .BYTE   DISP+1147&177400/400,DISP+1147&377              ;40\r
+MES0:  .BYTE   0,61,0,3,17,11,16,0,0,50,0,0,50,0,0,5,1,3,10,0,-2.,-1\r
+MES1:  .BYTE   0,61,0,3,17,11,16,0,0,50,0,0,50,0,0,61,0,7,1,15,5,0,-1\r
+MES2:  .BYTE   0,61,0,3,17,11,16,0,0,50,0,0,50,0,62,0,7,1,15,5,23,0,-1\r
+MES3:  .BYTE   0,62,0,3,17,11,16,23,0,50,0,0,50,0,0,5,1,3,10,0,-2,-1\r
+MES4:  .BYTE   7,1,15,5,0,17,26,5,22,-1\r
+MES5:  .BYTE   0,-8.,-1\r
+MES6:  .BYTE   20,25,23,10,0,23,24,1,22,24,61,0,17,22,0,11,16,23,5,22,24,0,3,17,11,16,-1\r
+MES7:  .BYTE   0,-7.,20,25,23,10,0,23,24,1,22,24,62,0,-6.,-1\r
+MES10: .BYTE   0,0,20,25,23,10,0,23,24,1,22,24,61,0,17,22,0,23,24,1,22,24,62,0,0,0,-1\r
+MES11: .BYTE   0,-7.,11,16,23,5,22,24,0,3,17,11,16,0,-6.,-1\r
+MES12: .BYTE   17,13,-1\r
+MES13: .BYTE   24,5,23,24,0,-1\r
+MES14: .BYTE   1,-1\r
+MES15: .BYTE   2,-1\r
+MES16: .BYTE   3,-1\r
+MES17: .BYTE   4,-1\r
+MES20: .BYTE   5,-1\r
+MES21: .BYTE   0,22,1,3,13,0,7,1,15,5,-1\r
+MES22: .BYTE   62,-1\r
+MES23: .BYTE   63,-1\r
+MES24: .BYTE   64,-1\r
+MES25: .BYTE   65,-1\r
+MES26: .BYTE   20,17,24,0,-1\r
+MES27: .BYTE   20,61,-1\r
+MES30: .BYTE   20,62,-1\r
+MES31: .BYTE   20,63,-1\r
+MES32: .BYTE   20,64,-1\r
+MES33: .BYTE   20,25,23,10,0,23,24,1,22,24,62,-1\r
+MES34: .BYTE   0,-15.,-1\r
+MES35: .BYTE   1,14,11,7,16,5,4,0,-3.,-1\r
+MES36: .BYTE   16,17,24,0,1,14,11,7,16,5,4,-1\r
+MES37: .BYTE   6,-1\r
+MES40: .BYTE   24,5,23,24,0,3,17,15,20,14,5,24,5,-1\r
+       FIL     =76000-.\r
+       .REPT   FIL\r
+       .BYTE   0\r
+       .ENDR\r
+       .=76000\r
+       .BYTE 317,0             ;CHECKSUM & COMPLEMENT\r
+\r
+PLAY:  LDAA    X,OBJHV         ;X POINTS TO BALL UNDER CONSIDERATION\r
+       TAB\r
+       ORAA    X,OBJVV\r
+       BNE     MANDD\r
+       RTS                     ;IF BALL IS NOT MOVING, RETURN\r
+MANDD: LDAA    X,OBJV\r
+       CMPA    I,114           ;TOP LINE\r
+       BCS     IVRTA\r
+       CMPA    I,353           ;BOTTOM LINE\r
+       BCC     IVRTA\r
+       LDAA    X,OBJH\r
+       CMPA    I,37            ;RIGHT SIDE\r
+       BCS     IVRT\r
+       CMPA    I,345           ;LEFT SIDE\r
+       BCC     IVRTL\r
+       JMP     E,WALCKE\r
+IVRT:  LDAA    X,OBJV\r
+       CMPA    I,122\r
+       BCS     SCORE\r
+       CMPA    I,345\r
+       BCC     SCORE\r
+IVRTR: LDAA    X,OBJHV\r
+       BMI     NH\r
+       JMP     E,WALCKE\r
+NH:    NEG     X,OBJHV\r
+       NEG     X,OBJHVL\r
+       BRA     BMP\r
+IVRTL: LDAA    X,OBJV\r
+       CMPA    I,122\r
+       BCS     SCORE\r
+       CMPA    I,345\r
+       BCC     SCORE\r
+IVTL:  LDAA    X,OBJHV\r
+       BPL     NH\r
+       JMP     E,WALCKE\r
+IVRTA: LDAA    X,OBJH\r
+       CMPA    I,43\r
+       BCS     SCORE\r
+       CMPA    I,172\r
+       BCS     IVRTAA\r
+       CMPA    I,211\r
+       BCS     IVZ\r
+       CMPA    I,337\r
+       BCC     SCORE\r
+IVRTAA:        LDAA    X,OBJV\r
+       CMPA    I,114\r
+       BCC     TP\r
+       LDAA    X,OBJVV\r
+       BMI     IV\r
+       JMP     E,WALCKE\r
+IVZ:   LDAA    X,OBJV\r
+       CMPA    I,110\r
+       BCS     SCORE\r
+       CMPA    I,357\r
+       BCC     SCORE\r
+       JMP     E,WALCKE\r
+IV:    NEG     X,OBJVV\r
+       NEG     X,OBJVVL\r
+BMP:   CPX     I,0\r
+       BEQ     BMPN\r
+       INC     E,BP\r
+       INC     E,BP\r
+BMPN:  LDAA    I,20\r
+       STAA    X,CNTACT\r
+       BRA     WALCKE\r
+TP:    LDAA    X,OBJVV\r
+       BPL     IV\r
+       BRA     WALCKE\r
+SCORE: CPX     I,0\r
+       BEQ     SCACH\r
+       STAA    E,SCORES\r
+       DEC     E,ZCNT\r
+       LDAA    I,10\r
+       STAA    X,OBJH\r
+       STAA    X,OBJV\r
+       CLR     X,OBJHL\r
+       CLR     X,OBJVL\r
+       CLR     X,OBJVV\r
+       CLR     X,OBJHV\r
+       STX     D,X4\r
+       LDX     I,SCR1\r
+       LDAA    D,PFG\r
+       BPL     S,+4\r
+       INX\r
+       INX\r
+       LDAA    X,1\r
+       INCA\r
+       CMPA    I,72\r
+       BNE     SCOK\r
+       LDAA    I,60\r
+       STAA    X,1\r
+       LDAA    X,0\r
+       INCA\r
+       CMPA    I,72\r
+       BNE     S,+4\r
+       LDAA    I,60\r
+       STAA    X,0\r
+       LDX     D,X4\r
+       RTS\r
+SCOK:  STAA    X,1\r
+       BRA     S,-5\r
+SCACH: LDAA    I,20\r
+       STAA    D,R1\r
+LP2:   LDAA    I,100\r
+       STAA    D,R0\r
+       LDAA    I,0\r
+LP3:   LDAB    I,377\r
+LP:    BITA    I,1\r
+       BNE     S,+7\r
+       STAA    E,SCRAT\r
+       BRA     S,+5\r
+       STAA    E,SCRAT+1\r
+       DECB\r
+       BNE     S,-1\r
+       DECA\r
+       STAA    E,CN2\r
+       DEC     E,R0\r
+       BNE     LP3\r
+       DEC     E,R1\r
+       BEQ     S,+10\r
+       LDAB    I,40\r
+       STAB    D,R0\r
+       BRA     LP\r
+       PULA\r
+       PULA\r
+       JMP     E,SRATST\r
+WALCKE:        LDAB    X,OBJHV\r
+       STAB    D,HOLDHV\r
+       JSR     E,DIV32\r
+       STAA    D,TSTHV \r
+       STAB    D,TSTHVL        ;SAVE DIVIDED VELOCITY FOR DECEL\r
+       ADDB    X,OBJHL\r
+       ADCA    X,OBJH\r
+       STAB    X,OBJHL\r
+       STAA    X,OBJH          ;UPDATE HORIX POSN.\r
+       STAA    D,TSTH          ;SAVE FOR COLLISION CHECK\r
+       LDAB    X,OBJVV\r
+       STAB    D,HOLDVV\r
+       JSR     E,DIV32\r
+       STAA    D,TSTVV\r
+       STAB    D,TSTVVL\r
+       ADDB    X,OBJVL\r
+       ADCA    X,OBJV\r
+       STAB    X,OBJVL\r
+       STAA    X,OBJV          ;UPDATE VERT. POSN.\r
+       STAA    D,TSTV          ;SAVE FOR COLLISION CHECK\r
+       STX     D,X2\r
+       LDAB    D,X2+1\r
+       EORB    D,TIME\r
+       ANDB    I,3\r
+       BNE     COLCHK\r
+DECEL: LDAA    X,OBJHV         ;EACH BALL IS DECEL EACH FRAME\r
+       LDAB    X,OBJHVL\r
+       SUBB    D,TSTHVL\r
+       SBCA    D,TSTHV\r
+       BNE     S,+3\r
+       CLRB\r
+       STAA    X,OBJHV\r
+       STAB    X,OBJHVL\r
+       LDAA    X,OBJVV\r
+       LDAB    X,OBJVVL\r
+       SUBB    D,TSTVVL\r
+       SBCA    D,TSTVV\r
+       BNE     S,+3\r
+       CLRB\r
+       STAA    X,OBJVV\r
+       STAB    X,OBJVVL\r
+COLCHK:        LDX     I,17\r
+       LDAB    D,TSTH\r
+CHKLP: TBA\r
+       SUBA    X,OBJH          ;ONE OFF TO ALLOW DEX, BNE END TEST.\r
+       BPL     S,+3\r
+       NEGA\r
+       CMPA    I,15            ;FOR 8X8=4\r
+       BLS     CHKV\r
+CNEXT: CPX     I,0\r
+       BEQ     CNOT\r
+       DEX\r
+       BRA     CHKLP\r
+CNOT:  LDX     D,X2            ;STRIKER\r
+       RTS\r
+CHKV:  CPX     D,X2            ;SEE IF YOU ARE ME\r
+       BEQ     CNEXT\r
+       STX     D,R8            ;TEST LAST CONTACT\r
+       LDX     D,X2            ;STRIKER\r
+       LDAA    X,CNTACT        ;LAST HIT FOR STRIKER\r
+       LDX     D,R8            ;CURRENT CONTACT #\r
+       CMPA    D,R9            ;TEST FOR SAME AS LAST HIT\r
+       BEQ     CNEXT           ;YES SAME\r
+       LDAA    I,20\r
+       STAA    X,CNTACT\r
+       LDX     D,X2\r
+       STAA    X,CNTACT\r
+       LDX     D,R8\r
+       STAA    D,CNTACT\r
+       LDAA    D,TSTV\r
+       SUBA    X,OBJV\r
+       TAB\r
+       BPL     S,+3\r
+       NEGA\r
+       CMPA    I,15            ;FOR 8X8=4\r
+       BLS     FINCK\r
+CRET:  LDAB    D,TSTH\r
+       BRA     CNEXT\r
+CKSLOW:        TSTA\r
+       BNE     CRET\r
+       CLRB\r
+       INCA\r
+       BRA     SLORET\r
+                               ;FINAL SCREEN AND HANDLE COLLISION\r
+FINCK: LDAA    D,TSTH\r
+       SUBA    X,OBJH\r
+       JSR     E,POLAR         ;CONVERT RECT. TO POLAR\r
+       CMPA    I,16            ;FOR 8X8=11\r
+       BGT     CRET\r
+       STAB    D,THETA         ;SAVE CONTACT ANGLE\r
+NOSLW: LDAB    X,OBJVV\r
+       JSR     E,DIV32\r
+       SUBB    D,TSTVVL\r
+       SBCA    D,TSTVV         ;COMPUTE V CLOSING VELOCITY\r
+       NEGA\r
+       PSHA                    ;SAVE FOR LATER\r
+       LDAB    X,OBJHV\r
+       JSR     E,DIV32\r
+       SUBB    D,TSTHVL\r
+       SBCA    D,TSTHV\r
+       NEGA\r
+       PULB                    ;NOW IS LATER\r
+       JSR     E,POLAR\r
+REENT: SUBB    D,THETA         ;CLOSING ANGLE - CONTACT ANGLE\r
+       BPL     S,+3\r
+       NEGB\r
+       CMPB    I,20\r
+       BCS     CKSLOW          ;THEY ARE MOVING AWAY FROM CONTACT\r
+SLORET:        STAA    D,J             ;SAVE R\r
+       TBA\r
+       JSR     E,COS\r
+       LDAB    D,J\r
+       ORAB    I,20            ;SET SENTINAL\r
+       JSR     E,MUL\r
+       ANDA    I,17\r
+       STAA    D,J             ;ENERGY TO TRANSFER\r
+       LDAA    D,THETA\r
+       SUBA    I,40            ;THETA-180\r
+       ANDA    I,77\r
+       STAA    D,THETA\r
+       JSR     E,COS\r
+       LDAB    D,J\r
+       ORAB    I,20\r
+       JSR     E,MUL           ;AMOUNT OF ENERGY ADD -> STRUCK SUB -> HITTER\r
+       TSTA\r
+       BNE ADMY\r
+       CLRB                    ;STRIKEN\r
+       STX     D,X3            ;SAVE STRIKEN\r
+       LDX     D,X2            ;STRIKER\r
+       LDAA    X,OBJHV         ;STRIKER\r
+       STAB    X,OBJHV         ;TO STRIKER\r
+       CLRB\r
+       JSR     E,CNTCT\r
+       LDX     D,X3\r
+       LDAA    D,X2+1\r
+       BNE     S,+4\r
+       LDAA    I,20\r
+       STAA    X,CNTACT\r
+       BRA     ADOKA\r
+ADMY:  TAB\r
+       ADDA    X,OBJHV\r
+ADOKA: STAA    X,OBJHV         ;RETURN H-VEL\r
+       CLR     X,OBJHVL\r
+       STAB    D,L             ;SAVE AMOUNT OF H-ENERGY\r
+       LDAA    D,THETA\r
+       JSR     E,SIN\r
+       LDAB    D,J\r
+       ORAB    I,20\r
+       BSR     MUL\r
+       TSTA\r
+       BNE ADMYZ\r
+       CLRB                    ;STRIKEN\r
+       STX     D,X3\r
+       LDX     D,X2\r
+       LDAA    X,OBJVV         ;STRIKER\r
+       STAB    X,OBJVV         ;TO STRIKER\r
+       CLRB\r
+       JSR     E,CNTCT\r
+       LDX     D,X3\r
+       LDAA    D,X2+1\r
+       BNE     S,+4\r
+       LDAA    I,20\r
+       STAA    X,CNTACT\r
+       BRA     ADOKB\r
+ADMYZ: TAB\r
+       ADDA    X,OBJVV\r
+ADOKB: STAA    X,OBJVV         ;RETURN VERT VEL\r
+       CLR     X,OBJVVL\r
+       STX     D,X3\r
+       LDX     D,X2            ;STRIKER ADDR TO IR\r
+       LDAA    X,OBJVV\r
+       SBA\r
+SBOKZ: STAA    X,OBJVV\r
+       CLR     X,OBJVVL\r
+       TAB\r
+       JSR     E,DIV32\r
+       STAA    D,TSTVV\r
+       STAB    D,TSTVVL\r
+       LDAA    X,OBJHV\r
+       SUBA    D,L\r
+SBOKW: STAA    X,OBJHV\r
+       CLR     X,OBJHVL\r
+       TAB\r
+       JSR     E,DIV32\r
+       STAA    D,TSTHV\r
+       STAB    D,TSTHVL\r
+       LDX     D,X3\r
+       STAA    E,CLICK\r
+HITNO: JMP     E,CRET\r
+MUL:   STAA    D,K\r
+       CLRA\r
+MLP:   ASRA\r
+       LSRB\r
+       BEQ     MLPOUT\r
+       BCC     MLP\r
+       ADDA    D,K\r
+       BRA     MLP\r
+MLPOUT:        RTS\r
+CNTCT: LDAA    D,X3+1          ;STRIKEN #\r
+       BEQ     CNTQ\r
+CNTCTA:        STAA    X,CNTACT\r
+       LDAA    I,20\r
+       STAA    D,CNTACT\r
+       RTS\r
+CNTQ:  LDAA    I,20\r
+       BRA     CNTCTA\r
+FILL   =TBL1-.\r
+       .REPT   FILL\r
+       .BYTE   0\r
+       .ENDR\r
+       .=77400                 ;LAST PAGE OF 4TH K\r
+TBL1:  .BYTE   0\r
+       .IRP    A,<<1,0>,<2,0>,<3,0>,<4,0>,<5,0>,<6,0>,<7,0>,<8,0>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<9,0>,<10,0>,<11,0>,<12,0>,<13,0>,<14,0>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<1,0>,<1,8>,<2,11>,<3,13>,<4,14>,<5,14>,<6,14>,<7,15>,<8,15>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<9,15>,<10,15>,<11,15>,<12,15>,<13,15>,<14,15>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<2,0>,<2,5>,<3,8>,<4,10>,<4,11>,<5,12>,<6,13>,<7,13>,<8,14>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<9,14>,<10,14>,<11,14>,<12,14>,<13,14>,<14,15>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<3,0>,<3,3>,<4,6>,<4,8>,<5,9>,<6,10>,<7,11>,<8,12>,<9,12>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<9,13>,<10,13>,<11,13>,<12,14>,<13,14>,<14,14>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<4,0>,<4,2>,<4,5>,<5,7>,<6,8>,<6,9>,<7,10>,<8,11>,<9,11>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<10,12>,<11,12>,<12,12>,<13,13>,<14,13>,<15,13>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<5,0>,<5,2>,<5,4>,<6,6>,<6,7>,<7,8>,<8,9>,<9,10>,<9,10>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<10,11>,<11,11>,<12,12>,<13,12>,<14,12>,<15,13>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<6,0>,<6,2>,<6,3>,<7,5>,<7,6>,<8,7>,<8,8>,<9,9>,<10,9>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<11,10>,<12,10>,<13,11>,<13,11>,<14,12>,<15,12>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<7,0>,<7,1>,<7,3>,<8,4>,<8,5>,<9,6>,<9,7>,<10,8>,<11,9>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<11,9>,<12,10>,<13,10>,<14,11>,<15,11>,<15,11>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<8,0>,<8,1>,<8,2>,<9,4>,<9,5>,<9,6>,<10,6>,<11,7>,<11,8>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<12,9>,<13,9>,<14,10>,<14,10>,<15,10>,<15,11>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<9,0>,<9,1>,<9,2>,<9,3>,<10,4>,<10,5>,<11,6>,<11,7>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<12,7>,<13,8>,<13,9>,<14,9>,<15,9>,<15,10>,<15,10>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<10,0>,<10,1>,<10,2>,<10,3>,<11,4>,<11,5>,<12,6>,<12,6>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<13,7>,<13,7>,<14,8>,<15,8>,<15,9>,<15,9>,<15,10>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<11,0>,<11,1>,<11,2>,<11,3>,<12,4>,<12,4>,<13,5>,<13,6>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<14,6>,<14,7>,<15,8>,<15,8>,<15,8>,<15,9>,<15,9>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<12,0>,<12,1>,<12,2>,<12,2>,<13,3>,<13,4>,<13,5>,<14,5>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<14,6>,<15,7>,<15,7>,<15,8>,<15,8>,<15,8>,<15,9>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<13,0>,<13,1>,<13,2>,<13,2>,<14,3>,<14,4>,<14,4>,<15,5>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<15,6>,<15,6>,<15,7>,<15,7>,<15,7>,<15,8>,<15,8>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<14,0>,<14,1>,<14,1>,<14,2>,<15,3>,<15,3>,<15,4>,<15,5>>\r
+       PAIR    A\r
+       .ENDM\r
+       .IRP    A,<<15,5>,<15,6>,<15,6>,<15,7>,<15,7>,<15,8>,<15,8>>\r
+       PAIR    A\r
+       .ENDM\r
+       .RADIX  10\r
+TBL2:  .BYTE   63,63,63,61,59,56,53,49,45,40,35,30,24,18,12,6,0\r
+LABL:  .BYTE   0,0,0,0,0,0\r
+       .RADIX\r
+       .BYTE   INT&177400/400,INT&377\r
+       .BYTE   STARTG&177400/400,STARTG&377\r
+       .BYTE   STARTG&177400/400,STARTG&377\r
+       .BYTE   STARTG&177400/400,STARTG&377\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\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\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/PSDIAG.INS b/PSDIAG.INS
new file mode 100644 (file)
index 0000000..c43bca9
--- /dev/null
@@ -0,0 +1,238 @@
+                       POOLSHARK DIAGNOSTIC TEST ROUTINES\r
+\r
+\r
+                               PRELIMINARY\r
+\r
+               BEFORE APPLYING POWER, CHECK TO SEE IF CHIPS, (PROGRAM CHIPS)\r
+ARE OR ARE NOT STUFFED. IF NOT STUFFED, THE SPECIAL RESET CHIP MUST BE INSERT-\r
+ED. POWER SUPPLIES ON BOARD MUST BE CHECKED FOR NO SHORTS, AND ONCE POWER\r
+IS APPLIED, THAT VOLTAGE LEVELS ARE CORRECT. NEXT VERIFY THAT THE POWER-ON\r
+RESET CKTRY AND 01 AND 02 CLOCK DRIVERS ARE WORKING CORRECTLY. ONCE VERIFIED\r
+BEGIN THE FOLLOWING STEP-BY-STEP PROCEDURE.\r
+\r
+\r
+\r
+\r
+1. PROGRAMMED TESTS.\r
+\r
+               SHUT OFF POWER AND CONNECT BOARD TO TEST PANEL. INSERT 6800\r
+       AT XX AND 6810'S AT X AND X. RUN TESTS IN THE INDICATED ORDER. ANY \r
+       TEST MAY SELECTED HOWEVER, TO CORRECT FAULTS OR TO RETEST THAT SEC-\r
+       TION.\r
+\r
+\r
+\r
+       A). RAM TEST (6810'S)\r
+\r
+               1. SET TEST SELECTOR SWITCHES TO 000.\r
+               2. PRESS START BUTTON.\r
+               3. OBSERVE TEST PANEL LED'S.\r
+               4. IF BOTH 6810'S ARE FUNCTIONING CORRECTLY, ALL 8 LED'S\r
+                  WILL LIGHT.\r
+               5. IF CHIP 1X OR IT'S CORRESPONDING ADDRESS AND ENABLE LINES\r
+                  ARE IN ERROR, LED #6 WILL BE ON, ALL OTHERS WILL BE OFF.\r
+                  AT THIS POINT, REPLACE CHIP X1. IF THIS ERROR AGAIN HAP-\r
+                  PENS, CHECK CHIP SELECT LINES. ADDRESS AND SELECT PULSES\r
+                  WILL BE PRESENT.\r
+               6. IF CHIP Y1 OR IT'S CORRESPONDING ADDRESS AND ENABLE LINES \r
+                  ARE IN ERROR, LED #7 WILL LIGHT, ALL OTHERS WILL BE OFF.\r
+                  AT THIS POINT, REPLACE CHIP Y1. IF ERROR HAPPENS AGAIN,\r
+                  CHECK CHIP SELECT LINES.\r
+                  ADDRESS AND SELECT PULSES WILL BE PRESENT.\r
+               7. IF BOTH CHIPS ARE IN ERROR, ONLY LED #6 WILL LIGHT AS THE\r
+                  TEST REVERTS TO A CONTINUOUS LOOP ON THE FIRST ERROR FOUND.\r
+                  THEREFORE, CHIPS X1 MUST BE FUNCTIONING CORRECTLY IN ORDER\r
+                  TO PROPERLY CHECK CHIP Y1.\r
+\r
+\r
+               NOTE: THE ABOVE TEST MUST CHECK OUT CORRECTLY BEFORE PROCEEDING.\r
+\r
+\r
+\r
+       B). ROM TEST - IF CHIPS, (PROGRAM CHIPS) ARE NOT STUFFED, SKIP THIS\r
+               TEST AND PROCEED WITH STEP D.\r
+\r
+\r
+               1. SET TEST SELECT SWITCHES TO 001\r
+               2. PUSH START BUTTON.\r
+               3. OBSERVE THE TEST PANEL LED'S.\r
+               4. A LIT LED INDICATES A ROM CHIP ERROR. REFER TO THE FOLLOWING\r
+                  TABLE TO DETERMINE THE BAD CHIP.\r
+\r
+\r
+               LIT LED                 BAD CHIP\r
+\r
+                 1                       E1\r
+                 2                       A1\r
+                 3                       F1\r
+                 4                       B1\r
+                 5                       H1\r
+                 6                       C1\r
+                 7                       J1\r
+                 8                       D1\r
+\r
+\r
+               5. IF AFTER 5 SECONDS NO LED'S LIGHT, THE TEST IS OK. "TEST\r
+                  COMPLETE", SHOULD APPEAR ON THE SCREEN, (IF THE SCREEN IS\r
+                  WORKING- DO NOT DEPEND ON THE MESSAGE TO BE THERE - WAIT\r
+                  10 SECONDS).\r
+               6. PUSH CONTINUE BUTTON- LED'S SHOULD GO OUT AND "SELECT TEST"\r
+                  SHOULD APPEAR ON THE SCREEN.\r
+\r
+\r
+\r
+       C). DISPLAY TEST - MAKE INSPECTION OF SCREEN TO SEE THAT SYNC CKTS ARE\r
+               WORKING, AND CORRECT ANY PROBLEMS BEFORE PROCEEDING.\r
+\r
+               1. SET TEST SELECT SWITCHES TO 010.\r
+               2. PUSH START BUTTON.\r
+               3. SCREEN SHOULD CLEAR, (IF NOT ALREADY) AND REMAIN CLEAR.\r
+               4. IF SCREEN DOES NOT CLEAR, A LOOP IS BENG MAINTAINED TO CLEAR\r
+                  THE SCREEN SO THAT SIGNALS WILL BE AVAILABLE FOR TESTING\r
+                  PROCESSOR ACCESS CIRCUITS. IF SCREEN BLANKS CONTINUE.\r
+               5. PUSH CONTINUE BUTTON.\r
+               6. THE SCREEN WILL DISPLAY THE COMPLETE SET OF CHARACTERS,\r
+                  REPEATED TO COVER THE ENTIRE SCREEN. COMPARE TO FIGURE 5.\r
+                  IF SCREEN MATCHES, CONTINUE; IF NOT, AGAIN SIGNALS ARE AVAIL-\r
+                  ABLE TO TEST PROCESSOR CONTROL.\r
+               7. PUSH CONTINUE BUTTON.\r
+               8. THE SCREEN WILL AGAIN BLANK AND THE TEST IS COMPLETE.\r
+\r
+       NOTE: THE DISPLAY SHOULD SUCCEED BEFORE CONTINUING.\r
+\r
+\r
+\r
+       D). SWITCH TEST.\r
+\r
+               1. SET TEST SELECTOR SWITCHES TO 011.\r
+               2. PUSH START BUTTON. CHECK TO SEE THAT GAME BOARD SWITCHES ARE\r
+                  OFF.\r
+               3. TWO ROWS OF 1'S AND 0'S WILL APPEAR TOWARD THE CENTER OF THE\r
+                  SCREEN. COMPARE THIS PATTERN TO THE ONE SHOWN IN FIG.1.\r
+                  IF THEY MATCH CONTIMUE. (AN "X" MEANS WE DON'T CARE WHAT IS\r
+                  IN THIS POSITION). IF A "1" EXISTS WHERE A "0" SHOULD BE\r
+                  (USING FIG.2 TO DETERMINE THE CORRECT SWITCH), THIS COULD \r
+                  MEAN THAT, A).THE SWITCH IS STUCK ON, (OR OFF), B).THE N.O.  HE N.O.\r
+                  CONTACT WIRE HAS BEEN CONNECTED TO THE N.C. CONTACT, C). THE\r
+                  N.C. CONTACT WIRE HAS BEEN CONNECTED TO THE N.O. CONTACT.\r
+               4. IN TURN, PUSH EACH SWITCH SHOWN IN FIG. 2. THE CORRESPONDING\r
+                  SHOULD CHANGE TO A 0. OR IF A 0, IT SHOULD CHANGE TO A 1.\r
+                  IF THE NUMBER DOES NOT CHANGE, CHECK THE CORRESPONDING\r
+                  SWITCH. IF IT IS FOUND THAT ONLY A SINGLE SWITCH WILL NOT\r
+                  CHANGE ITS 1 OR 0, THE FAULT PROBABLY LIES IN THE SWITCH OR\r
+                  HARNESS. IF BOTH COIN 2 AND START 2 ARE FOUND AT FAULT, THE\r
+                  PROBLEM COULD LIE IN SIGNAL DIST3. THIS SHOULD BE SEEN\r
+                  "PULSING", (AT LEAST 1 MICRON). THIS CAN BE CHECKED AT CHIP\r
+                  J7, PIN 7, (9321). CHECK ALSO CHIP H9, (7403), PIN 2, TO\r
+                  SEE IF THE SIGNAL IS GETTING THROUGH. ALSO CHIP H9, PIN 4\r
+                  FOR THE SAME SIGNAL (DIST3). IF BOTH COIN 1 AND START 1\r
+                  ARE FOUND AT FAULT, THE PROBLEM COULD LIE IN SIGNAL DIST2.\r
+                  THIS SHOULD BE SEEN "PULSING" AT CHIP J7, PIN 6; B8, PIN\r
+                  10 AND 11, (INVERTED); B8, PIN 5 AND 6, (INVERTED). ALSO \r
+                  NOTE THAT START LAMPS SHOULD BE FLASHING.\r
+               5. PUSH CONTINUE WHEN DONE. SCREEN SHOULD BLANK AND START\r
+                  LAMPS SHOULD GO OUT. "SELECT TEST", SHOULD APPEAR.\r
+\r
+\r
+\r
+       E). POT TEST.\r
+\r
+               1. SET TEST SELECTOR SWITCHES TO 100.\r
+               2. PUSH START BUTTON.\r
+               3. THE MESSAGE "POT X1 ALIGNED" AND "PUSH START 2", OR "POT X1\r
+                  NOT ALIGNED", SHOULD APPEAR ON THE SCREEN. IF ALIGNED,\r
+                  PROCEED TO STEP 5.\r
+               4. IF NOT ALIGNED, TURN THE TRIM POT CORRESPONDING TO THE POT\r
+                  ALIGNED, (SEE FIG. 3), BACK AND FORTH UNTIL THE WORDS \r
+                  "ALIGNED"  "PUSH START 2" APPEARS ON THE SCREEN. *\r
+               5. PUSH START 2.\r
+               6. REPEAT STEPS 3 THRU 5 FOR POTS X2,X3, AND X4. *\r
+               7. AFTER X4, THE SCREEN SHOULD BLANK. PUSH CONTINUE TO END\r
+                  TEST.\r
+\r
+       * NOTE: IF A POT FAILS TO ALIGN, THE TEST IS LOOPING ON A READ ON\r
+               THAT POT SO THAT THE CORRESPONDING HARDWARE MAY BE CHECKED \r
+               OUT. START FIRST BY SEEING THAT THE JOYSTICK POTS ARE "MECH-\r
+               CANICALLY" CENTERED. ALSO NOTE THAT A SOUND MIGHT BE HEARD.\r
+               THIS INDICATES YOU ARE ALIHNING THE TRIM POT IN THE WRONG DI-\r
+               RECTION.\r
+\r
+\r
+\r
+       F). VERTICAL POSITION TEST AND OBJECT (PICTURE) TEST.\r
+\r
+               1. SET TEST SELECTOR SWITCHES TO 101.\r
+               2. PUSH START BUTTON.\r
+               3. 16 BALL OBJECTS SHOULD APPEAR ON THE SCREEN AS SHOWN IN \r
+                  FIG. 3. IF ALL 16 ARE CORRECT, PROCEED. IF NOT, THE TEST IS \r
+                  NOW LOOPING ON PUTTING OUT THE 16 OBJECTS AS SHOWN. IF THE\r
+                  POSITION SEEMS CORRECT, BUT PICTURES ARE WRONG, CHECK SIGNALS\r
+                  AT H5,J5,K4,J3, ETC.. IF QUE BALL IS NOT WHITE, CHECK J6,\r
+                  J4,B3,C3,D2,A2, AND SIGNALS PRESENT THERE.\r
+               4. PUSH CONTINUE.\r
+               5. THE "RACK" OF 16 OBJECTS SHOULD NOW BEGIN MOVING VERTICALLY\r
+                  DOWN THE SCREEN, WRAPPING AROUND AT THE BOTTOM. THE HORIZON-\r
+                  TAL POSITIONS SHOULD NOT CHANGE. IF THEY DO, THIS LOOP CON-\r
+                  TINOUS TO ALLOW SCOPE CHECKOUT.\r
+               6. PUSH CONTINUE TO END TEST. THE SCREEN SHOULD BLANK. "SELECT\r
+                  TEST", WILL APPEAR.\r
+\r
+\r
+\r
+       G). HORIZONTAL POSITION TEST.\r
+\r
+               1. SET TEST SELECTOR SWITCHES TO 110.\r
+               2. PUSH START BUTTON.\r
+               3. AGAIN, 16 BALL OBJECTS SHOULD APPRAR ON THE SCREEN, EXCEPT\r
+                  THAT THEY WILL BE ORGANIZED AS IN FIG. 4. THERE IS NO HOLD\r
+                  ON THIS LOOP IN THIS TEST, SO IT IS NOT MEANT TO BE USED AS\r
+                  A PICTURE TEST, (USE TEST ABOVE FOR PICTURE TEST). THE\r
+                  "RACK" OF OBJECTS SHOULD BE MOVING HORIZONTALLY ACROSS THE\r
+                  SCREEN. THE VERTICAL POSITIONS SHOULD NOT CHANGE. IF THEY\r
+                  DO, OR IF RACK DOES NOT MOVE, THE TEST WILL LOOP HERE TO \r
+                  ALLOW SCOPE CHECKOUT.\r
+               4. PUSH CONTINUE TO END TEST. THE SCREEN SHOULD BLANK. "SELECT"\r
+                  TEST", SHOULD APPEAR.\r
+\r
+\r
+\r
+       H). SOUND TEST - TURN UP SOUND CKT.\r
+\r
+               1. SET TEST SELECTOR SWITCHES TO 111\r
+               2. PUSH START BUTTON.\r
+               3. SOUNDS SHOUD BE OFF. IF NOT, THE TEST IS LOOPING ON CLEARING\r
+                  SOUNDS, (BUMP AND SCRATCH, OTHERS TURN THEMSELVES OFF IN\r
+                  HAREWARE).\r
+               4. PUSH CONTINUE.\r
+               5. THE BUMP SOUND WILL BE TOGGLED ON AND OFF IN A LOOP. **\r
+                  IF SOUND IS HEARD PUSH CONTINUE. IF NO SOUND IS HEARD, A\r
+                  LOOP IS CONTINUING, TRYING TO OUTPUT THE SOUND SO SCOPE\r
+                  CHECKOUT CON BE DONE, (ON AND OFF SYNC W/V BLANK).\r
+               6. PUSH CONTINUE.\r
+               7. THE BUMP SOUND SHOULD STOP. THE TEST WILL LOOP ON PULSING \r
+                  PULSING THE SCRATCH SOUND. IF SOUND IS HEARD, ** PUSH\r
+                  CONTINUE TO NEXT SOUND. IF NO SOUND, A LOOP IS BEING MAIN-\r
+                  TAINED TO ALLOW SCOPE CHECKOUT.\r
+               8. PUSH CONTINUE.\r
+               9. THE SCRATCH SOUND SHOULD STOP. THE TEST WILL NOW LOOP ON\r
+                  PULSING THE CLICK SOUND. ** AGAIN, PROCEED AS ABOVE IN 6.\r
+              10. PUSH CONTINUE.\r
+              11. THE CLICK SOUND SHOULD STOP. IMMEDIATELY, THE SCORE WAIL\r
+                  SHOULD START UP. IF IT DOES, PUSHING CONTINUE WILL STOP IT.\r
+                  IF NO SOUND IS HEARD AGAIN A LOOP IS BEING MAINTAINED FOR SC         \r
+                  SCOPE CHECKOUT.\r
+              12. PUSH CONTINUE TO END TEST.\r
+\r
+               NOTE: IF NO SOUNDS AE HEARD IN TEST 5, STEP TO THE NEXT TEST\r
+                     TO CONFIRM THE AMP IS WORKING. THEN BY PUSHING CONTINUE \r
+                     4 TIMES AND START ONCE, YOU MAY RETURN TO PART 1, (STEP\r
+                     3) OF THIS TEST.\r
+\r
+\r
+            ** NOTE: ON SOUND TESTS - THE ACTUAL GAME SOUNDS WILL NOT BE HEARD\r
+                     BUT A "BUZZ" WILL BE. THIS IS BECAUSE THE SOUNDS ARE ONLY\r
+                     BEING QUICKLY TOGGLED AND NOT OUTPUTED AS IN THE GAME SO\r
+                     THAT THE SOUNDS CHAINS MAY BE SCOPED OUT IF NOTHING IS\r
+                     HEARD.\r
+\r
+-A\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\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\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/PSDIAG.MAC b/PSDIAG.MAC
new file mode 100644 (file)
index 0000000..c94657b
--- /dev/null
@@ -0,0 +1,754 @@
+;POOLSHARK DIAGNOSTICS\r
+       .TITLE  PSDIAG  1/26/77  ORR\r
+       .ASECT\r
+       .RADIX  16\r
+       .=4000\r
+IRQRST =6800\r
+DISP   =400\r
+VPOS   =0C00\r
+HPOS   =800\r
+P1     =1000\r
+P2     =1001\r
+CN1    =1002\r
+CN2    =1003\r
+SCRAT  =1400\r
+SCORES =1800\r
+CLICK  =1C00\r
+CONTRL =6000\r
+BUMP   =6400\r
+STF1   =6C02\r
+STN1   =6C03\r
+STF2   =6C04\r
+STN2   =6C05\r
+STF12  =6C06\r
+STN12  =6C07\r
+TPUSH  =5000\r
+TSTSET =5400\r
+TDIS   =5400\r
+AT     =0BB\r
+OBJH   =0\r
+OBJV   =10\r
+R0     =40\r
+R1     =41\r
+R2     =42\r
+R3     =43\r
+R4     =44\r
+R5     =45\r
+SYNC   =98\r
+RTC    =99\r
+PSYNC  =9C\r
+SPT    =8A\r
+MORA   =8C\r
+MORD   =8E\r
+HEAT   =0AF\r
+TEMP   =0B4\r
+       .SBTTL  RESET, SELECT TEST, WAIT FOR D7\r
+DIAG:  SEI\r
+       CLR     E,TDIS\r
+       LDAA    E,TPUSH\r
+DLP1:  JSR     E,BLANK\r
+       JSR     E,CLPOS         ;CLEAN UP THE SCREEN BEFORE STARTING\r
+       LDAA    E,TPUSH\r
+       LDS     I,0FD\r
+       CLR     E,BUMP\r
+       CLR     E,SCRAT\r
+DLP:   CLRA\r
+       JSR     E,MESOUT                ;"SELECT TEST"\r
+1$:    LDAA    E,TPUSH\r
+       STAA    E,CN2           ;WATCH DOG\r
+       BPL     1$\r
+SOFF:  LDAA    I,0FF\r
+       DECA\r
+       BNE     S,-1\r
+       LDAA    E,TPUSH\r
+       STAA    E,CN2\r
+       BMI     SOFF\r
+       JSR     E,BLANK\r
+       CLR     E,TDIS                  ;ALL LEDS OFF PLEASE!\r
+       LDAA    E,TSTSET                ;GET TEST #\r
+       ANDA    I,03F\r
+       BEQ     RAMTST                  ;DO RAM TEST\r
+       ASLA\r
+       LDX     I,TSTTBL\r
+       STX     D,R0\r
+       ADDA    D,R1\r
+       STAA    D,R1\r
+       LDAA    D,R0\r
+       ADCA    I,0\r
+       STAA    D,R0\r
+       LDX     D,R0\r
+       LDX     X,0\r
+       JSR     X,0\r
+       JSR     E,BLANK\r
+       JSR     E,CLPOS\r
+       BRA     DIAG\r
+TSTTBL:        .BYTE   DIAG&0FF00/100,DIAG&0FF\r
+       .BYTE   ROMTST&0FF00/100,ROMTST&0FF\r
+       .BYTE   DSPTST&0FF00/100,DSPTST&0FF\r
+       .BYTE   SWTTST&0FF00/100,SWTTST&0FF\r
+       .BYTE   POTALG&0FF00/100,POTALG&0FF\r
+       .BYTE   VPTST&0FF00/100,VPTST&0FF\r
+       .BYTE   HPTST&0FF00/100,HPTST&0FF\r
+       .BYTE   SNDTST&0FF00/100,SNDTST&0FF\r
+       .PAGE\r
+       .SBTTL  RAM TEST\r
+;LIGHTS ALL LEDS IF RAM OK\r
+;LIGHTS 2 TO 7 IF UPPER 128 BAD\r
+;LIGHTS 2 TO 6 IF LOWER 128 BAD\r
+RAMTST:        LDX     I,0\r
+       CLRA\r
+       STAA    X,0\r
+       INX\r
+       INCA\r
+       BNE     S,-4\r
+       LDX     I,0\r
+       CMPA    X,0\r
+       BNE     ERR\r
+       INX\r
+       INCA\r
+       BNE     S,-6\r
+       LDAA    I,0FF\r
+       STAA    E,TDIS\r
+       JMP     E,DLP1\r
+ERR:   BITA    I,80\r
+       BEQ     ERR1\r
+       LDAA    I,80\r
+       STAA    E,TDIS\r
+       BRA     HLD\r
+ERR1:  LDAA    I,40\r
+       STAA    E,TDIS\r
+HLD:   LDAA    X,0\r
+       STAA    E,CN2                   ;LOOP & WATCH DOG\r
+       BRA     S,-5\r
+       .PAGE\r
+       .SBTTL  ROM CHECKSUM TEST\r
+;LIGHTS INDICATED LED TO INDICATE BAD ROM\r
+ROMA:  .BYTE   0,0                     ;MSB CKSM, LSB CKSM - FOR USE WITH PROMS\r
+ROMB:  .BYTE   0,0\r
+ROMC:  .BYTE   0,0\r
+ROMD:  .BYTE   0,0\r
+       ;ROM TEST ROUTINE\r
+\r
+CKSM:  CLR     E,R4                    ;UPPER CHECKSUM HOLD\r
+       CLR     E,R5                    ;LOWER CHECKSUM HOLD\r
+CK1:   LDAA    X,0\r
+       TAB\r
+       ANDA    I,0F\r
+       ADDA    D,R5\r
+       STAA    D,R5\r
+       LSRB\r
+       LSRB\r
+       LSRB\r
+       LSRB\r
+       ADDB    D,R4\r
+       STAB    D,R4\r
+       CPX     D,R2                    ;UPPER LIMIT YET?\r
+       BEQ     1$                      ;IF YES, WERE DONE\r
+       INX                             ;ELSE ADD IN NEXT BYTE\r
+       BRA     CK1\r
+1$:    RTS\r
+ROMTST:        CLR     E,R0                    ;CLEAR ERROR FLAG\r
+       LDX     I,73FF                  ;SAVE UPPER LIMIT\r
+       STX     D,R2\r
+       LDX     I,7000                  ;START OF FIRST K\r
+       BSR     CKSM\r
+       CMPA    E,ROMA+1                ;CHECK LSB CHECKSUM\r
+       BEQ     CK2\r
+       LDAA    I,1\r
+       STAA    D,R0\r
+       STAA    E,TDIS                  ;LIGHT 2 TO 0 FOR ERROR LSB1\r
+CK2:   CMPB    E,ROMA                  ;MSB1?\r
+       BEQ     ROM2\r
+       LDAB    I,2                     ;LIGHT 2 TO 1 FOR ERROR MSB1\r
+       ORAB    D,R0\r
+       STAB    D,R0\r
+       STAB    E,TDIS\r
+ROM2:  LDX     I,77FF                  ;END OF SECOND K\r
+       STX     D,R2\r
+       LDX     I,7400\r
+       BSR     CKSM\r
+       CMPA    E,ROMB+1                ;LSB2?\r
+       BEQ     CK3\r
+       LDAA    I,4\r
+       ORAA    D,R0\r
+       STAA    D,R0\r
+       STAA    E,TDIS                  ;LIGHT 2 TO 2 FOR ERROR LSB2\r
+CK3:   CMPB    E,ROMB                  ;MSB2?\r
+       BEQ     ROM3\r
+       LDAB    I,8\r
+       ORAB    D,R0\r
+       STAB    D,R0\r
+       STAB    E,TDIS                  ;LIGHT TO TO 3 FOR ERROR MSB2\r
+ROM3:  LDX     I,7BFF                  ;END OF ROM3\r
+       STX     D,R2\r
+       LDX     I,7800\r
+       BSR     CKSM\r
+       CMPA    E,ROMC+1                ;LSB3?\r
+       BEQ     CK4\r
+       LDAA    I,10\r
+       ORAA    D,R0\r
+       STAA    D,R0\r
+       STAA    E,TDIS                  ;LIGHT 2 TO 4 FOR ERROR LSB3\r
+CK4:   CMPB    E,ROMC                  ;MSB3?\r
+       BEQ     ROM4\r
+       LDAB    I,20\r
+       ORAB    D,R0\r
+       STAB    D,R0\r
+       STAB    E,TDIS                  ;LIGHT 2 TO 5 FOR ERROR MSB3\r
+ROM4:  LDX     I,7FFF          ;END OF LAST K\r
+       STX     D,R2\r
+       LDX     I,7C00\r
+       JSR     E,CKSM\r
+       CMPA    E,ROMD+1                ;LSB4\r
+       BEQ     CK5\r
+       LDAA    I,40\r
+       ORAA    D,R0\r
+       STAA    D,R0\r
+       STAA    E,TDIS          ;LIGHT 2 TO 6 FOR ERROR LSB4\r
+CK5:   CMPB    E,ROMD          \r
+       BEQ     ENCK            ;END CHECK\r
+       LDAA    I,80\r
+       ORAA    D,R0\r
+       STAA    D,R0\r
+       STAA    E,TDIS          ;LIGHT 2 TO 7 FOR ERROR MSB4\r
+ENCK:  LDAB    D,R0            ;ANY ERRORS\r
+       BNE     BADROM\r
+       CLR     E,TDIS          ;LIGHTS OFF\r
+BADROM:        LDAA    I,0A            ;WRITE "TEST COMPLETE"\r
+       JSR     E,MESOUT\r
+CKLP1: LDAA    X,0\r
+       STAA    E,CN2           ;WATCH DOG\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     CKLP1\r
+CKLP2: LDAA    I,0FF\r
+       DECA\r
+       BNE     S,-1\r
+       STAA    E,CN2\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BNE     CKLP2\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  DISPLAY BLANK & CHAR TEST\r
+;BLANKS SCREEN ON D6, DRAWS WHOLE CHAR SET\r
+DSPTST:        LDAA    I,80\r
+       STAA    D,AT\r
+       LDX     I,2F\r
+       LDAA    I,8\r
+       STAA    X,0\r
+       DEX\r
+       BNE     S,-3\r
+       STAA    X,0\r
+DSPLP0:        BSR     BLANK\r
+       CLR     E,SYNC\r
+DSPLP1:        LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BNE     DSPLP2\r
+       LDAA    D,SYNC\r
+       BPL     DSPLP1\r
+       BRA     DSPLP0\r
+DSPLP2:        BSR     CKLP2\r
+DSPLP3:        LDX     I,DISP          ;WRITE CHARACTER SET\r
+       LDAB    I,20\r
+       STAB    D,R0\r
+       STAB    D,R1\r
+       CLRA\r
+DSPLP4:        CLR     E,SYNC\r
+       CLR     E,PSYNC\r
+       STAA    E,CN2                   ;KEEP THE DOG QUIET PLEASE\r
+1$:    LDAB    D,PSYNC                 ;AN INTERRUPT YET?\r
+       BPL     1$                      ;JUST HAVE TO WAIT AROUND AWHILE\r
+DSPLP5:        LDAB    E,TPUSH\r
+       BITB    I,40\r
+       BNE     DSPLP7\r
+       LDAB    D,PSYNC\r
+       STAA    E,CN2\r
+DSPLP6:        STAA    X,0\r
+       INX\r
+       INCA\r
+       DEC     E,R1\r
+       BNE     DSPLP6\r
+       LDAB    I,20\r
+       STAB    D,R1\r
+       DEC     E,R0\r
+       BNE     DSPLP4\r
+       BRA     DSPLP3\r
+DSPLP7:        BSR     BLANK\r
+       RTS\r
+BLANK: LDX     I,DISP\r
+       LDAB    I,20\r
+       STAB    D,R0\r
+BLKLP: CLR     E,SYNC\r
+       CLR     E,PSYNC\r
+       CLI\r
+BLK:   LDAA    D,PSYNC\r
+       STAA    E,CN2\r
+       BPL     BLK\r
+BLKLP1:        CLR     X,0\r
+       INX\r
+       DECB\r
+       BNE     BLKLP1\r
+       LDAB    I,20\r
+       DEC     E,R0\r
+       BNE     BLKLP\r
+       LDAB    I,8\r
+       LDX     I,HEAT+1                ;THIS IS TO KEEP SOME OF TAH'S\r
+1$:    CLR     X,0                     ;INTERRUPT STUFF OFF THE SCREEN \r
+       DEX                             ;...LIKE SCORES, TIMERS, RACK NUMBERS...\r
+       DECB\r
+       BNE     1$\r
+       LDAB    I,20                    ;... AND ARROWS....!!!!!!!!\r
+       STAB    D,RTC\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  SWITCH TEST\r
+;DISPLAYS SWITCH BITS (1&0) ON SCREEN\r
+;PUSHING A SWITCH, CHANGE SHOWS ON SCREEN\r
+SWTTST:        LDAA    I,08\r
+       STAA    E,STN12                 ;TURN ON THE START LAMPS\r
+       STAA    D,R0\r
+       LDX     I,0626                  ;FIRST OUTPUT ADDRESS\r
+       LDAA    E,CN1                   ;FIRST SWITCH\r
+       BSR     OUTLP\r
+       LDAA    I,8\r
+       STAA    D,R0\r
+       LDX     I,0666\r
+       LDAA    E,CN2\r
+       BSR     OUTLP\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     SWTTST\r
+       JSR     E,BLANK\r
+       RTS\r
+OUTLP: CLR     E,PSYNC                 ;OUTPUT STRING OF 1'S AND 0'S\r
+       CLR     E,SYNC\r
+       LDAB    D,PSYNC\r
+       BPL     S,-2\r
+       STAA    E,CN2\r
+       LDAB    I,30\r
+       ASLA\r
+       BCC     1$\r
+       INCB\r
+1$:    STAB    X,0\r
+       INX\r
+       DEC     E,R0\r
+       BNE     OUTLP\r
+       STAA    E,STF12                 ;TURN OFF THE LAMPS\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  POT ALIGNMENT TEST\r
+;ALLOWS VERIFICATION OF POT ALIGNMENT\r
+POTALG:        LDAA    I,1\r
+       JSR     E,MESOUT\r
+       LDAA    I,2                     ;P1X\r
+       JSR     E,MESOUT\r
+       CLR     E,R0\r
+       LDX     I,P1\r
+       JSR     E,POTADJ\r
+       COM     E,R0\r
+       LDAA    I,3                     ;P1Y\r
+       JSR     E,MESOUT\r
+       JSR     E,PXAL\r
+       CLR     E,R0\r
+       LDAA    I,4                     ;P2X\r
+       JSR     E,MESOUT\r
+       LDX     I,P2\r
+       JSR     E,POTADJ\r
+       COM     E,R0\r
+       LDAA    I,5                     ;P2Y\r
+       JSR     E,MESOUT\r
+       JSR     E,PXAL\r
+       JSR     E,BLANK\r
+1$:    LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     1$\r
+       JMP     E,CKLP2                 ;RETURN\r
+POTADJ:        STX     D,R1                    ;R0=0 => X POT\r
+PXAL:  LDX     D,R1                    ;R0=200 => Y POT\r
+       STAA    E,CN2\r
+       JSR     E,GETVAL\r
+       TST     E,R0\r
+       BPL     XPOT\r
+       CMPB    I,08\r
+       BRA     S,+4\r
+XPOT:  CMPA    I,08\r
+       BEQ     PXDN\r
+       BCS     PXUP\r
+       STAA    E,BUMP+1\r
+PXUN:  LDAA    I,6                     ;NOT ALIGNED\r
+       JSR     E,MESOUT\r
+       LDAA    I,7\r
+       JSR     E,MESOUT                ;CLEAR "PUSH START2"\r
+       BRA     PXAL\r
+PXUP:  STAA    E,BUMP\r
+       BRA     PXUN\r
+PXDN:  STAA    E,BUMP\r
+       LDAA    I,8                     ;"ALIGNED"\r
+       JSR     E,MESOUT\r
+       LDAA    I,9                     ;PUSH START2\r
+       JSR     E,MESOUT\r
+       LDAA    E,CN2\r
+       BITA    I,040\r
+       BNE     PXAL\r
+       LDAA    E,CN2\r
+       BITA    I,040\r
+       BEQ     S,-5\r
+       LDAA    I,7                     ;CLEAR "PUSH START2"\r
+       JSR     E,MESOUT\r
+       RTS\r
+;USED A&B: X-POT VALUE RETURNED IN A, Y-POT VALUE RETURNED IN B\r
+GETVAL:        LDAA    I,08\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,08\r
+       BNE     S,+3\r
+       CLRA\r
+       ORAA    I,4\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,08\r
+       BNE     S,+4\r
+       ANDA    I,08\r
+       ORAA    I,2\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,08\r
+       BNE     S,+4\r
+       ANDA    I,0C\r
+       ORAA    I,1\r
+       STAA    E,CONTRL\r
+       LDAB    X,0\r
+       BITB    I,08\r
+       BNE     S,+4\r
+       ANDA    I,0E\r
+       STAA    D,TEMP                  ;X SAVED\r
+       LDAB    I,08\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+3\r
+       CLRB\r
+       ORAB    I,4\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+4\r
+       ANDB    I,08\r
+       ORAB    I,2\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+4\r
+       ANDB    I,0C\r
+       ORAB    I,1\r
+       STAB    E,CONTRL\r
+       LDAA    X,0\r
+       BITA    I,4\r
+       BNE     S,+4\r
+       ANDB    I,0E\r
+       LDAA    D,TEMP\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  VERTICAL POSITION TEST\r
+;FIRST DISPLAYS ALL BALLS ON SCREEN\r
+;ON D6, MOVES THEM VERTICALLY\r
+VPTST: CLI\r
+       JSR     E,BLANK\r
+       JSR     E,CLPOS\r
+7$:    LDAB    I,08                    ;OBJECT COUNT\r
+       LDAA    I,60\r
+       LDX     I,OBJH                  ;INITIALIZE HORIZONTAL POSITIONS\r
+1$:    STAA    X,0\r
+       STAA    X,8\r
+       ADDA    I,10\r
+       INX\r
+       DECB\r
+       BNE     1$\r
+       LDAB    I,8                     ;SEPARATE 8 OBJECTS\r
+       LDX     I,OBJV\r
+       LDAA    I,78                    ;SECOND RUN\r
+5$:    STAA    X,0\r
+       INX\r
+       DECB\r
+       BNE     5$\r
+       STAA    E,CN2\r
+       LDAB    I,8                     ;OFFSET THE SECOND ROW OF BALLS\r
+       LDAA    I,8C\r
+15$:   STAA    X,0\r
+       INX\r
+       DECB\r
+       BNE     15$\r
+4$:    CLR     E,PSYNC\r
+       COM     E,PSYNC\r
+       CLR     E,SYNC                  ;WAIT FOR INTERRUPT\r
+2$:    TST     E,SYNC\r
+       BEQ     2$\r
+       STAA    E,CN2                   ;WATCH DOG\r
+       LDAA    E,TPUSH\r
+       BITA    I,040\r
+       BEQ     7$\r
+6$:    LDAA    E,TPUSH\r
+       STAA    E,CN2\r
+       BITA    I,40\r
+       BNE     6$\r
+10$:   LDX     I,OBJV\r
+       LDAA    I,10                    ;MOVE ALL 16 OBJECTS VERTICALLY\r
+3$:    INC     X,0\r
+       INX\r
+       DECA\r
+       BNE     3$\r
+       CLR     E,PSYNC                 ;WAIT FOR INTERRUPT\r
+       COM     E,PSYNC\r
+       CLR     E,SYNC\r
+9$:    TST     E,SYNC\r
+       BEQ     9$\r
+       STAA    E,CN2\r
+       LDAA    E,TPUSH                 ;PUSH BUTTON?\r
+       BITA    I,040\r
+       BEQ     10$\r
+       JSR     E,CLPOS\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  HORIZONTAL POSITION TEST\r
+;MOVES BALL HORIZONTALLY\r
+HPTST: CLI\r
+       JSR     E,BLANK\r
+       JSR     E,CLPOS\r
+       LDAB    I,08\r
+       LDAA    I,60\r
+       LDX     I,OBJV                  ;INITIALIZE VERTICAL POSITION\r
+1$:    STAA    X,0                     ;STORE TO OBJECTS\r
+       STAA    X,8\r
+       ADDA    I,10\r
+       INX\r
+       DECB                            ;8 TIMES 2 OBJECTS?\r
+       BNE     1$\r
+       LDAB    I,8\r
+       LDX     I,OBJH\r
+       LDAA    I,10                    ;OFFSET 8 OF THE 16\r
+5$:    STAA    X,0\r
+       INX\r
+       DECB\r
+       BNE     5$\r
+       STAA    E,CN2\r
+4$:    CLR     E,PSYNC\r
+       COM     E,PSYNC\r
+       CLR     E,SYNC                  ;ALLOW INTERRUPT\r
+2$:    TST     E,SYNC\r
+       BEQ     2$\r
+       STAA    E,CN2                   ;WATCH DOG\r
+       LDX     I,OBJH                  ;MOVE OBJECTS\r
+       LDAA    I,10\r
+3$:    INC     X,0\r
+       INX\r
+       DECA\r
+       BNE     3$\r
+       LDAA    E,TPUSH                 ;PUSH BUTTON?\r
+       BITA    I,040\r
+       BEQ     4$\r
+       JSR     E,CLPOS\r
+       JSR     E,BLANK\r
+       RTS\r
+;WAIT FOR D6 OFF ROUTINE\r
+TPSH:  LDAA    I,0FF                   ;WAIT LOOP\r
+       DECA\r
+       BNE     S,-1\r
+       STAA    E,CN2                   ;WATCH DOG PULSE\r
+       LDAA    E,TPUSH                 ;WAIT FOR RELEASE\r
+       BITA    I,40\r
+       BNE     TPSH\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  SOUND TEST\r
+;OUTPUTS (TOGGLES) SOUNDS AS INDICATED\r
+;SOUND TEST\r
+SNDTST:        CLR     E,BUMP                  ;SOUNDS OFF\r
+       CLR     E,SCRAT\r
+       STAA    E,CN2                   ;WARN DOG\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     SNDTST\r
+       BSR     TPSH\r
+BMP:   STAA    E,BUMP+1                ;BUMP ON\r
+       BSR     TIMEW                   ;A BIT OF DELAY TIME\r
+       STAA    E,BUMP                  ;BUMP OFF\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     BMP\r
+       BSR     TPSH\r
+SCR:   STAA    E,SCRAT+1               ;SOUND ON\r
+       BSR     TIMEW                   ;A BIT OF DELAY TIME\r
+       STAA    E,SCRAT                 ;SOUND OFF\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     SCR\r
+       BSR     TPSH\r
+CLK:   STAA    E,CLICK                 ;TAP CLICK\r
+       BSR     TIMEW                   ;A BIT OF TIME DELAY\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     CLK\r
+       JSR     E,TPSH\r
+SCRS:  STAA    E,SCORES\r
+       BSR     TIMEW                   ; A BIT MORE TIME DELAY.....\r
+       LDAA    E,TPUSH\r
+       BITA    I,40\r
+       BEQ     SCRS\r
+       JSR     E,TPSH\r
+       RTS\r
+       ; TIME DELAY ROUTINE AND WATCH DOG PULSE\r
+TIMEW: CLI\r
+       STAA    E,CN2                   ; DONT BOTHER THE SLEEPING DOG PLEASE\r
+       CLR     E,PSYNC\r
+       CLR     E,SYNC\r
+       LDAA    D,PSYNC\r
+       BPL     S,-2                    ;WAIT FOR END OF FRAME\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  SUBROUTINES FOR VARIOUS OCCASIONS\r
+;SUBROUTINES\r
+;CLEAR OBJECTS OFF SCREEN\r
+CLPOS: LDX     I,01F                   ;CLEAR BOTH V&H POSITIONS\r
+1$:    CLR     X,0\r
+       DEX\r
+       BNE     1$\r
+       CLR     X,0                     ;MUST CLEAR THE QUE BALL ALSO\r
+       CLI\r
+       CLR     E,SYNC                  ;ALLOW INTERRUPTS\r
+2$:    TST     E,SYNC                  ;CLEAR INTERRUPTS AND WAIT\r
+       BEQ     2$\r
+       RTS\r
+MESOUT:        ASLA\r
+       LDX I,MIN\r
+       STX D,MORA\r
+       TAB\r
+       ADDA D,MORA+1\r
+       STAA D,MORA+1\r
+       BCC 1$\r
+       INC E,MORA\r
+1$:    LDX I,MOUT\r
+       STX D,MORD\r
+       ADDB D,MORD+1\r
+       STAB D,MORD+1\r
+       BCC 2$\r
+       INC E,MORD\r
+2$:    LDX D,MORA\r
+       LDX X,0\r
+       STX D,MORA\r
+       LDX D,MORD\r
+       LDX X,0\r
+       STX D,MORD\r
+MSOUT1:        CLR E,SYNC\r
+       CLR E,PSYNC\r
+       CLI\r
+       STAA    E,CN2\r
+MSOUT3:        LDAA D,PSYNC\r
+       BPL MSOUT3\r
+MESLP: LDX D,MORA\r
+       LDAA X,0\r
+       BMI MRORE\r
+       TAB\r
+       CLRA\r
+MESLOP:        INX\r
+       STX D,MORA\r
+       LDX D,MORD\r
+MDRLP: STAB X,0\r
+       INX\r
+       DECA\r
+       BPL MDRLP\r
+       STX D,MORD\r
+       BRA MESLP\r
+MRORE: COMA\r
+       BNE MESLOP\r
+       STAA    E,CN2\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  INTERRUPT ROUTINE\r
+INT:   LDAA    D,SYNC\r
+       BPL     DISP1\r
+INTA:  LDAA    E,IRQRST\r
+       LDAA    D,PSYNC\r
+       BMI     S,+5\r
+       COM     E,PSYNC\r
+       RTI\r
+DISP1: LDAA    D,PSYNC\r
+       BMI     DISP2\r
+       COM     E,PSYNC\r
+       BRA     INTA\r
+DISP2: STS     D,SPT\r
+       LDS     I,-1\r
+       LDX     I,HPOS\r
+       LDAA    I,10\r
+DOLOOP:        PULB\r
+       STAB    X,0\r
+       INX\r
+       DECA\r
+       BNE     DOLOOP\r
+       LDX     I,VPOS\r
+       LDAA    I,10\r
+DOVLP: PULB\r
+       STAB    X,0\r
+       INX\r
+       DECA\r
+       BNE     DOVLP\r
+       LDS     D,SPT\r
+       COM     E,SYNC\r
+       TST     E,CN2\r
+       LDAA    E,IRQRST\r
+       RTI\r
+       .PAGE\r
+       .SBTTL  MESSAGE TABLES & TEXT STRINGS\r
+;MESS0 - "SELECT TEST"\r
+MESS0: .BYTE   13,5,0C,5,3,14,0,14,5,13,14,-1\r
+       ;MESS1 - "POT"\r
+MESS1: .BYTE   10,0F,14,0,-1\r
+       ;MESS2 - P1\r
+MESS2: .BYTE   10,31,-1\r
+MESS3: .BYTE   10,32,-1\r
+MESS4: .BYTE   10,33,-1\r
+MESS5: .BYTE   10,34,-1\r
+       ;MESS 6 - NOT ALIGNED\r
+MESS6: .BYTE   0E,0F,14,0,1,0C,09,7,0E,5,4,-1\r
+MESS7: .BYTE   0,-15,-1\r
+       ;MESS 8 - ALIGNED\r
+MESS8: .BYTE   1,0C,09,7,0E,5,4,0,-3,-1\r
+       ;MESS 9 - PUSH START 2\r
+MESS9: .BYTE   10,15,13,08,0,13,14,1,12,14,32,-1\r
+       ;MESSA - ROM TEST COMPLETED\r
+MESSA: .BYTE   12,0F,0D,0,14,5,13,14,0,3,0F,0D,10,0C,5,14,5,-1\r
+MIN:   .WORD   MESS0\r
+       .WORD   MESS1\r
+       .WORD   MESS2\r
+       .WORD   MESS3\r
+       .WORD   MESS4\r
+       .WORD   MESS5\r
+       .WORD   MESS6\r
+       .WORD   MESS7\r
+       .WORD   MESS8\r
+       .WORD   MESS9\r
+       .WORD   MESSA\r
+MOUT:  .BYTE   DISP+03B0&0FF00/100,DISP+03B0&0FF       ;0\r
+       .BYTE   DISP+267&0FF00/100,DISP+267&0FF         ;1\r
+       .BYTE   DISP+026B&0FF00/100,DISP+026B&0FF       ;2\r
+       .BYTE   DISP+026B&0FF00/100,DISP+026B&0FF       ;3\r
+       .BYTE   DISP+026B&0FF00/100,DISP+026B&0FF       ;4\r
+       .BYTE   DISP+026B&0FF00/100,DISP+026B&0FF       ;5\r
+       .BYTE   DISP+026F&0FF00/100,DISP+026F&0FF       ;6\r
+       .BYTE   DISP+02E0&0FF00/100,DISP+02E0&0FF       ;7\r
+       .BYTE   DISP+026F&0FF00/100,DISP+026F&0FF       ;8\r
+       .BYTE   DISP+02E2&0FF00/100,DISP+02E2&0FF       ;9\r
+       .BYTE   DISP+03A5&0FF00/100,DISP+03A5&0FF       ;A\r
+FILR   =47F2-.\r
+       .REPT FILR\r
+       .BYTE 0\r
+       .ENDR\r
+       .=47F2\r
+STUP:  LDS     I,375\r
+       JMP     E,DIAG\r
+       .WORD   INT                     ;REST VECTORS IF PROG MISSING\r
+       .WORD   STUP\r
+       .WORD   STUP\r
+       .WORD   STUP\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\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\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/PSHARK.DIR b/PSHARK.DIR
new file mode 100644 (file)
index 0000000..538090e
Binary files /dev/null and b/PSHARK.DIR differ
diff --git a/PSHARK.MAP b/PSHARK.MAP
new file mode 100644 (file)
index 0000000..7828532
Binary files /dev/null and b/PSHARK.MAP differ