diff --git a/Progress.md b/Progress.md index 371fe221a9b..d567152eb0a 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 22.064960% | 793576 | 3596544 +.text | 22.072634% | 793852 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 30.281306% | 1217512 | 4020672 +Total | 30.288171% | 1217788 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 30.281306% | 1217512 | 4020672 +main.dol | 30.288171% | 1217788 | 4020672 RELs | 33.041295% | 3799856 | 11500324 -Total | 32.326328% | 5017368 | 15520996 +Total | 32.328106% | 5017644 | 15520996 ## RELs diff --git a/asm/dolphin/pad/Pad/PADRecalibrate.s b/asm/dolphin/pad/Pad/PADRecalibrate.s deleted file mode 100644 index 4328d69241f..00000000000 --- a/asm/dolphin/pad/Pad/PADRecalibrate.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_8034EC3C: -/* 8034EC3C 7C 08 02 A6 */ mflr r0 -/* 8034EC40 90 01 00 04 */ stw r0, 4(r1) -/* 8034EC44 94 21 FF E8 */ stwu r1, -0x18(r1) -/* 8034EC48 93 E1 00 14 */ stw r31, 0x14(r1) -/* 8034EC4C 93 C1 00 10 */ stw r30, 0x10(r1) -/* 8034EC50 7C 7E 1B 78 */ mr r30, r3 -/* 8034EC54 4B FE EA A1 */ bl OSDisableInterrupts -/* 8034EC58 80 AD 92 E0 */ lwz r5, PendingBits(r13) -/* 8034EC5C 39 00 00 00 */ li r8, 0 -/* 8034EC60 80 CD 92 D8 */ lwz r6, WaitingBits(r13) -/* 8034EC64 3C 80 80 00 */ lis r4, 0x8000 /* 0x800030E3@ha */ -/* 8034EC68 80 0D 92 DC */ lwz r0, CheckingBits(r13) -/* 8034EC6C 7F DE 2B 78 */ or r30, r30, r5 -/* 8034EC70 80 AD 92 D0 */ lwz r5, ResettingBits(r13) -/* 8034EC74 7C C6 03 78 */ or r6, r6, r0 -/* 8034EC78 88 04 30 E3 */ lbz r0, 0x30E3(r4) /* 0x800030E3@l */ -/* 8034EC7C 7F DE 30 78 */ andc r30, r30, r6 -/* 8034EC80 80 CD 92 CC */ lwz r6, EnabledBits(r13) -/* 8034EC84 7C A5 F3 78 */ or r5, r5, r30 -/* 8034EC88 80 8D 92 E4 */ lwz r4, BarrelBits(r13) -/* 8034EC8C 90 AD 92 D0 */ stw r5, ResettingBits(r13) -/* 8034EC90 7F C9 F0 F8 */ nor r9, r30, r30 -/* 8034EC94 7C C5 48 38 */ and r5, r6, r9 -/* 8034EC98 7C 84 48 38 */ and r4, r4, r9 -/* 8034EC9C 80 ED 92 D0 */ lwz r7, ResettingBits(r13) -/* 8034ECA0 7C 7F 1B 78 */ mr r31, r3 -/* 8034ECA4 91 0D 92 E0 */ stw r8, PendingBits(r13) -/* 8034ECA8 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 8034ECAC 90 AD 92 CC */ stw r5, EnabledBits(r13) -/* 8034ECB0 7C E3 30 38 */ and r3, r7, r6 -/* 8034ECB4 90 8D 92 E4 */ stw r4, BarrelBits(r13) -/* 8034ECB8 40 82 00 10 */ bne lbl_8034ECC8 -/* 8034ECBC 80 0D 92 D4 */ lwz r0, RecalibrateBits(r13) -/* 8034ECC0 7C 00 F3 78 */ or r0, r0, r30 -/* 8034ECC4 90 0D 92 D4 */ stw r0, RecalibrateBits(r13) -lbl_8034ECC8: -/* 8034ECC8 4B FF 6C 35 */ bl SIDisablePolling -/* 8034ECCC 80 0D 84 A4 */ lwz r0, ResettingChan(r13) -/* 8034ECD0 2C 00 00 20 */ cmpwi r0, 0x20 -/* 8034ECD4 40 82 00 58 */ bne lbl_8034ED2C -/* 8034ECD8 80 AD 92 D0 */ lwz r5, ResettingBits(r13) -/* 8034ECDC 7C A0 00 34 */ cntlzw r0, r5 -/* 8034ECE0 90 0D 84 A4 */ stw r0, ResettingChan(r13) -/* 8034ECE4 80 8D 84 A4 */ lwz r4, ResettingChan(r13) -/* 8034ECE8 2C 04 00 20 */ cmpwi r4, 0x20 -/* 8034ECEC 41 82 00 40 */ beq lbl_8034ED2C -/* 8034ECF0 3C 00 80 00 */ lis r0, 0x8000 -/* 8034ECF4 7C 00 24 30 */ srw r0, r0, r4 -/* 8034ECF8 7C A0 00 78 */ andc r0, r5, r0 -/* 8034ECFC 1C 84 00 0C */ mulli r4, r4, 0xc -/* 8034ED00 90 0D 92 D0 */ stw r0, ResettingBits(r13) -/* 8034ED04 3C 60 80 45 */ lis r3, Origin@ha /* 0x8044CB80@ha */ -/* 8034ED08 38 03 CB 80 */ addi r0, r3, Origin@l /* 0x8044CB80@l */ -/* 8034ED0C 7C 60 22 14 */ add r3, r0, r4 -/* 8034ED10 38 80 00 00 */ li r4, 0 -/* 8034ED14 38 A0 00 0C */ li r5, 0xc -/* 8034ED18 4B CB 47 41 */ bl memset -/* 8034ED1C 3C 80 80 35 */ lis r4, PADTypeAndStatusCallback@ha /* 0x8034E6C0@ha */ -/* 8034ED20 80 6D 84 A4 */ lwz r3, ResettingChan(r13) -/* 8034ED24 38 84 E6 C0 */ addi r4, r4, PADTypeAndStatusCallback@l /* 0x8034E6C0@l */ -/* 8034ED28 4B FF 74 2D */ bl SIGetTypeAsync -lbl_8034ED2C: -/* 8034ED2C 7F E3 FB 78 */ mr r3, r31 -/* 8034ED30 4B FE E9 ED */ bl OSRestoreInterrupts -/* 8034ED34 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 8034ED38 38 60 00 01 */ li r3, 1 -/* 8034ED3C 83 E1 00 14 */ lwz r31, 0x14(r1) -/* 8034ED40 83 C1 00 10 */ lwz r30, 0x10(r1) -/* 8034ED44 38 21 00 18 */ addi r1, r1, 0x18 -/* 8034ED48 7C 08 03 A6 */ mtlr r0 -/* 8034ED4C 4E 80 00 20 */ blr diff --git a/libs/dolphin/pad/Pad.c b/libs/dolphin/pad/Pad.c index aee189ab33c..d60c08cb7b4 100644 --- a/libs/dolphin/pad/Pad.c +++ b/libs/dolphin/pad/Pad.c @@ -324,7 +324,6 @@ BOOL PADReset(u32 mask) { } /* 8034EC3C-8034ED50 34957C 0114+00 1/1 1/1 0/0 .text PADRecalibrate */ -#ifdef NONMATCHING BOOL PADRecalibrate(u32 mask) { BOOL enabled; u32 disableBits; @@ -335,9 +334,9 @@ BOOL PADRecalibrate(u32 mask) { PendingBits = 0; mask &= ~(WaitingBits | CheckingBits); ResettingBits |= mask; - BarrelBits &= ~mask; disableBits = ResettingBits & EnabledBits; EnabledBits &= ~mask; + BarrelBits &= ~mask; if (!(UnkVal & 0x40)) { RecalibrateBits |= mask; @@ -350,16 +349,6 @@ BOOL PADRecalibrate(u32 mask) { OSRestoreInterrupts(enabled); return TRUE; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL PADRecalibrate(u32 mask) { - nofralloc -#include "asm/dolphin/pad/Pad/PADRecalibrate.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 803D1B90-803D1BA0 -00001 0010+00 1/1 0/0 0/0 .data ResetFunctionInfo */