; DEBUG = 12A30-12D30
;
; 12A30-12Axx = correct CD #




;8002364c : 3C028007  LUI     80070000 (v0), 8007 (32775),
;80023650 : 2442E9F0  ADDIU   80070000 (v0), 80070000 (v0), e9f0 (59888),
;80023654 : 00031880  SLL     00000001 (v1), 00000001 (v1), 02 (2),
;80023658 : 00621821  ADDU    00000004 (v1), 00000004 (v1), 8006e9f0 (v0),
;8002365c : 3C028007  LUI     8006e9f0 (v0), 8007 (32775),
;80023660 : AFB1001C  SW      00000000 (s1), 001c (801ffe30 (sp)) [801ffe4c]
;-->
;80023664 : AFBF0020  SW      8001c6e8 (ra), 0020 (801ffe30 (sp)) [801ffe50]
;80023668 : AFB00018  SW      80068fa0 (s0), 0018 (801ffe30 (sp)) [801ffe48]
;-->


org $80012a30

; check CD # (stage 0-3 = CD1, 4-5 = CD2)
; - $6e9f0-6ea00 (CD1)
; - $6ea00-6ea10 (CD2)

lui s1,$8006
ori s1,s1,$ea00

sltu v0,v1,s1
beq v0,r0,WRITE_CD2
nop

; ---------------------
; ---------------------
; ---------------------
; ---------------------

WRITE_CD1:
; write correct CD #
ori v0,r0,1

lui s1,$8007
sb v0,$10a8(s1)


; write movie LBA #
lui v0,$0002
ori v0,v0,$aa01

lui s1,$8006+1
sw v0,$ac30(s1)


j EXIT
nop

; ---------------------
; ---------------------
; ---------------------
; ---------------------

WRITE_CD2:
; write correct CD #
ori v0,r0,2

lui s1,$8007
sb v0,$10a8(s1)


; write movie LBA #
lui v0,$0004
ori v0,v0,$4faf

lui s1,$8006+1
sw v0,$ac30(s1)

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

EXIT:

lui v0,$8007


; OLD code
sw ra,$20(sp)
sw s0,$18(sp)

j $8002366c
nop
