THis is a dte routine. I am getting branch out of range errors on lines 2, 6 and 9.
Why is that?
Why is that?
Code:
LDA $06FF
BNE $C1D5 ; If 2nd_Pass = 0 Then
LDA ($81),Y ; A = vbl_82|vbl_81[Y++]
INY ;
CMP #$80 ;
BCS $C1C3 ;
RTS ;
CMP #$E0 ;
BCS $C1C2 ; If A >= 80 And A < E0 Then
INC $06FF ; 2nd_Pass = 1
SEC ;
SBC #$80 ;
ASL ;
TAX ;
LDA $BD40,X ; A = tbl_bd40[(A - 80) * 2]
LDX #$00 ; X = 0
RTS ;Else
DEC $06FF; 2nd_Pass = 0
DEY ;
LDA ($81),Y ; A = vbl_82|vbl_81[--Y]
INY ;
SEC ; Y++
SBC #$80 ;
ASL ;
TAX ;
LDA $BD41,X ; A = tbl_bd40[(A - 80) * 2 + 1]
RTS ;Return
BNE $C1D5 ; If 2nd_Pass = 0 Then
LDA ($81),Y ; A = vbl_82|vbl_81[Y++]
INY ;
CMP #$80 ;
BCS $C1C3 ;
RTS ;
CMP #$E0 ;
BCS $C1C2 ; If A >= 80 And A < E0 Then
INC $06FF ; 2nd_Pass = 1
SEC ;
SBC #$80 ;
ASL ;
TAX ;
LDA $BD40,X ; A = tbl_bd40[(A - 80) * 2]
LDX #$00 ; X = 0
RTS ;Else
DEC $06FF; 2nd_Pass = 0
DEY ;
LDA ($81),Y ; A = vbl_82|vbl_81[--Y]
INY ;
SEC ; Y++
SBC #$80 ;
ASL ;
TAX ;
LDA $BD41,X ; A = tbl_bd40[(A - 80) * 2 + 1]
RTS ;Return