 ;rotabb BY S.ORCHARD <TEXT #7>
 
 ORG $50A8
 PUT *
 
 SETDP 0
 
TEMP EQU 251
COUNT EQU 253
SEED EQU 14255
PBLS EQU $3A98
BACK EQU $3B0B
BUFF EQU $3E76
SP16 EQU $3C0D
CALC EQU $3C89
MOVE EQU $3C9C
EXPL EQU $3CE1
BCOL EQU $3D81
FEX EQU $3DBF
RAD2 EQU $3DE1
RAD EQU $3E0E
TAB EQU $3E2E
MULTAB EQU $3E4E
ANDTAB EQU $3E56
BDTB EQU $3E5E
RTAB EQU $3E6E
SHIP EQU $3F2B
EBLS EQU $3F5F
FSH EQU $402E
FRT EQU $406F
FEB EQU $40C3
BCTB EQU $4109
EINT EQU $4129
BINT EQU $4159
JST EQU $4189
GST EQU $41C6
FST EQU $41E3
PST EQU $41FE
TRAK EQU $4224
LKLN EQU $4277
DRLN EQU $42C4
GET EQU $42F1
COL EQU $4321
ADTAB EQU $434D
LNTAB EQU $4375
MISL EQU $438D
MCOL EQU $44B4
MST EQU $44F0
JETS EQU $4500
GRND EQU $458C
FLPS EQU $4613
PNTS EQU $46A7
SHTS EQU $472B
ROTS EQU $47A0
UPSC EQU $485B
U11 EQU $485F
U22 EQU $4868
U33 EQU $4871
DSCR EQU $488F
DIGS EQU $48AC
STAB EQU $48D4
KYBD EQU $48DC
GCRD EQU $494E
SP8 EQU $4960
XTAB EQU $49E4
ATAB EQU $49F4
RCTAB EQU $4A04
FAT EQU $4A44
FLA EQU $4A8F
ASTD EQU $4AB0
LAST EQU $4B39
BCOL2 EQU $4BB3
B16 EQU $4D1F
BGGY EQU $4D98
INIT EQU $4E4A
GNR2 EQU $4EC0
INBG EQU $4F00
BOOM EQU $4F48
TEXT EQU $4F67
BGHD EQU $4F82
ELSC1 EQU $4FFE
BITAB EQU $5088
 
 
RDKYS LDX #KTAB
 LDA #127
 STA $FF02
LP LDB $FF00
 STB ,X+
 ORCC #1
 ROR $FF02
 BCS LP
 RTS
 
JYSTK LDA $FF23
 ANDA #247
 STA $FF23
 CLRB
 LDA #32
 STA $FF20
 LDA $FF00
 BPL JL
 LDA #220
 STA $FF20
 LDA $FF00
 BMI JR
 LDB #1
JL BRA JUD
JR LDB #2
JUD LDA $FF01
 ORA #8
 STA $FF01
 LDA #32
 STA $FF20
 LDA $FF00
 BPL JU
 LDA #220
 STA $FF20
 LDA $FF00
 BMI JD
 ADDB #3
JU BRA JLOG
JD ADDB #6
JLOG LDX #JTAB
 LDA B,X
 BMI ZACC
 SUBA DIR
 CMPA #4
 BGE DEC
 CMPA #-4
 BLE INC
 TSTA
 BMI DEC
 BEQ JLG2
INC INC DIR
 BRA JLG2
DEC DEC DIR
JLG2 LDA DIR
 ANDA #7
 STA DIR
 LSLA
 LDX #ATAB
 LDD A,X
 STD ACC
 BRA NXTJ
ZACC LDD #0
 STD ACC
NXTJ LSR $FF00
 BCS NXTJ2
 LDA EOLF
 BEQ JBLS
 LDU #MSR
 LDA 6,U
 BNE MNXT
 BSR FRM2
 BRA NXTJ2
MNXT LEAU 7,U
 LDA 6,U
 BNE JBLS
 BSR FRM2
 BRA NXTJ2
JBLS JSR $4927
NXTJ2 LDA TRKR+3
 BPL NXTJ3
 LDU #MSR
 BSR FIRM
NXTJ3 LDA TRKR+7
 BPL ENDJ
 LDU #MSR+7
 BSR FIRM
ENDJ LDA $FF01
 ANDA #247
 STA $FF01
 CLR $FF20
 LDA $FF23
 ORA #8
 STA $FF23
 RTS
 
FIRM LDA 6,U
 BNE ENDF
FRM2 LDB DIR
 ANDB #7
 LSLB
 LDX #MST
 ABX
 LDD GXV
 NEGA
 NEGB
 ASRA
 ASRB
 ADDD ,X
 STD 4,U
 LDD #2944
 STD ,U
 STD 2,U
 LDA #-1
 STA 6,U
ENDF RTS
 
JTAB FCB 7,0,1,6,-1,2,5,4,3
 
WAIT LDX #SHR
WSH LDA 7,X
 BEQ WL1
 LDA #2
 STA PDED
WL1 LEAX 8,X
 CMPX #SHR+32
 BLO WSH
 LDX #AJR
WJT LDA 4,X
 BPL WL2
 LDA #2
 STA PDED
WL2 LEAX 5,X
 CMPX #AJR+25
 BLO WJT
 LDX #AFR
WFL LDA 4,X
 BPL WL3
 LDA #2
 STA PDED
WL3 LEAX 5,X
 CMPX #AFR+25
 BLO WFL
 LDX #BGR+6
WBG LDA 4,X
 BPL WL4
 LDA #2
 STA PDED
WL4 LEAX 5,X
 CMPX #BGR+26
 BLO WBG
 LDY #RTR
WRT LDA 6,Y
 BEQ WL5
 JSR FEX
 CLR 4,U
 CLR 5,U
 LDA #192
 STA SR1
 CLR 6,Y
WL5 LEAY 7,Y
 CMPY #RTR+14
 BLO WRT
 LDY #ATR
WAT LDA 6,Y
 BEQ WL6
 JSR FEX
 CLR 4,U
 CLR 5,U
 LDA #192
 STA SR1
 CLR 6,Y
WL6 LEAY 7,Y
 CMPY #ATR+28
 BLO WAT
 LDY #LAR
WLA LDA 6,Y
 BEQ WL7
 JSR FEX
 CLR 4,U
 CLR 5,U
 LDD ,Y
 SUBD #256
 STD ,U
 LDD 2,Y
 SUBD #256
 STD 2,U
 LDA #128
 STA SR1
 CLR 6,Y
WL7 LEAY 7,Y
 CMPY #LAR+56
 BLO WLA
 CLRB
 STB EBR+6
 STB EBR+13
 STB EBR+20
 STB EBR+27
 STB FRT+1
 STB FEB+1
 STB FAT+1
 RTS
 
MSLG LDA TRKR+3
 ANDA MSR+13
 BEQ MLG2
 LDA MSR+6
 ORA TRKR+7
 BNE MLG2
 LDX #MSR
 LDU #MSR+7
 LDB #7
CMLP LDA ,U+
 STA ,X+
 DECB
 BNE CMLP
 CLR MSR+13
 RTS
MLG2 LDA TRKR+7
 ANDA MSR+6
 BEQ ENDM
 LDA MSR+13
 ORA TRKR+3
 BNE ENDM
 LDX #MSR+7
 LDU #MSR
 LDB #7
CMLP2 LDA ,U+
 STA ,X+
 DECB
 BNE CMLP2
 CLR MSR+6
ENDM RTS
 
INTH LDA $FF02
 RTI
 
SND LDA SR1
 BEQ SND2
 LDU #STAB
 LDA RAND
 ANDA #7
 LDA A,U
 ANDA SR1
 LDX #40
SL1 STA $FF20
 NOP
 CLR $FF20
 LEAX -1,X
 BNE SL1
 LDA SR1
 SUBA #8
 STA SR1
SND2 LDB SR2
 BEQ SND3
 DEC SR2
 ADDB #20
 ASLB
 ASLB
 STB SK1+1
 STB SK2+1
 LDX #2
SL2 LDA #128
 STA $FF20
SK1 LDB #1
SD1 DECB
 BNE SD1
 CLR $FF20
SK2 LDB #1
SD2 DECB
 BNE SD2
 LEAX -1,X
 BNE SL2
SND3 LDA SR3
 BEQ SND4
 LDU #14832
 LDX #100
 LSRA
 STA TEMP
 LDA #255
 SUBA TEMP
 SUBA #20
 STA SK3+1
SL3 LDA ,U+
 ANDA SR3
 STA $FF20
SK3 LDB #100
SD3 DECB
 BNE SD3
 LEAX -1,X
 BNE SL3
 LDA SR3
 SUBA #6
 STA SR3
SND4 RTS
 
 
MSS1 FCB 0,162,162,162,0
 
MSS2 FCB 72,30,132,30,72,222
 FCB 18,90,78,96,72,30,120,30
 FCB 24,229,0
 
MSS3 FCB 222,192,162,162,162,222
 FCB 96,90,54,84,120,114,0
 
MSS4 FCB 96,6,126,114,30,229,0
 FCB 66,235,235,66,30,150,12,90
 FCB 6,108,24,0
 FCB 60,235,235,60,90,150,114
 FCB 120,54,18,66,0
 FCB 102,235,235,102,126,54,120
 FCB 0
 
 ORG 1024
 PUT *
GX RMB 2
GY RMB 2
GXV RMB 1
GYV RMB 1
ACC RMB 2
DIR RMB 1
QUIT RMB 1
KTAB RMB 8
AJR RMB 25
EXR RMB 56
AGR RMB 28
AFR RMB 25
SNAP RMB 28
PBR RMB 20
RAND RMB 1
CFL RMB 1
PTR RMB 40
SHR RMB 32
RTR RMB 14
EBR RMB 28
KCNT RMB 1
NTRX RMB 1
TRXF RMB 1
VALR RMB 20
VLR2 RMB 20
TRKR RMB 8
TRKR2 RMB 8
MSR RMB 14
SCORE RMB 4
SCFL RMB 1
SR1 RMB 1
NFLP RMB 1
NGRD RMB 1
NJET RMB 1
NPNT RMB 1
PDED RMB 1
MR1 RMB 1
NJSQ RMB 1
NFSQ RMB 1
SR2 RMB 1
SR3 RMB 1
EOLF RMB 1
ATR RMB 28
LAR RMB 56
RND2 RMB 1
RND3 RMB 1
BHT RMB 1
NHTS RMB 1
BDED RMB 1
BGTR RMB 1
MR2 RMB 1
INBF RMB 1
JFLG RMB 1
 
 ORG $3BA2
 PUT *
 
BGR RMB 26
PRM FCB 0,0,4,0,0,0,0,7,0,2,0,0
 FCB 4,0,2,0,5,10
 
 
 
