Site Map | Contact Info | Home  
  
 Home
 Products
 ROMHACK Toolbox
 Ordering Info
 Code Disassembly
  Bega's Battle
  Cliffhanger
  Thayer's Quest
 My Gameroom
 Links

 

 

Page1

Page2 

Page3 

Page4

Page5 

Page6 

         ASL A
         TAY
         LDA (Ptr1_LO),Y
         STA Ptr2_LO
         INY
         LDA (Ptr1_LO),Y
         STA Ptr2_HI
         LDA L040E,X
         TAY
         LDX L04BF
         LDA (Ptr2_LO),Y
         
CLC
         
ADC Sprite1_Y,X
         LDX L04BD
         STA Sprite1_Y,X
         
JMP L8B94
L8C60:   LDX FlashTime
         LDY #$09
         STY L04BE
L8C68:   LDX FlashTime
         LDY L04BE
         LDA L0300 ,Y
         BPL L8C76
         
JMP L8D98
L8C76:   ASL A
         TAY
         LDA L4AC8,Y
         STA Ptr1_LO
         LDA L4AC9,Y
         STA Ptr1_HI
         LSR Ptr1_HI
         
ROR Ptr1_LO
         LSR Ptr1_HI
         
ROR Ptr1_LO
         LDA Sprite1_Y,X
L8C8C:   SEC
         SBC Ptr1_LO
         
CLC
         
ADC #$10
         
CMP #$18
         BCC L8C99
         
JMP L8D51
L8C99:   LDY L04BE
         LDA HATABS+
4,Y
         ASL A
         TAY
         LDA L4AFE,Y
         STA Ptr2_LO
         LDA L4AFF,Y
         STA Ptr2_HI
         LDY L04BE
         LDA L0300 ,Y
         TAY
         LDA (Ptr2_LO),Y
         LDY L04BE
         
CLC
         
ADC LaserXPos,Y
         SEC
         SBC Sprite1_X,X
         SEC
         SBC #$FC
         
CMP #$10
         BCC L8CC8
         
JMP L8D51
L8CC8:   LDX FlashTime
         LDY L04BE
         LDA #$80
         ORA L0300 ,Y
         STA L0300 ,Y
         LDA L0400,X
         
CMP #$0A
         BEQ L8CEE
         
CMP #$0B
         BNE L8CE4
         
JMP L8D98
L8CE4:   
CMP #$0C
         BNE L8CEB
         
JMP L8D98
L8CEB:   
JMP L8D1C
;----------------------------------------------------
;                     Award Bonus
;----------------------------------------------------
L8CEE:   TAY
         LDA L8F51,Y           
; Get Bonus Value
         JSR L53D7              ; Add Bonus to Score
         DEC L00AB
         LDA #$8A
         STA L040D
         LDA #$8B
         LDX #$0B
L8D00:   STA L0401,X
         DEX
         BPL L8D00
         LDA #$8C
         STA L0400
         LDX #$0D
         LDA #$00
L8D0F:   STA L040E,X
         STA L041C,X
         STA L042A,X
         DEX
         BPL L8D0F
         RTS
L8D1C:   LDX FlashTime
         LDA #$80
         ORA L0400,X
         STA L0400,X
         TXA
         PHA
         LDA L0400,X
         
AND #$7F
         TAX
         LDA L8F41,X
         JSR L51CE             
; Play Sound
         PLA
         TAX
         LDA #$00
         STA L042A,X
         STA L041C,X
         STA L040E,X
;----------------------------------------------------
;                     Award Bonus
;----------------------------------------------------
         LDA L0400,X            ;
         AND #$7F               ;
         TAY                    ;
         LDA L8F51,Y            ; Get Bonus value
         JSR L53D7              ; Add Bonus to Score
         JMP L8D98              ;
L8D51:   LDA L0438,X
         
CMP #$FF
         
JMP L8D98
         TAX
         LDA Sprite1_Y,X
         SEC
         SBC Ptr1_LO
         
CLC
         
ADC #$10
         
CMP #$18
         BCC L8D69
         
JMP L8D51
L8D69:   LDY L04BE
         LDA HATABS+
4,Y
         ASL A
         TAY
         LDA L4AFE,Y
         STA Ptr2_LO
         LDA L4AFF,Y
         STA Ptr2_HI
         LDA L0300 ,Y
         TAY
         LDA (Ptr2_LO),Y
         LDY L04BE
         
CLC
         
ADC LaserXPos,Y
         SEC
         SBC Sprite1_X,X
         SEC
         SBC #$FC
         
CMP #$10
         BCC L8D95
         
JMP L8D98
L8D95:   
JMP L8CC8
L8D98:   LDX FlashTime
         
DEC L04BE
         BMI L8DA3
         
JMP L8C68
L8DA3:   LDA PADDL1
         BEQ L8DA9
         RTS
L8DA9:   LDX FlashTime
         LDA MasterReg
         
AND #$E0
         BNE L8DDD
         SEC
         LDA Sprite1_X,X
         SBC BegaXPos1L
         
CLC
         
ADC #$08
         
CMP #$20
         BCS L8DDD
         LDA Sprite1_Y,X
         
CMP #$B8
         BCC L8DDD
         
CMP #$E0
         BCS L8DDD
         LDA #$80
         STA MasterReg
         ORA L0400,X
         STA L0400,X
         LDA #$00
         STA L042A,X
         STA L040E,X
         STA L041C,X
L8DDD:   LDA L009B
         
AND #$E0
         BNE L8E0E
         SEC
         LDA Sprite1_X,X
         SBC L00A6
         
CLC
         
ADC #$08
         
CMP #$10
         BCS L8E0E
         LDA Sprite1_Y,X
         
CMP #$D8
         BCC L8E0E
         
CMP #$F0
         BCS L8E0E
         LDA #$80
         STA L009B
         ORA L0400,X
         STA L0400,X
         LDA #$00
         STA L042A,X
         STA L040E,X
         STA L041C,X
L8E0E:   LDY #$05
         STY L04BE
L8E13:   LDY L04BE
         LDA L009C,Y
         
AND #$E0
         BNE L8E62
         LDA L009C,Y
         
AND #$0C
         LSR A
         TAY
         SEC
         LDA Sprite1_X,X
         SBC Sprite3_X,Y
         
CLC
         
ADC #$08
         
CMP #$10
         BCS L8E62
         LDA Sprite1_Y,X
         
CMP #$C8
         BCC L8E62
         
CMP #$E0
         BCS L8E62
         LDA #$0F
         LDY L04BE
         LDA L009C,Y
         
AND #$0F
         ORA #$80
         STA L009C,Y
         LDA #$00
         STA SeriesNumber,Y
         LDA #$80
         ORA L0400,X
         STA L0400,X
         LDA #$00
         STA L042A,X
         STA L040E,X
         STA L041C,X
L8E62:   
DEC L04BE
         BPL L8E13
L8E67:   LDA L0438,X
         
CMP #$FF
         BNE L8E6F
         RTS
L8E6F:   TAX
         STX L04BF
         LDA MasterReg
         
AND #$E0
         BNE L8EAA
         SEC
         LDA Sprite1_X,X
         SBC BegaXPos1L
         
CLC
         
ADC #$08
         
CMP #$20
         BCS L8EAA
         LDA Sprite1_Y,X
         
CMP #$B8
         BCC L8EAA
         
CMP #$E0
         BCS L8EAA
         LDA #$80
         STA MasterReg
         LDX FlashTime
         ORA L0400,X
         STA L0400,X
         LDA #$00
         STA L042A,X
         STA L040E,X
         STA L041C,X
         LDX L04BF
L8EAA:   LDA L009B
         
AND #$E0
         BNE L8EE1
         SEC
         LDA Sprite1_X,X
         SBC L00A6
         
CLC
         
ADC #$08
         
CMP #$10
         BCS L8EE1
         LDA Sprite1_Y,X
         
CMP #$D8
         BCC L8EE1
         
CMP #$F0
         BCS L8EE1
         LDA #$80
         STA L009B
         LDX FlashTime
         ORA L0400,X
         STA L0400,X
         LDA #$00
         STA L042A,X
         STA L040E,X
         STA L041C,X
         LDX L04BF
L8EE1:   LDY #$05
         STY L04BE
L8EE6:   LDY L04BE
         LDA L009C,Y
         
AND #$E0
         BNE L8F39
         LDA L009C,Y
         
AND #$0C
         LSR A
         TAY
         SEC
         LDA Sprite1_X,X
         SBC Sprite3_X,Y
         
CLC
         
ADC #$08
         
CMP #$10
         BCS L8F39
         LDA Sprite1_Y,X
         
CMP #$C8
         BCC L8F39
         
CMP #$E0
         BCS L8F39
         LDY L04BE
         LDA L009C,Y
         
AND #$0F
         ORA #$80
         STA L009C,Y
         LDA #$00
         STA SeriesNumber,Y
         LDX FlashTime
         LDA #$80
         ORA L0400,X
         STA L0400,X
         LDA #$00
         STA L042A,X
         STA L040E,X
         STA L041C,X
         LDX L04BF
L8F39:   
DEC L04BE
         BPL L8EE6
         
JMP L8E67
L8F41:   ASL Sprite2_Prop,X
         ASL Sprite2_Prop,X
         ASL Sprite2_Prop,X
         ASL Sprite2_Prop,X
         ASL Sprite2_Prop,X
         .
BYTE $17
         ASL Sprite2_Prop,X
         ASL BUFADR+
1,X
         ASL WARMST,X
         ORA (Ptr1_LO,X)
         ORA (Ptr2_LO,X)
         ORA (WARMST,X)
         ORA (Ptr2_LO,X)
         
BRK
         .
BYTE $07
         PHP
         PHP
         ORA (Ptr2_LO,X)
         PHP



;----------------------------------------------------
;                unknown
;----------------------------------------------------
L8F61:   LDX FlashTime          ; X = Index to memory
         LDA L0400,X            ; Get Index from memory (0-7)
         ASL A                  ; Multiply index by 2
         TAY                    ; Y = index to data series (0-14)
;----------------------------------------------------
;      Setup pointer to 1 of 15 different series
;----------------------------------------------------
         LDA LBA1E,Y            ; Get series pointer LO
         STA Ptr1_LO            ; Setup pointer to series LO
         LDA LBA1F,Y            ; Get series pointer HI
         STA Ptr1_HI            ; Setup pointer to series HI
;----------------------------------------------------
;           Load address to beginning of data
;----------------------------------------------------
         LDY #$00               ; Y = 0
         LDA (Ptr1_LO),Y        ; Get Data Address LO
         STA Ptr2_LO            ; Setup pointer to Data LO
         INY                    ; Goto next byte in address
         LDA (Ptr1_LO),Y        ; Get Data Address HI
         STA Ptr2_HI            ; Setup pointer to Data HI
;----------------------------------------------------
;           Get Sprite Characteristics byte
;----------------------------------------------------
         LDA L040E,X            ; Get index number
         TAY                    ; Y = Sprite Characteristic (0-4)
         LDA (Ptr2_LO),Y        ; Get Sprite Characteristic from table
         STA L04C9              ; Write sprite characteristic to temp spot
         STA Sprite1_Char,X     ; Write Sprite1 characteristic

;----------------------------------------------------
;      Setup pointer to 1 of 15 different series
;----------------------------------------------------
         LDA L0400,X            ; Get Index from memory (0-7)
         ASL A                  ; Multiply index by 2
         TAY                    ; Y = index to data series (0-14)
         LDA LBA3C,Y            ; Get series pointer LO
         STA Ptr1_LO            ; Setup pointer to series LO
         LDA LBA3D,Y            ; Get series pointer HI
         STA Ptr1_HI            ; Setup pointer to series HI
;----------------------------------------------------
;           Load address to beginning of data
;----------------------------------------------------
         LDY #$00               ; Y = 0
         LDA (Ptr1_LO),Y        ; Get Data Address LO
         STA Ptr2_LO            ; Setup pointer to Data LO
         INY                    ; Goto next byte in address
         LDA (Ptr1_LO),Y        ; Get Data Address HI
         STA Ptr2_HI            ; Setup pointer to Data HI
;----------------------------------------------------
;            Get Sprite Properties byte
;----------------------------------------------------
         LDA L04C9              ; Check last characteristic byte
         BEQ L8FAE              ; If 0 then skip ahead
         LDA L040E,X            ; Get index number
         TAY                    ; Y = Sprite Characteristic (0-4)
         LDA (Ptr2_LO),Y        ; Get Sprite Characteristic from table
L8FAE:   STA Sprite1_Prop,X     ; Write Sprite1 properties

;----------------------------------------------------
;      Setup pointer to 1 of 15 different series
;----------------------------------------------------
         LDA L0400,X            ; Get Index from memory (0-7)
         ASL A                  ; Multiply index by 2
         TAY                    ; Y = index to data series (0-14)
         LDA LBA5A,Y            ; Get series pointer LO
         STA Ptr1_LO            ; Setup pointer to series LO
         LDA LBA5B,Y            ; Get series pointer HI
         STA Ptr1_HI            ; Setup pointer to series HI
;----------------------------------------------------
;           Load address to beginning of data
;----------------------------------------------------
         LDY #$00               ; Y = 0
         LDA (Ptr1_LO),Y        ; Get Data Address LO
         STA Ptr2_LO            ; Setup pointer to Data LO
         INY                    ; Goto next byte in address
         LDA (Ptr1_LO),Y        ; Get Data Address HI
         STA Ptr2_HI            ; Setup pointer to Data HI
;----------------------------------------------------
;             Get Sprite X movement byte
;----------------------------------------------------
         LDA L040E,X            ; Get index number
         TAY                    ; Y = Sprite Characteristic (0-4)
         CLC                    ; Clear carry
         LDA (Ptr2_LO),Y        ; Get Sprite X movement from table
         ADC Sprite1_X,X        ; Add to Sprite1 X locatoin
         STA Sprite1_X,X        ; Write new Sprite1 X location

;----------------------------------------------------
;      Setup pointer to 1 of 15 different series
;----------------------------------------------------
         LDA L0400,X            ; Get Index from memory (0-7)
         ASL A                  ; Multiply index by 2
         TAY                    ; Y = index to data series (0-14)
         LDA LBA78,Y            ; Get series pointer LO
         STA Ptr1_LO            ; Setup pointer to series LO
         LDA LBA79,Y            ; Get series pointer HI
         STA Ptr1_HI            ; Setup pointer to series HI
;----------------------------------------------------
;           Load address to beginning of data
;----------------------------------------------------
         LDY #$00               ; Y = 0
         LDA (Ptr1_LO),Y        ; Get Data Address LO
         STA Ptr2_LO            ; Setup pointer to Data LO
         INY                    ; Goto next byte in address
         LDA (Ptr1_LO),Y        ; Get Data Address HI
         STA Ptr2_HI            ; Setup pointer to Data HI
;----------------------------------------------------
;             Get Sprite Y movement byte
;----------------------------------------------------
         LDA L040E,X            ; Get index number
         TAY                    ; Y = Sprite Characteristic (0-4)
         LDA (Ptr2_LO),Y        ; Clear carry
         CLC                    ; Get Sprite Y movement from table
         ADC Sprite1_Y,X        ; Add to Sprite1 Y locatoin
         STA Sprite1_Y,X        ; Write new Sprite1 Y location
;----------------------------------------------------
;                    unknown
;----------------------------------------------------
         LDA #$00               ; Loop = 0
         STA L04C8              ; Save loop
L8FFF:   LDA L0438,X
         
CMP #$FF
         BNE L9017
         LDA L04C9
         BNE L9016
         LDA #$FF
         STA L0400,X
         LDX FlashTime
         STA L0400,X
L9016:   RTS                   
; Return

L9017:   
INC L04C8
         STX L04BF
         STA L04BD
         LDX FlashTime
         LDA L0400,X
         ASL A
         TAY
         LDA LBA1E,Y
         STA Ptr1_LO
         LDA LBA1F,Y
         STA Ptr1_HI
         LDA L04C8
         ASL A
         TAY
         LDA (Ptr1_LO),Y
         STA Ptr2_LO
         INY
         LDA (Ptr1_LO),Y
         STA Ptr2_HI
         LDA L04C9
         BEQ L904B
         LDA L040E,X
         TAY
         LDA (Ptr2_LO),Y
L904B:   LDX L04BD
         STA Sprite1_Char,X
         LDX FlashTime
         LDA L0400,X
         ASL A
         TAY
         LDA LBA3C,Y
         STA Ptr1_LO
         LDA LBA3D,Y
         STA Ptr1_HI
         LDA L04C8
         ASL A
         TAY
         LDA (Ptr1_LO),Y
         STA Ptr2_LO
         INY
         LDA (Ptr1_LO),Y
         STA Ptr2_HI
         LDA L04C9
         BEQ L907B
         LDA L040E,X
         TAY
         LDA (Ptr2_LO),Y
L907B:   LDX L04BD
         STA Sprite1_Prop,X
         LDX FlashTime
         LDA L0400,X
         ASL A
         TAY
         LDA LBA5A,Y
         STA Ptr1_LO
         LDA LBA5B,Y
         STA Ptr1_HI
         LDA L04C8
         ASL A
         TAY
         LDA (Ptr1_LO),Y
         STA Ptr2_LO
         INY
         LDA (Ptr1_LO),Y
         STA Ptr2_HI
         LDA L040E,X
         TAY
         
CLC
         LDA (Ptr2_LO),Y
         LDX L04BF
         
ADC Sprite1_X,X
         LDX L04BD
         STA Sprite1_X,X
         LDX FlashTime
         LDA L0400,X
         ASL A
L90B8:   TAY
         LDA LBA78,Y
         STA Ptr1_LO
         LDA LBA79,Y
         STA Ptr1_HI
         LDA L04C8
         ASL A
         TAY
         LDA (Ptr1_LO),Y
         STA Ptr2_LO
         INY
         LDA (Ptr1_LO),Y
         STA Ptr2_HI
         LDA L040E,X
         TAY
         
CLC
         LDA (Ptr2_LO),Y
         LDX L04BF
         
ADC Sprite1_Y,X
         LDX L04BD
         STA Sprite1_Y,X
         
JMP L8FFF              ; Go back an loop on all sprites?



;----------------------------------------------------
;                    unknown
;----------------------------------------------------
L90E5:   LDX FlashTime          ;
         LDA Sprite1_X,X        ;
         CMP #$F0               ;
         BCS L90F5              ;
         LDA Sprite1_Y,X        ;
         CMP #$E8
         BCS L90F5
         RTS
L90F5:   LDA #$00
         STA Sprite1_Prop,X
         STA L040E,X
         STA L041C,X
         STA L042A,X
         STA L0446,X
L9105:   LDA L0438,X
         
CMP #$FF
         BNE L9115
         LDA #$FF
         LDX FlashTime
         STA L0400,X
         RTS
L9115:   TAX
         LDA #$00
         STA Sprite1_Prop,X
         STA L040E,X
         STA L041C,X
         STA L042A,X
         STA L0446,X
         LDA #$FF
         STA L0400,X
         
JMP L9105
L912E:   LDX #$0D
L9130:   TXA
         ASL A
         TAY
         LDA L00B3,Y
         EOR L0462,X
         BEQ L913E
         STA L0470,X
L913E:   LDA L00B3,Y
         STA L0462,X
         DEX
         BPL L9130
         RTS
L9148:   LDA #$00
         STA POKMSK
         LDY #$0D
L914E:   LDA L0400,Y
         
CMP #$FF
         BNE L9165
         TXA
         PHA
         LDX POKMSK
         TYA
         STA L047E,X
         
INC POKMSK
         PLA
         TAX
         CPX POKMSK
         BEQ L916A
L9165:   DEY
         BPL L914E
         TYA
         TAX
L916A:   RTS
L916B:   LDA L04B8
         BNE L91DA
         LDA L00A9
         BPL L9175
         RTS
L9175:   LDX #$03
         JSR L9148
         CPX #$FF
         BNE L917F
         RTS
L917F:   LDA L047E
         STA L04C0
         LDA L047F
         STA L04C1
         LDA L0480
         STA L04C2
         LDA #$00
         STA L04C3
         STA L04C4
         LDA #$01
         STA L04B8
         LDA #$01
         LDX L04C0
         STA Sprite1_Prop,X
         LDA #$78
         STA Sprite1_X,X
         LDA #$10
         STA Sprite1_Y,X
         LDA #$00
         STA L0400,X
         LDA #$01
         LDX L04C1
         STA Sprite1_Prop,X
         LDA #$78
         STA Sprite1_X,X
         LDA #$20
         STA Sprite1_Y,X
         LDA #$00
         STA L0400,X
         LDA #$01
         LDX L04C2
         STA Sprite1_Prop,X
         LDA #$78
         STA Sprite1_X,X
         LDA #$30
         STA Sprite1_Y,X
         LDA #$00
         STA L0400,X
L91DA:   LDA SysTimer
         
AND #$0F
         BNE L91E9
         LDA L04C3
         EOR #$01
         STA L04C3
L91E9:   LDA L04C4
         BEQ L9202
         LDA SysTimer
         
AND #$0F
         BNE L9202
         
INC L04C4
         LDA L04C4
         
CMP #$10
         BCC L9202
         
JMP L92F3
L9202:   LDA L04B8
         LSR A
         TAY
         LDA L95D5,Y
         
CLC
         LDX L04C0
         
ADC Sprite1_X,X
         STA Sprite1_X,X
         LDA L95D5,Y
         
CLC
         LDX L04C1
         
ADC Sprite1_X,X
         STA Sprite1_X,X
         LDA L95D5,Y
         
CLC
         LDX L04C2
         
ADC Sprite1_X,X
         STA Sprite1_X,X
         LDY L04C3
         LDA L931B,Y
         LDX L04C0
         STA Sprite1_Char,X
         LDA L932D,Y
         LDX L04C1
         STA Sprite1_Char,X
         LDA L933F,Y
         LDX L04C2
         STA Sprite1_Char,X
         LDA Sprite1_X,X
         
CMP #$03
         BCC L924F
         
CMP #$ED
         BCS L9259
         BCC L9261
L924F:   LDA L04B8
         ORA #$02
         STA L04B8
         BNE L9261
L9259:   LDA L04B8
         
AND #$FD
         STA L04B8
L9261:   LDA L04C4
         BEQ L9269
         
JMP L92F2
L9269:   LDX #$09
L926B:   LDA L0300 ,X
         BPL L9273
         
JMP L92EC
L9273:   ASL A
         TAY
         LDA L4AC8,Y
         STA Ptr1_LO
         LDA L4AC9,Y
         STA Ptr1_HI
         LSR Ptr1_HI
         
ROR Ptr1_LO
         LSR Ptr1_HI
         
ROR Ptr1_LO
         LDA HATABS+
4,X
         ASL A
         TAY
         LDA L4AFE,Y
         STA Ptr2_LO
         LDA L4AFF,Y
         STA Ptr2_HI
         LDA L0300 ,X
         TAY
         LDA (Ptr2_LO),Y
         
CLC
         
ADC LaserXPos,X
         STA Ptr2_LO
         SEC
         LDA Ptr2_LO
         LDY L04C0
         SBC Sprite1_X,Y
         SEC
         SBC #$00
         
CMP #$08
         BCS L92EC
         SEC
         LDA Ptr1_LO
         SBC Sprite1_Y,Y
         
CLC
         
ADC #$08
         
CMP #$38
         BCS L92EC
         LDA #$80
         ORA L0300 ,X
         STA L0300 ,X
         LDA #$18               
; Sound = #24
         JSR L51CE              ; Play Sound
         CLC
         LDA L04C3
         
ADC #$02
         STA L04C3
         
CMP #$10
         BCC L92F2
;----------------------------------------------------
;               Award 1000 point Bonus
;----------------------------------------------------
         LDA #$07               ; Bonus = 1000
         JSR L53D7              ; Add Bonus to Score
         LDA #$17
         JSR L51CE             
; Play Sound
         DEC L00A9
         LDA #$01
         STA L04C4
         BNE L92F2
L92EC:   DEX
         BMI L92F2
         
JMP L926B
L92F2:   RTS
L92F3:   LDX L04C0
         LDA #$00
         STA L04B8
         STA Sprite1_Prop,X
         LDA #$FF
         STA L0400,X
         LDX L04C1
         LDA #$00
         STA Sprite1_Prop,X
         LDA #$FF
         STA L0400,X
         LDX L04C2
         LDA #$00
         STA Sprite1_Prop,X
         LDA #$FF
         STA L0400,X
         RTS
L931B:   LDA (L00A2,X)
         LDA (L00A2,X)
         LDA (L00A2,X)
         LDA (L00A2,X)
         LDA (L00A2,X)
         .
BYTE $A7
         TAY
         LDA #$AA
         .
BYTE $AB
         LDY LBCB9
L932D:   .
BYTE $A3
         LDY L00A3
         LDY L00A3
         LDY L00AD
         LDX LB0AF
         LDA (L00B2),Y
         LDA (L00B2),Y
         LDA (L00B2),Y
         TSX
         LDA LA6A5,X
         .
BYTE $B3
         LDY L00B5,X
         LDX DATALN,X
         CLV
         .
BYTE $B7
         CLV
         .
BYTE $B7
         CLV
         .
BYTE $B7
         CLV
         .
BYTE $B7
         CLV
         .
BYTE $BB
         LDX LB9AD,Y
         .
BYTE $04
         BNE L93CA
         LDA L00A7
         BPL L935B
         RTS
L935B:   LDX #$03
         JSR L9148
         CPX #$FF
         BNE L9365
         RTS
L9365:   LDA L047E
         STA L04C2
         LDA L047F
         STA L04C1
         LDA L0480
         STA L04C0
         LDA #$00
         STA L04C3
         STA L04C4
         STA L04C5
         STA L04C6
         STA L04C7
         STA L04C8
         LDA #$01
         STA L04B9
         LDX L04C0
         STA Sprite1_Prop,X
         LDA #$6C
         STA Sprite1_X,X
         LDA #$20
         STA Sprite1_Y,X
         LDA #$00
         STA L0400,X
         LDA #$01
         LDX L04C2
         STA Sprite1_Prop,X
         LDA #$78
         STA Sprite1_X,X
         LDA #$20
         STA Sprite1_Y,X
         LDA #$00
         STA L0400,X
         LDA #$05
         LDX L04C1
         STA Sprite1_Prop,X
         LDA #$84
         STA Sprite1_X,X
         LDA #$20
         STA Sprite1_Y,X
         LDA #$00
         STA L0400,X
L93CA:   LDA L04B9
         BPL L93D2
         
JMP L95AA
L93D2:   LDA SysTimer
         
AND #$0F
         BNE L9406
         LDA L04C3
         EOR #$01
         LDX L04C6
         BNE L93E5
         
AND #$01
L93E5:   STA L04C3
         LDA L04C4
         EOR #$01
         LDX L04C7
         BNE L93F4
         
AND #$01
L93F4:   STA L04C4
         LDA L04C5
         EOR #$01
         LDX L04C8
         BNE L9403
         
AND #$01
L9403:   STA L04C5
L9406:   LDA L04B9
         LSR A
         TAY
         LDA L95D5,Y
         
CLC
         LDX L04C0
         
ADC Sprite1_X,X
         STA Sprite1_X,X
         LDA L95D5,Y
         
CLC
         LDX L04C1
         
ADC Sprite1_X,X
         STA Sprite1_X,X
         LDA L95D5,Y
         
CLC
         LDX L04C2
         
ADC Sprite1_X,X
         STA Sprite1_X,X
         LDY L04C3
         LDA L95D7,Y
         LDX L04C0
         STA Sprite1_Char,X
         LDY L04C4
         LDA L95DC,Y
         LDX L04C2
         STA Sprite1_Char,X
         LDY L04C5
         LDA L95D7,Y
         LDX L04C1
         STA Sprite1_Char,X
         JSR L95E1
         LDX L04C2
         LDA Sprite1_X,X
         
CMP #$08
         BCC L945F
         
CMP #$E7
         BCS L9469
         BCC L9471
L945F:   LDA L04B9
         ORA #$02
         STA L04B9
         BNE L9471
L9469:   LDA L04B9
         
AND #$FD
         STA L04B9
L9471:   LDX #$09
L9473:   LDA L0300 ,X
         BPL L947B
         
JMP L9555
L947B:   ASL A
         TAY
         LDA L4AC8,Y
         STA Ptr1_LO
         LDA L4AC9,Y
         STA Ptr1_HI
         LSR Ptr1_HI
         
ROR Ptr1_LO
         LSR Ptr1_HI
         
ROR Ptr1_LO
         LDA HATABS+
4,X
         ASL A
         TAY
         LDA L4AFE,Y
         STA Ptr2_LO
         LDA L4AFF,Y
         STA Ptr2_HI
         LDA L0300 ,X
         TAY
         LDA (Ptr2_LO),Y
         
CLC
         
ADC LaserXPos,X
         STA Ptr2_LO
         SEC
         LDA Ptr2_LO
         LDY L04C0
         SBC Sprite1_X,Y
         SEC
         SBC #$00
         
CMP #$08
         BCS L94E4
         SEC
         LDA Ptr1_LO
         SBC Sprite1_Y,Y
         
CLC
         
ADC #$08
         
CMP #$18
         BCS L94E4
         LDA #$18
         JSR L51CE             
; Play Sound
         LDA #$7F
         STA L04C6
         LDA #$02
         ORA L04C3
         STA L04C3
         LDA #$80
         ORA L0300 ,X
         STA L0300 ,X
         
JMP L9555
L94E4:   SEC
         LDA Ptr2_LO
         LDY L04C2
         SBC Sprite1_X,Y
         SEC
         SBC #$00
         
CMP #$08
         BCS L951E
         SEC
         LDA Ptr1_LO
         SBC Sprite1_Y,Y
         
CLC
         
ADC #$08
         
CMP #$18
         BCS L951E
         LDA #$18
         JSR L51CE             
; Play Sound
         LDA #$7F
         STA L04C7
         LDA #$02
         ORA L04C4
         STA L04C4
         LDA #$80
         ORA L0300 ,X
         STA L0300 ,X
         
JMP L9555
L951E:   SEC
         LDA Ptr2_LO
         LDY L04C1
         SBC Sprite1_X,Y
         SEC
         SBC #$00
         
CMP #$08
         BCS L9555
         SEC
         LDA Ptr1_LO
         SBC Sprite1_Y,Y
         
CLC
         
ADC #$08
         
CMP #$18
         BCS L9555
         LDA #$18
         JSR L51CE             
; Play Sound
         LDA #$7F
         STA L04C8
         LDA #$02
         ORA L04C4
         STA L04C4
         LDA #$80
         ORA L0300 ,X
         STA L0300 ,X
L9555:   DEX
         BMI L955B
         
JMP L9473
L955B:   LDA L04C6
         BEQ L956C
         LDA L04C7
         BEQ L956C
         LDA L04C8
         BEQ L956C
         BNE L9585
L956C:   LDA L04C6
         BEQ L9574
         
DEC L04C6
L9574:   LDA L04C7
         BEQ L957C
         
DEC L04C7
L957C:   LDA L04C8
         BEQ L9584
         
DEC L04C8
L9584:   RTS                   
; Return
;----------------------------------------------------
;               Award 1000 point Bonus
;----------------------------------------------------
L9585:   LDA #$07               ; Bonus = 1000
         JSR L53D7              ; Add Bonus to Score
         LDA #$17               ; Sound =
         JSR L51CE              ; Play Sound
         LDA #$80
         STA L04B9
         
DEC L00A7
         LDA #$9C
         LDX L04C0
         STA Sprite1_Char,X
         LDX L04C1
         STA Sprite1_Char,X
         LDA #$9F
         LDX L04C2
         STA Sprite1_Char,X
         RTS
L95AA:   
INC L04B9
         BEQ L95B0
         RTS
L95B0:   LDX L04C0
         LDA #$00
         STA Sprite1_Prop,X
         LDA #$FF
         STA L0400,X
         LDX L04C1
         LDA #$00
         STA Sprite1_Prop,X
         LDA #$FF
         STA L0400,X
         LDX L04C2
         LDA #$00
         STA Sprite1_Prop,X
         LDA #$FF
         STA L0400,X
         RTS
L95D5:   
INC L9802,X
         STA L9B9A,Y
         .
BYTE $9C
L95DC:   STX L0097,X
         STA L9F9E,X
L95E1:   LDA L04BC
         BEQ L95E9
         
DEC L04BC
L95E9:   LDX L04C2
         LDA Sprite1_X,X
         
CMP #$40
         
NOP
         
NOP
         
NOP
         
NOP
         BCC L9614
         
CMP #$60
         BCC L95FE
         
CMP #$67
         BCC L9614
L95FE:   
CMP #$98
         BCC L9606
         
CMP #$A0
         BCC L9614
L9606:   
CMP #$B8
         BCS L960D
         
JMP L969C
L960D:   
CMP #$C0
         BCC L9614
         
JMP L969C
L9614:   LDA #$A0
         STA Sprite1_Char,X
         LDA L04BC
         BEQ L9620
         
JMP L969C
L9620:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE L962C
         
JMP L969C
L962C:   LDA #$0A
         JSR L51CE             
; Play Sound
         LDA #$1F
         STA L04BC
         LDX L04C2
         LDA Sprite1_X,X
         
CMP BegaXPos1R
         BCC L9653
         SEC
         SBC BegaXPos1R
         LSR A
         LSR A
         LSR A
         LSR A
         TAY
         LDA L9CA7,Y
         LDX L047E
         STA L040E,X
         
JMP L9666
L9653:   SEC
         LDA BegaXPos1R
         SBC Sprite1_X,X
         LSR A
         LSR A
         LSR A
         LSR A
         TAY
         LDA L9CB7,Y
         LDX L047E
         STA L040E,X
L9666:   TAY
         TXA
         ASL A
         TAX
         LDA LBD3E,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD3F,Y
         STA L00B4,X
         STA Ptr1_HI
         LDX L047E
         LDY #$01
         LDA (Ptr1_LO),Y
         STA L0454,X
         LDY L04C2
         LDA Sprite1_X,Y
         SEC
         SBC #$08
         STA Sprite1_X,X
         LDA Sprite1_Y,Y
         STA Sprite1_Y,X
         LDA #$09
         STA L0400,X
         LDA #$FF
         STA L0438,X
L969C:   RTS
L969D:   LDA SysTimer
         
AND #$01
         BEQ L96A5
         RTS
L96A5:   LDA L048C
         BEQ L96AE
         
DEC L048C
         RTS
L96AE:   LDX #$01
         JSR L9148
         CPX #$FF
         BNE L96B8
         RTS
L96B8:   LDA L04A2
         BNE L96CD
         LDA Random             
; Get Random Number
         AND #$7F
         
CLC
         
ADC #$40
         STA L0497
         LDA #$0B
         JSR L51CE             
; Play Sound
L96CD:   INC L04A2
         LDX L047E
         LDA L0497
         STA Sprite1_X,X
         LDA #$00
         STA Sprite1_Y,X
         LDA #$01
         STA L0400,X
         LDA #$FF
         STA L0438,X
         LDA #$00
         STA L041C,X
         STA L042A
         LDA L0497
         
AND #$02
         ASL A
         ASL A
         STA L040E,X
         LDA L0497
         
AND #$1F
         ASL A
         TAY
         TXA
         ASL A
         TAX
         LDA LBC7A,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBC7B,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDA L04A2
         
CMP #$01
         BCC L972F
         LDY L04BA
         LDA LBE3A,Y
         STA L048C
         LDA #$00
         STA L04A2
L972F:   RTS
L9730:   LDA SysTimer
         
AND #$01
         BEQ L9738
         RTS
L9738:   LDA L048D
         BEQ L9741
         
DEC L048D
         RTS
L9741:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE L974B
         RTS
L974B:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$01
         BNE L975D
         LDA Random             
; Get Random Number
         AND #$0F
         
JMP L9765
L975D:   LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
L9765:   TAY
         LDA L97C2,Y
         STA Sprite1_X,X
         LDA L97D2,Y
         STA Sprite1_Y,X
         LDA #$02
         STA L0400,X
         LDA L047F
         STA L0438,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L042A,X
         LDA L97E2,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBCBA,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCBB,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         LDA #$FF
         STA L0438,X
         LDY L04BA
L97BB:   LDA LBE6A,Y
         STA L048D
         RTS
L97C2:   ORA #$20
         .
BYTE $33,$43,$43,$54
         .
BYTE $62
         
JMP (L877C)
         .
BYTE $8F
         TXS
         LDA DATAD
         DEX
         .
BYTE $DB
L97D2:   EOR BegaPic+
2
         EOR BegaPic+
2
         RTS
         RTS
         RTS
         RTS
         RTS
         RTS
         RTS
         RTS
         BVC L9830
         BVC L9832
L97E2:   
BRK
         
BRK
         
BRK
         
BRK
         
BRK
         
BRK
         
BRK
         
BRK
         .
BYTE $02,$02,$02,$02
         .
BYTE $02,$02,$02,$02
L97F2:   LDA SysTimer
         
AND #$01
         BEQ L97FA
         RTS
L97FA:   LDA L048E
         BEQ L9803
         
DEC L048E
L9802:   RTS
L9803:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE L980D
         RTS
L980D:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$0F
         TAY
         LDA L9878,Y
         STA Sprite1_X,X
         LDA L9888,Y
         STA Sprite1_Y,X
         LDA #$03
         STA L0400,X
         LDA L047F
         STA L0438,X
         LDA #$00
         STA L041C,X
L9830:   STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA L9898,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBCC2,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCC3,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDY L04BA
         LDA LBE82,Y
         STA L048E
         RTS
L9878:   BVC L98D0
         .
BYTE $5C
         RTS
         
ROR Sprite2_X
         BVS L98F6
         .
BYTE $7C,$80
         STX STARP
         BCC L981C
         .
BYTE $9C
         LDY #$40
         RTI
         RTI
         RTI
         RTI
         RTI
         BMI L98C0
         BMI L98C2
         RTI
         RTI
         RTI
         RTI
         RTI
         RTI
L9898:   ASL L0E00
         
BRK
         .
BYTE $0C
         
BRK
         .
BYTE $02,$02
         
BRK
         .
BYTE $02,$02
         ASL L0C02
         .
BYTE $02,$0C
L98A8:   LDA SysTimer
         
AND #$01
L98AD:   BEQ L98B0
L98AF:   RTS
L98B0:   LDA L048F
         BEQ L98B9
         
DEC L048F
         RTS
L98B9:   LDX #$01
         JSR L9148
         CPX #$FF
L98C0:   BNE L98C3
L98C2:   RTS
L98C3:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$03
         BEQ L98D5
         LDA Random             
; Get Random Number
L98D0:   AND #$07
         
JMP L98DF
L98D5:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
L98DF:   TAY
         LDA L992B,Y
         STA Sprite1_X,X
         LDA L9933,Y
         STA Sprite1_Y,X
         LDA #$04
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDA L993B,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBCE2,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCE3,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDY L04BA
         LDA LBE9A,Y
         STA L048F
         RTS
L992B:   BVC L98AD
         BCC L98AF
         BCC L99A1
         BNE L98D3
L9933:   JSR L2020
         JSR L2020
         JSR SpritePic2
         ASL TRAMSZ
         
BRK
         .
BYTE $02,$04,$02,$04
L9943:   LDA SysTimer
         
AND #$01
         BEQ L994B
         RTS
L994B:   LDA L0490
         BEQ L9954
         
DEC L0490
         RTS
L9954:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE L995E
         RTS
L995E:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$01
         BEQ L9970
         LDA Random             
; Get Random Number
         AND #$07
         
JMP L997A
L9970:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
L997A:   TAY
         LDA L99DD,Y
         STA Sprite1_X,X
         LDA L99E5,Y
         STA Sprite1_Y,X
         LDA #$05
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA L047F
         STA L0438,X
         LDA L99ED,Y
L99A1:   TAY
         TXA
         ASL A
         TAX
         LDA LBCF2,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCF3,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDY L04BA
         LDA LBEB2,Y
         STA L0490
         RTS
L99DD:   BVC L9A37
         
ADC (Sprite2_X+1,X)
         .
BYTE $93
         TYA
         .
BYTE $9C
         LDY #$9A
         TXS
         TXS
         TXS
         TXS
         TXS
         TXS
         TXS
L99ED:   
BRK
         .
BYTE $02,$04,$04
         ASL TRAMSZ
         PHP
         ASL A
L99F5:   LDA SysTimer
         
AND #$01
         BEQ L99FD
         RTS
L99FD:   LDA L0491
         BEQ L9A06
         
DEC L0491
         RTS
L9A06:   LDX #$01
         JSR L9148
         CPX #$FF
         BNE L9A10
         RTS
L9A10:   
INC L04A7
         LDX L047E
         LDA Random             
; Get Random Number
         AND #$3F
         
CLC
         
ADC #$60
         STA Sprite1_X,X
         LDY #$35
         STA Sprite1_Y,X
         LDA #$06
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDA Random             
; Get Random Number
         AND #$02
         TAY
         TXA
         ASL A
         TAX
         LDA LBD0A,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD0B,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDA L04A7
         
CMP #$01
         BCC L9A6F
         LDY L04BA
         LDA LBECA,Y
         STA L0491
         LDA #$00
         STA L04A7
L9A6F:   RTS
L9A70:   LDA SysTimer
         
AND #$01
         BEQ L9A78
         RTS
L9A78:   LDA L0492
         BEQ L9A81
         
DEC L0492
         RTS
L9A81:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE L9A8B
         RTS
L9A8B:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$01
         BEQ L9A9D
         LDA Random             
; Get Random Number
         AND #$07
         
JMP L9AA7
L9A9D:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
L9AA7:   TAY
         LDA L9B07,Y
         STA Sprite1_X,X
         LDA L9B0F,Y
         STA Sprite1_Y,X
         LDA #$07
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L042A,X
         LDA L047F
         STA L0438,X
         LDA L9B17,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBD0E,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD0F,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDY L04BA
         LDA LBEE2,Y
         STA L0492
         RTS
L9B07:   ORA (Ptr1_LO,X)
         
AND Buff6
         TXS
         
CMP FRE+3
         .
BYTE $EF
L9B0F:   BPL L9B51
         JSR L1010
         JSR L1040
L9B17:   
BRK
         
BRK
         
BRK
         
BRK
         .
BYTE $02,$02,$02,$02


;----------------------------------------------------
;               Attach LUNA or JOE
;----------------------------------------------------
L9B1F:   LDA SysTimer           ;
         AND #$01               ;
         BEQ L9B27              ;
         RTS
L9B27:   LDA L0493
         BEQ L9B30
         
DEC L0493
         RTS
L9B30:   LDX #$01
         JSR L9148
         CPX #$FF
         BNE L9B3A
         RTS
L9B3A:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$03               ; Random number between 0-3
         BEQ L9B4C              ; 25% of the time we skip ahead
         LDA Random             ; Get antoher Random Number
         AND #$0F
         
JMP L9B55
L9B4C:   
CLC                    ; Clear carry for addition
         LDA BegaXPos1L         ; Get Bega's X Position
         ADC #$08               ; Add 8 to Bega's X Position
L9B51:   LSR A                  ; Divide X position by 8
         LSR A                  ; continue division
         LSR A                  ; continue division
         LSR A                  ; continue division
L9B55:   TAY                    ; Y = Bega Horizontal Zone (1-32)
         LDA L9BA1,Y
         STA Sprite1_X,X
         LDA L9BB1,Y
         STA Sprite1_Y,X
         LDA #$08
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDA L9BC1,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBD16,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD17,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDY L04BA
L9B9A:   LDA LBEFA,Y
         STA L0493
         RTS

;----------------------------------------------------
;                Starting X Position
;----------------------------------------------------
L9BA1:   .BYTE $20,$2C,$38,$44,$50,$5C,$68,$74
         .
BYTE $80,$8C,$98,$A4,$B0,$BC,$C8,$DC
;----------------------------------------------------
;                Starting Y Position
;----------------------------------------------------
L9BB1:   .BYTE $40,$40,$40,$40,$40,$40,$40,$40
         .
BYTE $40,$40,$40,$40,$40,$40,$40,$40
;----------------------------------------------------
;                 unknown data
;----------------------------------------------------
L9BC1:   .BYTE $06,$04,$06,$04,$02,$02,$00,$06
         .
BYTE $00,$04,$00,$00,$02,$02,$00,$00

;----------------------------------------------------
;                     unknown
;----------------------------------------------------
L9BD1:   LDX #$0D
         STX FlashTime
L9BD6:   LDX FlashTime
         LDA L0400,X
         
CMP #$02
         BEQ L9BEB
         
CMP #$03
         BEQ L9BEB
         
CMP #$07
         BEQ L9BEB
         
JMP L9C9E
L9BEB:   LDA L04CA,X
         BEQ L9BF3
         
JMP L9C85
L9BF3:   LDA Sprite1_Y,X
         
CMP #$2A
         BCS L9BFC
         
JMP L9C0F
L9BFC:   
CMP #$32
         BCC L9C03
         
JMP L9C0F
L9C03:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE L9C12
         
JMP L9C9E
L9C0F:   
JMP L9C9E
L9C12:   LDX FlashTime
         LDA #$0A
         JSR L51CE             
; Play Sound
         LDA #$3F
         STA L04CA,X
         LDA Sprite1_X,X
         
CMP BegaXPos1R
         BCC L9C39
         SEC
         SBC BegaXPos1R
         LSR A
         LSR A
         LSR A
         LSR A
         TAY
         LDA L9CA7,Y
         LDX L047E
         STA L040E,X
         
JMP L9C4C
L9C39:   SEC
         LDA BegaXPos1R
         SBC Sprite1_X,X
         LSR A
         LSR A
         LSR A
         LSR A
         TAY
         LDA L9CB7,Y
         LDX L047E
         STA L040E,X
L9C4C:   TAY
         TXA
         ASL A
         TAX
         LDA LBD3E,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD3F,Y
         STA L00B4,X
         STA Ptr1_HI
         LDX L047E
         LDY #$01
         LDA (Ptr1_LO),Y
         STA L0454,X
         LDA #$09
         STA L0400,X
         LDA #$FF
         STA L0438,X
         LDY FlashTime
         
CLC
         LDA Sprite1_X,Y
         
ADC #$08
         STA Sprite1_X,X
         LDA Sprite1_Y,Y
         STA Sprite1_Y,X
         
JMP L9C8B
L9C85:   LDX FlashTime
         
DEC L04CA,X
L9C8B:   LDX FlashTime
         LDA L0400,X
         
CMP #$02
         BEQ L9C9B
         
CMP #$03
         BEQ L9C9E
         BNE L9C9E
L9C9B:   
JMP L9C9E
L9C9E:   
DEC FlashTime
         BMI L9CA6
         
JMP L9BD6
L9CA6:   RTS
L9CA7:   ASL Ptr2_HI
         .
BYTE $04,$02,$02,$02
         .
BYTE $02,$02,$02,$02
         .
BYTE $02,$02
L9CB3:   .
BYTE $02,$02,$02,$02
L9CB7:   PHP
         ASL A
         ASL A
         .
BYTE $0C,$0C,$0C,$0C
         .
BYTE $0C,$0C,$0C,$0C
         .
BYTE $0C,$0C,$0C,$0C
         .
BYTE $0C
L9CC7:   LDA SysTimer
         
AND #$03
         BEQ L9CCF
         RTS
L9CCF:   LDA L0496
         BEQ L9CD8
         
DEC L0496
         RTS
L9CD8:   LDA L00AB
         BPL L9CDD
         RTS
L9CDD:   LDA L0400
         
CMP #$FF
         BNE L9D39
         LDA Random             
; Get Random Number
         AND #$01
         BEQ L9CF3
         LDA Random             
; Get Random Number
         AND #$0F
         
JMP L9CFC
L9CF3:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
L9CFC:   STA L04B7
         TAY
         LDA LBD6A,Y
         STA Sprite1_X
         LDA LBD7A,Y
         STA Sprite1_Y
         LDA #$0A
         STA L0400
         LDA LBD8A,Y
         TAY
         LDA LBD56,Y
         STA L00B3
         STA Ptr1_LO
         LDA LBD57,Y
         STA L00B4
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         STA L0454
         LDA #$FF
         STA L0438
         LDA #$00
         STA L040E
         STA L041C
         STA L042A
         RTS
L9D39:   LDX #$00
L9D3B:   LDA L0401,X
         
CMP #$FF
         BEQ L9D49
         INX
         CPX #$0C
         BNE L9D3B
         BEQ L9D8E
L9D49:   LDY L04B7
         LDA LBD6A,Y
         STA MLTTMP,X
         LDA LBD7A,Y
         STA ZCHAIN,X
         LDA #$0B
         STA L0401,X
         STX FlashTime
         TXA
         ASL A
         TAX
         LDA LBD8A,Y
         TAY
         LDA LBD56,Y
         STA L00B5,X
         STA Ptr1_LO
         LDA LBD57,Y
         STA DATAD,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX FlashTime
         STA L0455,X
         LDA #$FF
         STA L0439,X
         LDA #$00
         STA L040F,X
         STA L041D,X
         STA L042B,X
         RTS
L9D8E:   LDA L040D
         
CMP #$FF
         BEQ L9D96
         RTS
L9D96:   LDY L04B7
         LDA LBD6A,Y
         STA COLAC
         LDA LBD7A,Y
         STA COLCRS+
1
         LDA #$0C
         STA L040D
         LDY L04B7
         LDA LBD8A,Y
         TAY
         LDA LBD56,Y
         STA L00CD
         STA Ptr1_LO
         LDA LBD57,Y
         STA L00CE
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         STA L0461
         LDA #$FF
         STA L0445
         LDA #$00
         STA L041B
         STA L0429
         STA L0437
         LDY L04BA
         LDA LBF12,Y
         STA L0496
         RTS
L9DDE:   LDA SysTimer
         
AND #$1F
         BEQ L9DE6
         RTS
L9DE6:   LDX #$01
         JSR L9148
         CPX #$FF
         BNE L9DF0
         RTS
L9DF0:   LDA Random             
; Get Random Number
         AND #$03
         BNE L9DF8
         RTS
L9DF8:   LDA #$15
; Sound = #21
         JSR L51CE              ; Play Sound
         LDA SysTimer
         
AND #$80
         BNE L9E0C
         LDA Random             
; Get Random Number
         AND #$07
         
JMP L9E16
L9E0C:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
L9E16:   TAY
         LDX L047E
         LDA LBD9A,Y
         STA Sprite1_X,X
         LDA LBDA2,Y
         STA Sprite1_Y,X
         LDA #$01
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         TYA
         ASL A
         TAY
         TXA
         ASL A
         TAX
         LDA LBD1E,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD1F,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         RTS
L9E5B:   LDA SysTimer
         
AND #$01
         BEQ L9E63
         RTS
L9E63:   LDA L048C
         BEQ L9E6C
         
DEC L048C
         RTS
L9E6C:   LDY L04BA
         LDA LBE52,Y
         STA L048C
         LDX #$02
         JSR L9148
         CPX #$FF
         BNE L9E7F
         RTS
L9E7F:   LDA #$15
; Sound = #21
         JSR L51CE              ; Play Sound
         LDA SysTimer
         
AND #$80
         BNE L9E93
         LDA Random             
; Get Random Number
         AND #$07
         
JMP L9E9D
L9E93:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
L9E9D:   TAY
         LDX L047E
         LDA LBD9A,Y
         STA Sprite1_X,X
         LDA LBDA2,Y
         STA Sprite1_Y,X
         LDA #$0D
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA L047F
         STA L0438,X
         TYA
         ASL A
         TAY
         TXA
         ASL A
         TAX
         LDA LBD1E,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD1F,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$FF
         STA L0438,X
         LDA #$00
         STA L0400,X
         STA L040E,X
         RTS
L9EF3:   LDA SysTimer           
; Check time on System Timer
         AND #$03
         BEQ L9EFB
         RTS
L9EFB:   LDA L048D
         BEQ L9F04
         
DEC L048D
         RTS
L9F04:   LDX #$04
         JSR L9148
         CPX #$FF
         BNE L9F0E
         RTS                   
; Return
L9F0E:   LDA L04A3
         BNE L9F23
         LDA Random             
; Get Random Number
         AND #$7F
         
CLC
         
ADC #$40
         STA L0498
         
AND #$01
         STA L04AE
L9F23:   
INC L04A3
         LDX L047E
         LDA L0498
         STA Sprite1_X,X
         LDA #$00
         STA Sprite1_Y,X
         LDA #$02
         STA L0400,X
         LDA L047F
         STA L0438,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L042A,X
         LDA L04AE
         ASL A
         TAY
         TXA
         ASL A
         TAX
         LDA LBCBE,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCBF,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         LDA #$FF
         STA L0438,X
         
INC L04A3
         LDX L0480
         LDA L0498
         LDA #$00
         SBC L0498
         STA Sprite1_X,X
         LDA #$00
         STA Sprite1_Y,X
         LDA #$02
         STA L0400,X
         LDA L0481
         STA L0438,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L042A,X
         LDA L04AE
         EOR #$01
         ASL A
         TAY
         TXA
         ASL A
         TAX
         LDA LBCBE,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCBF,Y
L9FB9:   STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L0480
         STA L0454,X
         LDX L0481
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         LDA #$FF
         STA L0438,X
         LDA L04A3
         
CMP #$02
         BCC L9FEF
         LDY L04BA
         LDA LBE6A,Y
         STA L048D
         LDA #$00
         STA L04A3
L9FEF:   RTS
L9FF0:   LDA SysTimer           
; Check time on System Timer
         AND #$01
         BEQ L9FF8
         RTS
L9FF8:   LDA L0492
         BEQ LA001
         
DEC L0492
         RTS
LA001:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE LA00B
         RTS
LA00B:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$01
         BEQ LA01D
         LDA Random             
; Get Random Number
         AND #$07
         
JMP LA027
LA01D:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
LA027:   TAY
         LDA LBDAA,Y
         STA Sprite1_X,X
         LDA LBDB2,Y
         STA Sprite1_Y,X
         LDA #$07
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L042A,X
         LDA L047F
         STA L0438,X
         LDA LBDBA,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBD12,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD13,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDY L04BA
         LDA LBEE2,Y
         STA L0492
         RTS
LA087:   LDA SysTimer           
; Check time on System Timer
         AND #$03
         BEQ LA08F
         RTS
LA08F:   LDA L0496
         BEQ LA098
         
DEC L0496
         RTS
LA098:   LDA L00AB
         BPL LA09D
         RTS
LA09D:   LDA L0400
         
CMP #$FF
         BNE LA0F9
         LDA Random             
; Get Random Number
         AND #$01
         BEQ LA0B3
         LDA Random             
; Get Random Number
         AND #$0F
         
JMP LA0BC
LA0B3:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
LA0BC:   STA L04B7
         TAY
         LDA LBDC2,Y
         STA Sprite1_X
         LDA LBDD2,Y
         STA Sprite1_Y
         LDA #$0A
         STA L0400
         LDA LBDE2,Y
         TAY
         LDA LBD4E,Y
         STA L00B3
         STA Ptr1_LO
         LDA LBD4F,Y
         STA L00B4
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         STA L0454
         LDA #$FF
         STA L0438
         LDA #$00
         STA L040E
         STA L041C
         STA L042A
         RTS
LA0F9:   LDX #$00
LA0FB:   LDA L0401,X
         
CMP #$FF
         BEQ LA109
         INX
         CPX #$0C
         BNE LA0FB
         BEQ LA14E
LA109:   LDY L04B7
         LDA LBDC2,Y
         STA MLTTMP,X
         LDA LBDD2,Y
         STA ZCHAIN,X
         LDA #$0B
         STA L0401,X
         STX FlashTime
         TXA
         ASL A
         TAX
         LDA LBDE2,Y
         TAY
         LDA LBD4E,Y
         STA L00B5,X
         STA Ptr1_LO
         LDA LBD4F,Y
         STA DATAD,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX FlashTime
         STA L0455,X
         LDA #$FF
         STA L0439,X
         LDA #$00
         STA L040F,X
         STA L041D,X
         STA L042B,X
         RTS
LA14E:   LDA L040D
         
CMP #$FF
         BEQ LA156
         RTS
LA156:   LDY L04B7
         LDA LBDC2,Y
         STA COLAC
         LDA LBDD2,Y
         STA COLCRS+
1
         LDA #$0C
         STA L040D
         LDY L04B7
         LDA LBDE2,Y
         TAY
         LDA LBD4E,Y
         STA L00CD
         STA Ptr1_LO
         LDA LBD4F,Y
         STA L00CE
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         STA L0461
         LDA #$FF
         STA L0445
         LDA #$00
         STA L041B
         STA L0429
         STA L0437
         LDY L04BA
         LDA LBF12,Y
         STA L0496
         RTS
LA19E:   LDA SysTimer           
; Check time on System Timer
         AND #$01
         BEQ LA1A6
         RTS
LA1A6:   LDA L0490
         BEQ LA1AF
         
DEC L0490
         RTS
LA1AF:   LDX #$02
         JSR L9148
         CPX #$FF
         BNE LA1B9
         RTS
LA1B9:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$01
         BEQ LA1CB
         LDA Random             
; Get Random Number
         AND #$07
         
JMP LA1D5
LA1CB:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
LA1D5:   TAY
         LDA LBDF2,Y
         STA Sprite1_X,X
         LDA LBDFA,Y
         STA Sprite1_Y,X
         LDA #$05
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA L047F
         STA L0438,X
         LDA LBE02,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBCFE,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCFF,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDX L047F
         LDA #$00
         STA L041C,X
         STA L0400,X
         STA L040E,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDY L04BA
         LDA LBEB2,Y
         STA L0490
         RTS
LA238:   LDA SysTimer           
; Check time on System Timer
         AND #$01
         BEQ LA240
         RTS
LA240:   LDA L048F
         BEQ LA249
         
DEC L048F
         RTS
LA249:   LDX #$01
         JSR L9148
         CPX #$FF
         BNE LA253
         RTS
LA253:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$03
         BEQ LA265
         LDA Random             
; Get Random Number
         AND #$07
         
JMP LA26F
LA265:   
CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
LA26F:   TAY
         LDA LBE0A,Y
         STA Sprite1_X,X
         LDA LBE12,Y
         STA Sprite1_Y,X
         LDA #$04
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDA LBE1A,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBCEA,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBCEB,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDY L04BA
         LDA LBE9A,Y
         STA L048F
         RTS
LA2BB:   LDA SysTimer           
; Check time on System Timer
         AND #$01
         BEQ LA2C3
         RTS
LA2C3:   LDA L048F
         BEQ LA2CC
         
DEC L048F
LA2CB:   RTS
LA2CC:   LDX #$01
         JSR L9148
         CPX #$FF
         BNE LA2D6
         RTS
LA2D6:   LDX L047E
         LDA Random             
; Get Random Number
         AND #$03               ;
         BEQ LA2E8              ;
         LDA Random             ; Get Random Number
         AND #$07               ;
         JMP LA2F2              ;
LA2E8:   CLC
         LDA BegaXPos1L
         
ADC #$08
         LSR A
         LSR A
         LSR A
         LSR A
         LSR A
LA2F2:   TAY
         LDA LBE22,Y
         STA Sprite1_X,X
         LDA LBE2A,Y
         STA Sprite1_Y,X
         LDA #$0E
         STA L0400,X
         LDA #$00
         STA L041C,X
         STA L040E,X
         STA L0446,X
         STA L042A,X
         LDA #$FF
         STA L0438,X
         LDA LBE32,Y
         TAY
         TXA
         ASL A
         TAX
         LDA LBD5E,Y
         STA L00B3,X
         STA Ptr1_LO
         LDA LBD5F,Y
         STA L00B4,X
         STA Ptr1_HI
         LDY #$01
         LDA (Ptr1_LO),Y
         LDX L047E
         STA L0454,X
         LDY L04BA
         LDA LBF2A,Y
         STA L048F
         RTS
LA33E:   LDX FlashTime
         LDA L0400,X
         
AND #$7F
         
CMP #$01
         BNE LA376
         LDA L0400,X
         BMI LA377
         LDA L042A,X
         BNE LA373
         LDA #$04
         STA L042A,X
         LDA L040E,X
         
AND #$F8
         ORA L041C,X
         STA L040E,X
         
INC L041C,X
         LDA L041C,X
         
CMP #$08
         BCC LA376
         LDA #$00
         STA L041C,X
LA373:   
DEC L042A,X
LA376:   RTS
LA377:   LDA L042A,X
         BEQ LA380
         
DEC L042A,X
         RTS
LA380:   LDA #$08
         STA L042A,X
         
INC L040E,X
         RTS
LA389:   LDX FlashTime
         LDA L0400,X
         
AND #$7F
         
CMP #$02
         BNE LA3AA
         LDA L0400,X
         BPL LA39D
         
JMP LA3DF
LA39D:   LDA L042A,X
         BEQ LA3AB
         
DEC L042A,X
         LDA L0470,X
         BNE LA3BF
LA3AA:   RTS
LA3AB:   LDA #$01
         STA L042A,X
         
INC L041C,X
         LDA L041C,X
         
CMP #$04
         BCC LA3BF
         LDA #$00
         STA L041C,X
LA3BF:   TXA
         ASL A
         TAX
         LDA (L00B3,X)
         TAY
         LDA #$00
         LDX LB100,Y
         BMI LA3CE
         ORA #$08
LA3CE:   LDX LB000,Y
         BMI LA3D5
         ORA #$04
LA3D5:   LDX FlashTime
         ORA L041C,X
         STA L040E,X
         RTS
LA3DF:   LDA L042A,X
         BEQ LA3E8
         
DEC L042A,X
         RTS
LA3E8:   LDA #$08
         STA L042A,X
         
INC L040E,X
         RTS
LA3F1:   LDX FlashTime
         LDA L0400,X
         
AND #$7F
         
CMP #$03
         BNE LA40D
         LDA L0400,X
         BPL LA405
         
JMP LA43B
LA405:   LDA L042A,X
         BEQ LA40E
         
DEC L042A,X
LA40D:   RTS
LA40E:   LDA #$0E
         STA L042A,X
         LDA L0446,X
         
CMP #$FF
         BNE LA425
         LDA L040E,X
         
AND #$01
         EOR #$01
         STA L040E,X
         RTS
LA425:   
CLC
         
ADC #$02
         STA L040E,X
         
INC L0446,X
         LDA L0446,X
         
CMP #$02
         BCC LA43A
         LDA #$FF
         STA L0446,X
LA43A:   RTS
LA43B:   LDA L042A,X
         BEQ LA444
         
DEC L042A,X
         RTS
LA444:   LDA #$0F
         STA L042A,X
         
INC L040E,X
         RTS
LA44D:   LDX FlashTime
         LDA L0400,X
         
AND #$7F
         
CMP #$04
         BNE LA46E
         LDA L0400,X
         BPL LA461
         
JMP LA4D0
LA461:   LDA L042A,X
         BEQ LA46F
         
DEC L042A,X
         LDA L0470,X
         BNE LA485
LA46E:   RTS
LA46F:   LDA #$04
         STA L042A,X
         LDA L0446,X
         
CMP #$FF
         BNE LA4BA
         LDA L041C,X
         
AND #$01
         EOR #$01
         STA L041C,X
LA485:   LDA L0446,X
         
CMP #$FF
         BNE LA4BA
         TXA
         ASL A
         TAX
         LDA (L00B3,X)
         TAY
         LDA #$00
         LDX LB100,Y
         BEQ LA4A2
         ORA #$08
         LDX LB100,Y
         BMI LA4A2
         ORA #$10
LA4A2:   LDX LB000,Y
         BEQ LA4B0
         ORA #$02
         LDX LB000,Y
         BMI LA4B0
         ORA #$04
LA4B0:   LDX FlashTime
         ORA L041C,X
         STA L040E,X
         RTS
LA4BA:   
CLC
         
ADC #$20
         STA L040E,X
         
INC L0446,X
         LDA L0446,X
         
CMP #$06
         BCC LA4CF
         LDA #$FF
         STA L0446,X
LA4CF:   RTS
LA4D0:   LDA L042A,X
         BEQ LA4D9
         
DEC L042A,X
         RTS
LA4D9:   LDA #$0F
         STA L042A,X
         
INC L040E,X
         RTS
LA4E2:   LDX FlashTime
         LDA L0400,X
         
AND #$7F
         
CMP #$05
         BNE LA4FE
         LDA L0400,X
         BPL LA4F6
         
JMP LA53C
LA4F6:   LDA L042A,X
         BEQ LA4FF
         
DEC L042A,X
LA4FE:   RTS
LA4FF:   LDA #$02
         STA L042A,X
         LDA L0446,X
         
CMP #$FF
         BNE LA521
         LDA L041C,X
         STA L040E,X
         
INC L041C,X
         LDA L041C,X
         
CMP #$0C
         BCC LA520
         LDA #$00
         STA L041C,X
LA520:   RTS
LA521:   
CLC
         
ADC #$0C
         STA L040E,X
         
INC L041C,X
         LDA L041C,X
         
CMP #$07
         BCC LA53B
         LDA #$FF
         STA L0446,X
         LDA #$00
         STA L041C,X
LA53B:   RTS
LA53C:   LDA L042A,X
         BEQ LA545
         
DEC L042A,X
         RTS
LA545:   LDA #$0F
         STA L042A,X
         
INC L040E,X
         RTS
LA54E:   LDX FlashTime
         LDA L0400,X
         
AND #$7F

NEXT PAGE


HOME  

 ROMHACK 2009