; note: 3D970 = CDROM load cache

0001eb90 : 3C020004  LUI     00040000 (v0), 0004 (4),
0001eb94 : 2442D970  ADDIU   00040000 (v0), 00040000 (v0), d970 (55664),
0001eb98 : 00161880  SLL     0003d930 (v1), 00000000 (s6), 02 (2),
0001eb9c : 00621021  ADDU    0003d970 (v0), 00000000 (v1), 0003d970 (v0),
0001eba0 : AFBF0034  SW      0001e4a0 (ra), 0034 (801fff38 (sp)) [801fff6c]
0001eba4 : AFA70044  SW      0003d998 (a3), 0044 (801fff38 (sp)) [801fff7c]

; sector LBA

0001eba8 : AC450000  SW      00000010 (a1), 0000 (0003d970 (v0)) [0003d970]


0001ec00 : 0C007816  JAL     0001e058, 0001ed30 (ra),
0001ec04 : 02E02821  ADDU    00003855 (a1), 00000001 (s7), 00000000 (r0),

(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)
(..)

SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!
SHARED ROUTINE!!!!!!


input:
a2 = RAM dest
a1 = sector count
a0 = 0 ?

0001e058 : 27BDFFD8  ADDIU   801fff38 (sp), 801fff38 (sp), ffd8 (65496),
0001e05c : AFB10014  SW      00000000 (s1), 0014 (801fff10 (sp)) [801fff24]
0001e060 : 00808821  ADDU    00000000 (s1), 00000000 (a0), 00000000 (r0),
0001e064 : AFB20018  SW      00000000 (s2), 0018 (801fff10 (sp)) [801fff28]
0001e068 : 00A09021  ADDU    00000000 (s2), 00000001 (a1), 00000000 (r0),
0001e06c : AFB3001C  SW      00030000 (s3), 001c (801fff10 (sp)) [801fff2c]
0001e070 : 00C09821  ADDU    00030000 (s3), 0003d998 (a2), 00000000 (r0),
0001e074 : 2E220008  SLTIU   0001ebf8 (v0), 00000000 (s1), 0008 (8),
0001e078 : AFBF0020  SW      0001ec08 (ra), 0020 (801fff10 (sp)) [801fff30]
0001e07c : 14400003  BNE     00000001 (v0), 00000000 (r0), 0001e08c,
0001e080 : AFB00010  SW      00000002 (s0), 0010 (801fff10 (sp)) [801fff20]
0001e08c : 1E400003  BGTZ    00000001 (s2), 0001e09c,
0001e090 : 3C040003  LUI     00000000 (a0), 0003 (3),
0001e09c : 8C8263A8  LW      00000001 (v0), 63a8 (00030000 (a0)) [000363a8]
0001e0a0 : 00000000  NOP    
0001e0a4 : 10400009  BEQ     00000000 (v0), 00000000 (r0), 0001e0cc,
0001e0a8 : 3C020004  LUI     00000000 (v0), 0004 (4),
0001e0cc : 3C020004  LUI     00040000 (v0), 0004 (4),
0001e0d0 : 8C42D8F8  LW      00040000 (v0), d8f8 (00040000 (v0)) [0003d8f8]
0001e0d4 : 00000000  NOP    
0001e0d8 : 1C400036  BGTZ    00000000 (v0), 0001e1b4,
0001e0dc : 2402FFDE  ADDIU   00000000 (v0), 00000000 (r0), ffde (65502),

0001e0e0 : 3C030004  LUI     00000001 (v1), 0004 (4),
0001e0e4 : 2463D970  ADDIU   00040000 (v1), 00040000 (v1), d970 (55664),
0001e0e8 : 00112080  SLL     00030000 (a0), 00000000 (s1), 02 (2),
0001e0ec : 00831821  ADDU    0003d970 (v1), 00000000 (a0), 0003d970 (v1),
0001e0f0 : 3C020004  LUI     ffffffde (v0), 0004 (4),
0001e0f4 : 2442D930  ADDIU   00040000 (v0), 00040000 (v0), d930 (55600),
0001e0f8 : 00822021  ADDU    00000000 (a0), 00000000 (a0), 0003d930 (v0),
0001e0fc : 3C020004  LUI     0003d930 (v0), 0004 (4),

[src: addr - 3d970]
[src: offset - 3d930]
[s3 - RAM dest]

3d970 + 3d930 = base + offset

0001e100 : 8C650000  LW      00000001 (a1), 0000 (0003d970 (v1)) [0003d970]
0001e104 : 8C830000  LW      0003d970 (v1), 0000 (0003d930 (a0)) [0003d930]
0001e108 : 02603021  ADDU    0003d998 (a2), 0003d998 (s3), 00000000 (r0),
0001e10c : AC51D8E0  SW      00000000 (s1), d8e0 (00040000 (v0)) [0003d8e0]

0001e110 : 00A38021  ADDU    00000002 (s0), 00000010 (a1), 00000000 (v1),
0001e114 : 02002021  ADDU    0003d930 (a0), 00000010 (s0), 00000000 (r0),
0001e118 : 0C0078E2  JAL     0001e388, 0001ec08 (ra),
0001e11c : 02402821  ADDU    00000010 (a1), 00000001 (s2), 00000000 (r0),
(..)

; addr -> time

0001e3a4 : 02002021  ADDU    0001f20c (a0), 00000010 (s0), 00000000 (r0),
0001e3a8 : 3C050004  LUI     00000001 (a1), 0004 (4),
0001e3ac : 0C00BCD0  JAL     0002f340, 0001e3a4 (ra),
0001e3b0 : 24A5D8E8  ADDIU   00040000 (a1), 00040000 (a1), d8e8 (55528),

0001e3b4 : 0C007BDC  JAL     0001ef70, 0001e3b4 (ra),
0001e3b8 : 24040006  ADDIU   00000000 (a0), 00000000 (r0), 0006 (6),



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

0001ef70 : 3C020003  LUI     0003d8e8 (v0), 0003 (3),
0001ef74 : 8C4263A8  LW      00030000 (v0), 63a8 (00030000 (v0)) [000363a8]
0001ef78 : 27BDFFA8  ADDIU   801ffef8 (sp), 801ffef8 (sp), ffa8 (65448),
0001ef7c : AFB40048  SW      00040000 (s4), 0048 (801ffea0 (sp)) [801ffee8]
0001ef80 : 0080A021  ADDU    00040000 (s4), 00000006 (a0), 00000000 (r0),
0001ef84 : AFBF0054  SW      0001e3bc (ra), 0054 (801ffea0 (sp)) [801ffef4]
0001ef88 : AFB60050  SW      00000000 (s6), 0050 (801ffea0 (sp)) [801ffef0]
0001ef8c : AFB5004C  SW      00030000 (s5), 004c (801ffea0 (sp)) [801ffeec]
0001ef90 : AFB30044  SW      0003d998 (s3), 0044 (801ffea0 (sp)) [801ffee4]
0001ef94 : AFB20040  SW      00000001 (s2), 0040 (801ffea0 (sp)) [801ffee0]
0001ef98 : AFB1003C  SW      00000000 (s1), 003c (801ffea0 (sp)) [801ffedc]
0001ef9c : 10400003  BEQ     00000000 (v0), 00000000 (r0), 0001efac,
0001efa0 : AFB00038  SW      00000010 (s0), 0038 (801ffea0 (sp)) [801ffed8]
0001efac : 00008021  ADDU    00000010 (s0), 00000000 (r0), 00000000 (r0),
0001efb0 : 3C120004  LUI     00000001 (s2), 0004 (4),
0001efb4 : 3C110004  LUI     00000000 (s1), 0004 (4),
0001efb8 : 3C150003  LUI     00030000 (s5), 0003 (3),
0001efbc : 3C130003  LUI     0003d998 (s3), 0003 (3),
0001efc0 : 24160001  ADDIU   00000000 (s6), 00000000 (r0), 0001 (1),
0001efc4 : 328400FF  ANDI    00000006 (a0), 00000006 (s4), 00ff (255),
0001efc8 : 2645D8E8  ADDIU   00000000 (a1), 00040000 (s2), d8e8 (55528),
0001efcc : 0C00B5DB  JAL     0002d76c, 0001e3bc (ra),
0001efd0 : 2626D8D8  ADDIU   00000016 (a2), 00040000 (s1), d8d8 (55512),

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

0002d76c : 27BDFFC8  ADDIU   801ffea0 (sp), 801ffea0 (sp), ffc8 (65480),
0002d770 : AFB10014  SW      00040000 (s1), 0014 (801ffe68 (sp)) [801ffe7c]
0002d774 : 00A08821  ADDU    00040000 (s1), 0003d8e8 (a1), 00000000 (r0),
0002d778 : AFB20018  SW      00040000 (s2), 0018 (801ffe68 (sp)) [801ffe80]
0002d77c : 00C09021  ADDU    00040000 (s2), 0003d8d8 (a2), 00000000 (r0),
0002d780 : AFB40020  SW      00000006 (s4), 0020 (801ffe68 (sp)) [801ffe88]
0002d784 : 0080A021  ADDU    00000006 (s4), 00000006 (a0), 00000000 (r0),
0002d788 : AFB00010  SW      00000000 (s0), 0010 (801ffe68 (sp)) [801ffe78]
0002d78c : 24100003  ADDIU   00000000 (s0), 00000000 (r0), 0003 (3),
0002d790 : AFB3001C  SW      00030000 (s3), 001c (801ffe68 (sp)) [801ffe84]
0002d794 : 329300FF  ANDI    00030000 (s3), 00000006 (s4), 00ff (255),
0002d798 : 3C030004  LUI     00000000 (v1), 0004 (4),
0002d79c : 2463D1AC  ADDIU   00040000 (v1), 00040000 (v1), d1ac (53676),
0002d7a0 : AFB50024  SW      00030000 (s5), 0024 (801ffe68 (sp)) [801ffe8c]
0002d7a4 : 3C150004  LUI     00030000 (s5), 0004 (4),
0002d7a8 : 8EB5D234  LW      00040000 (s5), d234 (00040000 (s5)) [0003d234]
0002d7ac : 00131080  SLL     00000000 (v0), 00000006 (s3), 02 (2),
0002d7b0 : AFB60028  SW      00000001 (s6), 0028 (801ffe68 (sp)) [801ffe90]
0002d7b4 : 0043B021  ADDU    00000001 (s6), 00000018 (v0), 0003d1ac (v1),
0002d7b8 : AFB7002C  SW      00000001 (s7), 002c (801ffe68 (sp)) [801ffe94]
0002d7bc : 0000B821  ADDU    00000001 (s7), 00000000 (r0), 00000000 (r0),
0002d7c0 : AFBE0030  SW      00040000 (fp), 0030 (801ffe68 (sp)) [801ffe98]
0002d7c4 : 241EFFFF  ADDIU   00040000 (fp), 00000000 (r0), ffff (65535),
0002d7c8 : AFBF0034  SW      0001efd4 (ra), 0034 (801ffe68 (sp)) [801ffe9c]
0002d7cc : 3C010004  LUI     00040000 (at), 0004 (4),
0002d7d0 : AC20D234  SW      00000000 (r0), d234 (00040000 (at)) [0003d234]
0002d7d4 : 24080001  ADDIU   00000000 (t0), 00000000 (r0), 0001 (1),
0002d7d8 : 1268000B  BEQ     00000006 (s3), 00000001 (t0), 0002d808,
0002d7dc : 00000000  NOP    
0002d7e0 : 3C020004  LUI     00000018 (v0), 0004 (4),
0002d7e4 : 9042D240  LBU     00040000 (v0), d240 (00040000 (v0)) [0003d240]
0002d7e8 : 00000000  NOP    
0002d7ec : 30420010  ANDI    00000002 (v0), 00000002 (v0), 0010 (16),
0002d7f0 : 10400005  BEQ     00000000 (v0), 00000000 (r0), 0002d808,
0002d7f4 : 24040001  ADDIU   00000006 (a0), 00000000 (r0), 0001 (1),
0002d808 : 1220000B  BEQ     0003d8e8 (s1), 00000000 (r0), 0002d838,
0002d80c : 00000000  NOP    
0002d810 : 8EC20000  LW      00000000 (v0), 0000 (0003d1c4 (s6)) [0003d1c4]
0002d814 : 00000000  NOP    
0002d818 : 10400007  BEQ     00000001 (v0), 00000000 (r0), 0002d838,
0002d81c : 24040002  ADDIU   00000001 (a0), 00000000 (r0), 0002 (2),
0002d820 : 02202821  ADDU    0003d8e8 (a1), 0003d8e8 (s1), 00000000 (r0),
0002d824 : 02403021  ADDU    0003d8d8 (a2), 0003d8d8 (s2), 00000000 (r0),
0002d828 : 0C00B99F  JAL     0002e67c, 0001efd4 (ra),
0002d82c : 00003821  ADDU    00000002 (a3), 00000000 (r0), 00000000 (r0),

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

0002e67c : 3C020004  LUI     00000001 (v0), 0004 (4),
0002e680 : 8C42D23C  LW      00040000 (v0), d23c (00040000 (v0)) [0003d23c]
0002e684 : 27BDFFC8  ADDIU   801ffe68 (sp), 801ffe68 (sp), ffc8 (65480),
0002e688 : AFB00018  SW      00000003 (s0), 0018 (801ffe30 (sp)) [801ffe48]
0002e68c : 00A08021  ADDU    00000003 (s0), 0003d8e8 (a1), 00000000 (r0),
0002e690 : AFB60030  SW      0003d1c4 (s6), 0030 (801ffe30 (sp)) [801ffe60]
0002e694 : 00C0B021  ADDU    0003d1c4 (s6), 0003d8d8 (a2), 00000000 (r0),
0002e698 : AFB20020  SW      0003d8d8 (s2), 0020 (801ffe30 (sp)) [801ffe50]
0002e69c : 00E09021  ADDU    0003d8d8 (s2), 00000000 (a3), 00000000 (r0),
0002e6a0 : AFB1001C  SW      0003d8e8 (s1), 001c (801ffe30 (sp)) [801ffe4c]
0002e6a4 : 00808821  ADDU    0003d8e8 (s1), 00000002 (a0), 00000000 (r0),
0002e6a8 : AFBF0034  SW      0002d830 (ra), 0034 (801ffe30 (sp)) [801ffe64]
0002e6ac : AFB5002C  SW      0002d53c (s5), 002c (801ffe30 (sp)) [801ffe5c]
0002e6b0 : AFB40028  SW      00000006 (s4), 0028 (801ffe30 (sp)) [801ffe58]
0002e6b4 : 28420002  SLTI    00000000 (v0), 00000000 (v0), 0002 (2),
0002e6b8 : 14400009  BNE     00000001 (v0), 00000000 (r0), 0002e6e0,
0002e6bc : AFB30024  SW      00000006 (s3), 0024 (801ffe30 (sp)) [801ffe54]
0002e6e0 : 322200FF  ANDI    00000001 (v0), 00000002 (s1), 00ff (255),
0002e6e4 : 00021880  SLL     0003d1ac (v1), 00000002 (v0), 02 (2),
0002e6e8 : 3C020004  LUI     00000002 (v0), 0004 (4),
0002e6ec : 00431021  ADDU    00040000 (v0), 00040000 (v0), 00000008 (v1),
0002e6f0 : 8C42D478  LW      00040008 (v0), d478 (00040008 (v0)) [0003d480]
0002e6f4 : 00000000  NOP    
0002e6f8 : 10400010  BEQ     00000003 (v0), 00000000 (r0), 0002e73c,
0002e6fc : 00002021  ADDU    00000002 (a0), 00000000 (r0), 00000000 (r0),
0002e700 : 1600000E  BNE     0003d8e8 (s0), 00000000 (r0), 0002e73c,
0002e704 : 00000000  NOP    
(..)

0002e73c : 0C00B84D  JAL     0002e134, 0002d830 (ra),
0002e740 : 00002821  ADDU    0003d8e8 (a1), 00000000 (r0), 00000000 (r0),

0002e744 : 322300FF  ANDI    00000007 (v1), 00000002 (s1), 00ff (255),
0002e748 : 24020002  ADDIU   00000002 (v0), 00000000 (r0), 0002 (2),

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

0002e74c : 1462000D  BNE     00000002 (v1), 00000002 (v0), 0002e784,
0002e750 : 2402000E  ADDIU   00000002 (v0), 00000000 (r0), 000e (14),

0002e754 : 00002021  ADDU    00041278 (a0), 00000000 (r0), 00000000 (r0),
0002e758 : 02041021  ADDU    0000000e (v0), 0003d8e8 (s0), 00000000 (a0),


[LOOP]

; copy CDROM 4-args to INT area

0002e75c : 90420000  LBU     0003d8eb (v0), 0000 (0003d8eb (v0)) [0003d8eb]
0002e760 : 3C010004  LUI     00040002 (at), 0004 (4),
0002e764 : 00240821  ADDU    00040000 (at), 00040000 (at), 00000003 (a0),
0002e768 : A022D24C  SB      00000000 (v0), d24c (00040003 (at)) [0003d24f]
0002e76c : 24840001  ADDIU   00000003 (a0), 00000003 (a0), 0001 (1),
0002e770 : 28820004  SLTI    00000000 (v0), 00000004 (a0), 0004 (4),
0002e774 : 1440FFF9  BNE     00000000 (v0), 00000000 (r0), 0002e75c,
0002e778 : 02041021  ADDU    00000000 (v0), 0003d8e8 (s0), 00000004 (a0),


0002e77c : 322300FF  ANDI    00000002 (v1), 00000002 (s1), 00ff (255),
0002e780 : 2402000E  ADDIU   0003d8ec (v0), 00000000 (r0), 000e (14),

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

; ?????????????????
; ?????????????????
; ?????????????????

0002e784 : 14620004  BNE     00000002 (v1), 0000000e (v0), 0002e798,
0002e788 : 00000000  NOP    
(..)

0002e798 : 3C050004  LUI     00000000 (a1), 0004 (4),
0002e79c : 24A5D510  ADDIU   00040000 (a1), 00040000 (a1), d510 (54544),
0002e7a0 : 00032080  SLL     00000004 (a0), 00000002 (v1), 02 (2),
0002e7a4 : A0A00000  SB      00000000 (r0), 0000 (0003d510 (a1)) [0003d510]
0002e7a8 : 3C020004  LUI     0000000e (v0), 0004 (4),
0002e7ac : 00441021  ADDU    00040000 (v0), 00040000 (v0), 00000008 (a0),
0002e7b0 : 8C42D378  LW      00040008 (v0), d378 (00040008 (v0)) [0003d380]
0002e7b4 : 3C030004  LUI     00000002 (v1), 0004 (4),
0002e7b8 : 10400002  BEQ     00000000 (v0), 00000000 (r0), 0002e7c4,
0002e7bc : 2463D378  ADDIU   00040000 (v1), 00040000 (v1), d378 (54136),
0002e7c4 : 3C020004  LUI     00000000 (v0), 0004 (4),
0002e7c8 : 8C42D4F8  LW      00040000 (v0), d4f8 (00040000 (v0)) [0003d4f8]
0002e7cc : 00000000  NOP    
0002e7d0 : A0400000  SB      00000000 (r0), 0000 (1f801800 (v0)) [1f801800]
0002e7d4 : 24620100  ADDIU   1f801800 (v0), 0003d378 (v1), 0100 (256),
0002e7d8 : 00821821  ADDU    0003d378 (v1), 00000008 (a0), 0003d478 (v0),

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

; check num params

0002e7dc : 8C620000  LW      0003d478 (v0), 0000 (0003d480 (v1)) [0003d480]
0002e7e0 : 00000000  NOP    
0002e7e4 : 1840000D  BLEZ    00000003 (v0), 0002e81c,
0002e7e8 : 00002021  ADDU    00000008 (a0), 00000000 (r0), 00000000 (r0),

0002e7ec : 00602821  ADDU    0003d510 (a1), 0003d480 (v1), 00000000 (r0),
0002e7f0 : 02041021  ADDU    00000003 (v0), 0003d8e8 (s0), 00000000 (a0),


; write parameters to CDROM
; - $02 = time (m:s:f)

0002e7f4 : 3C030004  LUI     1f801802 (v1), 0004 (4),
0002e7f8 : 8C63D500  LW      00040000 (v1), d500 (00040000 (v1)) [0003d500]

; param

0002e7fc : 90420000  LBU     0003d8ea (v0), 0000 (0003d8ea (v0)) [0003d8ea]
0002e800 : 00000000  NOP    
0002e804 : A0620000  SB      00000016 (v0), 0000 (1f801802 (v1)) [1f801802]

; num params

0002e808 : 8CA20000  LW      00000016 (v0), 0000 (0003d480 (a1)) [0003d480]
0002e80c : 24840001  ADDIU   00000002 (a0), 00000002 (a0), 0001 (1),
0002e810 : 0082102A  SLT     00000003 (v0), 00000003 (a0), 00000003 (v0),
0002e814 : 1440FFF7  BNE     00000000 (v0), 00000000 (r0), 0002e7f4,
0002e818 : 02041021  ADDU    00000000 (v0), 0003d8e8 (s0), 00000003 (a0),

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

; $02 = SetLoc
; - write to INT memory, low-level CDROM

0002e81c : 3C020004  LUI     0003d8eb (v0), 0004 (4),
0002e820 : 8C42D4FC  LW      00040000 (v0), d4fc (00040000 (v0)) [0003d4fc]
0002e824 : 3C010004  LUI     00040003 (at), 0004 (4),
0002e828 : A031D251  SB      00000002 (s1), d251 (00040000 (at)) [0003d251]
0002e82c : A0510000  SB      00000002 (s1), 0000 (1f801801 (v0)) [1f801801]

0002e830 : 1640008B  BNE     00000000 (s2), 00000000 (r0), 0002ea60,
0002e834 : 00001021  ADDU    1f801801 (v0), 00000000 (r0), 00000000 (r0),
0002e838 : 0C00A110  JAL     00028440, 0002e744 (ra),
0002e83c : 2404FFFF  ADDIU   00000003 (a0), 00000000 (r0), ffff (65535),
