Running bfc00000 COP0: 00 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: /// WHAT HAS SCIENCE DONE!?!?!? 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[0] = (UInt64) 0; 0008: Reg[1] = (UInt64) (((UInt32) Reg[26] < 0x59) ? 1 : 0); 0009: if((UInt32) Reg[1] != Reg[0]) { 0010: Reg[0] = (UInt64) 0; 0011: return (UInt32) 0xbfc00024; 0012: } else { 0013: return (UInt32) 0xbfc00014; 0014: } 0015: } 0016: } 0017: } 0018: Running bfc00024 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[26] = (UInt64) 0xbfc00000; 0008: Reg[26] = (UInt64) ((UInt32) Reg[26] ^ 0x2000); 0009: Reg[0] = (UInt64) 0; 0010: return (UInt32) (UInt32) Reg[26]; 0011: } 0012: } 0013: } 0014: Running bfc02000 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: if(Reg[0] == 0) { 0008: Reg[0] = (UInt64) 0; 0009: return (UInt32) 0xbfc02028; 0010: } else { 0011: return (UInt32) 0xbfc02008; 0012: } 0013: } 0014: } 0015: } 0016: Running bfc02028 COP0: 00 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[0] = (UInt64) 0; 0008: Reg[1] = (UInt64) (((UInt32) Reg[8] < 0x10) ? 1 : 0); 0009: if((UInt32) Reg[1] != Reg[0]) { 0010: Reg[0] = (UInt64) 0; 0011: return (UInt32) 0xbfc02054; 0012: } else { 0013: return (UInt32) 0xbfc0203c; 0014: } 0015: } 0016: } 0017: } 0018: Running bfc02054 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[8] = (UInt64) 0xbfc00000; 0008: Reg[8] = (UInt64) ((UInt32) Reg[8] + 0x24a8); 0009: Reg[0] = (UInt64) 0; 0010: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc02064); 0011: Reg[10] = (UInt64) MMU.GetUInt32((UInt32) ((UInt32) Reg[8] + 0x04), 0xbfc02068); 0012: Reg[11] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[9], 0xbfc0206c); 0013: Reg[8] = (UInt64) ((UInt32) Reg[8] + 0x08); 0014: Reg[11] = (UInt64) ((UInt32) Reg[11] & 0x1000); 0015: Reg[10] = (UInt64) ((UInt32) Reg[10] | (UInt32) Reg[11]); 0016: MMU.SetUInt32((UInt32) (UInt32) Reg[9], (UInt32) Reg[10], 0xbfc0207c); 0017: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc02080); 0018: Reg[10] = (UInt64) MMU.GetUInt32((UInt32) ((UInt32) Reg[8] + 0x04), 0xbfc02084); 0019: if(Reg[9] == 0) { 0020: Reg[0] = (UInt64) 0; 0021: return (UInt32) 0xbfc02098; 0022: } else { 0023: return (UInt32) 0xbfc0208c; 0024: } 0025: } 0026: } 0027: } 0028: Getting HW reg bf801010 [UInt32] Setting HW reg bf801010 to 0015243f Running bfc0208c 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: MMU.SetUInt32((UInt32) (UInt32) Reg[9], (UInt32) Reg[10], 0xbfc02090); 0008: if(Reg[0] == 0) { 0009: Reg[8] = (UInt64) ((UInt32) Reg[8] + 0x08); 0010: return (UInt32) 0xbfc0207c; 0011: } else { 0012: return (UInt32) 0xbfc02098; 0013: } 0014: } 0015: } 0016: } 0017: Setting HW reg bf801020 to 00001225 Running bfc0207c 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc02080); 0008: Reg[10] = (UInt64) MMU.GetUInt32((UInt32) ((UInt32) Reg[8] + 0x04), 0xbfc02084); 0009: if(Reg[9] == 0) { 0010: Reg[0] = (UInt64) 0; 0011: return (UInt32) 0xbfc02098; 0012: } else { 0013: return (UInt32) 0xbfc0208c; 0014: } 0015: } 0016: } 0017: } 0018: Setting HW reg bf80101c to 000000ff Setting HW reg bf801004 to 1f802000 Setting HW reg bf80101c to 000d2077 Setting HW reg bf802070 to 000000fe Setting HW reg bf801008 to 000000ff Setting HW reg bf801000 to 1f000000 Setting HW reg bf801008 to 00142455 Setting HW reg bf801014 to 200931e1 Setting HW reg bf801018 to 00020843 Setting HW reg bf80100c to 00153044 Setting HW reg bf8010f0 to 07777777 Setting HW reg bf808268 to 40000000 Setting HW reg bf808240 to 06060a05 Setting HW reg bf808248 to 06060a05 Setting HW reg bf808250 to 06060a05 Setting HW reg bf808258 to 06060a05 Setting HW reg bf808244 to 00050400 Setting HW reg bf80824c to 00050400 Setting HW reg bf808254 to 00050400 Setting HW reg bf80825c to 00050400 Running bfc02098 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[3] = (UInt64) 0x01; 0008: Reg[1] = (UInt64) 0xbf800000; 0009: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[3], 0xbfc020a4); 0010: Reg[0] = (UInt64) 0; 0011: if(Reg[0] == 0) { 0012: Reg[0] = (UInt64) 0; 0013: return (UInt32) 0xbfc02104; 0014: } else { 0015: return (UInt32) 0xbfc020b0; 0016: } 0017: } 0018: } 0019: } 0020: Setting HW reg bf802070 to 01 Running bfc02104 COP0: 04 COP0: 04 COP0: 04 COP0: 04 COP0: 04 COP0: 04 COP0: 04 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[1] = (UInt64) 0; 0008: Reg[2] = (UInt64) 0; 0009: Reg[3] = (UInt64) 0; 0010: Reg[4] = (UInt64) 0; 0011: Reg[5] = (UInt64) 0; 0012: Reg[6] = (UInt64) 0; 0013: Reg[7] = (UInt64) 0; 0014: Reg[8] = (UInt64) 0; 0015: Reg[9] = (UInt64) 0; 0016: Reg[10] = (UInt64) 0; 0017: Reg[11] = (UInt64) 0; 0018: Reg[12] = (UInt64) 0; 0019: Reg[13] = (UInt64) 0; 0020: Reg[14] = (UInt64) 0; 0021: Reg[15] = (UInt64) 0; 0022: Reg[16] = (UInt64) 0; 0023: Reg[17] = (UInt64) 0; 0024: Reg[18] = (UInt64) 0; 0025: Reg[19] = (UInt64) 0; 0026: Reg[20] = (UInt64) 0; 0027: Reg[21] = (UInt64) 0; 0028: Reg[22] = (UInt64) 0; 0029: Reg[23] = (UInt64) 0; 0030: Reg[24] = (UInt64) 0; 0031: Reg[25] = (UInt64) 0; 0032: Reg[26] = (UInt64) 0; 0033: Reg[27] = (UInt64) 0; 0034: Reg[28] = (UInt64) 0; 0035: Reg[29] = (UInt64) 0; 0036: Reg[30] = (UInt64) 0; 0037: Reg[31] = (UInt64) 0; 0038: Reg[0] = (UInt64) 0; 0039: Reg[0] = (UInt64) 0; 0040: Reg[0] = (UInt64) 0; 0041: Reg[0] = (UInt64) 0; 0042: Reg[0] = (UInt64) 0; 0043: Reg[0] = (UInt64) 0; 0044: Reg[9] = (UInt64) 0x0cc4; 0045: Reg[1] = (UInt64) 0xfffe0000; 0046: MMU.SetUInt32((UInt32) ((UInt32) Reg[1] + 0x0130), (UInt32) Reg[9], 0xbfc021bc); 0047: Reg[12] = (UInt64) 0x00010000; 0048: Reg[0] = (UInt64) 0; 0049: Reg[0] = (UInt64) 0; 0050: Reg[10] = (UInt64) 0; 0051: Reg[11] = (UInt64) 0x0f80; 0052: MMU.SetUInt32((UInt32) (UInt32) Reg[10], (UInt32) Reg[0], 0xbfc021d8); 0053: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x10), (UInt32) Reg[0], 0xbfc021dc); 0054: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x20), (UInt32) Reg[0], 0xbfc021e0); 0055: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x30), (UInt32) Reg[0], 0xbfc021e4); 0056: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x40), (UInt32) Reg[0], 0xbfc021e8); 0057: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x50), (UInt32) Reg[0], 0xbfc021ec); 0058: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x60), (UInt32) Reg[0], 0xbfc021f0); 0059: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x70), (UInt32) Reg[0], 0xbfc021f4); 0060: if((UInt32) Reg[10] != Reg[11]) { 0061: Reg[10] = (UInt64) ((UInt32) Reg[10] + 0x80); 0062: return (UInt32) 0xbfc021d4; 0063: } else { 0064: return (UInt32) 0xbfc021fc; 0065: } 0066: } 0067: } 0068: } 0069: Setting cache control: 00000cc4 Running bfc021d4 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: MMU.SetUInt32((UInt32) (UInt32) Reg[10], (UInt32) Reg[0], 0xbfc021d8); 0008: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x10), (UInt32) Reg[0], 0xbfc021dc); 0009: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x20), (UInt32) Reg[0], 0xbfc021e0); 0010: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x30), (UInt32) Reg[0], 0xbfc021e4); 0011: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x40), (UInt32) Reg[0], 0xbfc021e8); 0012: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x50), (UInt32) Reg[0], 0xbfc021ec); 0013: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x60), (UInt32) Reg[0], 0xbfc021f0); 0014: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x70), (UInt32) Reg[0], 0xbfc021f4); 0015: if((UInt32) Reg[10] != Reg[11]) { 0016: Reg[10] = (UInt64) ((UInt32) Reg[10] + 0x80); 0017: return (UInt32) 0xbfc021d4; 0018: } else { 0019: return (UInt32) 0xbfc021fc; 0020: } 0021: } 0022: } 0023: } 0024: Running bfc021fc COP0: 04 COP0: 04 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[3] = (UInt64) 0x03; 0008: Reg[1] = (UInt64) 0xbf800000; 0009: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[3], 0xbfc02208); 0010: Reg[0] = (UInt64) 0; 0011: Reg[0] = (UInt64) 0; 0012: Reg[9] = (UInt64) 0x0cc0; 0013: Reg[1] = (UInt64) 0xfffe0000; 0014: MMU.SetUInt32((UInt32) ((UInt32) Reg[1] + 0x0130), (UInt32) Reg[9], 0xbfc02220); 0015: Reg[0] = (UInt64) 0; 0016: Reg[0] = (UInt64) 0; 0017: Reg[10] = (UInt64) 0; 0018: Reg[11] = (UInt64) 0x0f80; 0019: MMU.SetUInt32((UInt32) (UInt32) Reg[10], (UInt32) Reg[0], 0xbfc02238); 0020: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x04), (UInt32) Reg[0], 0xbfc0223c); 0021: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x08), (UInt32) Reg[0], 0xbfc02240); 0022: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x0c), (UInt32) Reg[0], 0xbfc02244); 0023: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x10), (UInt32) Reg[0], 0xbfc02248); 0024: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x14), (UInt32) Reg[0], 0xbfc0224c); 0025: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x18), (UInt32) Reg[0], 0xbfc02250); 0026: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x1c), (UInt32) Reg[0], 0xbfc02254); 0027: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x20), (UInt32) Reg[0], 0xbfc02258); 0028: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x24), (UInt32) Reg[0], 0xbfc0225c); 0029: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x28), (UInt32) Reg[0], 0xbfc02260); 0030: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x2c), (UInt32) Reg[0], 0xbfc02264); 0031: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x30), (UInt32) Reg[0], 0xbfc02268); 0032: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x34), (UInt32) Reg[0], 0xbfc0226c); 0033: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x38), (UInt32) Reg[0], 0xbfc02270); 0034: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x3c), (UInt32) Reg[0], 0xbfc02274); 0035: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x40), (UInt32) Reg[0], 0xbfc02278); 0036: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x44), (UInt32) Reg[0], 0xbfc0227c); 0037: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x48), (UInt32) Reg[0], 0xbfc02280); 0038: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x4c), (UInt32) Reg[0], 0xbfc02284); 0039: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x50), (UInt32) Reg[0], 0xbfc02288); 0040: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x54), (UInt32) Reg[0], 0xbfc0228c); 0041: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x58), (UInt32) Reg[0], 0xbfc02290); 0042: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x5c), (UInt32) Reg[0], 0xbfc02294); 0043: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x60), (UInt32) Reg[0], 0xbfc02298); 0044: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x64), (UInt32) Reg[0], 0xbfc0229c); 0045: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x68), (UInt32) Reg[0], 0xbfc022a0); 0046: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x6c), (UInt32) Reg[0], 0xbfc022a4); 0047: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x70), (UInt32) Reg[0], 0xbfc022a8); 0048: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x74), (UInt32) Reg[0], 0xbfc022ac); 0049: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x78), (UInt32) Reg[0], 0xbfc022b0); 0050: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x7c), (UInt32) Reg[0], 0xbfc022b4); 0051: if((UInt32) Reg[10] != Reg[11]) { 0052: Reg[10] = (UInt64) ((UInt32) Reg[10] + 0x80); 0053: return (UInt32) 0xbfc02234; 0054: } else { 0055: return (UInt32) 0xbfc022bc; 0056: } 0057: } 0058: } 0059: } 0060: Setting HW reg bf802070 to 03 Setting cache control: 00000cc0 Running bfc02234 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: MMU.SetUInt32((UInt32) (UInt32) Reg[10], (UInt32) Reg[0], 0xbfc02238); 0008: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x04), (UInt32) Reg[0], 0xbfc0223c); 0009: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x08), (UInt32) Reg[0], 0xbfc02240); 0010: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x0c), (UInt32) Reg[0], 0xbfc02244); 0011: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x10), (UInt32) Reg[0], 0xbfc02248); 0012: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x14), (UInt32) Reg[0], 0xbfc0224c); 0013: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x18), (UInt32) Reg[0], 0xbfc02250); 0014: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x1c), (UInt32) Reg[0], 0xbfc02254); 0015: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x20), (UInt32) Reg[0], 0xbfc02258); 0016: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x24), (UInt32) Reg[0], 0xbfc0225c); 0017: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x28), (UInt32) Reg[0], 0xbfc02260); 0018: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x2c), (UInt32) Reg[0], 0xbfc02264); 0019: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x30), (UInt32) Reg[0], 0xbfc02268); 0020: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x34), (UInt32) Reg[0], 0xbfc0226c); 0021: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x38), (UInt32) Reg[0], 0xbfc02270); 0022: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x3c), (UInt32) Reg[0], 0xbfc02274); 0023: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x40), (UInt32) Reg[0], 0xbfc02278); 0024: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x44), (UInt32) Reg[0], 0xbfc0227c); 0025: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x48), (UInt32) Reg[0], 0xbfc02280); 0026: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x4c), (UInt32) Reg[0], 0xbfc02284); 0027: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x50), (UInt32) Reg[0], 0xbfc02288); 0028: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x54), (UInt32) Reg[0], 0xbfc0228c); 0029: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x58), (UInt32) Reg[0], 0xbfc02290); 0030: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x5c), (UInt32) Reg[0], 0xbfc02294); 0031: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x60), (UInt32) Reg[0], 0xbfc02298); 0032: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x64), (UInt32) Reg[0], 0xbfc0229c); 0033: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x68), (UInt32) Reg[0], 0xbfc022a0); 0034: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x6c), (UInt32) Reg[0], 0xbfc022a4); 0035: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x70), (UInt32) Reg[0], 0xbfc022a8); 0036: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x74), (UInt32) Reg[0], 0xbfc022ac); 0037: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x78), (UInt32) Reg[0], 0xbfc022b0); 0038: MMU.SetUInt32((UInt32) ((UInt32) Reg[10] + 0x7c), (UInt32) Reg[0], 0xbfc022b4); 0039: if((UInt32) Reg[10] != Reg[11]) { 0040: Reg[10] = (UInt64) ((UInt32) Reg[10] + 0x80); 0041: return (UInt32) 0xbfc02234; 0042: } else { 0043: return (UInt32) 0xbfc022bc; 0044: } 0045: } 0046: } 0047: } 0048: Running bfc022bc COP0: 04 COP0: 00 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[0] = (UInt64) 0; 0008: Reg[8] = (UInt64) 0xa0000000; 0009: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022cc); 0010: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022d0); 0011: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022d4); 0012: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022d8); 0013: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022dc); 0014: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022e0); 0015: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022e4); 0016: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc022e8); 0017: Reg[0] = (UInt64) 0; 0018: Reg[0] = (UInt64) 0; 0019: Reg[1] = (UInt64) (((UInt32) Reg[8] < 0x10) ? 1 : 0); 0020: if((UInt32) Reg[1] != Reg[0]) { 0021: Reg[0] = (UInt64) 0; 0022: return (UInt32) 0xbfc02318; 0023: } else { 0024: return (UInt32) 0xbfc02300; 0025: } 0026: } 0027: } 0028: } 0029: Running bfc02300 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[8] = (UInt64) 0xbf800000; 0008: Reg[8] = (UInt64) MMU.GetUInt32((UInt32) ((UInt32) Reg[8] + 0x1450), 0xbfc02308); 0009: Reg[0] = (UInt64) 0; 0010: Reg[8] = (UInt64) ((UInt32) Reg[8] & 0x08); 0011: if((UInt32) Reg[8] == Reg[0]) { 0012: Reg[0] = (UInt64) 0; 0013: return (UInt32) 0xbfc02328; 0014: } else { 0015: return (UInt32) 0xbfc02318; 0016: } 0017: } 0018: } 0019: } 0020: Getting HW reg bf801450 [UInt32] Running bfc02328 COP0: 04 COP0: 04 COP0: 00 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[9] = (UInt64) 0x00010000; 0008: Reg[9] = (UInt64) ((UInt32) Reg[9] ^ 0xedd8); 0009: Reg[1] = (UInt64) 0xfffe0000; 0010: MMU.SetUInt32((UInt32) ((UInt32) Reg[1] + 0x0130), (UInt32) Reg[9], 0xbfc02338); 0011: Reg[3] = (UInt64) 0x04; 0012: Reg[1] = (UInt64) 0xbf800000; 0013: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[3], 0xbfc02344); 0014: Reg[0] = (UInt64) 0; 0015: Reg[0] = (UInt64) 0; 0016: Reg[0] = (UInt64) 0; 0017: Reg[3] = (UInt64) 0x05; 0018: Reg[1] = (UInt64) 0xbf800000; 0019: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[3], 0xbfc02364); 0020: Reg[0] = (UInt64) 0; 0021: Reg[0] = (UInt64) 0; 0022: Reg[1] = (UInt64) (((UInt32) Reg[8] < 0x10) ? 1 : 0); 0023: if((UInt32) Reg[1] != Reg[0]) { 0024: Reg[8] = (UInt64) 0xbf800000; 0025: return (UInt32) 0xbfc02390; 0026: } else { 0027: return (UInt32) 0xbfc0237c; 0028: } 0029: } 0030: } 0031: } 0032: Setting cache control: 0001edd8 Setting HW reg bf802070 to 04 Setting HW reg bf802070 to 05 Running bfc02390 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[8] = (UInt64) 0x06; 0008: Reg[1] = (UInt64) 0xbf800000; 0009: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[8], 0xbfc0239c); 0010: Reg[8] = (UInt64) 0xbfc00000; 0011: Reg[8] = (UInt64) ((UInt32) Reg[8] + 0x24a0); 0012: Reg[9] = (UInt64) MMU.GetUInt32((UInt32) ((UInt32) Reg[8] + 0x04), 0xbfc023a8); 0013: Reg[16] = (UInt64) MMU.GetUInt8((UInt32) ((UInt32) Reg[8] + 0x02), 0xbfc023ac); 0014: Reg[1] = (UInt64) 0xbf800000; 0015: MMU.SetUInt32((UInt32) ((UInt32) Reg[1] + 0x1060), (UInt32) Reg[9], 0xbfc023b4); 0016: Reg[8] = (UInt64) 0x07; 0017: Reg[1] = (UInt64) 0xbf800000; 0018: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[8], 0xbfc023c0); 0019: Reg[4] = (UInt64) 0xbfc00000; 0020: Reg[5] = (UInt64) 0xbfc80000; 0021: Reg[6] = (UInt64) 0xbfc00000; 0022: Reg[6] = (UInt64) ((UInt32) Reg[6] + 0x2488); 0023: Reg[31] = (UInt64) 0xbfc023d8; 0024: Reg[0] = (UInt64) 0; 0025: return (UInt32) 0xbfc02640; 0026: } 0027: } 0028: } 0029: Setting HW reg bf802070 to 06 Setting HW reg bf801060 to 00002bbd Setting HW reg bf802070 to 07 Running bfc02640 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[8] = (UInt64) (UInt32) Reg[4]; 0008: Reg[2] = (UInt64) (((UInt32) Reg[8] < (UInt32) Reg[5]) ? 1 : 0); 0009: if((UInt32) Reg[2] == Reg[0]) { 0010: Reg[10] = (UInt64) 0; 0011: return (UInt32) 0xbfc02728; 0012: } else { 0013: return (UInt32) 0xbfc02650; 0014: } 0015: } 0016: } 0017: } 0018: Running bfc02650 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[13] = (UInt64) 0x45530000; 0008: Reg[13] = (UInt64) ((UInt32) Reg[13] ^ 0x4552); 0009: Reg[14] = (UInt64) 0x54; 0010: Reg[12] = (UInt64) 0xfff0; 0011: Reg[9] = (UInt64) ((UInt32) Reg[8] + 0x0c); 0012: Reg[2] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc02668); 0013: Reg[0] = (UInt64) 0; 0014: if((UInt32) Reg[2] != Reg[13]) { 0015: Reg[0] = (UInt64) 0; 0016: return (UInt32) 0xbfc02714; 0017: } else { 0018: return (UInt32) 0xbfc02674; 0019: } 0020: } 0021: } 0022: } 0023: Running bfc02714 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[9] = (UInt64) ((UInt32) Reg[9] + 0x10); 0008: Reg[8] = (UInt64) ((UInt32) Reg[8] + 0x10); 0009: Reg[2] = (UInt64) (((UInt32) Reg[8] < (UInt32) Reg[5]) ? 1 : 0); 0010: if((UInt32) Reg[2] != Reg[0]) { 0011: Reg[10] = (UInt64) ((UInt32) Reg[10] + 0x10); 0012: return (UInt32) 0xbfc02664; 0013: } else { 0014: return (UInt32) 0xbfc02728; 0015: } 0016: } 0017: } 0018: } 0019: Running bfc02664 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[2] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[8], 0xbfc02668); 0008: Reg[0] = (UInt64) 0; 0009: if((UInt32) Reg[2] != Reg[13]) { 0010: Reg[0] = (UInt64) 0; 0011: return (UInt32) 0xbfc02714; 0012: } else { 0013: return (UInt32) 0xbfc02674; 0014: } 0015: } 0016: } 0017: } 0018: Running bfc02674 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[2] = (UInt64) MMU.GetUInt32((UInt32) ((UInt32) Reg[9] + -8), 0xbfc02678); 0008: Reg[0] = (UInt64) 0; 0009: if((UInt32) Reg[2] != Reg[14]) { 0010: Reg[0] = (UInt64) 0; 0011: return (UInt32) 0xbfc02714; 0012: } else { 0013: return (UInt32) 0xbfc02684; 0014: } 0015: } 0016: } 0017: } 0018: Running bfc02684 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[2] = (UInt64) MMU.GetUInt16((UInt32) ((UInt32) Reg[9] + -4), 0xbfc02688); 0008: Reg[0] = (UInt64) 0; 0009: if((UInt32) Reg[2] != Reg[0]) { 0010: Reg[0] = (UInt64) 0; 0011: return (UInt32) 0xbfc02714; 0012: } else { 0013: return (UInt32) 0xbfc02694; 0014: } 0015: } 0016: } 0017: } 0018: Running bfc02694 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[2] = (UInt64) MMU.GetUInt32((UInt32) (UInt32) Reg[9], 0xbfc02698); 0008: Reg[0] = (UInt64) 0; 0009: Reg[2] = (UInt64) ((UInt32) Reg[2] + 0x0f); 0010: Reg[2] = (UInt64) ((UInt32) Reg[2] & (UInt32) Reg[12]); 0011: if((UInt32) Reg[2] != Reg[10]) { 0012: Reg[0] = (UInt64) 0; 0013: return (UInt32) 0xbfc02714; 0014: } else { 0015: return (UInt32) 0xbfc026ac; 0016: } 0017: } 0018: } 0019: } 0020: Running bfc02728 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[2] = (UInt64) 0; 0008: return (UInt32) (UInt32) Reg[31]; 0009: } 0010: } 0011: } 0012: Running bfc023d8 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: if((UInt32) Reg[2] == Reg[0]) { 0008: Reg[0] = (UInt64) 0; 0009: return (UInt32) 0xbfc02454; 0010: } else { 0011: return (UInt32) 0xbfc023e0; 0012: } 0013: } 0014: } 0015: } 0016: Running bfc02454 0001: using System; 0002: using IronBabelCS.Interfaces; 0003: 0004: namespace IronBabel.Decompiled { 0005: class Decompiled { 0006: public static UInt32 Func(UInt64[] Reg, IMMU MMU, IBox Box) { 0007: Reg[0] = (UInt64) 0; 0008: Reg[0] = (UInt64) 0; 0009: Reg[3] = (UInt64) 0xfa; 0010: Reg[1] = (UInt64) 0xbf800000; 0011: MMU.SetUInt8((UInt32) ((UInt32) Reg[1] + 0x2070), (Byte) Reg[3], 0xbfc02468); 0012: Reg[0] = (UInt64) 0; 0013: if(Reg[0] == 0) { 0014: Reg[0] = (UInt64) 0; 0015: return (UInt32) 0xbfc02454; 0016: } else { 0017: return (UInt32) 0xbfc02474; 0018: } 0019: } 0020: } 0021: } 0022: