S 002 CDIntToPos
Jump to navigation
Jump to search
0001efbc: 3c031b4e lui r3,0x1b4e 0001efc0: 346381b5 ori r3,r3,0x81b5 10/96 0001efc4: 24840096 addiu r4,r4,0x0096 r4 = LBA + 96 0001efc8: 00830018 mult r4,r3 (LBA + 96) x 10 / 96 0001efcc: 00a01021 addu r2,r5,r0 0001efd0: 3c076666 lui r7,0x6666 0001efd4: 34e76667 ori r7,r7,0x6667 6/f, 2/5 0001efd8: 00041fc3 sra r3,r4,0x1f // negative sign (rounding) 0001efdc: 00003010 mfhi r6 r6 = LBA x 10 / 96 0001efe0: 000630c3 sra r6,r6,0x03 0001efe4: 00c33023 subu r6,r6,r3 r6 = LBA x 10 / 4B0 0001efe8: 00062880 sll r5,r6,0x02 0001efec: 00a62821 addu r5,r5,r6 r5 = LBA x 50 / 4B0 0001eff0: 00051900 sll r3,r5,0x04 0001eff4: 00651823 subu r3,r3,r5 r3 = LBA x 4B0 / 4B0 0001eff8: 00832023 subu r4,r4,r3 r4 = Mod(LBA,4B0) // Remainer of LBA/1,200 0001effc: 00870018 mult r4,r7 0001f000: 00004010 mfhi r8 r8 = LBA x 4B0 / 4B0 x 2/5 0001f004: 3c038888 lui r3,0x8888 0001f008: 34638889 ori r3,r3,0x8889 8/f 0001f00c: 00c30018 mult r6,r3 0001f010: 00061fc3 sra r3,r6,0x1f // negative sign (rounding) 0001f014: 00004810 mfhi r9 r9 = LBA x 80 / 4650 0001f018: 01264821 addu r9,r9,r6 r9 = LBA x 170 / 4650 0001f01c: 00094943 sra r9,r9,0x05 0001f020: 01234823 subu r9,r9,r3 r9 = LBA x 170 / 4650 // and I give up around about here 0001f024: 00091900 sll r3,r9,0x04 0001f028: 00691823 subu r3,r3,r9 0001f02c: 00031880 sll r3,r3,0x02 0001f030: 00c33023 subu r6,r6,r3 0001f034: 00c70018 mult r6,r7 0001f038: 00084083 sra r8,r8,0x02 0001f03c: 00041fc3 sra r3,r4,0x1f 0001f040: 01034023 subu r8,r8,r3 0001f044: 00081880 sll r3,r8,0x02 0001f048: 00681821 addu r3,r3,r8 0001f04c: 00031840 sll r3,r3,0x01 0001f050: 00002810 mfhi r5 0001f054: 00832023 subu r4,r4,r3 0001f058: 00061fc3 sra r3,r6,0x1f 0001f05c: 01270018 mult r9,r7 0001f060: 00083900 sll r7,r8,0x04 0001f064: 00e43821 addu r7,r7,r4 0001f068: 00052883 sra r5,r5,0x02 0001f06c: 00a32823 subu r5,r5,r3 0001f070: 00052100 sll r4,r5,0x04 0001f074: 00051880 sll r3,r5,0x02 0001f078: 00651821 addu r3,r3,r5 0001f07c: 00031840 sll r3,r3,0x01 0001f080: 00c33023 subu r6,r6,r3 0001f084: 00862021 addu r4,r4,r6 0001f088: a0440001 sb r4,0x0001(r2) store seconds in decimal (LBA + 150 / 75 %% 60) 0001f08c: 000927c3 sra r4,r9,0x1f 0001f090: a0470002 sb r7,0x0002(r2) store sectors in decimal (LBA + 150 %% 75) 0001f094: 00001810 mfhi r3 0001f098: 00031883 sra r3,r3,0x02 0001f09c: 00641823 subu r3,r3,r4 0001f0a0: 00032900 sll r5,r3,0x04 0001f0a4: 00032080 sll r4,r3,0x02 0001f0a8: 00832021 addu r4,r4,r3 0001f0ac: 00042040 sll r4,r4,0x01 0001f0b0: 01244823 subu r9,r9,r4 0001f0b4: 00a92821 addu r5,r5,r9 0001f0b8: 03e00008 jr r31 0001f0bc: a0450000 sb r5,0x0000(r2) store minutes in decimal (LBA + 150 / 75 / 60)