S 016 CdControl
Jump to navigation
Jump to search
0001fc04: 3c028003 lui r2,0x8003 0001fc08: 8c421888 lw r2,0x1888(r2) 0001fc0c: 27bdffb0 addiu r29,r29,0xffb0 0001fc10: afb5003c sw r21,0x003c(r29) 0001fc14: 00a0a821 addu r21,r5,r0 # CDlLOC file to load address (? only when using setloc? assume only when using setloc.) 0001fc18: afb70044 sw r23,0x0044(r29) 0001fc1c: 00c0b821 addu r23,r6,r0 0001fc20: afb00028 sw r16,0x0028(r29) 0001fc24: 00e08021 addu r16,r7,r0 0001fc28: afb30034 sw r19,0x0034(r29) 0001fc2c: 00809821 addu r19,r4,r0 # CDROM instruction to send 0001fc30: afbf0048 sw r31,0x0048(r29) 0001fc34: afb60040 sw r22,0x0040(r29) 0001fc38: afb40038 sw r20,0x0038(r29) 0001fc3c: afb20030 sw r18,0x0030(r29) 0001fc40: 28420002 slti r2,r2,0x0002 0001fc44: 1440000a bne r2,r0,0x0001fc70 0001fc48: afb1002c sw r17,0x002c(r29) 0001fc4c: 326200ff andi r2,r19,0x00ff 0001fc50: 00021080 sll r2,r2,0x02 0001fc54: 3c018003 lui r1,0x8003 0001fc58: 00220821 addu r1,r1,r2 0001fc5c: 8c2518a0 lw r5,0x18a0(r1) 0001fc60: 3c048001 lui r4,0x8001 0001fc64: 248403a8 addiu r4,r4,0x03a8 0001fc68: 0c0088cb jal 0x0002232c 0001fc6c: 00000000 nop 0001fc70: 326200ff andi r2,r19,0x00ff 0001fc74: 00021880 sll r3,r2,0x02 0001fc78: 3c018003 lui r1,0x8003 0001fc7c: 00230821 addu r1,r1,r3 0001fc80: 8c221ac0 lw r2,0x1ac0(r1) 0001fc84: 00000000 nop 0001fc88: 10400011 beq r2,r0,0x0001fcd0 0001fc8c: 00002021 addu r4,r0,r0 0001fc90: 16a0000f bne r21,r0,0x0001fcd0 0001fc94: 00000000 nop 0001fc98: 3c028003 lui r2,0x8003 0001fc9c: 8c421888 lw r2,0x1888(r2) 0001fca0: 00000000 nop 0001fca4: 184000dd blez r2,0x0002001c 0001fca8: 2402fffe addiu r2,r0,0xfffe 0001fcac: 3c018003 lui r1,0x8003 0001fcb0: 00230821 addu r1,r1,r3 0001fcb4: 8c2518a0 lw r5,0x18a0(r1) 0001fcb8: 3c048001 lui r4,0x8001 0001fcbc: 248403b0 addiu r4,r4,0x03b0 0001fcc0: 0c0088cb jal 0x0002232c 0001fcc4: 00000000 nop 0001fcc8: 08008007 j 0x0002001c 0001fccc: 2402fffe addiu r2,r0,0xfffe
0001fcd0: 0c007dae jal 0x0001f6b8 0001fcd4: 00002821 addu r5,r0,r0 0001fcd8: 326300ff andi r3,r19,0x00ff 0001fcdc: 34020002 ori r2,r0,0x0002 0001fce0: 1462000a bne r3,r2,0x0001fd0c 0001fce4: 00002021 addu r4,r0,r0 0001fce8: 02a01821 addu r3,r21,r0 0001fcec: 90620000 lbu r2,0x0000(r3) 0001fcf0: 3c018003 lui r1,0x8003 0001fcf4: 00240821 addu r1,r1,r4 0001fcf8: a0221898 sb r2,0x1898(r1) 0001fcfc: 24840001 addiu r4,r4,0x0001 0001fd00: 28820004 slti r2,r4,0x0004 0001fd04: 1440fff9 bne r2,r0,0x0001fcec 0001fd08: 24630001 addiu r3,r3,0x0001 0001fd0c: 3c028003 lui r2,0x8003 0001fd10: 24421b58 addiu r2,r2,0x1b58 0001fd14: a0400000 sb r0,0x0000(r2) 0001fd18: 326200ff andi r2,r19,0x00ff 0001fd1c: 00022080 sll r4,r2,0x02 # CDInst * 4 0001fd20: 3c018003 lui r1,0x8003 0001fd24: 00240821 addu r1,r1,r4 0001fd28: 8c2219c0 lw r2,0x19c0(r1) # check for queue to load file? 0001fd2c: 3c038003 lui r3,0x8003 0001fd30: 246319c0 addiu r3,r3,0x19c0 # 800319c0 (data related to what to load?) 0001fd34: 10400003 beq r2,r0,0x0001fd44 0001fd38: 00000000 nop 0001fd3c: 3c018003 lui r1,0x8003 0001fd40: a0201b59 sb r0,0x1b59(r1) 0001fd44: 3c028003 lui r2,0x8003 0001fd48: 8c421b40 lw r2,0x1b40(r2) 0001fd4c: 00000000 nop 0001fd50: a0400000 sb r0,0x0000(r2) 0001fd54: 24620100 addiu r2,r3,0x0100 0001fd58: 00821821 addu r3,r4,r2 # 0001fd5c: 8c620000 lw r2,0x0000(r3) 0001fd60: 00000000 nop 0001fd64: 1840000d blez r2,0x0001fd9c 0001fd68: 00002021 addu r4,r0,r0 0001fd6c: 00603021 addu r6,r3,r0 0001fd70: 02a02821 addu r5,r21,r0 0001fd74: 3c038003 lui r3,0x8003 0001fd78: 8c631b48 lw r3,0x1b48(r3) # CDROM drive parameter 0001fd7c: 90a20000 lbu r2,0x0000(r5) # load CDlLOC data (minutes, seconds, sectors) 0001fd80: 24a50001 addiu r5,r5,0x0001 0001fd84: a0620000 sb r2,0x0000(r3) # store in CDROM register 0001fd88: 8cc20000 lw r2,0x0000(r6) # amount of data to parse to parameter register? 0001fd8c: 24840001 addiu r4,r4,0x0001 0001fd90: 0082102a slt r2,r4,r2 0001fd94: 1440fff7 bne r2,r0,0x0001fd74 # loop for all data to give to CDROM register 0001fd98: 00000000 nop 0001fd9c: 3c028003 lui r2,0x8003 0001fda0: 8c421b44 lw r2,0x1b44(r2) 0001fda4: 3c018003 lui r1,0x8003 0001fda8: a033189d sb r19,0x189d(r1) # store instruction to CPU RAM as well. 0001fdac: a0530000 sb r19,0x0000(r2) # Store command (probably setloc?) to CDROM register 0001fdb0: 1600009a bne r16,r0,0x0002001c 0001fdb4: 00001021 addu r2,r0,r0 0001fdb8: 0c0076ea jal 0x0001dba8 0001fdbc: 2404ffff addiu r4,r0,0xffff 0001fdc0: 244203c0 addiu r2,r2,0x03c0 0001fdc4: 3c048003 lui r4,0x8003 0001fdc8: 24841b58 addiu r4,r4,0x1b58 0001fdcc: 3c018003 lui r1,0x8003 0001fdd0: ac222a94 sw r2,0x2a94(r1) 0001fdd4: 3c018003 lui r1,0x8003 0001fdd8: ac202a98 sw r0,0x2a98(r1) 0001fddc: 90830000 lbu r3,0x0000(r4) 0001fde0: 3c028001 lui r2,0x8001 0001fde4: 244203c0 addiu r2,r2,0x03c0 0001fde8: 3c018003 lui r1,0x8003 0001fdec: ac222a9c sw r2,0x2a9c(r1) 0001fdf0: 14600069 bne r3,r0,0x0001ff98 0001fdf4: 00000000 nop 0001fdf8: 3c148003 lui r20,0x8003 0001fdfc: 26941920 addiu r20,r20,0x1920 0001fe00: 00809021 addu r18,r4,r0 0001fe04: 24960001 addiu r22,r4,0x0001 0001fe08: 0c0076ea jal 0x0001dba8 0001fe0c: 2404ffff addiu r4,r0,0xffff 0001fe10: 3c038003 lui r3,0x8003 0001fe14: 8c632a94 lw r3,0x2a94(r3) 0001fe18: 00000000 nop 0001fe1c: 0062182a slt r3,r3,r2 0001fe20: 1460000b bne r3,r0,0x0001fe50 0001fe24: 00000000 nop 0001fe28: 3c038003 lui r3,0x8003 0001fe2c: 8c632a98 lw r3,0x2a98(r3) 0001fe30: 00000000 nop 0001fe34: 24620001 addiu r2,r3,0x0001 0001fe38: 3c018003 lui r1,0x8003 0001fe3c: ac222a98 sw r2,0x2a98(r1) 0001fe40: 3c02003c lui r2,0x003c 0001fe44: 0043102a slt r2,r2,r3 0001fe48: 1040001e beq r2,r0,0x0001fec4 0001fe4c: 00000000 nop 0001fe50: 3c048001 lui r4,0x8001 0001fe54: 2484030c addiu r4,r4,0x030c 0001fe58: 0c0088a3 jal 0x0002228c 0001fe5c: 00000000 nop 0001fe60: 92440000 lbu r4,0x0000(r18) 0001fe64: 92420001 lbu r2,0x0001(r18) 0001fe68: 3c058003 lui r5,0x8003 0001fe6c: 8ca52a9c lw r5,0x2a9c(r5) 0001fe70: 00021080 sll r2,r2,0x02 0001fe74: 00541021 addu r2,r2,r20 0001fe78: 00042080 sll r4,r4,0x02 0001fe7c: 8c430000 lw r3,0x0000(r2) 0001fe80: 3c028003 lui r2,0x8003 0001fe84: 9042189d lbu r2,0x189d(r2) 0001fe88: 00942021 addu r4,r4,r20 0001fe8c: 00021080 sll r2,r2,0x02 0001fe90: afa30010 sw r3,0x0010(r29) 0001fe94: 3c018003 lui r1,0x8003 0001fe98: 00220821 addu r1,r1,r2 0001fe9c: 8c2618a0 lw r6,0x18a0(r1) 0001fea0: 8c870000 lw r7,0x0000(r4) 0001fea4: 3c048001 lui r4,0x8001 0001fea8: 2484031c addiu r4,r4,0x031c 0001feac: 0c0088cb jal 0x0002232c 0001feb0: 00000000 nop 0001feb4: 0c008035 jal 0x000200d4 0001feb8: 00000000 nop 0001febc: 08007fb2 j 0x0001fec8 0001fec0: 2402ffff addiu r2,r0,0xffff
0001fec4: 00001021 addu r2,r0,r0 0001fec8: 14400054 bne r2,r0,0x0002001c 0001fecc: 2402ffff addiu r2,r0,0xffff 0001fed0: 0c0077b8 jal 0x0001dee0 0001fed4: 00000000 nop 0001fed8: 1040002b beq r2,r0,0x0001ff88 0001fedc: 00000000 nop 0001fee0: 3c028003 lui r2,0x8003 0001fee4: 8c421b40 lw r2,0x1b40(r2) 0001fee8: 00000000 nop 0001feec: 90420000 lbu r2,0x0000(r2) 0001fef0: 00000000 nop 0001fef4: 30510003 andi r17,r2,0x0003 0001fef8: 0c007c50 jal 0x0001f140 0001fefc: 00000000 nop 0001ff00: 00408021 addu r16,r2,r0 0001ff04: 1200001c beq r16,r0,0x0001ff78 0001ff08: 32020004 andi r2,r16,0x0004 0001ff0c: 1040000c beq r2,r0,0x0001ff40 0001ff10: 32020002 andi r2,r16,0x0002 0001ff14: 3c028003 lui r2,0x8003 0001ff18: 8c421880 lw r2,0x1880(r2) 0001ff1c: 00000000 nop 0001ff20: 10400006 beq r2,r0,0x0001ff3c 0001ff24: 00000000 nop 0001ff28: 92c40000 lbu r4,0x0000(r22) 0001ff2c: 3c058003 lui r5,0x8003 0001ff30: 24a52a84 addiu r5,r5,0x2a84 0001ff34: 0040f809 jalr r2,r31 0001ff38: 00000000 nop 0001ff3c: 32020002 andi r2,r16,0x0002 0001ff40: 1040ffed beq r2,r0,0x0001fef8 0001ff44: 00000000 nop 0001ff48: 3c028003 lui r2,0x8003 0001ff4c: 8c42187c lw r2,0x187c(r2) 0001ff50: 00000000 nop 0001ff54: 1040ffe8 beq r2,r0,0x0001fef8 0001ff58: 00000000 nop 0001ff5c: 92440000 lbu r4,0x0000(r18) 0001ff60: 3c058003 lui r5,0x8003 0001ff64: 24a52a7c addiu r5,r5,0x2a7c 0001ff68: 0040f809 jalr r2,r31 0001ff6c: 00000000 nop 0001ff70: 08007fbe j 0x0001fef8 0001ff74: 00000000 nop
0001ff78: 3c028003 lui r2,0x8003 0001ff7c: 8c421b40 lw r2,0x1b40(r2) 0001ff80: 00000000 nop 0001ff84: a0510000 sb r17,0x0000(r2) 0001ff88: 92420000 lbu r2,0x0000(r18) 0001ff8c: 00000000 nop 0001ff90: 1040ff9d beq r2,r0,0x0001fe08 0001ff94: 00000000 nop 0001ff98: 3c028003 lui r2,0x8003 0001ff9c: 24421b58 addiu r2,r2,0x1b58 0001ffa0: 90420000 lbu r2,0x0000(r2) 0001ffa4: 34030002 ori r3,r0,0x0002 0001ffa8: 304200ff andi r2,r2,0x00ff 0001ffac: 14430008 bne r2,r3,0x0001ffd0 0001ffb0: 02e03021 addu r6,r23,r0 0001ffb4: 326300ff andi r3,r19,0x00ff 0001ffb8: 3402000e ori r2,r0,0x000e 0001ffbc: 14620004 bne r3,r2,0x0001ffd0 0001ffc0: 00000000 nop 0001ffc4: 92a20000 lbu r2,0x0000(r21) 0001ffc8: 3c018003 lui r1,0x8003 0001ffcc: a022189c sb r2,0x189c(r1) 0001ffd0: 3c048003 lui r4,0x8003 0001ffd4: 24842a7c addiu r4,r4,0x2a7c 0001ffd8: 10c00009 beq r6,r0,0x00020000 0001ffdc: 00000000 nop 0001ffe0: 34030007 ori r3,r0,0x0007 0001ffe4: 2405ffff addiu r5,r0,0xffff 0001ffe8: 90820000 lbu r2,0x0000(r4) 0001ffec: 24840001 addiu r4,r4,0x0001 0001fff0: 2463ffff addiu r3,r3,0xffff 0001fff4: a0c20000 sb r2,0x0000(r6) 0001fff8: 1465fffb bne r3,r5,0x0001ffe8 0001fffc: 24c60001 addiu r6,r6,0x0001 00020000: 3c028003 lui r2,0x8003 00020004: 24421b58 addiu r2,r2,0x1b58 00020008: 90420000 lbu r2,0x0000(r2) 0002000c: 00000000 nop 00020010: 38420005 xori r2,r2,0x0005 00020014: 2c420001 sltiu r2,r2,0x0001 00020018: 00021023 subu r2,r0,r2 0002001c: 8fbf0048 lw r31,0x0048(r29) 00020020: 8fb70044 lw r23,0x0044(r29) 00020024: 8fb60040 lw r22,0x0040(r29) 00020028: 8fb5003c lw r21,0x003c(r29) 0002002c: 8fb40038 lw r20,0x0038(r29) 00020030: 8fb30034 lw r19,0x0034(r29) 00020034: 8fb20030 lw r18,0x0030(r29) 00020038: 8fb1002c lw r17,0x002c(r29) 0002003c: 8fb00028 lw r16,0x0028(r29) 00020040: 27bd0050 addiu r29,r29,0x0050 00020044: 03e00008 jr r31 00020048: 00000000 nop