 ; rotabb <S.ORCHARD>
 ; <TEXT #5>
 
 ORG $48DC
 PUT *
 
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 LDD KTAB+1
 ANDA #32
 BEQ LFRG
 ANDB #32
 BEQ LFRG
 CLR KCNT
 BRA NLR
LFRG LDB KCNT
 BNE NLR2
 TSTA
 BEQ RGT
 DEC DIR
 LDA #1
 STA KCNT
 BRA NLR
RGT INC DIR
 LDA #1
 STA KCNT
 BRA NLR
NLR2 DEC KCNT
NLR LDA KTAB
 BITA #64
 BNE NSH
 LDA DIR
 ANDA #7
 LSLA
 LDX #ATAB
 LDD A,X
 STD ACC
NSH LDA KTAB+4
 BITA #32
 BNE NF
 LDY #PBR
 LDB #4
FNP LDA 4,Y
 BMI FP
 LEAY 5,Y
 DECB
 BNE FNP
 RTS
FP LDA DIR
 ANDA #7
 STA 4,Y
 LSLA
 LSLA
 LDU #BCTB
 LEAU A,U
 LDX ,U
 STX ,Y
 LDX 2,U
 STX 2,Y
NF RTS
 
GCRD LDA RAND
 INCA
 STA RAND
 ANDA #15
 ASLA
 ASLA
 LDY #RCTAB
 LEAY A,Y
 RTS
 
SP8 LDA 1,Y
 ROLA
 ROLA
 ROLA
 ROLA
 ANDA #7
 BEQ PZ
 LDX #MULTAB
 LDB A,X
 STB AM8A+1
 STB OM8A+1
 LDX #ANDTAB
 LDB A,X
 STB AM8B+1
 COMB
 STB AM8C+1
 JSR CALC
 LDA #8
 STA ,-S
A8LP LDA ,U+
AM8A LDB #0
 MUL
AM8B ORA #0
AM8C ORB #0
 ANDA ,X
 ANDB 1,X
 STD ,X
 LEAX 24,X
 DEC ,S
 BNE A8LP
 LEAX -168,X
 LEAU 1,U
 LDA #6
 STA ,S
O8LP LDA ,U+
OM8A LDB #0
 MUL
 ORA ,X
 ORB 1,X
 STD ,X
 LEAX 24,X
 DEC ,S
 BNE O8LP
 LEAS 1,S
 BRA END8
PZ JSR CALC
 LDB #8
PZA LDA ,U+
 ANDA ,X
 STA ,X
 LEAX 24,X
 DECB
 BNE PZA
 LEAX -168,X
 LEAU 1,U
 LDB #6
PZB LDA ,U+
 ORA ,X
 STA ,X
 LEAX 24,X
 DECB
 BNE PZB
END8 RTS
 
XTAB FCB 0,-63,45,-45,63,0
 FCB 45,45,0,63,-45,45,-63,0
 FCB -45,-45
 
ATAB FCB 0,8,-6,6,-8,0,-6,-6
 FCB 0,-8,6,-6,8,0,6,6
 
RCTAB FDB $4000,0,$4000,0,$8000
 FDB 0,$C000,0,0,$4000,$4000
 FDB $4000,$8000,$4000,$C000
 FDB $4000,0,$8000,$4000,$8000
 FDB $8000,$8000,$C000,$8000
 FDB 0,$C000,$4000,$C000,$8000
 FDB $C000,$C000,$C000
 
FAT LDA #0
 CMPA #0
 BHS EK2
FAT2 LDX #ATR
 LDA 6,X
 BNE EFL
 LDA RAND
 INCA
 STA RAND
 ANDA #7
 LDB #6
 MUL
 LDU #EINT
 LEAU B,U
 LDD ,U
 STD ,X
 LDD 2,U
 STD 2,X
 LDD RND2
 ASRA
 ASRA
 ASRB
 ASRB
 ADDD 4,U
 STD 4,X
 LDA #-1
 STA 6,X
 LDA FAT+1
 ADDA #2
 STA FAT+1
EFL LEAX 7,X
 CMPX #ATR+28
 BLO EOK
 LDX #ATR
EOK STX FAT2+1
EK2 RTS
 
FLA LDX #LAR
 LDB #7
FLLP LDA 6,X
 BEQ FDLA
 LEAX 7,X
 DECB
 BNE FLLP
FDLA LDD ,Y
 ADDD #128
 STD ,X
 LDD 2,Y
 ADDD #128
 STD 2,X
 LDA #-1
 STA 6,X
 RTS
 
ASTD LDY #ATR
ATLP LDA 6,Y
 BEQ ATLPE
 LDU #14932
 JSR SP16
 JSR BCOL
 LDA CFL
 BEQ OK
 JSR FEX
 CLR 6,Y
 LDD 4,Y
 STD 4,U
 BSR FLA
 LDA RAND
 LDB RND2
 ASRA
 ASRB
 ADDD 4,Y
 STD 4,X
 BSR FLA
 LDD RND2
 ASRA
 ASRB
 ADDD 4,Y
 STD 4,X
 LDA #192
 STA SR1
 LDA #$50
 STA U11
 JSR UPSC
 BRA ATLPE
OK LDX ,Y
 LDD GXV
 LEAX A,X
 LDA 4,Y
 LEAX A,X
 STX ,Y
 CMPX #32
 BLT UN
 CMPX #5631
 BLT VER
UN CLR 6,Y
 LDA FAT+1
 SUBA #2
 STA FAT+1
 BRA ATLPE
VER LDX 2,Y
 LEAX B,X
 LDA 5,Y
 LEAX A,X
 STX 2,Y
 CMPX #32
 BLT UN
 CMPX #5631
 BGT UN
ATLPE LEAY 7,Y
 CMPY #ATR+28
 LBLO ATLP
 RTS
 
LAST LDY #LAR
LSLP LDA 6,Y
 BEQ LSLPE
 LDU #13804
 JSR SP8
 JSR BCOL2
 LDA CFL
 BEQ OK2
 LDD ,Y
 SUBD #128
 STD ,Y
 LDD 2,Y
 SUBD #128
 STD 2,Y
 JSR FEX
 CLR 6,Y
 LDD 4,Y
 STD 4,U
 DEC FAT+1
 LDA #128
 STA SR1
 LDA #1
 STA U22
 JSR UPSC
 BRA LSLPE
OK2 LDX ,Y
 LDD GXV
 LEAX A,X
 LDA 4,Y
 LEAX A,X
 STX ,Y
 CMPX #160
 BLT UN2
 CMPX #5631
 BLT VER2
UN2 CLR 6,Y
 DEC FAT+1
 BRA LSLPE
VER2 LDX 2,Y
 LEAX B,X
 LDA 5,Y
 LEAX A,X
 STX 2,Y
 CMPX #160
 BLT UN2
 CMPX #5631
 BGT UN2
LSLPE LEAY 7,Y
 CMPY #LAR+56
 BLO LSLP
 RTS
 
BCOL2 LDU #PBR
 CLR CFL
 LDA #4
 STA COUNT
BCLP LDA 4,U
 BMI NCL
 LDD ,U
 SUBD ,Y
 CMPD #-64
 BLT NCL
 CMPD #192
 BGT NCL
 LDD 2,U
 SUBD 2,Y
 CMPD #-64
 BLT NCL
 CMPD #192
 BGT NCL
 COM CFL
 LDA #-1
 STA 4,U
 RTS
NCL LEAU 5,U
 DEC COUNT
 BNE BCLP
 RTS
 
 ORG 1024
 PUT *
 
 SETDP 0
 
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
 
 
