 ; rotabb <S.ORCHARD>
 ; <TEXT #2>
 
 ORG $3F2B
 PUT *
 
 SETDP 0

TEMP EQU 251
COUNT EQU 253
 
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 LDU #0
 LDX #7680+2123
 LDA #16
 STA ,-S
SLP LDD ,U++
 ANDA ,X
 ANDB 1,X
 STD ,X
 LEAX 24,X
 DEC ,S
 BNE SLP
 LDA #14
 STA ,S
 LEAX -360,X
 LEAU 2,U
SLP2 LDD ,U++
 ORA ,X
 ORB 1,X
 STD ,X
 LEAX 24,X
 DEC ,S
 BNE SLP2
 PULS A,PC
 
EBLS LDY #EBR
EBLP LDA 6,Y
 LBEQ EBLPE
 LDU #13728
 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 #6
 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 -120,X
 LEAU 1,U
 LDA #4
 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 #6
PZA LDA ,U+
 ANDA ,X
 STA ,X
 LEAX 24,X
 DECB
 BNE PZA
 LEAX -120,X
 LEAU 1,U
 LDB #4
PZB LDA ,U+
 ORA ,X
 STA ,X
 LEAX 24,X
 DECB
 BNE PZB
END8 LDX ,Y
 LDD GXV
 LEAX A,X
 LDA 4,Y
 LEAX A,X
 LEAX A,X
 STX ,Y
 CMPX #256
 BLT UNC
 CMPX #5631
 BLT VER7
UNC CLR 6,Y
 DEC FEB+1
 BRA EBLPE
VER7 LDX 2,Y
 LEAX B,X
 LDA 5,Y
 LEAX A,X
 LEAX A,X
 STX 2,Y
 CMPX #256
 BLT UNC
 CMPX #5631
 BGT UNC
EBLPE LEAY 7,Y
 CMPY #EBR+28
 LBLO EBLP
 RTS
 
FSH LDA #0
 CMPA #0
 BHS EK2
FSH2 LDX #SHR
 LDA 7,X
 BNE EFL
 LDA RAND
 INCA
 STA RAND
 ANDA #7
 STA 6,X
 LDB #6
 MUL
 LDU #EINT
 LEAU B,U
 LDD ,U
 STD ,X
 LDD 2,U
 STD 2,X
 LDD 4,U
 STD 4,X
 LDA #-1
 STA 7,X
 INC FSH+1
EFL LEAX 8,X
 CMPX #SHR+32
 BLO EOK
 LDX #SHR
EOK STX FSH2+1
EK2 RTS
 
FRT LDA #0
 CMPA #0
 BHS RK2
FRT2 LDX #RTR
 LDA 6,X
 BNE RFL
 INC FRT+1
 LDA RAND
 INCA
 STA RAND
 LSRA
 BCC F1
 LDU #1000
 BRA F2
F1 LDU #4632
F2 STU ,X
 LDA GYV
 NEGA
 ASRA
 BMI GUP
 ADDA #20
 LDU #0
 BRA STR
GUP ADDA #-20
 LDU #5631
STR STU 2,X
 STA 5,X
 LDA GXV
 NEGA
 ASRA
 STA 4,X
 LDA #-1
 STA 6,X
RFL LEAX 7,X
 CMPX #RTR+14
 BLO ROK
 LDX #RTR
ROK STX FRT2+1
RK2 RTS
 
FEB LDA #0
 CMPA #4
 BHS EB2
FEB2 LDX #EBR
 LDA 6,X
 BNE EBL
 LDA RAND
 INCA
 STA RAND
 ANDA #7
 LDB #6
 MUL
 LDU #BINT
 LEAU B,U
 LDD ,U
 STD ,X
 LDD 2,U
 STD 2,X
 LDD GXV
 NEGA
 NEGB
 ASRA
 ASRB
 ADDD 4,U
 STD 4,X
 LDA #-1
 STA 6,X
 INC FEB+1
EBL LEAX 7,X
 CMPX #EBR+28
 BLO BOK
 LDX #EBR
BOK STX FEB2+1
EB2 RTS
 
 
BCTB FDB 3040,2752,3200,2848
 FDB 3296,3040,3200,3200,3040
 FDB 3296,2848,3200,2752,3040
 FDB 2848,2848
 
EINT FDB 2816,5631,224
 FDB 0,5631,8416,0,2816,8192
 FDB 0,0,8224,2816,0,32
 FDB 5631,0,57376,5631,2816
 FDB 57344,5631,5631,57568
 
BINT FDB 3008,5631,$E0,300,5631
 FDB $20E0,300,3008,$2000
 FDB 300,300,$2020,3008,300,$20
 FDB 5631,300,$E020,5631,3008
 FDB $E000,5631,5631,$E0E0
 
JST LDY #AJR
 STD 2,Y
 ADDD #256
 STD 7,Y
 STD 12,Y
 ADDD #256
 STD 17,Y
 STD 22,Y
 STX ,Y
 LEAU 576,X
 STU 5,Y
 LEAU -576,X
 STU 10,Y
 LEAU 1152,X
 STU 15,Y
 LEAU -1152,X
 STU 20,Y
 LDA #1
 LDB #5
IN1 STA 4,Y
 LEAY 5,Y
 DECB
 BNE IN1
 RTS
 
GST LDY #AGR
 LDX #0
 LDU #32768
 LDD #$105
IN2 STX ,Y
 LEAX 608,X
 STU 2,Y
 STA 4,Y
 LEAY 5,Y
 DECB
 BNE IN2
 RTS
 
FST LDY #AFR
 LDD #$105
IN3 STX ,Y
 STU 2,Y
 LEAX 512,X
 LEAU 512,U
 STA 4,Y
 LEAY 5,Y
 DECB
 BNE IN3
 RTS
 
PST LDY #PTR
 LDD #$104
 LDX #0
IN4 STX ,Y
 STX 5,Y
 LEAX 16384,X
 LDU #32000
 STU 2,Y
 LDU #33536
 STU 7,Y
 STA 4,Y
 STA 9,Y
 LEAY 10,Y
 DECB
 BNE IN4
 RTS
 
 
 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
 
 
