 ; rotabb <S.ORCHARD>
 ; <TEXT #1>
 ; partially recovered by S.ORCHARD 28.08.2021


TEMP EQU 251
COUNT EQU 253

CALC EQU $3C89

 
; BEQ Z2
; BMI INC2
; DEC GXV+1
; BRA Z2
;INC2 INC GXV+1
;Z2 RTS

 ORG $3CE1
 PUT *
 
 SETDP 0
 
EXPL LDY #EXR
EXL LDU #12800
 LDA 6,Y
 LBEQ NEX
 LDA #16
 STA COUNT
 LDA #8
 SUBA 6,Y
 LDB #32
 MUL
 LEAU D,U
 DEC 6,Y
 LDA 1,Y
 ROLA
 ROLA
 ROLA
 ROLA
 ANDA #7
 BEQ EZ
 LDX #MULTAB
 LDA A,X
 STA EA+1
 STA EB+1
 JSR CALC
EXLP LDA ,U+
EA LDB #0
 MUL
 ORA ,X
 ORB 1,X
 STD ,X
 LDA ,U+
EB LDB #0
 MUL
 ORA 1,X
 ORB 2,X
 STD 1,X
 LEAX 24,X
 DEC COUNT
 BNE EXLP
 BRA UPD
EZ JSR CALC
EZLP LDD ,U++
 ORA ,X
 ORB 1,X
 STD ,X
 LEAX 24,X
 DEC COUNT
 BNE EZLP
UPD LDX ,Y
 LDA GXV
 LEAX A,X
 LDD 4,Y
 LEAX A,X
 STX ,Y
 CMPX #32
 BLT ZER
 CMPX #5631
 BLT VUD
ZER CLR 6,Y
VUD LDX 2,Y
 LDA GYV
 LEAX A,X
 LEAX B,X
 STX 2,Y
 CMPX #32
 BLT ZR2
 CMPX #5631
 BLT NEX
ZR2 CLR 6,Y
NEX LEAY 7,Y
 CMPY #EXR+56
 LBLO EXL
 RTS
 
BCOL LDU #PBR
 CLR CFL
 LDA #4
 STA COUNT
CLLP LDA 4,U
 BMI NCOL
 LDD ,U
 SUBD ,Y
 CMPD #-64
 BLT NCOL
 CMPD #448
 BGT NCOL
 LDD 2,U
 SUBD 2,Y
 CMPD #-64
 BLT NCOL
 CMPD #448
 BGT NCOL
 COM CFL
 LDA #-1
 STA 4,U
 BRA CEX
NCOL LEAU 5,U
 DEC COUNT
 BNE CLLP
CEX RTS
 
FEX LDU #EXR
 LDX ,Y
 STX ,U
 LDX 2,Y
 STX 2,U
 LDA #8
 STA 6,U
 LDD FEX+1
 ADDD #7
 CMPD #EXR+56
 BNE ST
 LDD #EXR
ST STD FEX+1
 RTS
 
RAD2 LDB 2,Y
 CLRA
 ADDB #116
 ANDB #248
 LSLB
 ROLA
 LSLB
 ROLA
 LDX #$819
 LEAX D,X
 LDA ,Y
 ADDA #116
 LSRA
 LSRA
 LSRA
 STA TMP+1
 LSRA
 LSRA
 LSRA
 LEAX A,X
TMP LDA #0
 ANDA #7
 LDU #RTAB
 LDA A,U
 ORA ,X
 STA ,X
 RTS
 
RAD LDX #0
SCN LDU #0
 STU ,X
 STU 2,X
 LEAX 32,X
 CMPX #$C19
 BLO ROK
 LDX #$819
ROK STX RAD+1
 LDU #$FFFF
 STU ,X
 STU 2,X
 RTS
 
TAB FDB 32768,16384,8192,4096
 FDB 2048,1024,512,256,128,64
 FDB 32,16,8,4,2,1
 
MULTAB FCB 0,128,64,32,16,8,4,2
ANDTAB FCB 0,128,192,224,240
 FCB 248,252,254
 
BDTB FCB 0,-128,90,-90,127,0
 FCB 90,90,0,127,-90,90,-128,0
 FCB -90,-90
 
RTAB FCB 128,64,32,16,8,4,2,1
 
BUFF2 LDB #40
 STB COUNT
 LDY #$802
 STS TEMP
 LDS #$1F82
B2LP PULS D,X,U
 STD ,Y
 STX 2,Y
 STU 4,Y
 PULS D,X,U
 STD 6,Y
 STX 8,Y
 STU 10,Y
 PULS D,X,U
 STD 12,Y
 STX 14,Y
 STU 16,Y
 LDD ,S
 STD 18,Y
 LEAS 6,S
 PULS D,X,U
 STD 32,Y
 STX 34,Y
 STU 36,Y
 PULS D,X,U
 STD 38,Y
 STX 40,Y
 STU 42,Y
 PULS D,X,U
 STD 44,Y
 STX 46,Y
 STU 48,Y
 LDD ,S
 STD 50,Y
 LEAS 6,S
 PULS D,X,U
 STD 64,Y
 STX 66,Y
 STU 68,Y
 PULS D,X,U
 STD 70,Y
 STX 72,Y
 STU 74,Y
 PULS D,X,U
 STD 76,Y
 STX 78,Y
 STU 80,Y
 LDD ,S
 STD 82,Y
 LEAS 6,S
 PULS D,X,U
 STD 96,Y
 STX 98,Y
 STU 100,Y
 PULS D,X,U
 STD 102,Y
 STX 104,Y
 STU 106,Y
 PULS D,X,U
 STD 108,Y
 STX 110,Y
 STU 112,Y
 LDD ,S
 STD 114,Y
 LEAY 128,Y
 LEAS 6,S
 DEC COUNT
 LBNE B2LP
 LDS TEMP
 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
UNFL RMB 1
CFL RMB 1
 
 
