; DEBUG = 11480-118B0
;
; 11480-11490 = CD1 LBA / CD2 LBA / CD3 LBA / CD4 LBA
; 11490-114A0 = DVD5 state / CD#
; 114A0-115xx = address -> time LBA remap



;-->
;800625d0 : 3C031B4E  LUI     00000000 (v1), 1b4e (6990),
;800625d4 : 346381B5  ORI     1b4e0000 (v1), 1b4e0000 (v1), 81b5 (33205),
;-->
;800625d8 : 24840096  ADDIU   000479b2 (a0), 000479b2 (a0), 0096 (150),
;800625dc : 00830018  MULT    00047a48 (a0), 1b4e81b5 (v1),


org $800114a0


; avoid LBA range (0-17)
sltiu v1,a0,$18
bne v1,r0,EXIT
nop

; avoid LBA range (90AE6+)
lui v0,$9
ori v0,v0,$0ae6
sltu v1,a0,v0
beq v1,r0,EXIT
nop



; adjust LBA ptr (start at zero)
ori v0,r0,$18
sub a0,a0,v0

; prepare CD ptr (0-3)
lui v0,$8008
lbu v1,$2a5c(v0)
nop

; load new starting ptr (table)
lui v0,$8001
sll v1,v1,2
addu v0,v0,v1
lw v1,$1480(v0)
nop

; remap LBA to final range
addu a0,a0,v1

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

EXIT:

; OLD code
lui v1,$1b4e
ori v1,v1,$81b5

j $800625d8
nop
