; DEBUG = 11DE0-12330
;
; 11DE0-11DE0 = CD # / unused
; 11DF0-11E30 = Force CD detection
; 11E30-11EB0 = Address -> Time remap
; 11EB0-11Fxx = Time -> Address remap



;80028f0c : 00651821  ADDU    00000046 (v1), 00000046 (v1), 00000003 (a1),
;80028f10 : 00431021  ADDU    000049d4 (v0), 000049d4 (v0), 00000049 (v1),
;-->
;80028f14 : 03E00008  JR      8001de18 (ra),
;80028f18 : 2442FF6A  ADDIU   00004a1d (v0), 00004a1d (v0), ff6a (65386),
;-->



; 6BB2- 6DAB [GAME2.DPK] [6:9.45 - 6:16.25]
; 6E00- 7015 [GAME22.DPK] [6:17.35 - 6:24.43]
;
;
; 7040- 8128 [PAK.DPK] [6:25.11 - 7:22.64]
; 8150- 9238 [PAK2.DPK] [7:23.29 - 8:21.7]


org $80011eb0


; OLD code
addiu v0,v0,$ff6a

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


; only remap CD2 (1/2)
lui a0,$8001
lbu a0,$1de0(a0)
nop
addiu a0,a0,$ffff
beq a0,r0,EXIT
nop



; remap MOVIE folder (18-19)
ori v1,r0,$19
beq v1,v0,REMAP_MOVIE_FOLDER
nop

; avoid LBA range (0-6BB1)
sltiu v1,v0,$6bb2
bne v1,r0,EXIT
nop

; check GAME2.DPK (6BB2-703F)
sltiu v1,v0,$7040
bne v1,r0,REMAP_GAME2_DPK
nop

; check PAK.DPK (7040-925F)
ori v1,r0,$9260
sltu v1,v0,v1
bne v1,r0,REMAP_PAK_DPK
nop


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

EXIT:

jr ra
nop


; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++

REMAP_MOVIE_FOLDER:

; 19 -> 18

; remap LBA to final range
addiu v0,v0,$ffff

beq r0,r0,EXIT
nop


; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++


REMAP_GAME2_DPK:

; 6E00 -> 6BB2

; remap LBA to final range
addiu v0,v0,$fdb2

beq r0,r0,EXIT
nop


; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++
; ++++++++++++++++++++++++++


REMAP_PAK_DPK:

; 8150 -> 7040

; remap LBA to final range
addiu v0,v0,$eef0

beq r0,r0,EXIT
nop
