 
BACK   EQU $B49A
SK1    EQU $B49F+1
SK2    EQU $B4A5+1
VOL1   EQU $B524+1
VOL2   EQU $B532+1
BCK2   EQU $B5CC
SK3    EQU $B5D3+1
VOL3   EQU $B650+1
FLICK  EQU $B703
RDKYS  EQU $B723
GMODE  EQU $B738
PCLS   EQU $B757
ENSD   EQU $B764
CALC   EQU $B77D
CALCM  EQU $B790
SP8    EQU $B7AC
SP16   EQU $B7F5
SP24   EQU $B860
SP32   EQU $B8ED
SP64   EQU $B99B
MULTAB EQU $BACF
ANDTAB EQU $BAD7
CONTRL EQU $BADF
MOVE   EQU $BB62
NEWLN  EQU $BC1E
RNUM   EQU $BC7C
EGNS   EQU $BC97
FEB    EQU $BCD6
SCALE  EQU $BD11
EBLS   EQU $BD2F
WOBBL  EQU $BD75
FILBUF EQU $BD97
CLRBF2 EQU $BDA3
FEX    EQU $BDB1
EGR    EQU $BDDC
BGEX   EQU $BDED
FSTB   EQU $BE29
FCAN   EQU $BE4B
FBMR   EQU $BE68
FSP1   EQU $BE7D
FDIR   EQU $BEA9
USTB   EQU $BEF1
UCAN   EQU $BF2F
UBMR   EQU $BF96
UROT   EQU $BFDA
BCOL   EQU $C017
MOVW   EQU $C04B
VTAB   EQU $C07C
FDEB   EQU $C08C
DBRS   EQU $C0B8
BARTAB EQU $C0F8
TCRDS  EQU $C108
PTBAR  EQU $C10E
DIST   EQU $C165
CLIP   EQU $C18A
FEL    EQU $C1CA
LSBLTS EQU $C1DE
USTB1  EQU $C215
USTB2  EQU $C21D
FSMK   EQU $C225
USMK   EQU $C23F
 
 ORG $400
 
SCRN RMB 2
FRM  RMB 1
OFF  RMB 1
OF2  RMB 1
BPTR RMB 2
DPTR RMB 2
BPR2 RMB 2
SFL  RMB 1
RND  RMB 2
CNT1 RMB 1
CNT2 RMB 1
LNDC RMB 2
LNDF RMB 1
CRDS RMB 2
DX   RMB 1
SHIPSP RMB 2
KTAB RMB 8
HT   RMB 1
MASK RMB 2
IMAGE RMB 2
HCNT RMB 1
SPAD RMB 2
LFTFL  RMB 1
RGTFL  RMB 1
UPFL   RMB 1
DWNFL  RMB 1
FIRFL  RMB 1
FIRDB  RMB 1
DEBC   RMB 1
DY     RMB 1
EXRG RMB 40
NXEX RMB 2
EBR RMB 48
GNR RMB 32
NXGN RMB 2
WOB RMB 2
WBFL RMB 1
TOF RMB 1
WTYP RMB 1
WLRF RMB 1
WFLF RMB 1
FCNT RMB 1
ANGL RMB 1
HITFL RMB 1
NXDB RMB 2
MAXD RMB 1
DCNT RMB 1
DCNT2 RMB 1
NXHIT RMB 2
SR1 RMB 1
SR2 RMB 1
SR3 RMB 1
NXLS RMB 2
NXSM RMB 2
NXTR RMB 2
CCRDS  RMB 2
CWD    RMB 1
CHT    RMB 1
CMASK  RMB 2
CIMAGE RMB 2
SR4    RMB 1
SCT1   RMB 1
SCT2   RMB 1
SCT3   RMB 1
SCT4   RMB 1
FCNT2  RMB 1
 
 ORG $500
 
WREG RMB 72
LASR RMB 20
LSBR RMB 24
SMKR RMB 48
TRRG RMB 36
TRKRG1 RMB 3
TRKRG2 RMB 3
FLRG RMB 3
 
DBRG EQU $600
HITRGT EQU $F000
HITRGB EQU $F000+150
 
BUFU EQU $B000
BUFL EQU BUFU+288
BF2U EQU BUFU+608
BF2L EQU BF2U+270
ENDBF EQU BF2L+300
 
GRFX  EQU $D100
SHIPG EQU $D800
 
TIMER EQU 274
ILNDC EQU 801
TOP   EQU #14912
BTM   EQU #16000
 
 ORG $C26D
 PUT $13D3
 
 SETDP $04
 
FEG PSHS A,X
 LDU NXGN
 LEAX -2,X
 STX ,U
 LDA CNT1
 LSLA
 LSLA
 LSLA
 LSLA
 SUBA #4
 LDB #-12
 STD 2,U
 LEAU 4,U
 CMPU #GNR+32
 BLO NEGR
 LDU #GNR
NEGR STU NXGN
 PULS A,X,PC
 
FLSR PSHS A,X
 LDU NXLS
 LEAX -2,X
 STX ,U
 LDA CNT1
 LSLA
 LSLA
 LSLA
 LSLA
 SUBA #4
 CLRB
 STD 2,U
 STB 4,U
 LEAU 5,U
 CMPU #LASR+20
 BLO NLSR
 LDU #LASR
NLSR STU NXLS
 PULS A,X,PC
 
FTRT PSHS A,X
 LDU NXTR
 LEAX -2,X
 STX ,U
 LDA CNT1
 LSLA
 LSLA
 LSLA
 LSLA
 SUBA #8
 LDB #-16
 STD 2,U
 JSR RNUM
 ANDA #7
 ANDB #63
 STD 4,U
 LEAU 6,U
 CMPU #TRRG+36
 BLO NETR
 LDU #TRRG
NETR STU NXTR
 PULS A,X,PC
 
LSRS LDY #LASR
LSRLP LDU ,Y
 BEQ NOLS
 LDX ,U
 CMPX #$D560
 BNE KILLAS
 INC 3,Y
 LDD 2,Y
 CMPB #16
 BLO NOLS
 CMPB #128
 BHI KILLAS
 LDB CRDS+1
 ADDB #16
 CMPB 3,Y
 BLO NOLS0
 ADDA #8
 CMPA CRDS
 BLO NOLS0
 SUBA #32
 CMPA CRDS
 BHI NOLS0
 LDA 4,Y
 BNE NOLS
 LDA #1
 STA SR4
 LDU 2,Y
 LEAU 1,U
 JSR FEL
 COM 4,Y
 BRA NOLS
NOLS0 CLR 4,Y
NOLS LEAY 5,Y
 CMPY #LASR+20
 BLO LSRLP
 RTS
KILLAS LDD #0
 STD ,Y
 BRA NOLS
 
FHSK LDA FCNT
 BNE FHS1
 LDA #4
 STA FCNT
FHS1 INC FCNT2
 LDA FCNT2
 CMPA #2
 BLS FHSKA
 CMPA #4
 BLS FHSKB
 CMPA #6
 BNE FHSKA
 CLR FCNT2
FHSKA LDA #64
 STA SR1
 LDA #1
 STA 4,X
 INCA
 STA 5,X
 LDD CRDS
 ADDB #6
 COM WLRF
 BEQ FHSA1
 ADDA #15
 STD ,X
 RTS
FHSA1 ADDA #4
 STD ,X
 RTS
FHSKB LDA #32
 STA SR1
 LDA #4
 STA 4,X
 LDD CRDS
 ADDA #8
 STD ,X
 LDD #$0008
 STD 2,X
 COM WLRF
 BEQ FHSB1
 LDA #32
 ORA 5,X
 STA 5,X
 RTS
FHSB1 LDA #-32
 ORA 5,X
 STA 5,X
 RTS
 
MOVWB LDA 2,X
 BMI MW1
 ADDA ,X
 STA ,X
 BCS MW0
 ADDA #8
 BCS MW0
 BRA MW2
MW1 ADDA ,X
 STA ,X
 BCC MW0
MW2 LDA 1,X
 ADDA 3,X
 STA 1,X
 LDB #1
 RTS
MW0 CLRB
 RTS
 
KILH CLR 5,X
UHS1 RTS
UHSK CLR HITFL
 BSR MOVWB
 BEQ KILH
 LDU ,X
 STU UHS4+1
 CMPA #-32
 BHS UHS5
 CMPA #144+24
 BHS KILH
 CMPA #144-8
 BLS UHS8
 LDA #144-8
 STA 1,X
 BRA UHS9
UHS5 CLR 1,X
 BRA UHS9
UHS8 JSR RNUM
 CMPB #160
 BHS UHS9
 JSR FSMK
UHS9 LDD #$0300
 JSR BCOL
 BNE UHS1
 LDD #$0307
 JSR BCOL
 BNE UHS1
 
UHS4 LDD #0
 STD ,X
 
 LDA 5,X
 ANDA #224
 LSRA
 STA UHS2+1
 LSRA
 LSRA
 LSRA
 STA TRACK+1
 LDU #VTAB
 LDU A,U
 STU 2,X
 
 BSR TRACK
 
 LDY #CCRDS
 LDD ,X
 STD ,Y
UHS2 LDA #0
 LDU #$DB06
 LEAU A,U
 STU 4,Y
 LEAU 8,U
 STU 6,Y
 LDD #$0108
 STD 2,Y
 LDU #SP8
 JMP CLIP
 
DIRTAB FCB 8,4,8,1,2,1,2,8
       FCB 4,8,4,2,1,2,1,4
 
TRACK LDA #0
 LDU #DIRTAB
 LDD A,U
 STA TST1+1
 STB TST2+1
 LDU #TRKRG1
 CMPX #WREG+36
 BLO TRK2
 LDU #TRKRG2
TRK2 LDA 2,U
 BNE TRK3
 RTS
TRK3 LDU ,U
FNDT CLRB
 LDA ,X
 CMPA ,U
 BLO TR
 ORB #8
 BRA TLR
TR ORB #4
TLR LDA 1,U
 ADDA #32
 STA TRK1+1
 LDA 1,X
 ADDA #32
TRK1 CMPA #0
 BLO TD
 ORB #2
 BRA TST1
TD ORB #1
TST1 BITB #0
 BNE BAKAC
TST2 BITB #0
 BNE BAKCW
 RTS
BAKCW LDA 5,X
 ADDA #32
 STA 5,X
 RTS
BAKAC LDA 5,X
 SUBA #32
 STA 5,X
 RTS
 
 
 
