; DEBUG = 2AD00-2AFC0
;
; 2AD00-2AD10 = CD # / CD1 LBA / CD2 LBA / <unused>
; 2AD10-2AD40 = address -> time LBA remap
; 2AD40-2ADxx = time -> address LBA remap




;80025a50 : 30A5000F  ANDI    00000023 (a1), 00000023 (a1), 000f (15),
;80025a54 : 00651821  ADDU    00000014 (v1), 00000014 (v1), 00000003 (a1),
;80025a58 : 00431021  ADDU    000227f4 (v0), 000227f4 (v0), 00000017 (v1),
;-->
;80025a5c : 03E00008  JR      80011048 (ra),
;80025a60 : 2442FF6A  ADDIU   0002280b (v0), 0002280b (v0), ff6a (65386),
;-->


org $8002ad40

; OLD code
addiu v0,v0,$ff6a

; ========================
; ========================
; ========================
; ========================

; avoid LBA range (0-4D8A1)
lui a0,$4
ori a0,a0,$D8A1+1
sltu v1,v0,a0
bne v1,r0,EXIT
;nop


; only remap CD1 (0-1)
lui a0,$2+1
lbu a0,$ad00(a0)
nop
bne a0,r0,EXIT
nop




; CD1 LBA
lui v1,$4
ori v1,v1,$e0a2

; move v0 to 'zero offset'
subu v0,v0,v1

; move v0 to 'fixed LBA offset'
addiu v0,v0,$96

; ======================
; ======================
; ======================
; ======================

EXIT:

jr ra
nop
