mirror of https://github.com/zeldaret/tp.git
M_do_controller_pad split and partially matched (#36)
* m_Do_controller_pad split * Attempt to match and match mDoCPd_c::recalibrate * Fix Merge Errors * clang-format Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
parent
69faf591d4
commit
e42d44e6cb
|
|
@ -1353,16 +1353,16 @@ lbl_802E2F88:
|
|||
/* 802E2FDC 002DFF1C 40 82 03 A4 */ bne lbl_802E3380
|
||||
/* 802E2FE0 002DFF20 38 61 02 C8 */ addi r3, r1, 0x2c8
|
||||
/* 802E2FE4 002DFF24 38 80 00 00 */ li r4, 0
|
||||
/* 802E2FE8 002DFF28 4B FF D6 F5 */ bl __ct__10JUTGamePadFUl
|
||||
/* 802E2FE8 002DFF28 4B FF D6 F5 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 802E2FEC 002DFF2C 38 61 02 18 */ addi r3, r1, 0x218
|
||||
/* 802E2FF0 002DFF30 38 80 00 01 */ li r4, 1
|
||||
/* 802E2FF4 002DFF34 4B FF D6 E9 */ bl __ct__10JUTGamePadFUl
|
||||
/* 802E2FF4 002DFF34 4B FF D6 E9 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 802E2FF8 002DFF38 38 61 01 68 */ addi r3, r1, 0x168
|
||||
/* 802E2FFC 002DFF3C 38 80 00 02 */ li r4, 2
|
||||
/* 802E3000 002DFF40 4B FF D6 DD */ bl __ct__10JUTGamePadFUl
|
||||
/* 802E3000 002DFF40 4B FF D6 DD */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 802E3004 002DFF44 38 61 00 B8 */ addi r3, r1, 0xb8
|
||||
/* 802E3008 002DFF48 38 80 00 03 */ li r4, 3
|
||||
/* 802E300C 002DFF4C 4B FF D6 D1 */ bl __ct__10JUTGamePadFUl
|
||||
/* 802E300C 002DFF4C 4B FF D6 D1 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 802E3010 002DFF50 4B FF D8 D5 */ bl read__10JUTGamePadFv
|
||||
/* 802E3014 002DFF54 38 60 00 00 */ li r3, 0
|
||||
/* 802E3018 002DFF58 A8 01 03 44 */ lha r0, 0x344(r1)
|
||||
|
|
@ -1614,7 +1614,7 @@ lbl_802E3380:
|
|||
/* 802E3384 002E02C4 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 802E3388 002E02C8 41 80 00 E4 */ blt lbl_802E346C
|
||||
/* 802E338C 002E02CC 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 802E3390 002E02D0 4B FF D3 4D */ bl __ct__10JUTGamePadFUl
|
||||
/* 802E3390 002E02D0 4B FF D3 4D */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 802E3394 002E02D4 3C 60 80 3D */ lis r3, lbl_803CC640@ha
|
||||
/* 802E3398 002E02D8 3B 43 C6 40 */ addi r26, r3, lbl_803CC640@l
|
||||
/* 802E339C 002E02DC 38 60 00 00 */ li r3, 0
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ cAPICPad_recalibrate:
|
|||
/* 8026328C 002601CC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80263290 002601D0 7C 08 02 A6 */ mflr r0
|
||||
/* 80263294 002601D4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80263298 002601D8 4B DA 4A DD */ bl mDoCPd_c_NS_recalibrate
|
||||
/* 80263298 002601D8 4B DA 4A DD */ bl recalibrate__8mDoCPd_cFv
|
||||
/* 8026329C 002601DC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802632A0 002601E0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802632A4 002601E4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
|
|
@ -17,8 +17,8 @@ cAPICPad_recalibrate:
|
|||
.global cAPICPad_ANY_BUTTON
|
||||
cAPICPad_ANY_BUTTON:
|
||||
/* 802632AC 002601EC 54 64 30 32 */ slwi r4, r3, 6
|
||||
/* 802632B0 002601F0 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 802632B4 002601F4 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 802632B0 002601F0 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 802632B4 002601F4 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 802632B8 002601F8 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 802632BC 002601FC 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 802632C0 00260200 70 03 13 00 */ andi. r3, r0, 0x1300
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ cLib_memCpy:
|
|||
/* 8026F954 0026C894 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8026F958 0026C898 4E 80 00 20 */ blr
|
||||
|
||||
.global cLib_memSet
|
||||
cLib_memSet:
|
||||
.global cLib_memSet__FPviUl
|
||||
cLib_memSet__FPviUl:
|
||||
/* 8026F95C 0026C89C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8026F960 0026C8A0 7C 08 02 A6 */ mflr r0
|
||||
/* 8026F964 0026C8A4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
|
|
|
|||
12
asm/bss.s
12
asm/bss.s
|
|
@ -17,11 +17,11 @@ lbl_803DBF40:
|
|||
.global lbl_803DBF4C
|
||||
lbl_803DBF4C:
|
||||
.skip 0x138C
|
||||
.global lbl_803DD2D8
|
||||
lbl_803DD2D8:
|
||||
.global m_gamePad
|
||||
m_gamePad:
|
||||
.skip 0x10
|
||||
.global lbl_803DD2E8
|
||||
lbl_803DD2E8:
|
||||
.global m_cpadInfo
|
||||
m_cpadInfo:
|
||||
.skip 0x100
|
||||
.global lbl_803DD3E8
|
||||
lbl_803DD3E8:
|
||||
|
|
@ -86,8 +86,8 @@ lbl_803F0F50:
|
|||
.global lbl_803F1BB0
|
||||
lbl_803F1BB0:
|
||||
.skip 0xC
|
||||
.global lbl_803F1BBC
|
||||
lbl_803F1BBC:
|
||||
.global g_HIO
|
||||
g_HIO:
|
||||
.skip 0x44
|
||||
.global lbl_803F1C00
|
||||
lbl_803F1C00:
|
||||
|
|
|
|||
|
|
@ -412,8 +412,8 @@ dBrightCheck_c_NS__move:
|
|||
/* 80193514 00190454 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80193518 00190458 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 8019351C 0019045C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80193520 00190460 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80193524 00190464 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80193520 00190460 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80193524 00190464 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80193528 00190468 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 8019352C 0019046C 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 80193530 00190470 40 82 00 0C */ bne lbl_8019353C
|
||||
|
|
|
|||
|
|
@ -4032,8 +4032,8 @@ dComIfGs_gameStart:
|
|||
/* 8002E9CC 0002B90C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8002E9D0 0002B910 4E 80 00 20 */ blr
|
||||
/* 8002E9D4 0002B914 54 64 30 32 */ slwi r4, r3, 6
|
||||
/* 8002E9D8 0002B918 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8002E9DC 0002B91C 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 8002E9D8 0002B918 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8002E9DC 0002B91C 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 8002E9E0 0002B920 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 8002E9E4 0002B924 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8002E9E8 0002B928 54 03 05 EE */ rlwinm r3, r0, 0, 0x17, 0x17
|
||||
|
|
|
|||
|
|
@ -1872,8 +1872,8 @@ dCamera_c_NS_initPad:
|
|||
lbl_80161570:
|
||||
/* 80161570 0015E4B0 80 03 01 7C */ lwz r0, 0x17c(r3)
|
||||
/* 80161574 0015E4B4 54 00 30 32 */ slwi r0, r0, 6
|
||||
/* 80161578 0015E4B8 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 8016157C 0015E4BC 38 A4 D2 E8 */ addi r5, r4, lbl_803DD2E8@l
|
||||
/* 80161578 0015E4B8 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 8016157C 0015E4BC 38 A4 D2 E8 */ addi r5, r4, m_cpadInfo@l
|
||||
/* 80161580 0015E4C0 7C 05 04 2E */ lfsx f0, r5, r0
|
||||
/* 80161584 0015E4C4 D0 03 01 BC */ stfs f0, 0x1bc(r3)
|
||||
/* 80161588 0015E4C8 80 03 01 7C */ lwz r0, 0x17c(r3)
|
||||
|
|
@ -1903,8 +1903,8 @@ lbl_801615B0:
|
|||
lbl_801615E4:
|
||||
/* 801615E4 0015E524 80 03 01 7C */ lwz r0, 0x17c(r3)
|
||||
/* 801615E8 0015E528 54 00 30 32 */ slwi r0, r0, 6
|
||||
/* 801615EC 0015E52C 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801615F0 0015E530 38 A4 D2 E8 */ addi r5, r4, lbl_803DD2E8@l
|
||||
/* 801615EC 0015E52C 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801615F0 0015E530 38 A4 D2 E8 */ addi r5, r4, m_cpadInfo@l
|
||||
/* 801615F4 0015E534 7C 85 02 14 */ add r4, r5, r0
|
||||
/* 801615F8 0015E538 C0 04 00 10 */ lfs f0, 0x10(r4)
|
||||
/* 801615FC 0015E53C D0 03 01 D8 */ stfs f0, 0x1d8(r3)
|
||||
|
|
@ -1931,8 +1931,8 @@ lbl_80161628:
|
|||
/* 8016164C 0015E58C 90 83 01 F4 */ stw r4, 0x1f4(r3)
|
||||
/* 80161650 0015E590 80 03 01 7C */ lwz r0, 0x17c(r3)
|
||||
/* 80161654 0015E594 54 06 30 32 */ slwi r6, r0, 6
|
||||
/* 80161658 0015E598 3C A0 80 3E */ lis r5, lbl_803DD2E8@ha
|
||||
/* 8016165C 0015E59C 38 05 D2 E8 */ addi r0, r5, lbl_803DD2E8@l
|
||||
/* 80161658 0015E598 3C A0 80 3E */ lis r5, m_cpadInfo@ha
|
||||
/* 8016165C 0015E59C 38 05 D2 E8 */ addi r0, r5, m_cpadInfo@l
|
||||
/* 80161660 0015E5A0 7C A0 32 14 */ add r5, r0, r6
|
||||
/* 80161664 0015E5A4 C0 25 00 28 */ lfs f1, 0x28(r5)
|
||||
/* 80161668 0015E5A8 D0 23 02 00 */ stfs f1, 0x200(r3)
|
||||
|
|
@ -2041,8 +2041,8 @@ dCamera_c_NS_updatePad:
|
|||
lbl_801617F8:
|
||||
/* 801617F8 0015E738 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 801617FC 0015E73C 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 80161800 0015E740 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80161804 0015E744 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80161800 0015E740 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80161804 0015E744 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80161808 0015E748 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 8016180C 0015E74C C0 23 00 00 */ lfs f1, 0(r3)
|
||||
/* 80161810 0015E750 C0 43 00 04 */ lfs f2, 4(r3)
|
||||
|
|
@ -2062,8 +2062,8 @@ lbl_80161818:
|
|||
/* 80161844 0015E784 D0 7E 01 C4 */ stfs f3, 0x1c4(r30)
|
||||
/* 80161848 0015E788 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 8016184C 0015E78C 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 80161850 0015E790 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80161854 0015E794 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80161850 0015E790 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80161854 0015E794 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80161858 0015E798 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 8016185C 0015E79C A8 83 00 0C */ lha r4, 0xc(r3)
|
||||
/* 80161860 0015E7A0 38 7E 01 D4 */ addi r3, r30, 0x1d4
|
||||
|
|
@ -2078,8 +2078,8 @@ lbl_80161818:
|
|||
lbl_80161884:
|
||||
/* 80161884 0015E7C4 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 80161888 0015E7C8 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 8016188C 0015E7CC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80161890 0015E7D0 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 8016188C 0015E7CC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80161890 0015E7D0 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80161894 0015E7D4 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 80161898 0015E7D8 C0 23 00 10 */ lfs f1, 0x10(r3)
|
||||
/* 8016189C 0015E7DC C0 43 00 14 */ lfs f2, 0x14(r3)
|
||||
|
|
@ -2099,16 +2099,16 @@ lbl_801618A4:
|
|||
/* 801618D0 0015E810 D0 7E 01 E0 */ stfs f3, 0x1e0(r30)
|
||||
/* 801618D4 0015E814 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 801618D8 0015E818 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 801618DC 0015E81C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801618E0 0015E820 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 801618DC 0015E81C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801618E0 0015E820 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 801618E4 0015E824 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 801618E8 0015E828 A8 83 00 1C */ lha r4, 0x1c(r3)
|
||||
/* 801618EC 0015E82C 38 7E 01 F0 */ addi r3, r30, 0x1f0
|
||||
/* 801618F0 0015E830 48 10 F7 15 */ bl cSAngle_NS_Val_X2_
|
||||
/* 801618F4 0015E834 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 801618F8 0015E838 54 00 30 32 */ slwi r0, r0, 6
|
||||
/* 801618FC 0015E83C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80161900 0015E840 38 83 D2 E8 */ addi r4, r3, lbl_803DD2E8@l
|
||||
/* 801618FC 0015E83C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80161900 0015E840 38 83 D2 E8 */ addi r4, r3, m_cpadInfo@l
|
||||
/* 80161904 0015E844 7C 64 02 14 */ add r3, r4, r0
|
||||
/* 80161908 0015E848 C0 23 00 28 */ lfs f1, 0x28(r3)
|
||||
/* 8016190C 0015E84C C0 1E 02 00 */ lfs f0, 0x200(r30)
|
||||
|
|
@ -2153,8 +2153,8 @@ lbl_80161990:
|
|||
lbl_8016199C:
|
||||
/* 8016199C 0015E8DC 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 801619A0 0015E8E0 54 00 30 32 */ slwi r0, r0, 6
|
||||
/* 801619A4 0015E8E4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801619A8 0015E8E8 38 83 D2 E8 */ addi r4, r3, lbl_803DD2E8@l
|
||||
/* 801619A4 0015E8E4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801619A8 0015E8E8 38 83 D2 E8 */ addi r4, r3, m_cpadInfo@l
|
||||
/* 801619AC 0015E8EC 7C 64 02 14 */ add r3, r4, r0
|
||||
/* 801619B0 0015E8F0 C0 23 00 2C */ lfs f1, 0x2c(r3)
|
||||
/* 801619B4 0015E8F4 C0 1E 02 0C */ lfs f0, 0x20c(r30)
|
||||
|
|
@ -2199,8 +2199,8 @@ lbl_80161A38:
|
|||
lbl_80161A44:
|
||||
/* 80161A44 0015E984 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 80161A48 0015E988 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 80161A4C 0015E98C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80161A50 0015E990 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80161A4C 0015E98C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80161A50 0015E990 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80161A54 0015E994 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 80161A58 0015E998 80 63 00 30 */ lwz r3, 0x30(r3)
|
||||
/* 80161A5C 0015E99C 54 63 B7 FE */ rlwinm r3, r3, 0x16, 0x1f, 0x1f
|
||||
|
|
@ -2400,8 +2400,8 @@ lbl_80161D1C:
|
|||
/* 80161D24 0015EC64 98 1E 02 24 */ stb r0, 0x224(r30)
|
||||
/* 80161D28 0015EC68 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 80161D2C 0015EC6C 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 80161D30 0015EC70 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80161D34 0015EC74 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80161D30 0015EC70 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80161D34 0015EC74 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80161D38 0015EC78 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 80161D3C 0015EC7C C0 23 00 08 */ lfs f1, 8(r3)
|
||||
/* 80161D40 0015EC80 C0 02 9C C0 */ lfs f0, lbl_804536C0-_SDA2_BASE_(r2)
|
||||
|
|
@ -13915,8 +13915,8 @@ _unnamed_d_camera_cpp__NS_sAngleX:
|
|||
.global mDoCPd_c_NS_getHoldA
|
||||
mDoCPd_c_NS_getHoldA:
|
||||
/* 8016C314 00169254 54 64 30 32 */ slwi r4, r3, 6
|
||||
/* 8016C318 00169258 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8016C31C 0016925C 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 8016C318 00169258 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8016C31C 0016925C 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 8016C320 00169260 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 8016C324 00169264 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 8016C328 00169268 54 03 05 EE */ rlwinm r3, r0, 0, 0x17, 0x17
|
||||
|
|
@ -38326,8 +38326,8 @@ dCamSetup_c_NS_WaitRollTimer:
|
|||
.global mDoCPd_c_NS_getTrigA
|
||||
mDoCPd_c_NS_getTrigA:
|
||||
/* 80182BF8 0017FB38 54 64 30 32 */ slwi r4, r3, 6
|
||||
/* 80182BFC 0017FB3C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80182C00 0017FB40 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80182BFC 0017FB3C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80182C00 0017FB40 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80182C04 0017FB44 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 80182C08 0017FB48 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80182C0C 0017FB4C 54 03 05 EE */ rlwinm r3, r0, 0, 0x17, 0x17
|
||||
|
|
|
|||
|
|
@ -1591,8 +1591,8 @@ dEvt_control_c_NS_skipper:
|
|||
/* 80042A14 0003F954 41 82 00 08 */ beq lbl_80042A1C
|
||||
/* 80042A18 0003F958 3B C0 00 01 */ li r30, 1
|
||||
lbl_80042A1C:
|
||||
/* 80042A1C 0003F95C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80042A20 0003F960 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80042A1C 0003F95C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80042A20 0003F960 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80042A24 0003F964 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80042A28 0003F968 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
|
||||
/* 80042A2C 0003F96C 41 82 00 44 */ beq lbl_80042A70
|
||||
|
|
|
|||
|
|
@ -424,8 +424,8 @@ dName_c_NS__move:
|
|||
/* 8024E9D0 0024B910 7D 80 2A 14 */ add r12, r0, r5
|
||||
/* 8024E9D4 0024B914 48 11 36 B1 */ bl func_80362084
|
||||
/* 8024E9D8 0024B918 60 00 00 00 */ nop
|
||||
/* 8024E9DC 0024B91C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8024E9E0 0024B920 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8024E9DC 0024B91C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8024E9E0 0024B920 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8024E9E4 0024B924 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 8024E9E8 0024B928 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e
|
||||
/* 8024E9EC 0024B92C 41 82 00 64 */ beq lbl_8024EA50
|
||||
|
|
@ -673,8 +673,8 @@ lbl_8024ED08:
|
|||
/* 8024ED54 0024BC94 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 8024ED58 0024BC98 93 E1 00 2C */ stw r31, 0x2c(r1)
|
||||
/* 8024ED5C 0024BC9C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8024ED60 0024BCA0 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 8024ED64 0024BCA4 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 8024ED60 0024BCA0 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 8024ED64 0024BCA4 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 8024ED68 0024BCA8 80 04 00 34 */ lwz r0, 0x34(r4)
|
||||
/* 8024ED6C 0024BCAC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 8024ED70 0024BCB0 41 82 00 0C */ beq lbl_8024ED7C
|
||||
|
|
@ -1696,8 +1696,8 @@ lbl_8024FBA8:
|
|||
/* 8024FC0C 0024CB4C 98 1F 02 AB */ stb r0, 0x2ab(r31)
|
||||
/* 8024FC10 0024CB50 48 00 01 7C */ b lbl_8024FD8C
|
||||
lbl_8024FC14:
|
||||
/* 8024FC14 0024CB54 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8024FC18 0024CB58 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8024FC14 0024CB54 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8024FC18 0024CB58 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8024FC1C 0024CB5C 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 8024FC20 0024CB60 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 8024FC24 0024CB64 41 82 00 D0 */ beq lbl_8024FCF4
|
||||
|
|
|
|||
|
|
@ -445,8 +445,8 @@ lbl_8006F750:
|
|||
/* 8006F774 0006C6B4 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8006F778 0006C6B8 4B FF F9 F1 */ bl _unnamed_d_vibration_cpp__NS_makedata
|
||||
/* 8006F77C 0006C6BC 7C 64 1B 78 */ mr r4, r3
|
||||
/* 8006F780 0006C6C0 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F784 0006C6C4 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F780 0006C6C0 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F784 0006C6C4 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F788 0006C6C8 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F78C 0006C6CC 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 8006F790 0006C6D0 38 A0 00 00 */ li r5, 0
|
||||
|
|
@ -471,8 +471,8 @@ lbl_8006F7A0:
|
|||
/* 8006F7D8 0006C718 7F A5 EB 78 */ mr r5, r29
|
||||
/* 8006F7DC 0006C71C 4B FF F9 8D */ bl _unnamed_d_vibration_cpp__NS_makedata
|
||||
/* 8006F7E0 0006C720 7C 64 1B 78 */ mr r4, r3
|
||||
/* 8006F7E4 0006C724 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F7E8 0006C728 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F7E4 0006C724 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F7E8 0006C728 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F7EC 0006C72C 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F7F0 0006C730 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 8006F7F4 0006C734 38 A0 00 01 */ li r5, 1
|
||||
|
|
@ -512,8 +512,8 @@ lbl_8006F84C:
|
|||
/* 8006F874 0006C7B4 7F A5 EB 78 */ mr r5, r29
|
||||
/* 8006F878 0006C7B8 4B FF F8 F1 */ bl _unnamed_d_vibration_cpp__NS_makedata
|
||||
/* 8006F87C 0006C7BC 7C 64 1B 78 */ mr r4, r3
|
||||
/* 8006F880 0006C7C0 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F884 0006C7C4 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F880 0006C7C0 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F884 0006C7C4 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F888 0006C7C8 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F88C 0006C7CC 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 8006F890 0006C7D0 38 A0 00 00 */ li r5, 0
|
||||
|
|
@ -521,13 +521,13 @@ lbl_8006F84C:
|
|||
/* 8006F898 0006C7D8 48 27 20 35 */ bl startPatternedRumble__Q210JUTGamePad7CRumbleFPvlUl
|
||||
/* 8006F89C 0006C7DC 48 00 00 3C */ b lbl_8006F8D8
|
||||
lbl_8006F8A0:
|
||||
/* 8006F8A0 0006C7E0 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F8A4 0006C7E4 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F8A0 0006C7E0 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F8A4 0006C7E4 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F8A8 0006C7E8 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F8AC 0006C7EC 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 8006F8B0 0006C7F0 48 27 20 C9 */ bl stopPatternedRumbleAtThePeriod__Q210JUTGamePad7CRumbleFv
|
||||
/* 8006F8B4 0006C7F4 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F8B8 0006C7F8 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F8B4 0006C7F4 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F8B8 0006C7F8 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F8BC 0006C7FC 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F8C0 0006C800 A8 63 00 7C */ lha r3, 0x7c(r3)
|
||||
/* 8006F8C4 0006C804 38 80 00 00 */ li r4, 0
|
||||
|
|
@ -588,13 +588,13 @@ lbl_8006F978:
|
|||
lbl_8006F990:
|
||||
/* 8006F990 0006C8D0 2C 03 03 84 */ cmpwi r3, 0x384
|
||||
/* 8006F994 0006C8D4 41 80 00 40 */ blt lbl_8006F9D4
|
||||
/* 8006F998 0006C8D8 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F99C 0006C8DC 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F998 0006C8D8 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F99C 0006C8DC 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F9A0 0006C8E0 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F9A4 0006C8E4 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 8006F9A8 0006C8E8 48 27 1F D1 */ bl stopPatternedRumbleAtThePeriod__Q210JUTGamePad7CRumbleFv
|
||||
/* 8006F9AC 0006C8EC 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006F9B0 0006C8F0 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006F9AC 0006C8EC 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006F9B0 0006C8F0 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006F9B4 0006C8F4 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006F9B8 0006C8F8 A8 63 00 7C */ lha r3, 0x7c(r3)
|
||||
/* 8006F9BC 0006C8FC 38 80 00 00 */ li r4, 0
|
||||
|
|
@ -901,13 +901,13 @@ dVibration_c_NS_Kill:
|
|||
/* 8006FE08 0006CD48 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8006FE0C 0006CD4C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8006FE10 0006CD50 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8006FE14 0006CD54 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006FE18 0006CD58 80 83 D2 D8 */ lwz r4, lbl_803DD2D8@l(r3)
|
||||
/* 8006FE14 0006CD54 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006FE18 0006CD58 80 83 D2 D8 */ lwz r4, m_gamePad@l(r3)
|
||||
/* 8006FE1C 0006CD5C 38 64 00 68 */ addi r3, r4, 0x68
|
||||
/* 8006FE20 0006CD60 A8 84 00 7C */ lha r4, 0x7c(r4)
|
||||
/* 8006FE24 0006CD64 48 27 1B 25 */ bl stopPatternedRumble__Q210JUTGamePad7CRumbleFs
|
||||
/* 8006FE28 0006CD68 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006FE2C 0006CD6C 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006FE28 0006CD68 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006FE2C 0006CD6C 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006FE30 0006CD70 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006FE34 0006CD74 A8 63 00 7C */ lha r3, 0x7c(r3)
|
||||
/* 8006FE38 0006CD78 38 80 00 01 */ li r4, 1
|
||||
|
|
@ -1000,13 +1000,13 @@ dVibration_c_NS_Pause:
|
|||
/* 8006FF68 0006CEA8 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 8006FF6C 0006CEAC 41 82 00 30 */ beq lbl_8006FF9C
|
||||
lbl_8006FF70:
|
||||
/* 8006FF70 0006CEB0 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006FF74 0006CEB4 80 83 D2 D8 */ lwz r4, lbl_803DD2D8@l(r3)
|
||||
/* 8006FF70 0006CEB0 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006FF74 0006CEB4 80 83 D2 D8 */ lwz r4, m_gamePad@l(r3)
|
||||
/* 8006FF78 0006CEB8 38 64 00 68 */ addi r3, r4, 0x68
|
||||
/* 8006FF7C 0006CEBC A8 84 00 7C */ lha r4, 0x7c(r4)
|
||||
/* 8006FF80 0006CEC0 48 27 19 C9 */ bl stopPatternedRumble__Q210JUTGamePad7CRumbleFs
|
||||
/* 8006FF84 0006CEC4 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 8006FF88 0006CEC8 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 8006FF84 0006CEC4 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 8006FF88 0006CEC8 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 8006FF8C 0006CECC 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8006FF90 0006CED0 A8 63 00 7C */ lha r3, 0x7c(r3)
|
||||
/* 8006FF94 0006CED4 38 80 00 01 */ li r4, 1
|
||||
|
|
|
|||
|
|
@ -8383,8 +8383,8 @@ lbl_800903FC:
|
|||
/* 80090420 0008D360 38 60 00 01 */ li r3, 1
|
||||
/* 80090424 0008D364 80 1E 01 7C */ lwz r0, 0x17c(r30)
|
||||
/* 80090428 0008D368 54 05 30 32 */ slwi r5, r0, 6
|
||||
/* 8009042C 0008D36C 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 80090430 0008D370 38 04 D2 E8 */ addi r0, r4, lbl_803DD2E8@l
|
||||
/* 8009042C 0008D36C 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 80090430 0008D370 38 04 D2 E8 */ addi r0, r4, m_cpadInfo@l
|
||||
/* 80090434 0008D374 7C 80 2A 14 */ add r4, r0, r5
|
||||
/* 80090438 0008D378 80 84 00 30 */ lwz r4, 0x30(r4)
|
||||
/* 8009043C 0008D37C 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
|
|
|
|||
|
|
@ -2101,8 +2101,8 @@ lbl_801853AC:
|
|||
/* 801853D4 00182314 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801853D8 00182318 80 63 02 54 */ lwz r3, 0x254(r3)
|
||||
/* 801853DC 0018231C 4B EA CD C1 */ bl checkTrigger__9STControlFv
|
||||
/* 801853E0 00182320 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801853E4 00182324 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801853E0 00182320 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801853E4 00182324 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801853E8 00182328 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801853EC 0018232C 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801853F0 00182330 40 82 00 0C */ bne lbl_801853FC
|
||||
|
|
@ -3428,8 +3428,8 @@ lbl_8018675C:
|
|||
/* 80186784 001836C4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80186788 001836C8 80 63 02 54 */ lwz r3, 0x254(r3)
|
||||
/* 8018678C 001836CC 4B EA BA 11 */ bl checkTrigger__9STControlFv
|
||||
/* 80186790 001836D0 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80186794 001836D4 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80186790 001836D0 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80186794 001836D4 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80186798 001836D8 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 8018679C 001836DC 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801867A0 001836E0 41 82 00 10 */ beq lbl_801867B0
|
||||
|
|
@ -5002,8 +5002,8 @@ lbl_80187EAC:
|
|||
/* 80187EE4 00184E24 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80187EE8 00184E28 80 63 02 54 */ lwz r3, 0x254(r3)
|
||||
/* 80187EEC 00184E2C 4B EA A2 B1 */ bl checkTrigger__9STControlFv
|
||||
/* 80187EF0 00184E30 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80187EF4 00184E34 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80187EF0 00184E30 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80187EF4 00184E34 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80187EF8 00184E38 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80187EFC 00184E3C 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 80187F00 00184E40 41 82 00 10 */ beq lbl_80187F10
|
||||
|
|
@ -6343,8 +6343,8 @@ lbl_80189288:
|
|||
/* 801892AC 001861EC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801892B0 001861F0 80 63 02 54 */ lwz r3, 0x254(r3)
|
||||
/* 801892B4 001861F4 4B EA 8E E9 */ bl checkTrigger__9STControlFv
|
||||
/* 801892B8 001861F8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801892BC 001861FC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801892B8 001861F8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801892BC 001861FC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801892C0 00186200 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801892C4 00186204 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801892C8 00186208 41 82 00 10 */ beq lbl_801892D8
|
||||
|
|
@ -13347,8 +13347,8 @@ dFile_select_c_NS_errYesNoSelect:
|
|||
/* 8018FA44 0018C984 3B E0 00 00 */ li r31, 0
|
||||
/* 8018FA48 0018C988 80 63 02 54 */ lwz r3, 0x254(r3)
|
||||
/* 8018FA4C 0018C98C 4B EA 27 51 */ bl checkTrigger__9STControlFv
|
||||
/* 8018FA50 0018C990 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8018FA54 0018C994 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8018FA50 0018C990 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8018FA54 0018C994 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8018FA58 0018C998 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8018FA5C 0018C99C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 8018FA60 0018C9A0 41 82 00 90 */ beq lbl_8018FAF0
|
||||
|
|
|
|||
|
|
@ -235,8 +235,8 @@ lbl_801AF068:
|
|||
/* 801AF0C0 001AC000 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801AF0C4 001AC004 7C 08 02 A6 */ mflr r0
|
||||
/* 801AF0C8 001AC008 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801AF0CC 001AC00C 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801AF0D0 001AC010 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801AF0CC 001AC00C 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801AF0D0 001AC010 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801AF0D4 001AC014 80 84 00 34 */ lwz r4, 0x34(r4)
|
||||
/* 801AF0D8 001AC018 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
/* 801AF0DC 001AC01C 41 82 00 50 */ beq lbl_801AF12C
|
||||
|
|
@ -433,8 +433,8 @@ lbl_801AF35C:
|
|||
/* 801AF3BC 001AC2FC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801AF3C0 001AC300 7C 08 02 A6 */ mflr r0
|
||||
/* 801AF3C4 001AC304 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801AF3C8 001AC308 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801AF3CC 001AC30C 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801AF3C8 001AC308 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801AF3CC 001AC30C 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801AF3D0 001AC310 80 84 00 34 */ lwz r4, 0x34(r4)
|
||||
/* 801AF3D4 001AC314 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
/* 801AF3D8 001AC318 41 82 00 50 */ beq lbl_801AF428
|
||||
|
|
@ -596,8 +596,8 @@ lbl_801AF5D8:
|
|||
/* 801AF638 001AC578 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 801AF63C 001AC57C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 801AF640 001AC580 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801AF644 001AC584 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801AF648 001AC588 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801AF644 001AC584 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801AF648 001AC588 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801AF64C 001AC58C 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801AF650 001AC590 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801AF654 001AC594 41 82 00 58 */ beq lbl_801AF6AC
|
||||
|
|
|
|||
|
|
@ -7560,8 +7560,8 @@ lbl_801BED5C:
|
|||
/* 801BEDE0 001BBD20 48 00 01 ED */ bl dMenu_Dmap_c_NS_itemSelectAnmInit
|
||||
/* 801BEDE4 001BBD24 48 00 01 2C */ b lbl_801BEF10
|
||||
lbl_801BEDE8:
|
||||
/* 801BEDE8 001BBD28 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801BEDEC 001BBD2C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801BEDE8 001BBD28 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801BEDEC 001BBD2C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801BEDF0 001BBD30 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801BEDF4 001BBD34 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 801BEDF8 001BBD38 41 82 01 18 */ beq lbl_801BEF10
|
||||
|
|
@ -8757,8 +8757,8 @@ lbl_801BFF5C:
|
|||
/* 801BFF9C 001BCEDC 88 03 01 7B */ lbz r0, 0x17b(r3)
|
||||
/* 801BFFA0 001BCEE0 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 801BFFA4 001BCEE4 40 82 00 D4 */ bne lbl_801C0078
|
||||
/* 801BFFA8 001BCEE8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801BFFAC 001BCEEC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801BFFA8 001BCEE8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801BFFAC 001BCEEC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801BFFB0 001BCEF0 80 83 00 34 */ lwz r4, 0x34(r3)
|
||||
/* 801BFFB4 001BCEF4 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
/* 801BFFB8 001BCEF8 41 82 00 48 */ beq lbl_801C0000
|
||||
|
|
|
|||
|
|
@ -597,8 +597,8 @@ lbl_801C5550:
|
|||
/* 801C55AC 001C24EC 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 801C55B0 001C24F0 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 801C55B4 001C24F4 4C 82 00 20 */ bnelr
|
||||
/* 801C55B8 001C24F8 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801C55BC 001C24FC 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801C55B8 001C24F8 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801C55BC 001C24FC 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801C55C0 001C2500 80 04 00 34 */ lwz r0, 0x34(r4)
|
||||
/* 801C55C4 001C2504 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
|
||||
/* 801C55C8 001C2508 4D 82 00 20 */ beqlr
|
||||
|
|
|
|||
|
|
@ -824,8 +824,8 @@ lbl_801D8CAC:
|
|||
/* 801D8CE4 001D5C24 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 801D8CE8 001D5C28 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 801D8CEC 001D5C2C 40 82 01 00 */ bne lbl_801D8DEC
|
||||
/* 801D8CF0 001D5C30 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801D8CF4 001D5C34 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801D8CF0 001D5C30 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801D8CF4 001D5C34 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801D8CF8 001D5C38 80 A4 00 34 */ lwz r5, 0x34(r4)
|
||||
/* 801D8CFC 001D5C3C 54 A4 05 AD */ rlwinm. r4, r5, 0, 0x16, 0x16
|
||||
/* 801D8D00 001D5C40 40 82 00 10 */ bne lbl_801D8D10
|
||||
|
|
@ -1188,8 +1188,8 @@ lbl_801D9250:
|
|||
/* 801D925C 001D619C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 801D9260 001D61A0 4E 80 00 20 */ blr
|
||||
/* 801D9264 001D61A4 4E 80 00 20 */ blr
|
||||
/* 801D9268 001D61A8 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801D926C 001D61AC 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801D9268 001D61A8 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801D926C 001D61AC 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801D9270 001D61B0 80 84 00 34 */ lwz r4, 0x34(r4)
|
||||
/* 801D9274 001D61B4 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
/* 801D9278 001D61B8 40 82 00 0C */ bne lbl_801D9284
|
||||
|
|
@ -1225,8 +1225,8 @@ lbl_801D9284:
|
|||
/* 801D92EC 001D622C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801D92F0 001D6230 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 801D92F4 001D6234 4B E5 8E A9 */ bl checkTrigger__9STControlFv
|
||||
/* 801D92F8 001D6238 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801D92FC 001D623C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801D92F8 001D6238 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801D92FC 001D623C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801D9300 001D6240 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801D9304 001D6244 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801D9308 001D6248 41 82 00 8C */ beq lbl_801D9394
|
||||
|
|
|
|||
|
|
@ -1173,8 +1173,8 @@ lbl_801DDDF8:
|
|||
/* 801DDE74 001DADB4 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 801DDE78 001DADB8 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 801DDE7C 001DADBC 40 82 02 D0 */ bne lbl_801DE14C
|
||||
/* 801DDE80 001DADC0 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801DDE84 001DADC4 3B A3 D2 E8 */ addi r29, r3, lbl_803DD2E8@l
|
||||
/* 801DDE80 001DADC0 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801DDE84 001DADC4 3B A3 D2 E8 */ addi r29, r3, m_cpadInfo@l
|
||||
/* 801DDE88 001DADC8 80 7D 00 34 */ lwz r3, 0x34(r29)
|
||||
/* 801DDE8C 001DADCC 54 60 05 AD */ rlwinm. r0, r3, 0, 0x16, 0x16
|
||||
/* 801DDE90 001DADD0 41 82 00 20 */ beq lbl_801DDEB0
|
||||
|
|
@ -1821,8 +1821,8 @@ lbl_801DE810:
|
|||
/* 801DE82C 001DB76C 90 01 00 B4 */ stw r0, 0xb4(r1)
|
||||
/* 801DE830 001DB770 93 E1 00 AC */ stw r31, 0xac(r1)
|
||||
/* 801DE834 001DB774 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801DE838 001DB778 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801DE83C 001DB77C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801DE838 001DB778 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801DE83C 001DB77C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801DE840 001DB780 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801DE844 001DB784 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801DE848 001DB788 41 82 00 A4 */ beq lbl_801DE8EC
|
||||
|
|
|
|||
|
|
@ -1474,8 +1474,8 @@ lbl_801E344C:
|
|||
/* 801E3450 001E0390 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 801E3454 001E0394 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 801E3458 001E0398 40 82 01 84 */ bne lbl_801E35DC
|
||||
/* 801E345C 001E039C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801E3460 001E03A0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801E345C 001E039C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801E3460 001E03A0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801E3464 001E03A4 80 83 00 34 */ lwz r4, 0x34(r3)
|
||||
/* 801E3468 001E03A8 54 85 05 EF */ rlwinm. r5, r4, 0, 0x17, 0x17
|
||||
/* 801E346C 001E03AC 41 82 00 B8 */ beq lbl_801E3524
|
||||
|
|
@ -2485,8 +2485,8 @@ lbl_801E42F8:
|
|||
/* 801E4318 001E1258 40 82 00 38 */ bne lbl_801E4350
|
||||
/* 801E431C 001E125C 38 00 00 01 */ li r0, 1
|
||||
/* 801E4320 001E1260 98 1F 03 EA */ stb r0, 0x3ea(r31)
|
||||
/* 801E4324 001E1264 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 801E4328 001E1268 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 801E4324 001E1264 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 801E4328 001E1268 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 801E432C 001E126C 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 801E4330 001E1270 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 801E4334 001E1274 38 9F 03 E0 */ addi r4, r31, 0x3e0
|
||||
|
|
@ -2534,8 +2534,8 @@ lbl_801E43B0:
|
|||
/* 801E43D0 001E1310 40 82 00 38 */ bne lbl_801E4408
|
||||
/* 801E43D4 001E1314 38 00 00 01 */ li r0, 1
|
||||
/* 801E43D8 001E1318 98 1F 03 EA */ stb r0, 0x3ea(r31)
|
||||
/* 801E43DC 001E131C 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 801E43E0 001E1320 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 801E43DC 001E131C 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 801E43E0 001E1320 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 801E43E4 001E1324 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 801E43E8 001E1328 38 63 00 68 */ addi r3, r3, 0x68
|
||||
/* 801E43EC 001E132C 38 9F 03 E0 */ addi r4, r31, 0x3e0
|
||||
|
|
@ -3181,8 +3181,8 @@ lbl_801E4CBC:
|
|||
/* 801E4D3C 001E1C7C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 801E4D40 001E1C80 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801E4D44 001E1C84 4B FF ED 85 */ bl dMenu_Option_c_NS_checkRightTrigger
|
||||
/* 801E4D48 001E1C88 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801E4D4C 001E1C8C 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801E4D48 001E1C88 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801E4D4C 001E1C8C 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801E4D50 001E1C90 80 84 00 34 */ lwz r4, 0x34(r4)
|
||||
/* 801E4D54 001E1C94 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
/* 801E4D58 001E1C98 41 82 00 1C */ beq lbl_801E4D74
|
||||
|
|
@ -3525,8 +3525,8 @@ lbl_801E5230:
|
|||
/* 801E5268 001E21A8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 801E526C 001E21AC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 801E5270 001E21B0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801E5274 001E21B4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801E5278 001E21B8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801E5274 001E21B4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801E5278 001E21B8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801E527C 001E21BC 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801E5280 001E21C0 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b
|
||||
/* 801E5284 001E21C4 40 82 00 0C */ bne lbl_801E5290
|
||||
|
|
@ -6511,8 +6511,8 @@ dMenu_Option_c_NS_changeTVCheck:
|
|||
/* 801E7DFC 001E4D3C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 801E7E00 001E4D40 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 801E7E04 001E4D44 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801E7E08 001E4D48 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801E7E0C 001E4D4C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801E7E08 001E4D48 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801E7E0C 001E4D4C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801E7E10 001E4D50 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801E7E14 001E4D54 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
|
||||
/* 801E7E18 001E4D58 41 82 00 6C */ beq lbl_801E7E84
|
||||
|
|
|
|||
|
|
@ -2614,8 +2614,8 @@ lbl_801EB70C:
|
|||
/* 801EB710 001E8650 55 25 06 3E */ clrlwi r5, r9, 0x18
|
||||
/* 801EB714 001E8654 7C 07 28 40 */ cmplw r7, r5
|
||||
/* 801EB718 001E8658 41 82 01 8C */ beq lbl_801EB8A4
|
||||
/* 801EB71C 001E865C 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801EB720 001E8660 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801EB71C 001E865C 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801EB720 001E8660 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801EB724 001E8664 80 04 00 30 */ lwz r0, 0x30(r4)
|
||||
/* 801EB728 001E8668 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
||||
/* 801EB72C 001E866C 41 82 00 38 */ beq lbl_801EB764
|
||||
|
|
@ -3638,8 +3638,8 @@ dMenu_Ring_c_NS_setActiveCursor:
|
|||
/* 801EC560 001E94A0 88 04 00 E0 */ lbz r0, 0xe0(r4)
|
||||
/* 801EC564 001E94A4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801EC568 001E94A8 40 82 01 D4 */ bne lbl_801EC73C
|
||||
/* 801EC56C 001E94AC 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801EC570 001E94B0 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801EC56C 001E94AC 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801EC570 001E94B0 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801EC574 001E94B4 80 84 00 34 */ lwz r4, 0x34(r4)
|
||||
/* 801EC578 001E94B8 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a
|
||||
/* 801EC57C 001E94BC 41 82 00 44 */ beq lbl_801EC5C0
|
||||
|
|
@ -4543,8 +4543,8 @@ lbl_801ED294:
|
|||
/* 801ED2B0 001EA1F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 801ED2B4 001EA1F4 38 21 00 70 */ addi r1, r1, 0x70
|
||||
/* 801ED2B8 001EA1F8 4E 80 00 20 */ blr
|
||||
/* 801ED2BC 001EA1FC 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 801ED2C0 001EA200 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 801ED2BC 001EA1FC 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 801ED2C0 001EA200 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 801ED2C4 001EA204 80 04 00 30 */ lwz r0, 0x30(r4)
|
||||
/* 801ED2C8 001EA208 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
|
||||
/* 801ED2CC 001EA20C 41 82 00 30 */ beq lbl_801ED2FC
|
||||
|
|
|
|||
|
|
@ -4598,8 +4598,8 @@ lbl_801F391C:
|
|||
/* 801F3954 001F0894 40 82 01 2C */ bne lbl_801F3A80
|
||||
/* 801F3958 001F0898 80 7F 00 0C */ lwz r3, 0xc(r31)
|
||||
/* 801F395C 001F089C 4B E3 E8 41 */ bl checkTrigger__9STControlFv
|
||||
/* 801F3960 001F08A0 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F3964 001F08A4 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F3960 001F08A0 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F3964 001F08A4 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F3968 001F08A8 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801F396C 001F08AC 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801F3970 001F08B0 41 82 00 10 */ beq lbl_801F3980
|
||||
|
|
@ -5110,8 +5110,8 @@ lbl_801F40C0:
|
|||
/* 801F40F8 001F1038 40 82 01 2C */ bne lbl_801F4224
|
||||
/* 801F40FC 001F103C 80 7F 00 0C */ lwz r3, 0xc(r31)
|
||||
/* 801F4100 001F1040 4B E3 E0 9D */ bl checkTrigger__9STControlFv
|
||||
/* 801F4104 001F1044 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F4108 001F1048 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F4104 001F1044 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F4108 001F1048 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F410C 001F104C 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801F4110 001F1050 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801F4114 001F1054 41 82 00 10 */ beq lbl_801F4124
|
||||
|
|
@ -6037,8 +6037,8 @@ dMenu_save_c_NS_errYesNoSelect:
|
|||
lbl_801F4E84:
|
||||
/* 801F4E84 001F1DC4 80 7F 00 0C */ lwz r3, 0xc(r31)
|
||||
/* 801F4E88 001F1DC8 4B E3 D3 15 */ bl checkTrigger__9STControlFv
|
||||
/* 801F4E8C 001F1DCC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F4E90 001F1DD0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F4E8C 001F1DCC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F4E90 001F1DD0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F4E94 001F1DD4 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801F4E98 001F1DD8 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 801F4E9C 001F1DDC 41 82 00 A0 */ beq lbl_801F4F3C
|
||||
|
|
|
|||
|
|
@ -819,8 +819,8 @@ lbl_801F7D3C:
|
|||
/* 801F7DB4 001F4CF4 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 801F7DB8 001F4CF8 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 801F7DBC 001F4CFC 40 82 01 50 */ bne lbl_801F7F0C
|
||||
/* 801F7DC0 001F4D00 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F7DC4 001F4D04 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F7DC0 001F4D00 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F7DC4 001F4D04 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F7DC8 001F4D08 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801F7DCC 001F4D0C 54 60 05 AD */ rlwinm. r0, r3, 0, 0x16, 0x16
|
||||
/* 801F7DD0 001F4D10 41 82 00 20 */ beq lbl_801F7DF0
|
||||
|
|
@ -1059,8 +1059,8 @@ lbl_801F80F8:
|
|||
/* 801F8158 001F5098 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 801F815C 001F509C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 801F8160 001F50A0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801F8164 001F50A4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F8168 001F50A8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F8164 001F50A4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F8168 001F50A8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F816C 001F50AC 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801F8170 001F50B0 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801F8174 001F50B4 41 82 00 48 */ beq lbl_801F81BC
|
||||
|
|
|
|||
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
.global dMw_UP_TRIGGER
|
||||
dMw_UP_TRIGGER:
|
||||
/* 801F9F84 001F6EC4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F9F88 001F6EC8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F9F84 001F6EC4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F9F88 001F6EC8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F9F8C 001F6ECC 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801F9F90 001F6ED0 54 03 EF FE */ rlwinm r3, r0, 0x1d, 0x1f, 0x1f
|
||||
/* 801F9F94 001F6ED4 4E 80 00 20 */ blr
|
||||
|
||||
.global dMw_DOWN_TRIGGER
|
||||
dMw_DOWN_TRIGGER:
|
||||
/* 801F9F98 001F6ED8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F9F9C 001F6EDC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F9F98 001F6ED8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F9F9C 001F6EDC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F9FA0 001F6EE0 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801F9FA4 001F6EE4 54 03 F7 FE */ rlwinm r3, r0, 0x1e, 0x1f, 0x1f
|
||||
/* 801F9FA8 001F6EE8 4E 80 00 20 */ blr
|
||||
|
|
@ -24,8 +24,8 @@ dMw_LEFT_TRIGGER:
|
|||
/* 801F9FAC 001F6EEC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801F9FB0 001F6EF0 7C 08 02 A6 */ mflr r0
|
||||
/* 801F9FB4 001F6EF4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801F9FB8 001F6EF8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801F9FBC 001F6EFC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801F9FB8 001F6EF8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801F9FBC 001F6EFC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801F9FC0 001F6F00 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801F9FC4 001F6F04 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
||||
/* 801F9FC8 001F6F08 41 82 00 18 */ beq lbl_801F9FE0
|
||||
|
|
@ -47,8 +47,8 @@ dMw_RIGHT_TRIGGER:
|
|||
/* 801F9FF4 001F6F34 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 801F9FF8 001F6F38 7C 08 02 A6 */ mflr r0
|
||||
/* 801F9FFC 001F6F3C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801FA000 001F6F40 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FA004 001F6F44 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FA000 001F6F40 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FA004 001F6F44 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FA008 001F6F48 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801FA00C 001F6F4C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
/* 801FA010 001F6F50 41 82 00 18 */ beq lbl_801FA028
|
||||
|
|
@ -67,32 +67,32 @@ lbl_801FA02C:
|
|||
|
||||
.global dMw_A_TRIGGER
|
||||
dMw_A_TRIGGER:
|
||||
/* 801FA03C 001F6F7C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FA040 001F6F80 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FA03C 001F6F7C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FA040 001F6F80 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FA044 001F6F84 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801FA048 001F6F88 54 03 C7 FE */ rlwinm r3, r0, 0x18, 0x1f, 0x1f
|
||||
/* 801FA04C 001F6F8C 4E 80 00 20 */ blr
|
||||
|
||||
.global dMw_B_TRIGGER
|
||||
dMw_B_TRIGGER:
|
||||
/* 801FA050 001F6F90 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FA054 001F6F94 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FA050 001F6F90 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FA054 001F6F94 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FA058 001F6F98 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801FA05C 001F6F9C 54 03 BF FE */ rlwinm r3, r0, 0x17, 0x1f, 0x1f
|
||||
/* 801FA060 001F6FA0 4E 80 00 20 */ blr
|
||||
|
||||
.global dMw_Z_TRIGGER
|
||||
dMw_Z_TRIGGER:
|
||||
/* 801FA064 001F6FA4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FA068 001F6FA8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FA064 001F6FA4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FA068 001F6FA8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FA06C 001F6FAC 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801FA070 001F6FB0 54 03 E7 FE */ rlwinm r3, r0, 0x1c, 0x1f, 0x1f
|
||||
/* 801FA074 001F6FB4 4E 80 00 20 */ blr
|
||||
|
||||
.global dMw_START_TRIGGER
|
||||
dMw_START_TRIGGER:
|
||||
/* 801FA078 001F6FB8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FA07C 001F6FBC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FA078 001F6FB8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FA07C 001F6FBC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FA080 001F6FC0 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801FA084 001F6FC4 54 03 A7 FE */ rlwinm r3, r0, 0x14, 0x1f, 0x1f
|
||||
/* 801FA088 001F6FC8 4E 80 00 20 */ blr
|
||||
|
|
@ -829,8 +829,8 @@ lbl_801FAB0C:
|
|||
/* 801FABAC 001F7AEC 4E 80 04 21 */ bctrl
|
||||
/* 801FABB0 001F7AF0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 801FABB4 001F7AF4 40 82 04 10 */ bne lbl_801FAFC4
|
||||
/* 801FABB8 001F7AF8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FABBC 001F7AFC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FABB8 001F7AF8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FABBC 001F7AFC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FABC0 001F7B00 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801FABC4 001F7B04 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801FABC8 001F7B08 40 82 00 0C */ bne lbl_801FABD4
|
||||
|
|
@ -2257,8 +2257,8 @@ lbl_801FC034:
|
|||
/* 801FC034 001F8F74 90 1F 01 14 */ stw r0, 0x114(r31)
|
||||
/* 801FC038 001F8F78 80 7F 01 14 */ lwz r3, 0x114(r31)
|
||||
/* 801FC03C 001F8F7C 4B FB B9 D1 */ bl dMenu_Collect_c_NS__create
|
||||
/* 801FC040 001F8F80 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FC044 001F8F84 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FC040 001F8F80 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FC044 001F8F84 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FC048 001F8F88 88 03 00 39 */ lbz r0, 0x39(r3)
|
||||
/* 801FC04C 001F8F8C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801FC050 001F8F90 41 82 00 14 */ beq lbl_801FC064
|
||||
|
|
@ -3707,8 +3707,8 @@ lbl_801FD378:
|
|||
/* 801FD3BC 001FA2FC 48 16 4C C9 */ bl func_80362084
|
||||
/* 801FD3C0 001FA300 60 00 00 00 */ nop
|
||||
lbl_801FD3C4:
|
||||
/* 801FD3C4 001FA304 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FD3C8 001FA308 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FD3C4 001FA304 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FD3C8 001FA308 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FD3CC 001FA30C 88 03 00 39 */ lbz r0, 0x39(r3)
|
||||
/* 801FD3D0 001FA310 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801FD3D4 001FA314 40 82 00 24 */ bne lbl_801FD3F8
|
||||
|
|
@ -3721,8 +3721,8 @@ lbl_801FD3C4:
|
|||
/* 801FD3F0 001FA330 38 80 00 01 */ li r4, 1
|
||||
/* 801FD3F4 001FA334 4B FF F9 09 */ bl dMw_c_NS_dMw_offButtonBit
|
||||
lbl_801FD3F8:
|
||||
/* 801FD3F8 001FA338 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801FD3FC 001FA33C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801FD3F8 001FA338 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801FD3FC 001FA33C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801FD400 001FA340 88 03 00 3B */ lbz r0, 0x3b(r3)
|
||||
/* 801FD404 001FA344 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 801FD408 001FA348 40 82 00 24 */ bne lbl_801FD42C
|
||||
|
|
|
|||
|
|
@ -1415,8 +1415,8 @@ lbl_801DBB6C:
|
|||
/* 801DBBB0 001D8AF0 41 82 00 08 */ beq lbl_801DBBB8
|
||||
/* 801DBBB4 001D8AF4 48 06 02 DD */ bl dMsgScrnArrow_c_NS_arwAnimeMove
|
||||
lbl_801DBBB8:
|
||||
/* 801DBBB8 001D8AF8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801DBBBC 001D8AFC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801DBBB8 001D8AF8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801DBBBC 001D8AFC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801DBBC0 001D8B00 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801DBBC4 001D8B04 54 64 05 EF */ rlwinm. r4, r3, 0, 0x17, 0x17
|
||||
/* 801DBBC8 001D8B08 40 82 00 34 */ bne lbl_801DBBFC
|
||||
|
|
@ -1662,8 +1662,8 @@ lbl_801DBF18:
|
|||
/* 801DBF54 001D8E94 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801DBF58 001D8E98 80 63 00 B8 */ lwz r3, 0xb8(r3)
|
||||
/* 801DBF5C 001D8E9C 4B E5 62 41 */ bl checkTrigger__9STControlFv
|
||||
/* 801DBF60 001D8EA0 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801DBF64 001D8EA4 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801DBF60 001D8EA0 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801DBF64 001D8EA4 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801DBF68 001D8EA8 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801DBF6C 001D8EAC 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 801DBF70 001D8EB0 41 82 00 E4 */ beq lbl_801DC054
|
||||
|
|
@ -1852,8 +1852,8 @@ lbl_801DC204:
|
|||
/* 801DC21C 001D915C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 801DC220 001D9160 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 801DC224 001D9164 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 801DC228 001D9168 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801DC22C 001D916C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 801DC228 001D9168 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801DC22C 001D916C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801DC230 001D9170 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 801DC234 001D9174 54 64 05 EF */ rlwinm. r4, r3, 0, 0x17, 0x17
|
||||
/* 801DC238 001D9178 40 82 00 0C */ bne lbl_801DC244
|
||||
|
|
|
|||
|
|
@ -1066,8 +1066,8 @@ lbl_8020E310:
|
|||
/* 8020E374 0020B2B4 48 01 06 5D */ bl dMeter2Info_set2DVibration
|
||||
/* 8020E378 0020B2B8 48 00 00 28 */ b lbl_8020E3A0
|
||||
lbl_8020E37C:
|
||||
/* 8020E37C 0020B2BC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8020E380 0020B2C0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8020E37C 0020B2BC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8020E380 0020B2C0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8020E384 0020B2C4 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 8020E388 0020B2C8 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c
|
||||
/* 8020E38C 0020B2CC 40 82 00 14 */ bne lbl_8020E3A0
|
||||
|
|
|
|||
|
|
@ -3882,8 +3882,8 @@ lbl_8022BC20:
|
|||
/* 8022BC20 00228B60 88 1F 12 4B */ lbz r0, 0x124b(r31)
|
||||
/* 8022BC24 00228B64 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8022BC28 00228B68 41 82 00 30 */ beq lbl_8022BC58
|
||||
/* 8022BC2C 00228B6C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8022BC30 00228B70 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8022BC2C 00228B6C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8022BC30 00228B70 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8022BC34 00228B74 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8022BC38 00228B78 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 8022BC3C 00228B7C 41 82 00 14 */ beq lbl_8022BC50
|
||||
|
|
@ -4050,8 +4050,8 @@ lbl_8022BE50:
|
|||
/* 8022BE84 00228DC4 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 8022BE88 00228DC8 7C 09 03 A6 */ mtctr r0
|
||||
/* 8022BE8C 00228DCC 4E 80 04 20 */ bctr
|
||||
/* 8022BE90 00228DD0 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8022BE94 00228DD4 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8022BE90 00228DD0 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8022BE94 00228DD4 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8022BE98 00228DD8 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8022BE9C 00228DDC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 8022BEA0 00228DE0 40 82 00 10 */ bne lbl_8022BEB0
|
||||
|
|
|
|||
|
|
@ -1775,8 +1775,8 @@ lbl_802343C8:
|
|||
/* 802343CC 0023130C 98 1D 12 4D */ stb r0, 0x124d(r29)
|
||||
/* 802343D0 00231310 48 00 01 20 */ b lbl_802344F0
|
||||
lbl_802343D4:
|
||||
/* 802343D4 00231314 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 802343D8 00231318 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 802343D4 00231314 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 802343D8 00231318 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 802343DC 0023131C 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 802343E0 00231320 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 802343E4 00231324 41 82 00 2C */ beq lbl_80234410
|
||||
|
|
@ -2232,8 +2232,8 @@ lbl_80234A8C:
|
|||
/* 80234A98 002319D8 C0 22 B0 C0 */ lfs f1, lbl_80454AC0-_SDA2_BASE_(r2)
|
||||
/* 80234A9C 002319DC FC 02 08 40 */ fcmpo cr0, f2, f1
|
||||
/* 80234AA0 002319E0 40 80 00 60 */ bge lbl_80234B00
|
||||
/* 80234AA4 002319E4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80234AA8 002319E8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80234AA4 002319E4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80234AA8 002319E8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80234AAC 002319EC 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80234AB0 002319F0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 80234AB4 002319F4 41 82 00 0C */ beq lbl_80234AC0
|
||||
|
|
@ -2626,8 +2626,8 @@ dMsgObject_c_NS_continueProc:
|
|||
/* 80235044 00231F84 7D 89 03 A6 */ mtctr r12
|
||||
/* 80235048 00231F88 4E 80 04 21 */ bctrl
|
||||
lbl_8023504C:
|
||||
/* 8023504C 00231F8C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80235050 00231F90 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8023504C 00231F8C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80235050 00231F90 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80235054 00231F94 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80235058 00231F98 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 8023505C 00231F9C 40 82 00 0C */ bne lbl_80235068
|
||||
|
|
@ -2860,8 +2860,8 @@ lbl_80235380:
|
|||
/* 802353AC 002322EC 38 00 00 00 */ li r0, 0
|
||||
/* 802353B0 002322F0 98 03 5E 50 */ stb r0, 0x5e50(r3)
|
||||
lbl_802353B4:
|
||||
/* 802353B4 002322F4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 802353B8 002322F8 3B C3 D2 E8 */ addi r30, r3, lbl_803DD2E8@l
|
||||
/* 802353B4 002322F4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 802353B8 002322F8 3B C3 D2 E8 */ addi r30, r3, m_cpadInfo@l
|
||||
/* 802353BC 002322FC 80 7E 00 34 */ lwz r3, 0x34(r30)
|
||||
/* 802353C0 00232300 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 802353C4 00232304 41 82 00 24 */ beq lbl_802353E8
|
||||
|
|
@ -3239,8 +3239,8 @@ dMsgObject_c_NS_inputProc:
|
|||
/* 80235910 00232850 41 82 01 AC */ beq lbl_80235ABC
|
||||
/* 80235914 00232854 38 00 00 00 */ li r0, 0
|
||||
/* 80235918 00232858 98 1C 01 99 */ stb r0, 0x199(r28)
|
||||
/* 8023591C 0023285C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80235920 00232860 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8023591C 0023285C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80235920 00232860 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80235924 00232864 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80235928 00232868 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 8023592C 0023286C 41 82 01 58 */ beq lbl_80235A84
|
||||
|
|
@ -3421,8 +3421,8 @@ lbl_80235B9C:
|
|||
/* 80235BB0 00232AF0 48 00 C4 D1 */ bl dMsgScrnHowl_c_NS_isKeyCheck
|
||||
/* 80235BB4 00232AF4 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 80235BB8 00232AF8 41 82 00 1C */ beq lbl_80235BD4
|
||||
/* 80235BBC 00232AFC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80235BC0 00232B00 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80235BBC 00232AFC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80235BC0 00232B00 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80235BC4 00232B04 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80235BC8 00232B08 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
|
||||
/* 80235BCC 00232B0C 41 82 00 08 */ beq lbl_80235BD4
|
||||
|
|
@ -3431,8 +3431,8 @@ lbl_80235BD4:
|
|||
/* 80235BD4 00232B14 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80235BD8 00232B18 48 00 0E 01 */ bl dMsgObject_c_NS_isSend
|
||||
/* 80235BDC 00232B1C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80235BE0 00232B20 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80235BE4 00232B24 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80235BE0 00232B20 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80235BE4 00232B24 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80235BE8 00232B28 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80235BEC 00232B2C 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 80235BF0 00232B30 40 82 00 1C */ bne lbl_80235C0C
|
||||
|
|
@ -4483,8 +4483,8 @@ lbl_80236A90:
|
|||
/* 80236AA8 002339E8 40 82 00 38 */ bne lbl_80236AE0
|
||||
/* 80236AAC 002339EC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80236AB0 002339F0 48 00 11 4D */ bl dMsgObject_c_NS_setButtonStatusLocal
|
||||
/* 80236AB4 002339F4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80236AB8 002339F8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80236AB4 002339F4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80236AB8 002339F8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80236ABC 002339FC 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80236AC0 00233A00 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 80236AC4 00233A04 40 82 00 0C */ bne lbl_80236AD0
|
||||
|
|
@ -4521,8 +4521,8 @@ lbl_80236B1C:
|
|||
/* 80236B24 00233A64 40 82 00 98 */ bne lbl_80236BBC
|
||||
/* 80236B28 00233A68 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80236B2C 00233A6C 48 00 10 D1 */ bl dMsgObject_c_NS_setButtonStatusLocal
|
||||
/* 80236B30 00233A70 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80236B34 00233A74 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80236B30 00233A70 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80236B34 00233A74 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80236B38 00233A78 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80236B3C 00233A7C 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 80236B40 00233A80 40 82 00 0C */ bne lbl_80236B4C
|
||||
|
|
@ -4546,8 +4546,8 @@ lbl_80236B54:
|
|||
/* 80236B80 00233AC0 38 60 00 02 */ li r3, 2
|
||||
/* 80236B84 00233AC4 48 00 00 5C */ b lbl_80236BE0
|
||||
lbl_80236B88:
|
||||
/* 80236B88 00233AC8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80236B8C 00233ACC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80236B88 00233AC8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80236B8C 00233ACC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80236B90 00233AD0 80 63 00 34 */ lwz r3, 0x34(r3)
|
||||
/* 80236B94 00233AD4 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
|
||||
/* 80236B98 00233AD8 40 82 00 0C */ bne lbl_80236BA4
|
||||
|
|
|
|||
|
|
@ -1188,8 +1188,8 @@ lbl_8023DD70:
|
|||
/* 8023DDD0 0023AD10 B0 03 00 5E */ sth r0, 0x5e(r3)
|
||||
/* 8023DDD4 0023AD14 48 00 00 A8 */ b lbl_8023DE7C
|
||||
lbl_8023DDD8:
|
||||
/* 8023DDD8 0023AD18 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 8023DDDC 0023AD1C 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 8023DDD8 0023AD18 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 8023DDDC 0023AD1C 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 8023DDE0 0023AD20 80 84 00 34 */ lwz r4, 0x34(r4)
|
||||
/* 8023DDE4 0023AD24 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
|
||||
/* 8023DDE8 0023AD28 40 82 00 54 */ bne lbl_8023DE3C
|
||||
|
|
@ -1768,16 +1768,16 @@ lbl_8023E638:
|
|||
|
||||
.global dMsgScrnExplain_c_NS_checkTriggerA
|
||||
dMsgScrnExplain_c_NS_checkTriggerA:
|
||||
/* 8023E640 0023B580 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8023E644 0023B584 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8023E640 0023B580 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8023E644 0023B584 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8023E648 0023B588 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8023E64C 0023B58C 54 03 C7 FE */ rlwinm r3, r0, 0x18, 0x1f, 0x1f
|
||||
/* 8023E650 0023B590 4E 80 00 20 */ blr
|
||||
|
||||
.global dMsgScrnExplain_c_NS_checkTriggerB
|
||||
dMsgScrnExplain_c_NS_checkTriggerB:
|
||||
/* 8023E654 0023B594 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8023E658 0023B598 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8023E654 0023B594 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8023E658 0023B598 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 8023E65C 0023B59C 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 8023E660 0023B5A0 54 03 BF FE */ rlwinm r3, r0, 0x17, 0x1f, 0x1f
|
||||
/* 8023E664 0023B5A4 4E 80 00 20 */ blr
|
||||
|
|
|
|||
|
|
@ -1353,8 +1353,8 @@ lbl_80241CB0:
|
|||
/* 80241D94 0023ECD4 38 00 00 02 */ li r0, 2
|
||||
/* 80241D98 0023ECD8 98 1F 21 95 */ stb r0, 0x2195(r31)
|
||||
lbl_80241D9C:
|
||||
/* 80241D9C 0023ECDC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80241DA0 0023ECE0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80241D9C 0023ECDC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80241DA0 0023ECE0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80241DA4 0023ECE4 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80241DA8 0023ECE8 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
|
||||
/* 80241DAC 0023ECEC 41 82 00 3C */ beq lbl_80241DE8
|
||||
|
|
@ -1435,8 +1435,8 @@ lbl_80241E64:
|
|||
/* 80241EC4 0023EE04 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80241EC8 0023EE08 7C 7F 02 14 */ add r3, r31, r0
|
||||
/* 80241ECC 0023EE0C D0 23 01 80 */ stfs f1, 0x180(r3)
|
||||
/* 80241ED0 0023EE10 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80241ED4 0023EE14 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80241ED0 0023EE10 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80241ED4 0023EE14 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80241ED8 0023EE18 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 80241EDC 0023EE1C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 80241EE0 0023EE20 41 82 00 18 */ beq lbl_80241EF8
|
||||
|
|
@ -1468,8 +1468,8 @@ lbl_80241F14:
|
|||
/* 80241F40 0023EE80 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80241F44 0023EE84 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80241F48 0023EE88 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80241F4C 0023EE8C 3C 80 80 3E */ lis r4, lbl_803DD2E8@ha
|
||||
/* 80241F50 0023EE90 38 84 D2 E8 */ addi r4, r4, lbl_803DD2E8@l
|
||||
/* 80241F4C 0023EE8C 3C 80 80 3E */ lis r4, m_cpadInfo@ha
|
||||
/* 80241F50 0023EE90 38 84 D2 E8 */ addi r4, r4, m_cpadInfo@l
|
||||
/* 80241F54 0023EE94 80 04 00 30 */ lwz r0, 0x30(r4)
|
||||
/* 80241F58 0023EE98 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 80241F5C 0023EE9C 41 82 00 28 */ beq lbl_80241F84
|
||||
|
|
|
|||
|
|
@ -96,8 +96,8 @@ dScnLogo_c_NS_checkProgSelect:
|
|||
/* 802561CC 0025310C 48 00 23 55 */ bl dScnLogo_c_NS_isProgressiveMode
|
||||
/* 802561D0 00253110 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802561D4 00253114 40 82 00 18 */ bne lbl_802561EC
|
||||
/* 802561D8 00253118 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 802561DC 0025311C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 802561D8 00253118 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 802561DC 0025311C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 802561E0 00253120 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802561E4 00253124 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
|
||||
/* 802561E8 00253128 41 82 00 14 */ beq lbl_802561FC
|
||||
|
|
@ -215,8 +215,8 @@ lbl_80256304:
|
|||
/* 80256390 002532D0 88 1D 02 09 */ lbz r0, 0x209(r29)
|
||||
/* 80256394 002532D4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80256398 002532D8 40 82 00 80 */ bne lbl_80256418
|
||||
/* 8025639C 002532DC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 802563A0 002532E0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8025639C 002532DC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 802563A0 002532E0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 802563A4 002532E4 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802563A8 002532E8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
/* 802563AC 002532EC 40 82 00 14 */ bne lbl_802563C0
|
||||
|
|
@ -248,8 +248,8 @@ lbl_802563C0:
|
|||
/* 80256410 00253350 B0 1D 02 12 */ sth r0, 0x212(r29)
|
||||
/* 80256414 00253354 48 00 00 78 */ b lbl_8025648C
|
||||
lbl_80256418:
|
||||
/* 80256418 00253358 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 8025641C 0025335C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80256418 00253358 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 8025641C 0025335C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80256420 00253360 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 80256424 00253364 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
||||
/* 80256428 00253368 40 82 00 14 */ bne lbl_8025643C
|
||||
|
|
@ -279,8 +279,8 @@ lbl_8025643C:
|
|||
/* 80256484 002533C4 B0 1D 02 10 */ sth r0, 0x210(r29)
|
||||
/* 80256488 002533C8 B0 7D 02 12 */ sth r3, 0x212(r29)
|
||||
lbl_8025648C:
|
||||
/* 8025648C 002533CC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80256490 002533D0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8025648C 002533CC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80256490 002533D0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80256494 002533D4 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80256498 002533D8 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 8025649C 002533DC 40 82 00 10 */ bne lbl_802564AC
|
||||
|
|
@ -874,8 +874,8 @@ lbl_80256D4C:
|
|||
/* 80256D4C 00253C8C A0 1F 02 0C */ lhz r0, 0x20c(r31)
|
||||
/* 80256D50 00253C90 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80256D54 00253C94 41 82 00 18 */ beq lbl_80256D6C
|
||||
/* 80256D58 00253C98 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80256D5C 00253C9C 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80256D58 00253C98 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80256D5C 00253C9C 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80256D60 00253CA0 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 80256D64 00253CA4 70 00 1F 7F */ andi. r0, r0, 0x1f7f
|
||||
/* 80256D68 00253CA8 41 82 00 44 */ beq lbl_80256DAC
|
||||
|
|
|
|||
|
|
@ -431,8 +431,8 @@ dShopSystem_c_NS_checkController:
|
|||
/* 80197690 001945D0 88 03 0F 72 */ lbz r0, 0xf72(r3)
|
||||
/* 80197694 001945D4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80197698 001945D8 41 82 00 28 */ beq lbl_801976C0
|
||||
/* 8019769C 001945DC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 801976A0 001945E0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8019769C 001945DC 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 801976A0 001945E0 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 801976A4 001945E4 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 801976A8 001945E8 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 801976AC 001945EC 41 82 00 0C */ beq lbl_801976B8
|
||||
|
|
@ -483,8 +483,8 @@ lbl_80197720:
|
|||
/* 80197744 00194684 38 63 00 01 */ addi r3, r3, 1
|
||||
/* 80197748 00194688 48 00 00 A8 */ b lbl_801977F0
|
||||
lbl_8019774C:
|
||||
/* 8019774C 0019468C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80197750 00194690 3B 83 D2 E8 */ addi r28, r3, lbl_803DD2E8@l
|
||||
/* 8019774C 0019468C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80197750 00194690 3B 83 D2 E8 */ addi r28, r3, m_cpadInfo@l
|
||||
/* 80197754 00194694 80 1C 00 34 */ lwz r0, 0x34(r28)
|
||||
/* 80197758 00194698 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 8019775C 0019469C 41 82 00 54 */ beq lbl_801977B0
|
||||
|
|
|
|||
|
|
@ -113,8 +113,8 @@ fapGm_Create:
|
|||
/* 80018AB8 000159F8 48 00 58 C1 */ bl fopCamM_Init
|
||||
/* 80018ABC 000159FC 48 00 7A 5D */ bl fopDwTg_CreateQueue
|
||||
/* 80018AC0 00015A00 38 00 FF FF */ li r0, -1
|
||||
/* 80018AC4 00015A04 3C 60 80 3F */ lis r3, lbl_803F1BBC@ha
|
||||
/* 80018AC8 00015A08 38 63 1B BC */ addi r3, r3, lbl_803F1BBC@l
|
||||
/* 80018AC4 00015A04 3C 60 80 3F */ lis r3, g_HIO@ha
|
||||
/* 80018AC8 00015A08 38 63 1B BC */ addi r3, r3, g_HIO@l
|
||||
/* 80018ACC 00015A0C 98 03 00 04 */ stb r0, 4(r3)
|
||||
/* 80018AD0 00015A10 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80018AD4 00015A14 7C 08 03 A6 */ mtlr r0
|
||||
|
|
@ -144,8 +144,8 @@ lbl_80018B10:
|
|||
/* 80018B28 00015A68 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80018B2C 00015A6C 7C 08 02 A6 */ mflr r0
|
||||
/* 80018B30 00015A70 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80018B34 00015A74 3C 60 80 3F */ lis r3, lbl_803F1BBC@ha
|
||||
/* 80018B38 00015A78 38 63 1B BC */ addi r3, r3, lbl_803F1BBC@l
|
||||
/* 80018B34 00015A74 3C 60 80 3F */ lis r3, g_HIO@ha
|
||||
/* 80018B38 00015A78 38 63 1B BC */ addi r3, r3, g_HIO@l
|
||||
/* 80018B3C 00015A7C 4B FF FE 09 */ bl fapGm_HIO_c
|
||||
.global fapGm_HIO_c_NS_dtor
|
||||
/* 80018B40 00015A80 3C 80 80 02 */ lis r4, fapGm_HIO_c_NS_dtor@ha
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ fopAcM_CreateAppend:
|
|||
/* 80019AC8 00016A08 41 82 00 3C */ beq lbl_80019B04
|
||||
/* 80019ACC 00016A0C 38 80 00 00 */ li r4, 0
|
||||
/* 80019AD0 00016A10 38 A0 00 24 */ li r5, 0x24
|
||||
/* 80019AD4 00016A14 48 25 5E 89 */ bl cLib_memSet
|
||||
/* 80019AD4 00016A14 48 25 5E 89 */ bl cLib_memSet__FPviUl
|
||||
/* 80019AD8 00016A18 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
|
||||
/* 80019ADC 00016A1C 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
|
||||
/* 80019AE0 00016A20 B0 1F 00 16 */ sth r0, 0x16(r31)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ fopKyM_CreateAppend:
|
|||
/* 8001F680 0001C5C0 41 82 00 20 */ beq lbl_8001F6A0
|
||||
/* 8001F684 0001C5C4 38 80 00 00 */ li r4, 0
|
||||
/* 8001F688 0001C5C8 38 A0 00 1C */ li r5, 0x1c
|
||||
/* 8001F68C 0001C5CC 48 25 02 D1 */ bl cLib_memSet
|
||||
/* 8001F68C 0001C5CC 48 25 02 D1 */ bl cLib_memSet__FPviUl
|
||||
/* 8001F690 0001C5D0 C0 02 82 68 */ lfs f0, lbl_80451C68-_SDA2_BASE_(r2)
|
||||
/* 8001F694 0001C5D4 D0 1F 00 0C */ stfs f0, 0xc(r31)
|
||||
/* 8001F698 0001C5D8 D0 1F 00 10 */ stfs f0, 0x10(r31)
|
||||
|
|
|
|||
|
|
@ -1,318 +0,0 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 80007954
|
||||
|
||||
|
||||
.global mDoCPd_c_NS_create
|
||||
mDoCPd_c_NS_create:
|
||||
/* 80007954 00004894 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80007958 00004898 7C 08 02 A6 */ mflr r0
|
||||
/* 8000795C 0000489C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80007960 000048A0 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 80007964 000048A4 48 2C 72 E9 */ bl __nw__FUl
|
||||
/* 80007968 000048A8 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 8000796C 000048AC 41 82 00 10 */ beq lbl_8000797C
|
||||
/* 80007970 000048B0 38 80 00 00 */ li r4, 0
|
||||
/* 80007974 000048B4 48 2D 8D 69 */ bl __ct__10JUTGamePadFUl
|
||||
/* 80007978 000048B8 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_8000797C:
|
||||
/* 8000797C 000048BC 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 80007980 000048C0 94 03 D2 D8 */ stwu r0, lbl_803DD2D8@l(r3)
|
||||
/* 80007984 000048C4 88 0D 80 00 */ lbz r0, lbl_80450580-_SDA_BASE_(r13)
|
||||
/* 80007988 000048C8 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8000798C 000048CC 41 82 00 80 */ beq lbl_80007A0C
|
||||
/* 80007990 000048D0 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 80007994 000048D4 48 2C 72 B9 */ bl __nw__FUl
|
||||
/* 80007998 000048D8 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 8000799C 000048DC 41 82 00 10 */ beq lbl_800079AC
|
||||
/* 800079A0 000048E0 38 80 00 01 */ li r4, 1
|
||||
/* 800079A4 000048E4 48 2D 8D 39 */ bl __ct__10JUTGamePadFUl
|
||||
/* 800079A8 000048E8 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_800079AC:
|
||||
/* 800079AC 000048EC 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 800079B0 000048F0 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 800079B4 000048F4 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 800079B8 000048F8 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 800079BC 000048FC 48 2C 72 91 */ bl __nw__FUl
|
||||
/* 800079C0 00004900 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 800079C4 00004904 41 82 00 10 */ beq lbl_800079D4
|
||||
/* 800079C8 00004908 38 80 00 02 */ li r4, 2
|
||||
/* 800079CC 0000490C 48 2D 8D 11 */ bl __ct__10JUTGamePadFUl
|
||||
/* 800079D0 00004910 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_800079D4:
|
||||
/* 800079D4 00004914 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 800079D8 00004918 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 800079DC 0000491C 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 800079E0 00004920 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 800079E4 00004924 48 2C 72 69 */ bl __nw__FUl
|
||||
/* 800079E8 00004928 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 800079EC 0000492C 41 82 00 10 */ beq lbl_800079FC
|
||||
/* 800079F0 00004930 38 80 00 03 */ li r4, 3
|
||||
/* 800079F4 00004934 48 2D 8C E9 */ bl __ct__10JUTGamePadFUl
|
||||
/* 800079F8 00004938 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_800079FC:
|
||||
/* 800079FC 0000493C 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 80007A00 00004940 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 80007A04 00004944 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 80007A08 00004948 48 00 00 14 */ b lbl_80007A1C
|
||||
lbl_80007A0C:
|
||||
/* 80007A0C 0000494C 38 00 00 00 */ li r0, 0
|
||||
/* 80007A10 00004950 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 80007A14 00004954 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 80007A18 00004958 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
lbl_80007A1C:
|
||||
/* 80007A1C 0000495C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
|
||||
/* 80007A20 00004960 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 80007A24 00004964 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80007A28 00004968 40 82 00 1C */ bne lbl_80007A44
|
||||
/* 80007A2C 0000496C 38 80 00 00 */ li r4, 0
|
||||
/* 80007A30 00004970 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13)
|
||||
.global resetCallBack__6mDoRstFiPv
|
||||
/* 80007A34 00004974 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha
|
||||
.global resetCallBack__6mDoRstFiPv
|
||||
/* 80007A38 00004978 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l
|
||||
/* 80007A3C 0000497C 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13)
|
||||
/* 80007A40 00004980 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13)
|
||||
lbl_80007A44:
|
||||
/* 80007A44 00004984 38 00 00 03 */ li r0, 3
|
||||
/* 80007A48 00004988 90 0D 8F 5C */ stw r0, lbl_804514DC-_SDA_BASE_(r13)
|
||||
/* 80007A4C 0000498C 38 60 00 03 */ li r3, 3
|
||||
/* 80007A50 00004990 48 34 7F C1 */ bl PADSetAnalogMode
|
||||
/* 80007A54 00004994 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80007A58 00004998 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80007A5C 0000499C 7C 04 03 78 */ mr r4, r0
|
||||
/* 80007A60 000049A0 38 60 00 00 */ li r3, 0
|
||||
/* 80007A64 000049A4 38 00 00 04 */ li r0, 4
|
||||
/* 80007A68 000049A8 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80007A6C:
|
||||
/* 80007A6C 000049AC 98 64 00 3A */ stb r3, 0x3a(r4)
|
||||
/* 80007A70 000049B0 98 64 00 39 */ stb r3, 0x39(r4)
|
||||
/* 80007A74 000049B4 98 64 00 3C */ stb r3, 0x3c(r4)
|
||||
/* 80007A78 000049B8 98 64 00 3B */ stb r3, 0x3b(r4)
|
||||
/* 80007A7C 000049BC 38 84 00 40 */ addi r4, r4, 0x40
|
||||
/* 80007A80 000049C0 42 00 FF EC */ bdnz lbl_80007A6C
|
||||
/* 80007A84 000049C4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80007A88 000049C8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80007A8C 000049CC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80007A90 000049D0 4E 80 00 20 */ blr
|
||||
|
||||
.global mDoCPd_c_NS_read
|
||||
mDoCPd_c_NS_read:
|
||||
/* 80007A94 000049D4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80007A98 000049D8 7C 08 02 A6 */ mflr r0
|
||||
/* 80007A9C 000049DC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80007AA0 000049E0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80007AA4 000049E4 48 35 A7 39 */ bl _savegpr_29
|
||||
/* 80007AA8 000049E8 48 2D 8E 3D */ bl read__10JUTGamePadFv
|
||||
/* 80007AAC 000049EC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
|
||||
/* 80007AB0 000049F0 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 80007AB4 000049F4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80007AB8 000049F8 40 82 00 4C */ bne lbl_80007B04
|
||||
/* 80007ABC 000049FC 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 80007AC0 00004A00 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80007AC4 00004A04 41 82 00 40 */ beq lbl_80007B04
|
||||
/* 80007AC8 00004A08 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 80007ACC 00004A0C 48 2D 9E D1 */ bl getGamePad__10JUTGamePadFl
|
||||
/* 80007AD0 00004A10 38 80 00 00 */ li r4, 0
|
||||
/* 80007AD4 00004A14 A8 03 00 7C */ lha r0, 0x7c(r3)
|
||||
/* 80007AD8 00004A18 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 80007ADC 00004A1C 41 82 00 14 */ beq lbl_80007AF0
|
||||
/* 80007AE0 00004A20 88 03 00 98 */ lbz r0, 0x98(r3)
|
||||
/* 80007AE4 00004A24 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80007AE8 00004A28 41 82 00 08 */ beq lbl_80007AF0
|
||||
/* 80007AEC 00004A2C 38 80 00 01 */ li r4, 1
|
||||
lbl_80007AF0:
|
||||
/* 80007AF0 00004A30 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 80007AF4 00004A34 40 82 00 10 */ bne lbl_80007B04
|
||||
/* 80007AF8 00004A38 38 00 00 00 */ li r0, 0
|
||||
/* 80007AFC 00004A3C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
|
||||
/* 80007B00 00004A40 90 03 00 08 */ stw r0, 8(r3)
|
||||
lbl_80007B04:
|
||||
/* 80007B04 00004A44 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 80007B08 00004A48 38 03 D2 D8 */ addi r0, r3, lbl_803DD2D8@l
|
||||
/* 80007B0C 00004A4C 7C 1F 03 78 */ mr r31, r0
|
||||
/* 80007B10 00004A50 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80007B14 00004A54 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80007B18 00004A58 7C 1E 03 78 */ mr r30, r0
|
||||
/* 80007B1C 00004A5C 3B A0 00 00 */ li r29, 0
|
||||
lbl_80007B20:
|
||||
/* 80007B20 00004A60 80 9F 00 00 */ lwz r4, 0(r31)
|
||||
/* 80007B24 00004A64 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80007B28 00004A68 40 82 00 18 */ bne lbl_80007B40
|
||||
/* 80007B2C 00004A6C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80007B30 00004A70 38 80 00 00 */ li r4, 0
|
||||
/* 80007B34 00004A74 38 A0 00 40 */ li r5, 0x40
|
||||
/* 80007B38 00004A78 48 26 7E 25 */ bl cLib_memSet
|
||||
/* 80007B3C 00004A7C 48 00 00 14 */ b lbl_80007B50
|
||||
lbl_80007B40:
|
||||
/* 80007B40 00004A80 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80007B44 00004A84 48 00 00 39 */ bl mDoCPd_c_NS_convert
|
||||
/* 80007B48 00004A88 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80007B4C 00004A8C 48 00 01 85 */ bl mDoCPd_c_NS_LRlockCheck
|
||||
lbl_80007B50:
|
||||
/* 80007B50 00004A90 3B BD 00 01 */ addi r29, r29, 1
|
||||
/* 80007B54 00004A94 28 1D 00 04 */ cmplwi r29, 4
|
||||
/* 80007B58 00004A98 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 80007B5C 00004A9C 3B DE 00 40 */ addi r30, r30, 0x40
|
||||
/* 80007B60 00004AA0 41 80 FF C0 */ blt lbl_80007B20
|
||||
/* 80007B64 00004AA4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80007B68 00004AA8 48 35 A6 C1 */ bl _restgpr_29
|
||||
/* 80007B6C 00004AAC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80007B70 00004AB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80007B74 00004AB4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80007B78 00004AB8 4E 80 00 20 */ blr
|
||||
|
||||
.global mDoCPd_c_NS_convert
|
||||
mDoCPd_c_NS_convert:
|
||||
/* 80007B7C 00004ABC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80007B80 00004AC0 80 04 00 18 */ lwz r0, 0x18(r4)
|
||||
/* 80007B84 00004AC4 90 03 00 30 */ stw r0, 0x30(r3)
|
||||
/* 80007B88 00004AC8 80 04 00 1C */ lwz r0, 0x1c(r4)
|
||||
/* 80007B8C 00004ACC 90 03 00 34 */ stw r0, 0x34(r3)
|
||||
/* 80007B90 00004AD0 C0 04 00 48 */ lfs f0, 0x48(r4)
|
||||
/* 80007B94 00004AD4 D0 03 00 00 */ stfs f0, 0(r3)
|
||||
/* 80007B98 00004AD8 C0 04 00 4C */ lfs f0, 0x4c(r4)
|
||||
/* 80007B9C 00004ADC D0 03 00 04 */ stfs f0, 4(r3)
|
||||
/* 80007BA0 00004AE0 C0 04 00 50 */ lfs f0, 0x50(r4)
|
||||
/* 80007BA4 00004AE4 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 80007BA8 00004AE8 A8 04 00 54 */ lha r0, 0x54(r4)
|
||||
/* 80007BAC 00004AEC B0 03 00 0C */ sth r0, 0xc(r3)
|
||||
/* 80007BB0 00004AF0 C0 04 00 58 */ lfs f0, 0x58(r4)
|
||||
/* 80007BB4 00004AF4 D0 03 00 10 */ stfs f0, 0x10(r3)
|
||||
/* 80007BB8 00004AF8 C0 04 00 5C */ lfs f0, 0x5c(r4)
|
||||
/* 80007BBC 00004AFC D0 03 00 14 */ stfs f0, 0x14(r3)
|
||||
/* 80007BC0 00004B00 C0 04 00 60 */ lfs f0, 0x60(r4)
|
||||
/* 80007BC4 00004B04 D0 03 00 18 */ stfs f0, 0x18(r3)
|
||||
/* 80007BC8 00004B08 A8 04 00 64 */ lha r0, 0x64(r4)
|
||||
/* 80007BCC 00004B0C B0 03 00 1C */ sth r0, 0x1c(r3)
|
||||
/* 80007BD0 00004B10 88 04 00 24 */ lbz r0, 0x24(r4)
|
||||
/* 80007BD4 00004B14 C0 42 80 20 */ lfs f2, lbl_80451A20-_SDA2_BASE_(r2)
|
||||
/* 80007BD8 00004B18 C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007BDC 00004B1C 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007BE0 00004B20 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007BE4 00004B24 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007BE8 00004B28 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007BEC 00004B2C EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007BF0 00004B30 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007BF4 00004B34 D0 03 00 20 */ stfs f0, 0x20(r3)
|
||||
/* 80007BF8 00004B38 C0 23 00 20 */ lfs f1, 0x20(r3)
|
||||
/* 80007BFC 00004B3C C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007C00 00004B40 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007C04 00004B44 40 81 00 08 */ ble lbl_80007C0C
|
||||
/* 80007C08 00004B48 D0 03 00 20 */ stfs f0, 0x20(r3)
|
||||
lbl_80007C0C:
|
||||
/* 80007C0C 00004B4C 88 04 00 25 */ lbz r0, 0x25(r4)
|
||||
/* 80007C10 00004B50 C0 42 80 20 */ lfs f2, lbl_80451A20-_SDA2_BASE_(r2)
|
||||
/* 80007C14 00004B54 C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007C18 00004B58 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007C1C 00004B5C 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007C20 00004B60 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007C24 00004B64 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007C28 00004B68 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007C2C 00004B6C EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007C30 00004B70 D0 03 00 24 */ stfs f0, 0x24(r3)
|
||||
/* 80007C34 00004B74 C0 23 00 24 */ lfs f1, 0x24(r3)
|
||||
/* 80007C38 00004B78 C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007C3C 00004B7C FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007C40 00004B80 40 81 00 08 */ ble lbl_80007C48
|
||||
/* 80007C44 00004B84 D0 03 00 24 */ stfs f0, 0x24(r3)
|
||||
lbl_80007C48:
|
||||
/* 80007C48 00004B88 88 04 00 26 */ lbz r0, 0x26(r4)
|
||||
/* 80007C4C 00004B8C C0 42 80 28 */ lfs f2, lbl_80451A28-_SDA2_BASE_(r2)
|
||||
/* 80007C50 00004B90 C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007C54 00004B94 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007C58 00004B98 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007C5C 00004B9C 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007C60 00004BA0 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007C64 00004BA4 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007C68 00004BA8 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007C6C 00004BAC D0 03 00 28 */ stfs f0, 0x28(r3)
|
||||
/* 80007C70 00004BB0 C0 23 00 28 */ lfs f1, 0x28(r3)
|
||||
/* 80007C74 00004BB4 C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007C78 00004BB8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007C7C 00004BBC 40 81 00 08 */ ble lbl_80007C84
|
||||
/* 80007C80 00004BC0 D0 03 00 28 */ stfs f0, 0x28(r3)
|
||||
lbl_80007C84:
|
||||
/* 80007C84 00004BC4 88 04 00 27 */ lbz r0, 0x27(r4)
|
||||
/* 80007C88 00004BC8 C0 42 80 28 */ lfs f2, lbl_80451A28-_SDA2_BASE_(r2)
|
||||
/* 80007C8C 00004BCC C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007C90 00004BD0 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007C94 00004BD4 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007C98 00004BD8 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007C9C 00004BDC C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007CA0 00004BE0 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007CA4 00004BE4 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007CA8 00004BE8 D0 03 00 2C */ stfs f0, 0x2c(r3)
|
||||
/* 80007CAC 00004BEC C0 23 00 2C */ lfs f1, 0x2c(r3)
|
||||
/* 80007CB0 00004BF0 C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007CB4 00004BF4 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007CB8 00004BF8 40 81 00 08 */ ble lbl_80007CC0
|
||||
/* 80007CBC 00004BFC D0 03 00 2C */ stfs f0, 0x2c(r3)
|
||||
lbl_80007CC0:
|
||||
/* 80007CC0 00004C00 88 04 00 7E */ lbz r0, 0x7e(r4)
|
||||
/* 80007CC4 00004C04 98 03 00 38 */ stb r0, 0x38(r3)
|
||||
/* 80007CC8 00004C08 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80007CCC 00004C0C 4E 80 00 20 */ blr
|
||||
|
||||
.global mDoCPd_c_NS_LRlockCheck
|
||||
mDoCPd_c_NS_LRlockCheck:
|
||||
/* 80007CD0 00004C10 C0 23 00 28 */ lfs f1, 0x28(r3)
|
||||
/* 80007CD4 00004C14 38 00 00 00 */ li r0, 0
|
||||
/* 80007CD8 00004C18 98 03 00 3A */ stb r0, 0x3a(r3)
|
||||
/* 80007CDC 00004C1C 98 03 00 3C */ stb r0, 0x3c(r3)
|
||||
/* 80007CE0 00004C20 3C 80 80 3F */ lis r4, lbl_803F1BBC@ha
|
||||
/* 80007CE4 00004C24 38 84 1B BC */ addi r4, r4, lbl_803F1BBC@l
|
||||
/* 80007CE8 00004C28 C0 04 00 0C */ lfs f0, 0xc(r4)
|
||||
/* 80007CEC 00004C2C FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007CF0 00004C30 40 81 00 24 */ ble lbl_80007D14
|
||||
/* 80007CF4 00004C34 88 03 00 39 */ lbz r0, 0x39(r3)
|
||||
/* 80007CF8 00004C38 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80007CFC 00004C3C 41 82 00 0C */ beq lbl_80007D08
|
||||
/* 80007D00 00004C40 38 00 00 01 */ li r0, 1
|
||||
/* 80007D04 00004C44 98 03 00 3A */ stb r0, 0x3a(r3)
|
||||
lbl_80007D08:
|
||||
/* 80007D08 00004C48 38 00 00 01 */ li r0, 1
|
||||
/* 80007D0C 00004C4C 98 03 00 39 */ stb r0, 0x39(r3)
|
||||
/* 80007D10 00004C50 48 00 00 14 */ b lbl_80007D24
|
||||
lbl_80007D14:
|
||||
/* 80007D14 00004C54 C0 04 00 10 */ lfs f0, 0x10(r4)
|
||||
/* 80007D18 00004C58 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007D1C 00004C5C 40 80 00 08 */ bge lbl_80007D24
|
||||
/* 80007D20 00004C60 98 03 00 39 */ stb r0, 0x39(r3)
|
||||
lbl_80007D24:
|
||||
/* 80007D24 00004C64 C0 23 00 2C */ lfs f1, 0x2c(r3)
|
||||
/* 80007D28 00004C68 C0 04 00 0C */ lfs f0, 0xc(r4)
|
||||
/* 80007D2C 00004C6C FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007D30 00004C70 40 81 00 24 */ ble lbl_80007D54
|
||||
/* 80007D34 00004C74 88 03 00 3B */ lbz r0, 0x3b(r3)
|
||||
/* 80007D38 00004C78 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80007D3C 00004C7C 41 82 00 0C */ beq lbl_80007D48
|
||||
/* 80007D40 00004C80 38 00 00 01 */ li r0, 1
|
||||
/* 80007D44 00004C84 98 03 00 3C */ stb r0, 0x3c(r3)
|
||||
lbl_80007D48:
|
||||
/* 80007D48 00004C88 38 00 00 01 */ li r0, 1
|
||||
/* 80007D4C 00004C8C 98 03 00 3B */ stb r0, 0x3b(r3)
|
||||
/* 80007D50 00004C90 4E 80 00 20 */ blr
|
||||
lbl_80007D54:
|
||||
/* 80007D54 00004C94 3C 80 80 3F */ lis r4, lbl_803F1BBC@ha
|
||||
/* 80007D58 00004C98 38 84 1B BC */ addi r4, r4, lbl_803F1BBC@l
|
||||
/* 80007D5C 00004C9C C0 04 00 10 */ lfs f0, 0x10(r4)
|
||||
/* 80007D60 00004CA0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007D64 00004CA4 4C 80 00 20 */ bgelr
|
||||
/* 80007D68 00004CA8 38 00 00 00 */ li r0, 0
|
||||
/* 80007D6C 00004CAC 98 03 00 3B */ stb r0, 0x3b(r3)
|
||||
/* 80007D70 00004CB0 4E 80 00 20 */ blr
|
||||
|
||||
.global mDoCPd_c_NS_recalibrate
|
||||
mDoCPd_c_NS_recalibrate:
|
||||
/* 80007D74 00004CB4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80007D78 00004CB8 7C 08 02 A6 */ mflr r0
|
||||
/* 80007D7C 00004CBC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80007D80 00004CC0 48 2D 92 A5 */ bl clearForReset__10JUTGamePadFv
|
||||
/* 80007D84 00004CC4 3C 60 F0 00 */ lis r3, 0xf000
|
||||
/* 80007D88 00004CC8 48 2D 9C 51 */ bl setEnabled__Q210JUTGamePad7CRumbleF7PADMask
|
||||
/* 80007D8C 00004CCC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80007D90 00004CD0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80007D94 00004CD4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80007D98 00004CD8 4E 80 00 20 */ blr
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ createTimg:
|
|||
lbl_80007DF0:
|
||||
/* 80007DF0 00004D30 38 80 00 00 */ li r4, 0
|
||||
/* 80007DF4 00004D34 7F E5 FB 78 */ mr r5, r31
|
||||
/* 80007DF8 00004D38 48 26 7B 65 */ bl cLib_memSet
|
||||
/* 80007DF8 00004D38 48 26 7B 65 */ bl cLib_memSet__FPviUl
|
||||
/* 80007DFC 00004D3C 9B BE 00 00 */ stb r29, 0(r30)
|
||||
/* 80007E00 00004D40 38 00 00 00 */ li r0, 0
|
||||
/* 80007E04 00004D44 98 1E 00 01 */ stb r0, 1(r30)
|
||||
|
|
@ -487,8 +487,8 @@ dScnPly_BeforeOfPaint:
|
|||
/* 80008474 000053B4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80008478 000053B8 7C 08 02 A6 */ mflr r0
|
||||
/* 8000847C 000053BC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80008480 000053C0 3C 60 80 3F */ lis r3, lbl_803F1BBC@ha
|
||||
/* 80008484 000053C4 38 A3 1B BC */ addi r5, r3, lbl_803F1BBC@l
|
||||
/* 80008480 000053C0 3C 60 80 3F */ lis r3, g_HIO@ha
|
||||
/* 80008484 000053C4 38 A3 1B BC */ addi r5, r3, g_HIO@l
|
||||
/* 80008488 000053C8 88 C5 00 16 */ lbz r6, 0x16(r5)
|
||||
/* 8000848C 000053CC 54 C0 07 BD */ rlwinm. r0, r6, 0, 0x1e, 0x1e
|
||||
/* 80008490 000053D0 41 82 00 28 */ beq lbl_800084B8
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ lbl_8000B828:
|
|||
/* 8000B838 00008778 40 82 00 CC */ bne lbl_8000B904
|
||||
/* 8000B83C 0000877C 38 61 00 10 */ addi r3, r1, 0x10
|
||||
/* 8000B840 00008780 38 80 00 00 */ li r4, 0
|
||||
/* 8000B844 00008784 48 2D 4E 99 */ bl __ct__10JUTGamePadFUl
|
||||
/* 8000B844 00008784 48 2D 4E 99 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 8000B848 00008788 38 01 00 10 */ addi r0, r1, 0x10
|
||||
/* 8000B84C 0000878C 90 1F 00 84 */ stw r0, 0x84(r31)
|
||||
/* 8000B850 00008790 38 00 FF FF */ li r0, -1
|
||||
|
|
@ -581,7 +581,7 @@ fault_callback_scroll:
|
|||
lbl_8000B9CC:
|
||||
/* 8000B9CC 0000890C 38 61 00 10 */ addi r3, r1, 0x10
|
||||
/* 8000B9D0 00008910 38 80 00 00 */ li r4, 0
|
||||
/* 8000B9D4 00008914 48 2D 4D 09 */ bl __ct__10JUTGamePadFUl
|
||||
/* 8000B9D4 00008914 48 2D 4D 09 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 8000B9D8 00008918 38 01 00 10 */ addi r0, r1, 0x10
|
||||
/* 8000B9DC 0000891C 90 1C 00 84 */ stw r0, 0x84(r28)
|
||||
/* 8000B9E0 00008920 38 00 FF FF */ li r0, -1
|
||||
|
|
|
|||
|
|
@ -1745,8 +1745,8 @@ lbl_804514D4:
|
|||
.global lbl_804514D8
|
||||
lbl_804514D8:
|
||||
.skip 0x4
|
||||
.global lbl_804514DC
|
||||
lbl_804514DC:
|
||||
.global sAnalogMode
|
||||
sAnalogMode:
|
||||
.skip 0x4
|
||||
.global lbl_804514E0
|
||||
lbl_804514E0:
|
||||
|
|
|
|||
|
|
@ -7,13 +7,14 @@
|
|||
#include "os/OS.h"
|
||||
#include "pad/pad.h"
|
||||
|
||||
typedef u32 EPadPort;
|
||||
typedef u32 EStickMode;
|
||||
typedef u32 EWhichStick;
|
||||
|
||||
class JUTGamePad : public JKRDisposer {
|
||||
struct JUTGamePad : public JKRDisposer {
|
||||
public:
|
||||
JUTGamePad(EPadPort port);
|
||||
// typedef u32 EPadPort;
|
||||
enum EPadPort { Port_1 = 0, Port_2 = 0, Port_3 = 0, Port_4 = 0 };
|
||||
JUTGamePad(JUTGamePad::EPadPort port);
|
||||
virtual ~JUTGamePad();
|
||||
|
||||
void initList();
|
||||
|
|
@ -26,7 +27,7 @@ public:
|
|||
void stopPatternedRumble() { this->rumble.stopPatternedRumble(this->pad_port); }
|
||||
static void checkResetSwitch();
|
||||
static void clearForReset();
|
||||
static JUTGamePad* getGamePad(s32 pad_index);
|
||||
static JUTGamePad* getGamePad(int pad_index);
|
||||
static bool recalibrate(PADMask pad_mask);
|
||||
|
||||
struct CButton {
|
||||
|
|
@ -91,7 +92,6 @@ public:
|
|||
u8* field_0x10;
|
||||
};
|
||||
|
||||
private:
|
||||
CButton buttons;
|
||||
CStick control_stick;
|
||||
CStick c_stick;
|
||||
|
|
@ -135,7 +135,7 @@ extern float lbl_80456028; // JUTGamePad::CStick::clear() init to
|
|||
extern bool lbl_804514E4[4]; // JUTGamePad::CRumble::mStatus (static?)
|
||||
extern PADMask lbl_804514E8; // JUTGamePad::CRumble::mEnabled (static?)
|
||||
extern PADMask lbl_803CC5F0[4]; // JUTGamePad::CRumble::sChannelMask
|
||||
extern s32 lbl_804514DC; // JUTGamePad::sAnalogMode
|
||||
extern s32 sAnalogMode; // JUTGamePad::sAnalogMode
|
||||
extern bool lbl_804514D0; // JUTGamePad::mIsPadListInitialized
|
||||
extern JSUList<JUTGamePad> lbl_804343E4; // JUTGamePad::mPadList
|
||||
// extern JSUPtrList lbl_804343E4; // JUTGamePad::mPadList
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
void cLib_memSet(void* ptr, int value, unsigned long size);
|
||||
|
|
@ -187,8 +187,8 @@ lbl_800B29B0:
|
|||
/* 800B29C4 000AF904 B0 7E 2F E0 */ sth r3, 0x2fe0(r30)
|
||||
/* 800B29C8 000AF908 48 00 00 24 */ b lbl_800B29EC
|
||||
lbl_800B29CC:
|
||||
/* 800B29CC 000AF90C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 800B29D0 000AF910 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 800B29CC 000AF90C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 800B29D0 000AF910 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 800B29D4 000AF914 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 800B29D8 000AF918 D0 1E 33 A8 */ stfs f0, 0x33a8(r30)
|
||||
/* 800B29DC 000AF91C A8 63 00 0C */ lha r3, 0xc(r3)
|
||||
|
|
@ -264,8 +264,8 @@ lbl_800B2AD4:
|
|||
/* 800B2AD4 000AFA14 38 00 00 01 */ li r0, 1
|
||||
/* 800B2AD8 000AFA18 98 1E 2F B9 */ stb r0, 0x2fb9(r30)
|
||||
lbl_800B2ADC:
|
||||
/* 800B2ADC 000AFA1C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 800B2AE0 000AFA20 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 800B2ADC 000AFA1C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 800B2AE0 000AFA20 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 800B2AE4 000AFA24 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 800B2AE8 000AFA28 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16
|
||||
/* 800B2AEC 000AFA2C 41 82 00 10 */ beq lbl_800B2AFC
|
||||
|
|
@ -308,8 +308,8 @@ lbl_800B2B5C:
|
|||
/* 800B2B6C 000AFAAC 60 00 00 20 */ ori r0, r0, 0x20
|
||||
/* 800B2B70 000AFAB0 98 1E 2F 8D */ stb r0, 0x2f8d(r30)
|
||||
lbl_800B2B74:
|
||||
/* 800B2B74 000AFAB4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 800B2B78 000AFAB8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 800B2B74 000AFAB4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 800B2B78 000AFAB8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 800B2B7C 000AFABC 88 03 00 3C */ lbz r0, 0x3c(r3)
|
||||
/* 800B2B80 000AFAC0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 800B2B84 000AFAC4 41 82 00 10 */ beq lbl_800B2B94
|
||||
|
|
@ -317,8 +317,8 @@ lbl_800B2B74:
|
|||
/* 800B2B8C 000AFACC 60 00 00 40 */ ori r0, r0, 0x40
|
||||
/* 800B2B90 000AFAD0 98 1E 2F 8D */ stb r0, 0x2f8d(r30)
|
||||
lbl_800B2B94:
|
||||
/* 800B2B94 000AFAD4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 800B2B98 000AFAD8 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 800B2B94 000AFAD4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 800B2B98 000AFAD8 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 800B2B9C 000AFADC 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 800B2BA0 000AFAE0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
|
||||
/* 800B2BA4 000AFAE4 41 82 00 10 */ beq lbl_800B2BB4
|
||||
|
|
@ -361,8 +361,8 @@ lbl_800B2C14:
|
|||
/* 800B2C24 000AFB64 60 00 00 20 */ ori r0, r0, 0x20
|
||||
/* 800B2C28 000AFB68 98 1E 2F 8E */ stb r0, 0x2f8e(r30)
|
||||
lbl_800B2C2C:
|
||||
/* 800B2C2C 000AFB6C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 800B2C30 000AFB70 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 800B2C2C 000AFB6C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 800B2C30 000AFB70 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 800B2C34 000AFB74 88 03 00 3B */ lbz r0, 0x3b(r3)
|
||||
/* 800B2C38 000AFB78 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 800B2C3C 000AFB7C 41 82 00 10 */ beq lbl_800B2C4C
|
||||
|
|
|
|||
|
|
@ -170,8 +170,8 @@ lbl_80117F4C:
|
|||
/* 80117F60 00114EA0 28 00 00 F2 */ cmplwi r0, 0xf2
|
||||
/* 80117F64 00114EA4 40 82 00 64 */ bne lbl_80117FC8
|
||||
lbl_80117F68:
|
||||
/* 80117F68 00114EA8 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80117F6C 00114EAC 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80117F68 00114EA8 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80117F6C 00114EAC 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80117F70 00114EB0 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 80117F74 00114EB4 D0 1C 33 A8 */ stfs f0, 0x33a8(r28)
|
||||
/* 80117F78 00114EB8 A8 63 00 0C */ lha r3, 0xc(r3)
|
||||
|
|
|
|||
|
|
@ -108,8 +108,8 @@ lbl_80130D38:
|
|||
/* 80130D4C 0012DC8C D0 1F 34 7C */ stfs f0, 0x347c(r31)
|
||||
/* 80130D50 0012DC90 48 00 05 54 */ b lbl_801312A4
|
||||
lbl_80130D54:
|
||||
/* 80130D54 0012DC94 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80130D58 0012DC98 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80130D54 0012DC94 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80130D58 0012DC98 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80130D5C 0012DC9C 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 80130D60 0012DCA0 54 1A C7 FE */ rlwinm r26, r0, 0x18, 0x1f, 0x1f
|
||||
/* 80130D64 0012DCA4 A8 1F 30 10 */ lha r0, 0x3010(r31)
|
||||
|
|
@ -252,8 +252,8 @@ lbl_80130F24:
|
|||
/* 80130F4C 0012DE8C 4B FF 87 8D */ bl daAlink_c_NS_setSingleAnimeWolfBaseSpeed
|
||||
lbl_80130F50:
|
||||
/* 80130F50 0012DE90 AB 3F 30 0E */ lha r25, 0x300e(r31)
|
||||
/* 80130F54 0012DE94 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80130F58 0012DE98 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 80130F54 0012DE94 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80130F58 0012DE98 38 63 D2 E8 */ addi r3, r3, m_cpadInfo@l
|
||||
/* 80130F5C 0012DE9C C3 E3 00 04 */ lfs f31, 4(r3)
|
||||
/* 80130F60 0012DEA0 38 7F 2D 84 */ addi r3, r31, 0x2d84
|
||||
/* 80130F64 0012DEA4 C0 22 92 C0 */ lfs f1, lbl_80452CC0-_SDA2_BASE_(r2)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/* 80070018 0006CF58 54 64 30 32 */ slwi r4, r3, 6
|
||||
/* 8007001C 0006CF5C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80070020 0006CF60 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 8007001C 0006CF5C 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80070020 0006CF60 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80070024 0006CF64 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 80070028 0006CF68 88 63 00 39 */ lbz r3, 0x39(r3)
|
||||
/* 8007002C 0006CF6C 30 03 FF FF */ addic r0, r3, -1
|
||||
|
|
|
|||
|
|
@ -77,8 +77,8 @@ lbl_80072700:
|
|||
/* 80072708 0006F648 40 82 00 80 */ bne lbl_80072788
|
||||
/* 8007270C 0006F64C 80 1F 00 0C */ lwz r0, 0xc(r31)
|
||||
/* 80072710 0006F650 54 04 30 32 */ slwi r4, r0, 6
|
||||
/* 80072714 0006F654 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80072718 0006F658 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80072714 0006F654 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80072718 0006F658 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 8007271C 0006F65C 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 80072720 0006F660 C0 23 00 04 */ lfs f1, 4(r3)
|
||||
/* 80072724 0006F664 C0 02 8C 34 */ lfs f0, lbl_80452634-_SDA2_BASE_(r2)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* 8003218C 0002F0CC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80032190 0002F0D0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8003218C 0002F0CC 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80032190 0002F0D0 38 63 D2 E8 */ addi r3, r3, m_gamePad@l
|
||||
/* 80032194 0002F0D4 A8 63 00 1C */ lha r3, 0x1c(r3)
|
||||
/* 80032198 0002F0D8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
/* 8003217C 0002F0BC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80032180 0002F0C0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8003217C 0002F0BC 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80032180 0002F0C0 38 63 D2 E8 */ addi r3, r3, m_gamePad@l
|
||||
/* 80032184 0002F0C4 C0 23 00 18 */ lfs f1, 0x18(r3)
|
||||
/* 80032188 0002F0C8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
/* 8003216C 0002F0AC 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80032170 0002F0B0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8003216C 0002F0AC 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80032170 0002F0B0 38 63 D2 E8 */ addi r3, r3, m_gamePad@l
|
||||
/* 80032174 0002F0B4 A8 63 00 0C */ lha r3, 0xc(r3)
|
||||
/* 80032178 0002F0B8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
/* 8003215C 0002F09C 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80032160 0002F0A0 38 63 D2 E8 */ addi r3, r3, lbl_803DD2E8@l
|
||||
/* 8003215C 0002F09C 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80032160 0002F0A0 38 63 D2 E8 */ addi r3, r3, m_gamePad@l
|
||||
/* 80032164 0002F0A4 C0 23 00 08 */ lfs f1, 8(r3)
|
||||
/* 80032168 0002F0A8 4E 80 00 20 */ blr
|
||||
|
|
@ -54,16 +54,6 @@ struct CSTControl {
|
|||
s16 getAngleStick();
|
||||
};
|
||||
|
||||
struct m_cpadInfo {
|
||||
u8 p1[0x8];
|
||||
f32 stickValue;
|
||||
s16 stickAngle;
|
||||
u8 p2[0x8];
|
||||
f32 CstickValue;
|
||||
s16 CstickAngle;
|
||||
u8 p3[0xE2];
|
||||
};
|
||||
|
||||
u32 dLib_getEventSwitchNo(int param_1);
|
||||
|
||||
struct fopAc_ac_c;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,268 @@
|
|||
extern "C" {
|
||||
void read__8mDoCPd_cFv(void);
|
||||
void create__8mDoCPd_cFv(void);
|
||||
void __ct__10JUTGamePadFQ210JUTGamePad8EPadPort(void);
|
||||
void convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad(void);
|
||||
void cLib_memSet__FPviUl(void);
|
||||
void JUTGamePad_NS_clearForReset(void);
|
||||
void JUTGamePad_NS_CRumble_NS_setEnabled(void);
|
||||
void LRlockCheck__8mDoCPd_cFP27interface_of_controller_pad(void);
|
||||
void mDoCPd_c_NS_recalibrate(void);
|
||||
void mDoCPd_c_NS_convert(void);
|
||||
void getGamePad__10JUTGamePadFi(void);
|
||||
void read__10JUTGamePadFv(void);
|
||||
void mDoCPd_c_NS_LRlockCheck(void);
|
||||
void mDoRst_resetCallBack(void);
|
||||
void J2DScreen_NS_draw(void);
|
||||
void PSMTXCopy(void);
|
||||
void PSMTXConcat(void);
|
||||
void PSMTXScale(void);
|
||||
void screenSet__12dFile_info_cFv(void);
|
||||
void dFile_info_c_NS_screenSet(void);
|
||||
void mDoExt_removeMesgFont(void);
|
||||
void func_80362210(void);
|
||||
void JKRAramHeap_NS_getTotalFreeSize(void);
|
||||
void JKRAramHeap_NS_getFreeSize(void);
|
||||
void heapDisplay__9HeapCheckCFv(void);
|
||||
void func_803621C4(void);
|
||||
void init__20dSv_player_collect_cFv(void);
|
||||
void dComIfGp_setSelectItem(int);
|
||||
void getUsedCount__9HeapCheckCFv(void);
|
||||
void isEventBit__11dSv_event_cCFUs(void);
|
||||
void dComIfGs_setMixItemIndex(void);
|
||||
void dComIfGs_setSelectItemIndex(void);
|
||||
void dComIfGs_getMixItemIndex(void);
|
||||
char* strcpy(char*, const char*);
|
||||
int strcmp(char*, char*);
|
||||
void setBombNum__21dSv_player_item_max_cFUcUc(void);
|
||||
void func_80362224(void);
|
||||
void func_803621D8(void);
|
||||
void func_803621CC(void);
|
||||
void func_80362218(void);
|
||||
void _restgpr_26(void);
|
||||
void _savegpr_26(void);
|
||||
void func_8036221C(void);
|
||||
void func_803621D0(void);
|
||||
void func_803620AC(void);
|
||||
void func_803626BC(void);
|
||||
void func_803664DC(void);
|
||||
void _restgpr_29(void);
|
||||
void _savegpr_29(void);
|
||||
void _restgpr_28(void);
|
||||
void _savegpr_28(void);
|
||||
void _restgpr_27(void);
|
||||
void _savegpr_27(void);
|
||||
void _savegpr_26(void);
|
||||
void _restgpr_26(void);
|
||||
void JKRAramHeap_NS_dump(void);
|
||||
void dRes_control_c_NS_dump(void);
|
||||
void JUTConsole_NS_getLineOffset(void);
|
||||
void JUTConsole_NS_dumpToTerminal(void);
|
||||
void JUTConsole_NS_scroll(void);
|
||||
void JUTConsole_NS_clear(void);
|
||||
void JUTReport_X1_(void);
|
||||
void JUTAssertion_NS_setMessageCount(void);
|
||||
void DynamicModuleControlBase_NS_dump(void);
|
||||
void _restgpr_25(void);
|
||||
unsigned int getSelectItemIndex__21dSv_player_status_a_cCFi(int);
|
||||
void setLineUpItem__17dSv_player_item_cFv(void);
|
||||
void dMeter2Info_c_NS_setHotSpringTimer(void);
|
||||
void setItem__17dSv_player_item_cFiUc(void);
|
||||
void dSv_item_rename__FUc(void);
|
||||
void setBottleItemIn__17dSv_player_item_cFUcUc(void);
|
||||
void getItem__17dSv_player_item_cCFib(void);
|
||||
void setEquipBottleItemIn__17dSv_player_item_cFUcUc(u8, u8);
|
||||
void isFirstBit__21dSv_player_get_item_cCFUc(void);
|
||||
void setBombNum__24dSv_player_item_record_cFUcUc(void);
|
||||
void setItem__17dSv_player_item_cFiUc(void);
|
||||
void dMeter2Info_c_NS_getString(void);
|
||||
void dComIfG_play_c_NS_getNowVibration(void);
|
||||
void setInitEventBit(void);
|
||||
void daObjCarry_c_NS_clrSaveFlag(void);
|
||||
void daObjCarry_c_NS_setSaveFlag(void);
|
||||
void init__14dSv_MiniGame_cFv(void);
|
||||
void init__11dSv_event_cFv(void);
|
||||
void init__13dSv_memory2_cFv(void);
|
||||
void init__12dSv_memory_cFv(void);
|
||||
void init__12dSv_player_cFv(void);
|
||||
void init__10dSv_info_cFvZone(void);
|
||||
void init__10dSv_zone_cFi(void);
|
||||
void onOneSwitch__13dSv_zoneBit_cFi(void);
|
||||
void onSwitch__13dSv_zoneBit_cFi(void);
|
||||
int dStage_roomControl_c_NS_getZoneNo(int, int);
|
||||
void onSwitch__12dSv_danBit_cFi(void);
|
||||
void onSwitch__12dSv_memBit_cFi(void);
|
||||
void revOneSwitch__13dSv_zoneBit_cFi(void);
|
||||
void revSwitch__13dSv_zoneBit_cFi(void);
|
||||
void revSwitch__12dSv_danBit_cFi(void);
|
||||
void revSwitch__12dSv_memBit_cFi(void);
|
||||
void isOneSwitch__13dSv_zoneBit_cCFi(void);
|
||||
void isSwitch__13dSv_zoneBit_cCFi(void);
|
||||
void isSwitch__12dSv_danBit_cCFi(void);
|
||||
void isSwitch__12dSv_memBit_cCFi(void);
|
||||
void isOneItem__13dSv_zoneBit_cCFi(void);
|
||||
void isItem__13dSv_zoneBit_cCFi(void);
|
||||
void isItem__12dSv_memBit_cCFi(void);
|
||||
void isItem__12dSv_danBit_cCFi(void);
|
||||
void off__15dSv_zoneActor_cFi(void);
|
||||
void is__15dSv_zoneActor_cCFi(void);
|
||||
void func_8036220C(void);
|
||||
void onEventBit__11dSv_event_cFUs(void);
|
||||
void func_8036687C(void);
|
||||
void func_80003540(void);
|
||||
void func_80362324(void);
|
||||
void func_8036221C(void);
|
||||
void func_8036221C(void);
|
||||
void countUsed__FP10JKRExpHeap(void);
|
||||
void JUTReport(void);
|
||||
void func_803621D0(void);
|
||||
void offEventBit__11dSv_event_cFUs(void);
|
||||
void func_803621C0(void);
|
||||
void dMeter2Info_c_NS_setSaveStageName(void);
|
||||
void dComIfG_play_c_NS_setNowVibration(void);
|
||||
void getVibration__19dSv_player_config_cFv(void);
|
||||
void dComIfGs_setKeyNum(void);
|
||||
void getSound__19dSv_player_config_cFv(void);
|
||||
void setSound__19dSv_player_config_cFUc(void);
|
||||
void getTotalUsedSize__10JKRExpHeapCFv(void);
|
||||
void HeapCheck_NS_getUsedCount(void);
|
||||
void CheckHeap1__9HeapCheckFv(void);
|
||||
void JUTException_NS_panic_f(const char* filename, int line, const char* format, ...);
|
||||
void Debug_console__FUl(void);
|
||||
void debugDisplay__Fv(void);
|
||||
void CheckHeap__FUl(void);
|
||||
void debug__Fv(void);
|
||||
void mDoAud_Execute(void);
|
||||
void fapGm_Execute(void);
|
||||
void mDoMemCd_Ctrl_c_NS_update(void);
|
||||
void JKRSolidHeap_NS_create(void);
|
||||
void cDyl_InitAsync(void);
|
||||
void fopAcM_initManager(void);
|
||||
void fapGm_Create(void);
|
||||
void mDoDvdThd_callback_c_NS_create(void);
|
||||
void mDoExt_getCommandHeap(void);
|
||||
void mDoExt_getHostIOHeap(void);
|
||||
void mDoExt_getJ2dHeap(void);
|
||||
void mDoExt_getArchiveHeap(void);
|
||||
void mDoExt_getGameHeap(void);
|
||||
void mDoExt_getZeldaHeap(void);
|
||||
void mDoCPd_c_NS_create(void);
|
||||
void mDoGph_Create(void);
|
||||
void mDoMch_Create(void);
|
||||
void init__10dSv_save_cFv(void);
|
||||
void func_80361D60(void);
|
||||
void dComIfG_inf_c_NS_ct(void);
|
||||
void version_check__Fv(void);
|
||||
void J2DTextBox_NS_getStringPtr(void);
|
||||
void J2DTextBox_NS_setString_X1_(void);
|
||||
void CPaneMgrAlpha_X1_(void);
|
||||
void mDoExt_getMesgFont(void);
|
||||
void J2DScreen_NS_setPriority(void);
|
||||
void __ct__9J2DScreenFv(void);
|
||||
void dFile_info_c_NS_setPlayTime(void);
|
||||
void dFile_info_c_NS_setSaveDate(void);
|
||||
void dFile_info_c_NS_setHeartCnt(void);
|
||||
void setHeartCnt__12dFile_info_cFP10dSv_save_c(void);
|
||||
void setSaveDate__12dFile_info_cFP10dSv_save_c(void);
|
||||
void func_803664DC(void);
|
||||
void setPlayTime__12dFile_info_cFP10dSv_save_c(void);
|
||||
void func_80362540(void);
|
||||
void dDlst_list_c_NS_set(void);
|
||||
void init__14dComIfG_play_cFv(void);
|
||||
void func_80003458(void);
|
||||
void dStage_roomControl_c_NS_initZone(void);
|
||||
void JUTWarningConsole(void);
|
||||
void JUTConsole_NS_print(void);
|
||||
void JUTConsole_NS_check(void);
|
||||
void JUTConsole_NS_print_f(void);
|
||||
void JUTConsole_NS_clear(void);
|
||||
void JUTReportConsole_f(void);
|
||||
void JUTWarningConsole(void);
|
||||
void JUTWarningConsole_f(void);
|
||||
|
||||
void func_803621CC(void);
|
||||
void VIWaitForRetrace(void);
|
||||
void func_80361C24(void);
|
||||
|
||||
void _restgpr_26(void);
|
||||
void _restgpr_27(void);
|
||||
void _restgpr_28(void);
|
||||
void _restgpr_29(void);
|
||||
void _savegpr_26(void);
|
||||
void _savegpr_27(void);
|
||||
void _savegpr_28(void);
|
||||
void _savegpr_29(void);
|
||||
void func_80003540(void);
|
||||
void func_80365470(void);
|
||||
void func_803688DC(void);
|
||||
void func_80368ABC(void);
|
||||
void func_80368BE4(void);
|
||||
void JKRArchive_NS_getDirEntry(void);
|
||||
|
||||
void _restgpr_29(void);
|
||||
void _savegpr_29(void);
|
||||
void func_80361C24(void);
|
||||
|
||||
void func_803621CC(void);
|
||||
void func_80362218(void);
|
||||
|
||||
void JKRArchive_NS_findDirectory(void);
|
||||
void JKRArchive_NS_findFsResource(void);
|
||||
void JKRArchive_NS_findIdResource(void);
|
||||
void JKRArchive_NS_findIdxResource(void);
|
||||
void JKRArchive_NS_findNameResource(void);
|
||||
void JKRArchive_NS_findPtrResource(void);
|
||||
void JKRArchive_NS_findTypeResource(void);
|
||||
void JKRCompArchive(void);
|
||||
|
||||
void func_80365470(void);
|
||||
|
||||
void DCInvalidateRange(void);
|
||||
void JKRDvdRipper_NS_loadToMainRAM_X1_(void);
|
||||
void func_80003458(void);
|
||||
void func_803621CC(void);
|
||||
void func_80362218(void);
|
||||
void func_803650D0(void);
|
||||
|
||||
void JKRDecomp_NS_orderSync(void);
|
||||
void func_80003540(void);
|
||||
|
||||
void JKRAramHeap_NS_alloc(void);
|
||||
void JKRAram_NS_aramToMainRam(void);
|
||||
void JKRDvdAramRipper_NS_loadToAram(void);
|
||||
void JKRAram_NS_mainRamToAram(void);
|
||||
void JKRAramPiece_NS_sendCommand(void);
|
||||
|
||||
void DCInvalidateRange(void);
|
||||
void DCStoreRangeNoSync(void);
|
||||
void __RAS_OSDisableInterrupts_begin(void);
|
||||
void func_80003540(void);
|
||||
void func_80361C24(void);
|
||||
void func_803621B0(void);
|
||||
void func_803621C4(void);
|
||||
void func_803621C8(void);
|
||||
void func_803621FC(void);
|
||||
void func_80362210(void);
|
||||
void func_80362214(void);
|
||||
|
||||
void ARQPostRequest(void);
|
||||
void DCStoreRange(void);
|
||||
|
||||
void JSUInputStream_NS_read(void);
|
||||
void JSURandomInputStream_NS_seek(void);
|
||||
|
||||
void DCInvalidateRange(void);
|
||||
void JSUInputStream_NS_dtor(void);
|
||||
void JSUFileInputStream_ct(void);
|
||||
|
||||
void ARAlloc(void);
|
||||
void ARGetSize(void);
|
||||
void ARInit(void);
|
||||
void ARQInit(void);
|
||||
void DCStoreRangeNoSync(void);
|
||||
void __RAS_OSDisableInterrupts_begin(void);
|
||||
u8 dComIfGs_getBottleMax(void);
|
||||
}
|
||||
#include "os/OS.h"
|
||||
|
||||
extern "C" {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ struct ResetData {
|
|||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
};
|
||||
extern ResetData* m_Do_Reset_NS_mDoRst_NS_mResetData;
|
||||
|
||||
struct mDoRst {
|
||||
ResetData* getResetData();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
/* 80007CD0 00004C10 C0 23 00 28 */ lfs f1, 0x28(r3)
|
||||
/* 80007CD4 00004C14 38 00 00 00 */ li r0, 0
|
||||
/* 80007CD8 00004C18 98 03 00 3A */ stb r0, 0x3a(r3)
|
||||
/* 80007CDC 00004C1C 98 03 00 3C */ stb r0, 0x3c(r3)
|
||||
/* 80007CE0 00004C20 3C 80 80 3F */ lis r4, g_HIO@ha
|
||||
/* 80007CE4 00004C24 38 84 1B BC */ addi r4, r4, g_HIO@l
|
||||
/* 80007CE8 00004C28 C0 04 00 0C */ lfs f0, 0xc(r4)
|
||||
/* 80007CEC 00004C2C FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007CF0 00004C30 40 81 00 24 */ ble lbl_80007D14
|
||||
/* 80007CF4 00004C34 88 03 00 39 */ lbz r0, 0x39(r3)
|
||||
/* 80007CF8 00004C38 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80007CFC 00004C3C 41 82 00 0C */ beq lbl_80007D08
|
||||
/* 80007D00 00004C40 38 00 00 01 */ li r0, 1
|
||||
/* 80007D04 00004C44 98 03 00 3A */ stb r0, 0x3a(r3)
|
||||
lbl_80007D08:
|
||||
/* 80007D08 00004C48 38 00 00 01 */ li r0, 1
|
||||
/* 80007D0C 00004C4C 98 03 00 39 */ stb r0, 0x39(r3)
|
||||
/* 80007D10 00004C50 48 00 00 14 */ b lbl_80007D24
|
||||
lbl_80007D14:
|
||||
/* 80007D14 00004C54 C0 04 00 10 */ lfs f0, 0x10(r4)
|
||||
/* 80007D18 00004C58 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007D1C 00004C5C 40 80 00 08 */ bge lbl_80007D24
|
||||
/* 80007D20 00004C60 98 03 00 39 */ stb r0, 0x39(r3)
|
||||
lbl_80007D24:
|
||||
/* 80007D24 00004C64 C0 23 00 2C */ lfs f1, 0x2c(r3)
|
||||
/* 80007D28 00004C68 C0 04 00 0C */ lfs f0, 0xc(r4)
|
||||
/* 80007D2C 00004C6C FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007D30 00004C70 40 81 00 24 */ ble lbl_80007D54
|
||||
/* 80007D34 00004C74 88 03 00 3B */ lbz r0, 0x3b(r3)
|
||||
/* 80007D38 00004C78 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80007D3C 00004C7C 41 82 00 0C */ beq lbl_80007D48
|
||||
/* 80007D40 00004C80 38 00 00 01 */ li r0, 1
|
||||
/* 80007D44 00004C84 98 03 00 3C */ stb r0, 0x3c(r3)
|
||||
lbl_80007D48:
|
||||
/* 80007D48 00004C88 38 00 00 01 */ li r0, 1
|
||||
/* 80007D4C 00004C8C 98 03 00 3B */ stb r0, 0x3b(r3)
|
||||
/* 80007D50 00004C90 4E 80 00 20 */ blr
|
||||
lbl_80007D54:
|
||||
/* 80007D54 00004C94 3C 80 80 3F */ lis r4, g_HIO@ha
|
||||
/* 80007D58 00004C98 38 84 1B BC */ addi r4, r4, g_HIO@l
|
||||
/* 80007D5C 00004C9C C0 04 00 10 */ lfs f0, 0x10(r4)
|
||||
/* 80007D60 00004CA0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007D64 00004CA4 4C 80 00 20 */ bgelr
|
||||
/* 80007D68 00004CA8 38 00 00 00 */ li r0, 0
|
||||
/* 80007D6C 00004CAC 98 03 00 3B */ stb r0, 0x3b(r3)
|
||||
/* 80007D70 00004CB0 4E 80 00 20 */ blr
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
/* 80007B7C 00004ABC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80007B80 00004AC0 80 04 00 18 */ lwz r0, 0x18(r4)
|
||||
/* 80007B84 00004AC4 90 03 00 30 */ stw r0, 0x30(r3)
|
||||
/* 80007B88 00004AC8 80 04 00 1C */ lwz r0, 0x1c(r4)
|
||||
/* 80007B8C 00004ACC 90 03 00 34 */ stw r0, 0x34(r3)
|
||||
/* 80007B90 00004AD0 C0 04 00 48 */ lfs f0, 0x48(r4)
|
||||
/* 80007B94 00004AD4 D0 03 00 00 */ stfs f0, 0(r3)
|
||||
/* 80007B98 00004AD8 C0 04 00 4C */ lfs f0, 0x4c(r4)
|
||||
/* 80007B9C 00004ADC D0 03 00 04 */ stfs f0, 4(r3)
|
||||
/* 80007BA0 00004AE0 C0 04 00 50 */ lfs f0, 0x50(r4)
|
||||
/* 80007BA4 00004AE4 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 80007BA8 00004AE8 A8 04 00 54 */ lha r0, 0x54(r4)
|
||||
/* 80007BAC 00004AEC B0 03 00 0C */ sth r0, 0xc(r3)
|
||||
/* 80007BB0 00004AF0 C0 04 00 58 */ lfs f0, 0x58(r4)
|
||||
/* 80007BB4 00004AF4 D0 03 00 10 */ stfs f0, 0x10(r3)
|
||||
/* 80007BB8 00004AF8 C0 04 00 5C */ lfs f0, 0x5c(r4)
|
||||
/* 80007BBC 00004AFC D0 03 00 14 */ stfs f0, 0x14(r3)
|
||||
/* 80007BC0 00004B00 C0 04 00 60 */ lfs f0, 0x60(r4)
|
||||
/* 80007BC4 00004B04 D0 03 00 18 */ stfs f0, 0x18(r3)
|
||||
/* 80007BC8 00004B08 A8 04 00 64 */ lha r0, 0x64(r4)
|
||||
/* 80007BCC 00004B0C B0 03 00 1C */ sth r0, 0x1c(r3)
|
||||
/* 80007BD0 00004B10 88 04 00 24 */ lbz r0, 0x24(r4)
|
||||
/* 80007BD4 00004B14 C0 42 80 20 */ lfs f2, lbl_80451A20-_SDA2_BASE_(r2)
|
||||
/* 80007BD8 00004B18 C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007BDC 00004B1C 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007BE0 00004B20 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007BE4 00004B24 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007BE8 00004B28 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007BEC 00004B2C EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007BF0 00004B30 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007BF4 00004B34 D0 03 00 20 */ stfs f0, 0x20(r3)
|
||||
/* 80007BF8 00004B38 C0 23 00 20 */ lfs f1, 0x20(r3)
|
||||
/* 80007BFC 00004B3C C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007C00 00004B40 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007C04 00004B44 40 81 00 08 */ ble lbl_80007C0C
|
||||
/* 80007C08 00004B48 D0 03 00 20 */ stfs f0, 0x20(r3)
|
||||
lbl_80007C0C:
|
||||
/* 80007C0C 00004B4C 88 04 00 25 */ lbz r0, 0x25(r4)
|
||||
/* 80007C10 00004B50 C0 42 80 20 */ lfs f2, lbl_80451A20-_SDA2_BASE_(r2)
|
||||
/* 80007C14 00004B54 C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007C18 00004B58 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007C1C 00004B5C 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007C20 00004B60 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007C24 00004B64 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007C28 00004B68 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007C2C 00004B6C EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007C30 00004B70 D0 03 00 24 */ stfs f0, 0x24(r3)
|
||||
/* 80007C34 00004B74 C0 23 00 24 */ lfs f1, 0x24(r3)
|
||||
/* 80007C38 00004B78 C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007C3C 00004B7C FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007C40 00004B80 40 81 00 08 */ ble lbl_80007C48
|
||||
/* 80007C44 00004B84 D0 03 00 24 */ stfs f0, 0x24(r3)
|
||||
lbl_80007C48:
|
||||
/* 80007C48 00004B88 88 04 00 26 */ lbz r0, 0x26(r4)
|
||||
/* 80007C4C 00004B8C C0 42 80 28 */ lfs f2, lbl_80451A28-_SDA2_BASE_(r2)
|
||||
/* 80007C50 00004B90 C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007C54 00004B94 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007C58 00004B98 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007C5C 00004B9C 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007C60 00004BA0 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007C64 00004BA4 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007C68 00004BA8 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007C6C 00004BAC D0 03 00 28 */ stfs f0, 0x28(r3)
|
||||
/* 80007C70 00004BB0 C0 23 00 28 */ lfs f1, 0x28(r3)
|
||||
/* 80007C74 00004BB4 C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007C78 00004BB8 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007C7C 00004BBC 40 81 00 08 */ ble lbl_80007C84
|
||||
/* 80007C80 00004BC0 D0 03 00 28 */ stfs f0, 0x28(r3)
|
||||
lbl_80007C84:
|
||||
/* 80007C84 00004BC4 88 04 00 27 */ lbz r0, 0x27(r4)
|
||||
/* 80007C88 00004BC8 C0 42 80 28 */ lfs f2, lbl_80451A28-_SDA2_BASE_(r2)
|
||||
/* 80007C8C 00004BCC C8 22 80 30 */ lfd f1, lbl_80451A30-_SDA2_BASE_(r2)
|
||||
/* 80007C90 00004BD0 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80007C94 00004BD4 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80007C98 00004BD8 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80007C9C 00004BDC C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80007CA0 00004BE0 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80007CA4 00004BE4 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80007CA8 00004BE8 D0 03 00 2C */ stfs f0, 0x2c(r3)
|
||||
/* 80007CAC 00004BEC C0 23 00 2C */ lfs f1, 0x2c(r3)
|
||||
/* 80007CB0 00004BF0 C0 02 80 24 */ lfs f0, lbl_80451A24-_SDA2_BASE_(r2)
|
||||
/* 80007CB4 00004BF4 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80007CB8 00004BF8 40 81 00 08 */ ble lbl_80007CC0
|
||||
/* 80007CBC 00004BFC D0 03 00 2C */ stfs f0, 0x2c(r3)
|
||||
lbl_80007CC0:
|
||||
/* 80007CC0 00004C00 88 04 00 7E */ lbz r0, 0x7e(r4)
|
||||
/* 80007CC4 00004C04 98 03 00 38 */ stb r0, 0x38(r3)
|
||||
/* 80007CC8 00004C08 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80007CCC 00004C0C 4E 80 00 20 */ blr
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
/* 80007954 00004894 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80007958 00004898 7C 08 02 A6 */ mflr r0
|
||||
/* 8000795C 0000489C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80007960 000048A0 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 80007964 000048A4 48 2C 72 E9 */ bl __nw__FUl
|
||||
/* 80007968 000048A8 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 8000796C 000048AC 41 82 00 10 */ beq lbl_8000797C
|
||||
/* 80007970 000048B0 38 80 00 00 */ li r4, 0
|
||||
/* 80007974 000048B4 48 2D 8D 69 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 80007978 000048B8 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_8000797C:
|
||||
/* 8000797C 000048BC 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80007980 000048C0 94 03 D2 D8 */ stwu r0, m_gamePad@l(r3)
|
||||
/* 80007984 000048C4 88 0D 80 00 */ lbz r0, lbl_80450580-_SDA_BASE_(r13)
|
||||
/* 80007988 000048C8 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8000798C 000048CC 41 82 00 80 */ beq lbl_80007A0C
|
||||
/* 80007990 000048D0 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 80007994 000048D4 48 2C 72 B9 */ bl __nw__FUl
|
||||
/* 80007998 000048D8 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 8000799C 000048DC 41 82 00 10 */ beq lbl_800079AC
|
||||
/* 800079A0 000048E0 38 80 00 01 */ li r4, 1
|
||||
/* 800079A4 000048E4 48 2D 8D 39 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 800079A8 000048E8 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_800079AC:
|
||||
/* 800079AC 000048EC 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 800079B0 000048F0 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 800079B4 000048F4 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 800079B8 000048F8 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 800079BC 000048FC 48 2C 72 91 */ bl __nw__FUl
|
||||
/* 800079C0 00004900 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 800079C4 00004904 41 82 00 10 */ beq lbl_800079D4
|
||||
/* 800079C8 00004908 38 80 00 02 */ li r4, 2
|
||||
/* 800079CC 0000490C 48 2D 8D 11 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 800079D0 00004910 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_800079D4:
|
||||
/* 800079D4 00004914 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 800079D8 00004918 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 800079DC 0000491C 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 800079E0 00004920 38 60 00 B0 */ li r3, 0xb0
|
||||
/* 800079E4 00004924 48 2C 72 69 */ bl __nw__FUl
|
||||
/* 800079E8 00004928 7C 60 1B 79 */ or. r0, r3, r3
|
||||
/* 800079EC 0000492C 41 82 00 10 */ beq lbl_800079FC
|
||||
/* 800079F0 00004930 38 80 00 03 */ li r4, 3
|
||||
/* 800079F4 00004934 48 2D 8C E9 */ bl __ct__10JUTGamePadFQ210JUTGamePad8EPadPort
|
||||
/* 800079F8 00004938 7C 60 1B 78 */ mr r0, r3
|
||||
lbl_800079FC:
|
||||
/* 800079FC 0000493C 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80007A00 00004940 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 80007A04 00004944 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 80007A08 00004948 48 00 00 14 */ b lbl_80007A1C
|
||||
lbl_80007A0C:
|
||||
/* 80007A0C 0000494C 38 00 00 00 */ li r0, 0
|
||||
/* 80007A10 00004950 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 80007A14 00004954 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 80007A18 00004958 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
lbl_80007A1C:
|
||||
/* 80007A1C 0000495C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
|
||||
/* 80007A20 00004960 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 80007A24 00004964 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80007A28 00004968 40 82 00 1C */ bne lbl_80007A44
|
||||
/* 80007A2C 0000496C 38 80 00 00 */ li r4, 0
|
||||
/* 80007A30 00004970 98 8D 8F 81 */ stb r4, lbl_80451501-_SDA_BASE_(r13)
|
||||
/* 80007A34 00004974 3C 60 80 01 */ lis r3, resetCallBack__6mDoRstFiPv@ha
|
||||
/* 80007A38 00004978 38 03 57 4C */ addi r0, r3, resetCallBack__6mDoRstFiPv@l
|
||||
/* 80007A3C 0000497C 90 0D 8F 6C */ stw r0, lbl_804514EC-_SDA_BASE_(r13)
|
||||
/* 80007A40 00004980 90 8D 8F 70 */ stw r4, lbl_804514F0-_SDA_BASE_(r13)
|
||||
lbl_80007A44:
|
||||
/* 80007A44 00004984 38 00 00 03 */ li r0, 3
|
||||
/* 80007A48 00004988 90 0D 8F 5C */ stw r0, sAnalogMode-_SDA_BASE_(r13)
|
||||
/* 80007A4C 0000498C 38 60 00 03 */ li r3, 3
|
||||
/* 80007A50 00004990 48 34 7F C1 */ bl PADSetAnalogMode
|
||||
/* 80007A54 00004994 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80007A58 00004998 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80007A5C 0000499C 7C 04 03 78 */ mr r4, r0
|
||||
/* 80007A60 000049A0 38 60 00 00 */ li r3, 0
|
||||
/* 80007A64 000049A4 38 00 00 04 */ li r0, 4
|
||||
/* 80007A68 000049A8 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80007A6C:
|
||||
/* 80007A6C 000049AC 98 64 00 3A */ stb r3, 0x3a(r4)
|
||||
/* 80007A70 000049B0 98 64 00 39 */ stb r3, 0x39(r4)
|
||||
/* 80007A74 000049B4 98 64 00 3C */ stb r3, 0x3c(r4)
|
||||
/* 80007A78 000049B8 98 64 00 3B */ stb r3, 0x3b(r4)
|
||||
/* 80007A7C 000049BC 38 84 00 40 */ addi r4, r4, 0x40
|
||||
/* 80007A80 000049C0 42 00 FF EC */ bdnz lbl_80007A6C
|
||||
/* 80007A84 000049C4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80007A88 000049C8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80007A8C 000049CC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80007A90 000049D0 4E 80 00 20 */ blr
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
/* 80007A94 000049D4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80007A98 000049D8 7C 08 02 A6 */ mflr r0
|
||||
/* 80007A9C 000049DC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80007AA0 000049E0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80007AA4 000049E4 48 35 A7 39 */ bl _savegpr_29
|
||||
/* 80007AA8 000049E8 48 2D 8E 3D */ bl read__10JUTGamePadFv
|
||||
/* 80007AAC 000049EC 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
|
||||
/* 80007AB0 000049F0 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 80007AB4 000049F4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80007AB8 000049F8 40 82 00 4C */ bne lbl_80007B04
|
||||
/* 80007ABC 000049FC 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 80007AC0 00004A00 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80007AC4 00004A04 41 82 00 40 */ beq lbl_80007B04
|
||||
/* 80007AC8 00004A08 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 80007ACC 00004A0C 48 2D 9E D1 */ bl getGamePad__10JUTGamePadFi
|
||||
/* 80007AD0 00004A10 38 80 00 00 */ li r4, 0
|
||||
/* 80007AD4 00004A14 A8 03 00 7C */ lha r0, 0x7c(r3)
|
||||
/* 80007AD8 00004A18 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 80007ADC 00004A1C 41 82 00 14 */ beq lbl_80007AF0
|
||||
/* 80007AE0 00004A20 88 03 00 98 */ lbz r0, 0x98(r3)
|
||||
/* 80007AE4 00004A24 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80007AE8 00004A28 41 82 00 08 */ beq lbl_80007AF0
|
||||
/* 80007AEC 00004A2C 38 80 00 01 */ li r4, 1
|
||||
lbl_80007AF0:
|
||||
/* 80007AF0 00004A30 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 80007AF4 00004A34 40 82 00 10 */ bne lbl_80007B04
|
||||
/* 80007AF8 00004A38 38 00 00 00 */ li r0, 0
|
||||
/* 80007AFC 00004A3C 80 6D 86 F8 */ lwz r3, m_Do_Reset_NS_mDoRst_NS_mResetData-_SDA_BASE_(r13)
|
||||
/* 80007B00 00004A40 90 03 00 08 */ stw r0, 8(r3)
|
||||
lbl_80007B04:
|
||||
/* 80007B04 00004A44 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 80007B08 00004A48 38 03 D2 D8 */ addi r0, r3, m_gamePad@l
|
||||
/* 80007B0C 00004A4C 7C 1F 03 78 */ mr r31, r0
|
||||
/* 80007B10 00004A50 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80007B14 00004A54 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80007B18 00004A58 7C 1E 03 78 */ mr r30, r0
|
||||
/* 80007B1C 00004A5C 3B A0 00 00 */ li r29, 0
|
||||
lbl_80007B20:
|
||||
/* 80007B20 00004A60 80 9F 00 00 */ lwz r4, 0(r31)
|
||||
/* 80007B24 00004A64 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80007B28 00004A68 40 82 00 18 */ bne lbl_80007B40
|
||||
/* 80007B2C 00004A6C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80007B30 00004A70 38 80 00 00 */ li r4, 0
|
||||
/* 80007B34 00004A74 38 A0 00 40 */ li r5, 0x40
|
||||
/* 80007B38 00004A78 48 26 7E 25 */ bl cLib_memSet__FPviUl
|
||||
/* 80007B3C 00004A7C 48 00 00 14 */ b lbl_80007B50
|
||||
lbl_80007B40:
|
||||
/* 80007B40 00004A80 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80007B44 00004A84 48 00 00 39 */ bl convert__8mDoCPd_cFP27interface_of_controller_padP10JUTGamePad
|
||||
/* 80007B48 00004A88 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80007B4C 00004A8C 48 00 01 85 */ bl LRlockCheck__8mDoCPd_cFP27interface_of_controller_pad
|
||||
lbl_80007B50:
|
||||
/* 80007B50 00004A90 3B BD 00 01 */ addi r29, r29, 1
|
||||
/* 80007B54 00004A94 28 1D 00 04 */ cmplwi r29, 4
|
||||
/* 80007B58 00004A98 3B FF 00 04 */ addi r31, r31, 4
|
||||
/* 80007B5C 00004A9C 3B DE 00 40 */ addi r30, r30, 0x40
|
||||
/* 80007B60 00004AA0 41 80 FF C0 */ blt lbl_80007B20
|
||||
/* 80007B64 00004AA4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80007B68 00004AA8 48 35 A6 C1 */ bl _restgpr_29
|
||||
/* 80007B6C 00004AAC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80007B70 00004AB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80007B74 00004AB4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80007B78 00004AB8 4E 80 00 20 */ blr
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
/* 80007D74 00004CB4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80007D78 00004CB8 7C 08 02 A6 */ mflr r0
|
||||
/* 80007D7C 00004CBC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80007D80 00004CC0 48 2D 92 A5 */ bl clearForReset__10JUTGamePadFv
|
||||
/* 80007D84 00004CC4 3C 60 F0 00 */ lis r3, 0xf000
|
||||
/* 80007D88 00004CC8 48 2D 9C 51 */ bl setEnabled__Q210JUTGamePad7CRumbleFUl
|
||||
/* 80007D8C 00004CCC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80007D90 00004CD0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80007D94 00004CD4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80007D98 00004CD8 4E 80 00 20 */ blr
|
||||
|
|
@ -2,6 +2,114 @@
|
|||
#define __M_DO_CONTROLLER_PAD_H_
|
||||
|
||||
#include "JSystem/JUtility/JUTGamePad/JUTGamePad.h"
|
||||
extern JUTGamePad* lbl_803DD2D8[4]; // m_Do_controller_pad::mDoCPd_c::m_gamePad
|
||||
#include "global.h"
|
||||
|
||||
#endif
|
||||
struct g_HIO_struct {
|
||||
u32 field_0x0;
|
||||
u8 field_0x4;
|
||||
u8 field_0x5;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa;
|
||||
u8 field_0xb;
|
||||
float float_global_1;
|
||||
float float_global_2;
|
||||
u8 field_0x14;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19;
|
||||
u8 field_0x1a;
|
||||
u8 field_0x1b;
|
||||
u8 field_0x1c;
|
||||
u8 field_0x1d;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
u8 field_0x20;
|
||||
u8 field_0x21;
|
||||
u8 field_0x22;
|
||||
u8 field_0x23;
|
||||
u8 field_0x24;
|
||||
u8 field_0x25;
|
||||
u8 field_0x26;
|
||||
u8 field_0x27;
|
||||
u8 field_0x28;
|
||||
u8 field_0x29;
|
||||
u8 field_0x2a;
|
||||
u8 field_0x2b;
|
||||
u8 field_0x2c;
|
||||
u8 field_0x2d;
|
||||
u8 field_0x2e;
|
||||
u8 field_0x2f;
|
||||
u8 field_0x30;
|
||||
u8 field_0x31;
|
||||
u8 field_0x32;
|
||||
u8 field_0x33;
|
||||
u8 field_0x34;
|
||||
u8 field_0x35;
|
||||
u8 field_0x36;
|
||||
u8 field_0x37;
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
u8 field_0x40;
|
||||
u8 field_0x41;
|
||||
u8 field_0x42;
|
||||
u8 field_0x43;
|
||||
};
|
||||
|
||||
struct interface_of_controller_pad {
|
||||
float stick_x;
|
||||
float stick_y;
|
||||
float length_from_neutral;
|
||||
s16 controlStick_angle;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
float cStick_x;
|
||||
float cStick_y;
|
||||
float cStick_length_from_neutral;
|
||||
s16 cStick_angle;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
float analog_a;
|
||||
float analog_b;
|
||||
float trigger_left;
|
||||
float trigger_right;
|
||||
u32 button_flags;
|
||||
u32 field_0x34;
|
||||
s8 error_value;
|
||||
bool field_0x39;
|
||||
bool field_0x3a;
|
||||
bool field_0x3b;
|
||||
bool field_0x3c;
|
||||
};
|
||||
|
||||
struct cpadInfo {
|
||||
interface_of_controller_pad interface;
|
||||
cpadInfo* unk1;
|
||||
f32 stickValue;
|
||||
s16 stickAngle;
|
||||
u8 p2[0x8];
|
||||
f32 CstickValue;
|
||||
s16 CstickAngle;
|
||||
u8 p3[0xE2];
|
||||
};
|
||||
|
||||
struct mDoCPd_c {
|
||||
void create();
|
||||
void read();
|
||||
static void convert(interface_of_controller_pad* controllerInteface, JUTGamePad* gamePad);
|
||||
static void LRlockCheck(interface_of_controller_pad* controllerInterface);
|
||||
void recalibrate(void);
|
||||
|
||||
JUTGamePad* gamePad;
|
||||
};
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
/* 800057A8 000026E8 48 33 C7 59 */ bl OSCheckActiveThreads
|
||||
/* 800057AC 000026EC 38 A0 00 00 */ li r5, 0
|
||||
/* 800057B0 000026F0 57 64 30 32 */ slwi r4, r27, 6
|
||||
/* 800057B4 000026F4 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 800057B8 000026F8 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 800057B4 000026F4 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 800057B8 000026F8 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 800057BC 000026FC 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 800057C0 00002700 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 800057C4 00002704 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ lbl_80005DB4:
|
|||
/* 80005DCC 00002D0C 98 0D 85 B0 */ stb r0, lbl_80450B30-_SDA_BASE_(r13)
|
||||
lbl_80005DD0:
|
||||
/* 80005DD0 00002D10 54 64 30 32 */ slwi r4, r3, 6
|
||||
/* 80005DD4 00002D14 3C 60 80 3E */ lis r3, lbl_803DD2E8@ha
|
||||
/* 80005DD8 00002D18 38 03 D2 E8 */ addi r0, r3, lbl_803DD2E8@l
|
||||
/* 80005DD4 00002D14 3C 60 80 3E */ lis r3, m_cpadInfo@ha
|
||||
/* 80005DD8 00002D18 38 03 D2 E8 */ addi r0, r3, m_cpadInfo@l
|
||||
/* 80005DDC 00002D1C 7F A0 22 14 */ add r29, r0, r4
|
||||
/* 80005DE0 00002D20 3B DD 00 34 */ addi r30, r29, 0x34
|
||||
/* 80005DE4 00002D24 80 1D 00 34 */ lwz r0, 0x34(r29)
|
||||
|
|
@ -186,8 +186,8 @@ lbl_80005FF4:
|
|||
/* 80005FF4 00002F34 80 9E 00 00 */ lwz r4, 0(r30)
|
||||
/* 80005FF8 00002F38 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
|
||||
/* 80005FFC 00002F3C 41 82 00 18 */ beq lbl_80006014
|
||||
/* 80006000 00002F40 3C 60 80 3F */ lis r3, lbl_803F1BBC@ha
|
||||
/* 80006004 00002F44 38 63 1B BC */ addi r3, r3, lbl_803F1BBC@l
|
||||
/* 80006000 00002F40 3C 60 80 3F */ lis r3, g_HIO@ha
|
||||
/* 80006004 00002F44 38 63 1B BC */ addi r3, r3, g_HIO@l
|
||||
/* 80006008 00002F48 88 03 00 15 */ lbz r0, 0x15(r3)
|
||||
/* 8000600C 00002F4C 68 00 00 01 */ xori r0, r0, 1
|
||||
/* 80006010 00002F50 98 03 00 15 */ stb r0, 0x15(r3)
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
/* 800061EC 0000312C 38 60 00 02 */ li r3, 2
|
||||
/* 800061F0 00003130 4B FF F5 9D */ bl CheckHeap__FUl
|
||||
lbl_800061F4:
|
||||
/* 800061F4 00003134 3C 60 80 3E */ lis r3, lbl_803DD2D8@ha
|
||||
/* 800061F8 00003138 38 63 D2 D8 */ addi r3, r3, lbl_803DD2D8@l
|
||||
/* 800061F4 00003134 3C 60 80 3E */ lis r3, m_gamePad@ha
|
||||
/* 800061F8 00003138 38 63 D2 D8 */ addi r3, r3, m_gamePad@l
|
||||
/* 800061FC 0000313C 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 80006200 00003140 80 03 00 18 */ lwz r0, 0x18(r3)
|
||||
/* 80006204 00003144 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
/* 800062A0 000031E0 3B E3 32 E0 */ addi r31, r3, lbl_803D32E0@l
|
||||
/* 800062A4 000031E4 48 00 5A A1 */ bl mDoMch_Create
|
||||
/* 800062A8 000031E8 48 00 4E CD */ bl mDoGph_Create
|
||||
/* 800062AC 000031EC 48 00 16 A9 */ bl mDoCPd_c_NS_create
|
||||
/* 800062AC 000031EC 48 00 16 A9 */ bl create__8mDoCPd_cFv
|
||||
/* 800062B0 000031F0 80 8D 8D F8 */ lwz r4, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 800062B4 000031F4 38 7F 00 00 */ addi r3, r31, 0
|
||||
/* 800062B8 000031F8 90 83 00 08 */ stw r4, 8(r3)
|
||||
|
|
@ -119,7 +119,7 @@ lbl_8000642C:
|
|||
/* 80006438 00003378 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8000643C 0000337C 48 01 04 59 */ bl mDoMemCd_Ctrl_c_NS_update
|
||||
lbl_80006440:
|
||||
/* 80006440 00003380 48 00 16 55 */ bl mDoCPd_c_NS_read
|
||||
/* 80006440 00003380 48 00 16 55 */ bl read__8mDoCPd_cFv
|
||||
/* 80006444 00003384 48 01 26 29 */ bl fapGm_Execute
|
||||
/* 80006448 00003388 48 00 0D 1D */ bl mDoAud_Execute
|
||||
/* 8000644C 0000338C 4B FF FD 7D */ bl debug__Fv
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
#ifndef __PAD_H__
|
||||
#define __PAD_H__
|
||||
#include "global.h"
|
||||
|
||||
typedef enum PADMask {
|
||||
// PAD_CHAN3_BIT = (1 << 0),
|
||||
// PAD_CHAN2_BIT = (1 << 1),
|
||||
// PAD_CHAN1_BIT = (1 << 2),
|
||||
// PAD_CHAN0_BIT = (1 << 3),
|
||||
|
||||
PAD_CHAN3_BIT = (1 << 28),
|
||||
PAD_CHAN2_BIT = (1 << 29),
|
||||
PAD_CHAN1_BIT = (1 << 30),
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ extern char lbl_803739A0[0x310];
|
|||
extern void* lbl_80451368;
|
||||
extern u32 lbl_804514E0;
|
||||
extern u8 lbl_803C3384;
|
||||
struct m_cpadInfo;
|
||||
extern m_cpadInfo lbl_803DD2E8;
|
||||
struct cpadInfo;
|
||||
extern cpadInfo m_cpadInfo;
|
||||
extern u8 lbl_803A2EF4;
|
||||
extern u8 lbl_803A2EE0;
|
||||
extern u8 lbl_80450B19;
|
||||
|
|
@ -40,8 +40,8 @@ extern u8 lbl_80450B1C;
|
|||
extern u8 lbl_80450B1C;
|
||||
extern u8 lbl_80450B24;
|
||||
extern u8 lbl_80450B24;
|
||||
extern u8 lbl_803F1BBC;
|
||||
extern u8 lbl_803F1BBC;
|
||||
struct g_HIO_struct;
|
||||
extern g_HIO_struct g_HIO;
|
||||
extern u8 lbl_80450C2C;
|
||||
extern u8 lbl_80450C28;
|
||||
extern u8 lbl_80450C34;
|
||||
|
|
@ -49,6 +49,8 @@ extern u8 lbl_80450B24;
|
|||
extern u8 lbl_80450B1C;
|
||||
extern u8 lbl_80450580;
|
||||
extern u8 lbl_80450B1A;
|
||||
struct JUTGamePad;
|
||||
extern JUTGamePad* m_gamePad[4];
|
||||
extern u8 lbl_80450B18;
|
||||
extern u8 lbl_803D32E0;
|
||||
extern u8 lbl_80450BBC;
|
||||
|
|
@ -61,6 +63,8 @@ extern u8 __ct__12dSv_memory_cFv;
|
|||
extern u8 __ct__13dSv_memory2_cFv;
|
||||
extern u8 lbl_803D3420;
|
||||
extern u8 lbl_80450B0C;
|
||||
struct ResetData;
|
||||
extern ResetData* m_Do_Reset_NS_mDoRst_NS_mResetData;
|
||||
extern u8 lbl_80450B08;
|
||||
extern u8 lbl_803DB420;
|
||||
extern u8 main01__Fv;
|
||||
|
|
@ -374,6 +378,39 @@ extern u8 lbl_804342E8; // JKernel::decompMutex (static?)
|
|||
extern u8 lbl_804508B8; // JKRAram::sSZSBufferSize
|
||||
extern u8 lbl_803CC128; // JKRAram::sMessageBuffer
|
||||
|
||||
extern bool lbl_80451501;
|
||||
|
||||
extern float lbl_80451A20; // m_Do_controller_pad::@3709 0.06666667
|
||||
extern float lbl_80451A24; // m_Do_controller_pad::@3710 1.0
|
||||
extern float lbl_80451A28; // m_Do_controller_pad::@3711 0.007142857
|
||||
extern double lbl_80451A30; // m_Do_controller_pad::@3713 4.503599627370496E15
|
||||
|
||||
extern s32 sAnalogMode;
|
||||
extern u8 lbl_804513CC; // JKernel::szpBuf (static?)
|
||||
extern u8 lbl_804513D0; // JKernel::szpEnd (static?)
|
||||
extern u8 lbl_804513D4; // JKernel::refBuf (static?)
|
||||
extern u8 lbl_804513D8; // JKernel::refEnd (static?)
|
||||
extern u8 lbl_804513DC; // JKernel::refCurrent (static?)
|
||||
extern u8 lbl_804513E0; // JKernel::srcOffset (static?)
|
||||
extern u8 lbl_804513E4; // JKernel::transLeft (static?)
|
||||
extern u8 lbl_804513E8; // JKernel::srcLimit (static?)
|
||||
extern u8 lbl_804513EC; // JKernel::srcAddress (static?)
|
||||
extern u8 lbl_804513F0; // JKernel::fileOffset (static?)
|
||||
extern u8 lbl_804513F4; // JKernel::readCount (static?)
|
||||
extern u8 lbl_804513F8; // JKernel::maxDest (static?)
|
||||
extern u8 lbl_804513FC; // DAT_804513fc (init global mutex)
|
||||
extern u8 lbl_80451400; // JKernel::tsPtr (static?)
|
||||
extern u8 lbl_80451404; // JKernel::tsArea (static?)
|
||||
|
||||
extern u8 lbl_803CC158; // JKRAram::__vt
|
||||
extern u8 lbl_8039D078; // "JKRAram.cpp"
|
||||
extern u8 lbl_804342D0; // JKernel::@492 (global destructor chain)
|
||||
extern u8 lbl_803CC138; // JKRAram::sMessageQueue
|
||||
extern u8 lbl_804342DC; // JKRAram::sAramCommandList
|
||||
extern u8 lbl_804342E8; // JKernel::decompMutex (static?)
|
||||
extern u8 lbl_804508B8; // JKRAram::sSZSBufferSize
|
||||
extern u8 lbl_803CC128; // JKRAram::sMessageBuffer
|
||||
|
||||
//// JUTGamePad:
|
||||
// func_802E06DC
|
||||
extern u8 lbl_803CC610;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ void JUTGamePad::initList() {
|
|||
|
||||
s32 JUTGamePad::init() {
|
||||
PADSetSpec(5);
|
||||
/*sAnalogMode*/ lbl_804514DC = 3;
|
||||
/*sAnalogMode*/ sAnalogMode = 3;
|
||||
PADSetAnalogMode(3);
|
||||
|
||||
return PADInit();
|
||||
|
|
@ -287,7 +287,7 @@ void JUTGamePad::CRumble::stopPatternedRumbleAtThePeriod() {
|
|||
* matching issue in general; see JKRHeap::dispose or JKRThread::searchThread,
|
||||
* both of which are currently nonmatching due to the same issue.
|
||||
*/
|
||||
JUTGamePad* JUTGamePad::getGamePad(s32 pad_index) {
|
||||
JUTGamePad* JUTGamePad::getGamePad(int pad_index) {
|
||||
JSUList<JUTGamePad>* threadList = &lbl_804343E4;
|
||||
JSUListIterator<JUTGamePad> iterator;
|
||||
for (iterator = threadList; iterator != threadList->getEnd(); iterator++) {
|
||||
|
|
@ -300,7 +300,7 @@ JUTGamePad* JUTGamePad::getGamePad(s32 pad_index) {
|
|||
return NULL;
|
||||
}
|
||||
#else
|
||||
asm JUTGamePad* JUTGamePad::getGamePad(s32 pad_index) {
|
||||
asm JUTGamePad* JUTGamePad::getGamePad(int pad_index) {
|
||||
nofralloc
|
||||
#include "JSystem/JUtility/JUTGamePad/asm/func_802E199C.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ TEXT_O_FILES := \
|
|||
$(BUILD_DIR)/src/m_Do/m_Do_main.o \
|
||||
$(BUILD_DIR)/asm/m/Do/m_Do_printf.o \
|
||||
$(BUILD_DIR)/asm/m/Do/m_Do_audio.o \
|
||||
$(BUILD_DIR)/asm/m/Do/controller/m_Do_controller_pad.o \
|
||||
$(BUILD_DIR)/src/m_Do/m_Do_controller_pad.o \
|
||||
$(BUILD_DIR)/asm/m/Do/m_Do_graphic.o \
|
||||
$(BUILD_DIR)/asm/m/Do/m_Do_machine.o \
|
||||
$(BUILD_DIR)/asm/m/Do/m_Do_mtx.o \
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#include "d/d_lib/d_lib.h"
|
||||
#include "JSystem/JUtility/JUTGamePad/JUTGamePad.h"
|
||||
#include "d/d_event/d_event/d_event.h"
|
||||
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
|
||||
#include "os/OS.h"
|
||||
|
||||
STControl::STControl(s16 param_1, s16 param_2, s16 param_3, s16 param_4, f32 param_5, f32 param_6,
|
||||
|
|
@ -61,19 +63,19 @@ asm void STControl::Yinit(void) {
|
|||
#endif
|
||||
|
||||
double STControl::getValueStick() {
|
||||
return lbl_803DD2E8.stickValue;
|
||||
return m_cpadInfo.interface.length_from_neutral;
|
||||
}
|
||||
|
||||
s16 STControl::getAngleStick() {
|
||||
return lbl_803DD2E8.stickAngle;
|
||||
return m_cpadInfo.interface.controlStick_angle;
|
||||
}
|
||||
|
||||
double CSTControl::getValueStick() {
|
||||
return lbl_803DD2E8.CstickValue;
|
||||
return m_cpadInfo.interface.cStick_length_from_neutral;
|
||||
}
|
||||
|
||||
s16 CSTControl::getAngleStick() {
|
||||
return lbl_803DD2E8.CstickAngle;
|
||||
return m_cpadInfo.interface.cStick_angle;
|
||||
}
|
||||
|
||||
asm u32 STControl::checkTrigger() {
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ void fpcM_Management(fpcM_ManagementFunc pFunc1, fpcM_ManagementFunc pFunc2) {
|
|||
} else if (lbl_80450D38 == 0) {
|
||||
dLib_time_c::stopTime();
|
||||
Z2SoundMgr_NS_pauseAllGameSound(lbl_80450B60, true);
|
||||
lbl_803DD2D8[0]->stopPatternedRumble();
|
||||
m_gamePad[0]->stopPatternedRumble();
|
||||
lbl_80450D38 = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1,178 @@
|
|||
// ok
|
||||
#include "m_Do/m_Do_controller_pad/m_Do_controller_pad.h"
|
||||
#include "JSystem/JUtility/JUTGamePad/JUTGamePad.h"
|
||||
#include "c/cLib.h"
|
||||
#include "global.h"
|
||||
#include "m_Do/m_Do_Reset/m_Do_Reset.h"
|
||||
#include "pad/pad.h"
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void mDoCPd_c::create() {
|
||||
JUTGamePad* JUTGamePad_ptr;
|
||||
cpadInfo* m_cpadInfo_addr;
|
||||
|
||||
JUTGamePad_ptr = new JUTGamePad(JUTGamePad::Port_1);
|
||||
m_gamePad[0] = JUTGamePad_ptr;
|
||||
if (lbl_80450580 == 0) {
|
||||
m_gamePad[1] = NULL;
|
||||
m_gamePad[2] = NULL;
|
||||
m_gamePad[3] = NULL;
|
||||
JUTGamePad_ptr = m_gamePad[3];
|
||||
} else {
|
||||
m_gamePad[1] = new JUTGamePad(JUTGamePad::Port_2);
|
||||
m_gamePad[2] = new JUTGamePad(JUTGamePad::Port_3);
|
||||
JUTGamePad_ptr = new JUTGamePad(JUTGamePad::Port_4);
|
||||
}
|
||||
m_gamePad[3] = JUTGamePad_ptr;
|
||||
if (m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 == 0) {
|
||||
lbl_80451501 = false;
|
||||
lbl_804514EC = resetCallBack__6mDoRstFiPv;
|
||||
lbl_804514F0 = 0;
|
||||
}
|
||||
sAnalogMode = 3;
|
||||
PADSetAnalogMode(3);
|
||||
m_cpadInfo_addr = &m_cpadInfo;
|
||||
for (int i = 4; i != 0; i--) {
|
||||
m_cpadInfo_addr->interface.field_0x3a = false;
|
||||
m_cpadInfo_addr->interface.field_0x39 = false;
|
||||
m_cpadInfo_addr->interface.field_0x3c = false;
|
||||
m_cpadInfo_addr->interface.field_0x3b = false;
|
||||
m_cpadInfo_addr = m_cpadInfo_addr->unk1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
asm void mDoCPd_c::create() {
|
||||
nofralloc
|
||||
#include "m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_create.s"
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void mDoCPd_c::read() {
|
||||
//_savegpr_29();
|
||||
gamePad->read();
|
||||
if (m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x0 == 0 &&
|
||||
m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 != 0) {
|
||||
JUTGamePad* JUTGamePad_ptr =
|
||||
JUTGamePad::getGamePad(m_Do_Reset_NS_mDoRst_NS_mResetData->pad_index);
|
||||
bool error = false;
|
||||
if (JUTGamePad_ptr->pad_port != 0xffff &&
|
||||
JUTGamePad_ptr->rumble.field_0x10 != 0) { // Make the rumble thing right
|
||||
error = true;
|
||||
}
|
||||
if (error = false) {
|
||||
m_Do_Reset_NS_mDoRst_NS_mResetData->field_0x8 = 0;
|
||||
}
|
||||
}
|
||||
JUTGamePad** m_gamePad_ptr = m_gamePad;
|
||||
cpadInfo* cpad_ptr = &m_cpadInfo;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (*m_gamePad_ptr == 0) {
|
||||
cLib_memSet(cpad_ptr, 0, 0x40);
|
||||
} else {
|
||||
convert(&cpad_ptr->interface, *m_gamePad_ptr);
|
||||
LRlockCheck(&cpad_ptr->interface);
|
||||
}
|
||||
m_gamePad_ptr = m_gamePad_ptr + 1; // Shouldn't it be 4 if it's incrementing a pointer???
|
||||
cpad_ptr = cpad_ptr->unk1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
asm void mDoCPd_c::read() {
|
||||
nofralloc
|
||||
#include "m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_read.s"
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void mDoCPd_c::convert(interface_of_controller_pad* controllerInterface, JUTGamePad* gamePad) {
|
||||
controllerInterface->button_flags = gamePad->buttons.button_flags;
|
||||
controllerInterface->field_0x34 = gamePad->buttons.field_0x4;
|
||||
controllerInterface->stick_x = gamePad->control_stick.stick_x;
|
||||
controllerInterface->stick_y = gamePad->control_stick.stick_y;
|
||||
controllerInterface->length_from_neutral = gamePad->control_stick.length_from_neutral;
|
||||
controllerInterface->controlStick_angle = gamePad->control_stick.angle;
|
||||
controllerInterface->cStick_x = gamePad->c_stick.stick_x;
|
||||
controllerInterface->cStick_y = gamePad->c_stick.stick_y;
|
||||
controllerInterface->cStick_length_from_neutral = gamePad->c_stick.length_from_neutral;
|
||||
controllerInterface->cStick_angle = gamePad->c_stick.angle;
|
||||
controllerInterface->analog_a =
|
||||
(gamePad->buttons.analog_a - lbl_80451A30) *
|
||||
lbl_80451A20; //@3709 *
|
||||
//(float)((double)CONCAT44(0x43300000,(uint)(gamePad->buttons).analog_a)
|
||||
//- @3713);
|
||||
if (controllerInterface->analog_a > lbl_80451A24) {
|
||||
controllerInterface->analog_a = lbl_80451A24;
|
||||
}
|
||||
controllerInterface->analog_b =
|
||||
(gamePad->buttons.analog_b - lbl_80451A30) *
|
||||
lbl_80451A20; //@3709 *
|
||||
//(float)((double)CONCAT44(0x43300000,(uint)(gamePad->buttons).analog_b)
|
||||
//- @3713);
|
||||
if (controllerInterface->analog_b > lbl_80451A24) {
|
||||
controllerInterface->analog_b = lbl_80451A24;
|
||||
}
|
||||
controllerInterface->trigger_left =
|
||||
(gamePad->buttons.trigger_left - lbl_80451A30) *
|
||||
lbl_80451A28; //@3711 *
|
||||
//(float)((double)CONCAT44(0x43300000,(uint)(gamePad->buttons).trigger_left)
|
||||
//- @3713);
|
||||
if (controllerInterface->trigger_left > lbl_80451A24) {
|
||||
controllerInterface->trigger_left = lbl_80451A24;
|
||||
}
|
||||
controllerInterface->trigger_right =
|
||||
(gamePad->buttons.trigger_right - lbl_80451A30) *
|
||||
lbl_80451A28; //@3711 *
|
||||
//(float)((double)CONCAT44(0x43300000,(uint)(gamePad->buttons).trigger_right)
|
||||
//- @3713);
|
||||
if (controllerInterface->trigger_right > lbl_80451A24) {
|
||||
controllerInterface->trigger_right = lbl_80451A24;
|
||||
}
|
||||
controllerInterface->error_value = gamePad->error_value;
|
||||
}
|
||||
#else
|
||||
asm void mDoCPd_c::convert(interface_of_controller_pad* controllerInteface, JUTGamePad* gamePad) {
|
||||
nofralloc
|
||||
#include "m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_convert.s"
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void mDoCPd_c::LRlockCheck(interface_of_controller_pad* controllerInterface) {
|
||||
float temp_1 = controllerInterface->trigger_left; // not sure if temp is left or right
|
||||
controllerInterface->field_0x3a = false;
|
||||
controllerInterface->field_0x3c = false;
|
||||
if (temp_1 <= g_HIO.float_global_1) { // controllerInterface->trigger_left) {
|
||||
if (temp_1 < g_HIO.float_global_2) {
|
||||
controllerInterface->field_0x39 = false;
|
||||
}
|
||||
} else {
|
||||
if (controllerInterface->field_0x39 == false) {
|
||||
controllerInterface->field_0x3a = true;
|
||||
}
|
||||
controllerInterface->field_0x39 = true;
|
||||
}
|
||||
if (controllerInterface->trigger_right > g_HIO.float_global_1) {
|
||||
if (controllerInterface->field_0x3b == false) {
|
||||
controllerInterface->field_0x3c = true;
|
||||
}
|
||||
controllerInterface->field_0x3b = true;
|
||||
return;
|
||||
}
|
||||
if (controllerInterface->trigger_right >= g_HIO.float_global_2) {
|
||||
return;
|
||||
}
|
||||
controllerInterface->field_0x3b = false;
|
||||
return;
|
||||
}
|
||||
#else
|
||||
asm void mDoCPd_c::LRlockCheck(interface_of_controller_pad* controllerInterface) {
|
||||
nofralloc
|
||||
#include "m_Do/m_Do_controller_pad/asm/mDoCPd_c_NS_LRlockCheck.s"
|
||||
}
|
||||
#endif
|
||||
|
||||
void mDoCPd_c::recalibrate(void) {
|
||||
JUTGamePad::clearForReset();
|
||||
JUTGamePad::CRumble::setEnabled(
|
||||
PADMask(PAD_CHAN3_BIT | PAD_CHAN2_BIT | PAD_CHAN1_BIT | PAD_CHAN0_BIT));
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ void HeapCheck::CheckHeap1(void) {
|
|||
|
||||
#ifdef NONMATCHING
|
||||
extern u8 lbl_803A2EF4[0x4c];
|
||||
extern u8 lbl_803DD2E8[0x100];
|
||||
extern u8 m_cpadInfo[0x100];
|
||||
|
||||
void CheckHeap(u32 param_1) {
|
||||
HeapCheck* currentHeap;
|
||||
|
|
@ -42,8 +42,8 @@ void CheckHeap(u32 param_1) {
|
|||
|
||||
unk = 0;
|
||||
|
||||
if ((((lbl_803DD2E8 + 0x30)[param_1 * 0x10] & 0xffffffef) == 0x60) &&
|
||||
(((lbl_803DD2E8 + 0x30)[param_1 * 0x10] & 0x10) != 0)) {
|
||||
if ((((m_cpadInfo + 0x30)[param_1 * 0x10] & 0xffffffef) == 0x60) &&
|
||||
(((m_cpadInfo + 0x30)[param_1 * 0x10] & 0x10) != 0)) {
|
||||
unk = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
834
tools/elf2dol.c
834
tools/elf2dol.c
|
|
@ -1,67 +1,67 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
#ifndef MAX
|
||||
//! Get the maximum of two values
|
||||
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef MIN
|
||||
//! Get the minimum of two values
|
||||
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#define EI_NIDENT 16
|
||||
#define EI_NIDENT 16
|
||||
|
||||
typedef struct {
|
||||
unsigned char e_ident[EI_NIDENT];
|
||||
uint16_t e_type;
|
||||
uint16_t e_machine;
|
||||
uint32_t e_version;
|
||||
uint32_t e_entry;
|
||||
uint32_t e_phoff;
|
||||
uint32_t e_shoff;
|
||||
uint32_t e_flags;
|
||||
uint16_t e_ehsize;
|
||||
uint16_t e_phentsize;
|
||||
uint16_t e_phnum;
|
||||
uint16_t e_shentsize;
|
||||
uint16_t e_shnum;
|
||||
uint16_t e_shstrndx;
|
||||
unsigned char e_ident[EI_NIDENT];
|
||||
uint16_t e_type;
|
||||
uint16_t e_machine;
|
||||
uint32_t e_version;
|
||||
uint32_t e_entry;
|
||||
uint32_t e_phoff;
|
||||
uint32_t e_shoff;
|
||||
uint32_t e_flags;
|
||||
uint16_t e_ehsize;
|
||||
uint16_t e_phentsize;
|
||||
uint16_t e_phnum;
|
||||
uint16_t e_shentsize;
|
||||
uint16_t e_shnum;
|
||||
uint16_t e_shstrndx;
|
||||
} Elf32_Ehdr;
|
||||
|
||||
#define EI_CLASS 4
|
||||
#define EI_DATA 5
|
||||
#define EI_VERSION 6
|
||||
#define EI_PAD 7
|
||||
#define EI_NIDENT 16
|
||||
#define EI_CLASS 4
|
||||
#define EI_DATA 5
|
||||
#define EI_VERSION 6
|
||||
#define EI_PAD 7
|
||||
#define EI_NIDENT 16
|
||||
|
||||
#define ELFCLASS32 1
|
||||
#define ELFDATA2MSB 2
|
||||
#define EV_CURRENT 1
|
||||
#define ELFCLASS32 1
|
||||
#define ELFDATA2MSB 2
|
||||
#define EV_CURRENT 1
|
||||
|
||||
#define ET_EXEC 2
|
||||
#define EM_PPC 20
|
||||
#define ET_EXEC 2
|
||||
#define EM_PPC 20
|
||||
|
||||
typedef struct {
|
||||
uint32_t p_type;
|
||||
uint32_t p_offset;
|
||||
uint32_t p_vaddr;
|
||||
uint32_t p_paddr;
|
||||
uint32_t p_filesz;
|
||||
uint32_t p_memsz;
|
||||
uint32_t p_flags;
|
||||
uint32_t p_align;
|
||||
uint32_t p_type;
|
||||
uint32_t p_offset;
|
||||
uint32_t p_vaddr;
|
||||
uint32_t p_paddr;
|
||||
uint32_t p_filesz;
|
||||
uint32_t p_memsz;
|
||||
uint32_t p_flags;
|
||||
uint32_t p_align;
|
||||
} Elf32_Phdr;
|
||||
|
||||
#define PT_LOAD 1
|
||||
#define PF_R 4
|
||||
#define PF_W 2
|
||||
#define PF_X 1
|
||||
#define PT_LOAD 1
|
||||
#define PF_R 4
|
||||
#define PF_W 2
|
||||
#define PF_X 1
|
||||
|
||||
int verbosity = 0;
|
||||
|
||||
|
|
@ -72,33 +72,27 @@ int verbosity = 0;
|
|||
|
||||
#else
|
||||
|
||||
static inline uint32_t swap32(uint32_t v)
|
||||
{
|
||||
return (v >> 24) |
|
||||
((v >> 8) & 0x0000FF00) |
|
||||
((v << 8) & 0x00FF0000) |
|
||||
(v << 24);
|
||||
static inline uint32_t swap32(uint32_t v) {
|
||||
return (v >> 24) | ((v >> 8) & 0x0000FF00) | ((v << 8) & 0x00FF0000) | (v << 24);
|
||||
}
|
||||
|
||||
static inline uint16_t swaf16(uint16_t v)
|
||||
{
|
||||
return (v >> 8) | (v << 8);
|
||||
static inline uint16_t swaf16(uint16_t v) {
|
||||
return (v >> 8) | (v << 8);
|
||||
}
|
||||
|
||||
#endif /* BIG_ENDIAN */
|
||||
|
||||
typedef struct {
|
||||
|
||||
uint32_t text_off[7];
|
||||
uint32_t data_off[11];
|
||||
uint32_t text_addr[7];
|
||||
uint32_t data_addr[11];
|
||||
uint32_t text_size[7];
|
||||
uint32_t data_size[11];
|
||||
uint32_t bss_addr;
|
||||
uint32_t bss_size;
|
||||
uint32_t entry;
|
||||
uint32_t pad[7];
|
||||
uint32_t text_off[7];
|
||||
uint32_t data_off[11];
|
||||
uint32_t text_addr[7];
|
||||
uint32_t data_addr[11];
|
||||
uint32_t text_size[7];
|
||||
uint32_t data_size[11];
|
||||
uint32_t bss_addr;
|
||||
uint32_t bss_size;
|
||||
uint32_t entry;
|
||||
uint32_t pad[7];
|
||||
} DOL_hdr;
|
||||
|
||||
#define HAVE_BSS 1
|
||||
|
|
@ -111,13 +105,13 @@ typedef struct {
|
|||
#define DOL_ALIGN(x) (((x) + DOL_ALIGNMENT - 1) & ~(DOL_ALIGNMENT - 1))
|
||||
|
||||
typedef struct {
|
||||
DOL_hdr header;
|
||||
int text_cnt;
|
||||
int data_cnt;
|
||||
uint32_t text_elf_off[7];
|
||||
uint32_t data_elf_off[11];
|
||||
uint32_t flags;
|
||||
FILE *elf;
|
||||
DOL_hdr header;
|
||||
int text_cnt;
|
||||
int data_cnt;
|
||||
uint32_t text_elf_off[7];
|
||||
uint32_t data_elf_off[11];
|
||||
uint32_t flags;
|
||||
FILE* elf;
|
||||
} DOL_map;
|
||||
|
||||
// We need to track 2 PDHR sizes in the event this is for Wii, but for Gamecube
|
||||
|
|
@ -125,381 +119,385 @@ typedef struct {
|
|||
uint32_t sdataSizes[2] = {0, 0};
|
||||
uint32_t sbssSizes[2] = {0, 0};
|
||||
|
||||
void usage(const char *name)
|
||||
{
|
||||
fprintf(stderr, "Usage: %s [-h] [-v] [--] elf-file dol-file\n", name);
|
||||
fprintf(stderr, " Convert an ELF file to a DOL file (by segments)\n");
|
||||
fprintf(stderr, " Options:\n");
|
||||
fprintf(stderr, " -h Show this help\n");
|
||||
fprintf(stderr, " -v Be more verbose (twice for even more)\n");
|
||||
void usage(const char* name) {
|
||||
fprintf(stderr, "Usage: %s [-h] [-v] [--] elf-file dol-file\n", name);
|
||||
fprintf(stderr, " Convert an ELF file to a DOL file (by segments)\n");
|
||||
fprintf(stderr, " Options:\n");
|
||||
fprintf(stderr, " -h Show this help\n");
|
||||
fprintf(stderr, " -v Be more verbose (twice for even more)\n");
|
||||
}
|
||||
|
||||
#define die(x) { fprintf(stderr, x "\n"); exit(1); }
|
||||
#define perrordie(x) { perror(x); exit(1); }
|
||||
#define die(x) \
|
||||
{ \
|
||||
fprintf(stderr, x "\n"); \
|
||||
exit(1); \
|
||||
}
|
||||
#define perrordie(x) \
|
||||
{ \
|
||||
perror(x); \
|
||||
exit(1); \
|
||||
}
|
||||
|
||||
void ferrordie(FILE *f, const char *str)
|
||||
{
|
||||
if(ferror(f)) {
|
||||
fprintf(stderr, "Error while ");
|
||||
perrordie(str);
|
||||
} else if(feof(f)) {
|
||||
fprintf(stderr, "EOF while %s\n", str);
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "Unknown error while %s\n", str);
|
||||
exit(1);
|
||||
}
|
||||
void ferrordie(FILE* f, const char* str) {
|
||||
if (ferror(f)) {
|
||||
fprintf(stderr, "Error while ");
|
||||
perrordie(str);
|
||||
} else if (feof(f)) {
|
||||
fprintf(stderr, "EOF while %s\n", str);
|
||||
exit(1);
|
||||
} else {
|
||||
fprintf(stderr, "Unknown error while %s\n", str);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
void add_bss(DOL_map *map, uint32_t paddr, uint32_t memsz)
|
||||
{
|
||||
if(map->flags & HAVE_BSS) {
|
||||
uint32_t start = swap32(map->header.bss_addr);
|
||||
uint32_t size = swap32(map->header.bss_size);
|
||||
if ( (start+size) == paddr) {
|
||||
map->header.bss_size = swap32(size+memsz);
|
||||
}
|
||||
} else {
|
||||
map->header.bss_addr = swap32(paddr);
|
||||
map->header.bss_size = swap32(memsz);
|
||||
map->flags |= HAVE_BSS;
|
||||
}
|
||||
void add_bss(DOL_map* map, uint32_t paddr, uint32_t memsz) {
|
||||
if (map->flags & HAVE_BSS) {
|
||||
uint32_t start = swap32(map->header.bss_addr);
|
||||
uint32_t size = swap32(map->header.bss_size);
|
||||
if ((start + size) == paddr) {
|
||||
map->header.bss_size = swap32(size + memsz);
|
||||
}
|
||||
} else {
|
||||
map->header.bss_addr = swap32(paddr);
|
||||
map->header.bss_size = swap32(memsz);
|
||||
map->flags |= HAVE_BSS;
|
||||
}
|
||||
}
|
||||
|
||||
void increment_bss_size(DOL_map *map, uint32_t memsz)
|
||||
{
|
||||
// because it can be byte swapped, we need to force the add via a temporary.
|
||||
uint32_t preAdd = swap32(map->header.bss_size);
|
||||
preAdd += memsz;
|
||||
map->header.bss_size = swap32(preAdd);
|
||||
void increment_bss_size(DOL_map* map, uint32_t memsz) {
|
||||
// because it can be byte swapped, we need to force the add via a temporary.
|
||||
uint32_t preAdd = swap32(map->header.bss_size);
|
||||
preAdd += memsz;
|
||||
map->header.bss_size = swap32(preAdd);
|
||||
}
|
||||
|
||||
void read_elf_segments(DOL_map *map, const char *elf, uint32_t sdata_pdhr, uint32_t sbss_pdhr, const char *platform)
|
||||
{
|
||||
int read, i;
|
||||
Elf32_Ehdr ehdr;
|
||||
int isWii = !(strcmp(platform, "wii")) ? 1 : 0;
|
||||
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "Reading ELF file...\n");
|
||||
|
||||
map->elf = fopen(elf, "rb");
|
||||
if(!map->elf)
|
||||
perrordie("Could not open ELF file");
|
||||
|
||||
read = fread(&ehdr, sizeof(ehdr), 1, map->elf);
|
||||
if(read != 1)
|
||||
ferrordie(map->elf, "reading ELF header");
|
||||
|
||||
if(memcmp(&ehdr.e_ident[0], "\177ELF", 4))
|
||||
die("Invalid ELF header");
|
||||
if(ehdr.e_ident[EI_CLASS] != ELFCLASS32)
|
||||
die("Invalid ELF class");
|
||||
if(ehdr.e_ident[EI_DATA] != ELFDATA2MSB)
|
||||
die("Invalid ELF byte order");
|
||||
if(ehdr.e_ident[EI_VERSION] != EV_CURRENT)
|
||||
die("Invalid ELF ident version");
|
||||
if(swap32(ehdr.e_version) != EV_CURRENT)
|
||||
die("Invalid ELF version");
|
||||
if(swaf16(ehdr.e_type) != ET_EXEC)
|
||||
die("ELF is not an executable");
|
||||
if(swaf16(ehdr.e_machine) != EM_PPC)
|
||||
die("Machine is not PowerPC");
|
||||
if(!swap32(ehdr.e_entry))
|
||||
die("ELF has no entrypoint");
|
||||
|
||||
map->header.entry = ehdr.e_entry;
|
||||
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "Valid ELF header found\n");
|
||||
|
||||
uint16_t phnum = swaf16(ehdr.e_phnum);
|
||||
uint32_t phoff = swap32(ehdr.e_phoff);
|
||||
Elf32_Phdr *phdrs;
|
||||
|
||||
if(!phnum || !phoff)
|
||||
die("ELF has no program headers");
|
||||
|
||||
if(swaf16(ehdr.e_phentsize) != sizeof(Elf32_Phdr))
|
||||
die("Invalid program header entry size");
|
||||
|
||||
phdrs = malloc(phnum * sizeof(Elf32_Phdr));
|
||||
|
||||
if(fseek(map->elf, phoff, SEEK_SET) < 0)
|
||||
ferrordie(map->elf, "reading ELF program headers");
|
||||
read = fread(phdrs, sizeof(Elf32_Phdr), phnum, map->elf);
|
||||
if(read != phnum)
|
||||
ferrordie(map->elf, "reading ELF program headers");
|
||||
|
||||
for(i=0; i<phnum; i++) {
|
||||
if(swap32(phdrs[i].p_type) == PT_LOAD) {
|
||||
uint32_t offset = swap32(phdrs[i].p_offset);
|
||||
uint32_t paddr = swap32(phdrs[i].p_vaddr);
|
||||
uint32_t filesz = swap32(phdrs[i].p_filesz);
|
||||
uint32_t memsz = swap32(phdrs[i].p_memsz);
|
||||
uint32_t flags = swap32(phdrs[i].p_flags);
|
||||
if(memsz) {
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "PHDR %d: 0x%x [0x%x] -> 0x%08x [0x%x] flags 0x%x\n",
|
||||
i, offset, filesz, paddr, memsz, flags);
|
||||
if(flags & PF_X) {
|
||||
// TEXT segment
|
||||
if(!(flags & PF_R))
|
||||
fprintf(stderr, "Warning: non-readable segment %d\n", i);
|
||||
if(flags & PF_W)
|
||||
fprintf(stderr, "Warning: writable and executable segment %d\n", i);
|
||||
if(filesz > memsz) {
|
||||
fprintf(stderr, "Error: TEXT segment %d memory size (0x%x) smaller than file size (0x%x)\n",
|
||||
i, memsz, filesz);
|
||||
exit(1);
|
||||
} else if (memsz > filesz) {
|
||||
add_bss(map, paddr + filesz, memsz - filesz);
|
||||
}
|
||||
if(map->text_cnt >= MAX_TEXT_SEGMENTS) {
|
||||
die("Error: Too many TEXT segments");
|
||||
}
|
||||
map->header.text_addr[map->text_cnt] = swap32(paddr);
|
||||
map->header.text_size[map->text_cnt] = swap32(filesz);
|
||||
map->text_elf_off[map->text_cnt] = offset;
|
||||
map->text_cnt++;
|
||||
} else {
|
||||
// DATA or BSS segment
|
||||
if(!(flags & PF_R))
|
||||
fprintf(stderr, "Warning: non-readable segment %d\n", i);
|
||||
if(filesz == 0) {
|
||||
// BSS segment
|
||||
add_bss(map, paddr, memsz);
|
||||
void read_elf_segments(DOL_map* map, const char* elf, uint32_t sdata_pdhr, uint32_t sbss_pdhr,
|
||||
const char* platform) {
|
||||
int read, i;
|
||||
Elf32_Ehdr ehdr;
|
||||
int isWii = !(strcmp(platform, "wii")) ? 1 : 0;
|
||||
|
||||
// We need to keep PHDF sizes, so track these.
|
||||
if(i == sbss_pdhr) {
|
||||
sbssSizes[0] = memsz;
|
||||
} else if(isWii && i == sbss_pdhr + 2) {
|
||||
sbssSizes[1] = memsz;
|
||||
}
|
||||
} else {
|
||||
// DATA segment
|
||||
if(filesz > memsz) {
|
||||
fprintf(stderr, "Error: segment %d memory size (0x%x) is smaller than file size (0x%x)\n",
|
||||
i, memsz, filesz);
|
||||
exit(1);
|
||||
}
|
||||
if(map->data_cnt >= MAX_DATA_SEGMENTS) {
|
||||
die("Error: Too many DATA segments");
|
||||
}
|
||||
// Track sdata as well.
|
||||
if(i == sdata_pdhr) {
|
||||
sdataSizes[0] = memsz;
|
||||
} else if(isWii && i == sdata_pdhr + 2) {
|
||||
sdataSizes[1] = memsz;
|
||||
}
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "Reading ELF file...\n");
|
||||
|
||||
map->header.data_addr[map->data_cnt] = swap32(paddr);
|
||||
map->header.data_size[map->data_cnt] = swap32(filesz);
|
||||
map->data_elf_off[map->data_cnt] = offset;
|
||||
map->data_cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if(verbosity >= 1)
|
||||
fprintf(stderr, "Skipping empty program header %d\n", i);
|
||||
}
|
||||
} else if(verbosity >= 1) {
|
||||
fprintf(stderr, "Skipping program header %d of type %d\n", i, swap32(phdrs[i].p_type));
|
||||
}
|
||||
}
|
||||
increment_bss_size(map, sdataSizes[0]);
|
||||
increment_bss_size(map, sdataSizes[1]);
|
||||
increment_bss_size(map, sbssSizes[0]);
|
||||
increment_bss_size(map, sbssSizes[1]);
|
||||
if(verbosity >= 2) {
|
||||
fprintf(stderr, "Segments:\n");
|
||||
for(i=0; i<map->text_cnt; i++) {
|
||||
fprintf(stderr, " TEXT %d: 0x%08x [0x%x] from ELF offset 0x%x\n",
|
||||
i, swap32(map->header.text_addr[i]), swap32(map->header.text_size[i]),
|
||||
map->text_elf_off[i]);
|
||||
}
|
||||
for(i=0; i<map->data_cnt; i++) {
|
||||
fprintf(stderr, " DATA %d: 0x%08x [0x%x] from ELF offset 0x%x\n",
|
||||
i, swap32(map->header.data_addr[i]), swap32(map->header.data_size[i]),
|
||||
map->data_elf_off[i]);
|
||||
}
|
||||
if(map->flags & HAVE_BSS)
|
||||
fprintf(stderr, " BSS segment: 0x%08x [0x%x]\n", swap32(map->header.bss_addr),
|
||||
swap32(map->header.bss_size));
|
||||
}
|
||||
map->elf = fopen(elf, "rb");
|
||||
if (!map->elf)
|
||||
perrordie("Could not open ELF file");
|
||||
|
||||
read = fread(&ehdr, sizeof(ehdr), 1, map->elf);
|
||||
if (read != 1)
|
||||
ferrordie(map->elf, "reading ELF header");
|
||||
|
||||
if (memcmp(&ehdr.e_ident[0], "\177ELF", 4))
|
||||
die("Invalid ELF header");
|
||||
if (ehdr.e_ident[EI_CLASS] != ELFCLASS32)
|
||||
die("Invalid ELF class");
|
||||
if (ehdr.e_ident[EI_DATA] != ELFDATA2MSB)
|
||||
die("Invalid ELF byte order");
|
||||
if (ehdr.e_ident[EI_VERSION] != EV_CURRENT)
|
||||
die("Invalid ELF ident version");
|
||||
if (swap32(ehdr.e_version) != EV_CURRENT)
|
||||
die("Invalid ELF version");
|
||||
if (swaf16(ehdr.e_type) != ET_EXEC)
|
||||
die("ELF is not an executable");
|
||||
if (swaf16(ehdr.e_machine) != EM_PPC)
|
||||
die("Machine is not PowerPC");
|
||||
if (!swap32(ehdr.e_entry))
|
||||
die("ELF has no entrypoint");
|
||||
|
||||
map->header.entry = ehdr.e_entry;
|
||||
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "Valid ELF header found\n");
|
||||
|
||||
uint16_t phnum = swaf16(ehdr.e_phnum);
|
||||
uint32_t phoff = swap32(ehdr.e_phoff);
|
||||
Elf32_Phdr* phdrs;
|
||||
|
||||
if (!phnum || !phoff)
|
||||
die("ELF has no program headers");
|
||||
|
||||
if (swaf16(ehdr.e_phentsize) != sizeof(Elf32_Phdr))
|
||||
die("Invalid program header entry size");
|
||||
|
||||
phdrs = malloc(phnum * sizeof(Elf32_Phdr));
|
||||
|
||||
if (fseek(map->elf, phoff, SEEK_SET) < 0)
|
||||
ferrordie(map->elf, "reading ELF program headers");
|
||||
read = fread(phdrs, sizeof(Elf32_Phdr), phnum, map->elf);
|
||||
if (read != phnum)
|
||||
ferrordie(map->elf, "reading ELF program headers");
|
||||
|
||||
for (i = 0; i < phnum; i++) {
|
||||
if (swap32(phdrs[i].p_type) == PT_LOAD) {
|
||||
uint32_t offset = swap32(phdrs[i].p_offset);
|
||||
uint32_t paddr = swap32(phdrs[i].p_vaddr);
|
||||
uint32_t filesz = swap32(phdrs[i].p_filesz);
|
||||
uint32_t memsz = swap32(phdrs[i].p_memsz);
|
||||
uint32_t flags = swap32(phdrs[i].p_flags);
|
||||
if (memsz) {
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "PHDR %d: 0x%x [0x%x] -> 0x%08x [0x%x] flags 0x%x\n", i, offset,
|
||||
filesz, paddr, memsz, flags);
|
||||
if (flags & PF_X) {
|
||||
// TEXT segment
|
||||
if (!(flags & PF_R))
|
||||
fprintf(stderr, "Warning: non-readable segment %d\n", i);
|
||||
if (flags & PF_W)
|
||||
fprintf(stderr, "Warning: writable and executable segment %d\n", i);
|
||||
if (filesz > memsz) {
|
||||
fprintf(stderr,
|
||||
"Error: TEXT segment %d memory size (0x%x) smaller than file size "
|
||||
"(0x%x)\n",
|
||||
i, memsz, filesz);
|
||||
exit(1);
|
||||
} else if (memsz > filesz) {
|
||||
add_bss(map, paddr + filesz, memsz - filesz);
|
||||
}
|
||||
if (map->text_cnt >= MAX_TEXT_SEGMENTS) {
|
||||
die("Error: Too many TEXT segments");
|
||||
}
|
||||
map->header.text_addr[map->text_cnt] = swap32(paddr);
|
||||
map->header.text_size[map->text_cnt] = swap32(filesz);
|
||||
map->text_elf_off[map->text_cnt] = offset;
|
||||
map->text_cnt++;
|
||||
} else {
|
||||
// DATA or BSS segment
|
||||
if (!(flags & PF_R))
|
||||
fprintf(stderr, "Warning: non-readable segment %d\n", i);
|
||||
if (filesz == 0) {
|
||||
// BSS segment
|
||||
add_bss(map, paddr, memsz);
|
||||
|
||||
// We need to keep PHDF sizes, so track these.
|
||||
if (i == sbss_pdhr) {
|
||||
sbssSizes[0] = memsz;
|
||||
} else if (isWii && i == sbss_pdhr + 2) {
|
||||
sbssSizes[1] = memsz;
|
||||
}
|
||||
} else {
|
||||
// DATA segment
|
||||
if (filesz > memsz) {
|
||||
fprintf(stderr,
|
||||
"Error: segment %d memory size (0x%x) is smaller than file "
|
||||
"size (0x%x)\n",
|
||||
i, memsz, filesz);
|
||||
exit(1);
|
||||
}
|
||||
if (map->data_cnt >= MAX_DATA_SEGMENTS) {
|
||||
die("Error: Too many DATA segments");
|
||||
}
|
||||
// Track sdata as well.
|
||||
if (i == sdata_pdhr) {
|
||||
sdataSizes[0] = memsz;
|
||||
} else if (isWii && i == sdata_pdhr + 2) {
|
||||
sdataSizes[1] = memsz;
|
||||
}
|
||||
|
||||
map->header.data_addr[map->data_cnt] = swap32(paddr);
|
||||
map->header.data_size[map->data_cnt] = swap32(filesz);
|
||||
map->data_elf_off[map->data_cnt] = offset;
|
||||
map->data_cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (verbosity >= 1)
|
||||
fprintf(stderr, "Skipping empty program header %d\n", i);
|
||||
}
|
||||
} else if (verbosity >= 1) {
|
||||
fprintf(stderr, "Skipping program header %d of type %d\n", i, swap32(phdrs[i].p_type));
|
||||
}
|
||||
}
|
||||
increment_bss_size(map, sdataSizes[0]);
|
||||
increment_bss_size(map, sdataSizes[1]);
|
||||
increment_bss_size(map, sbssSizes[0]);
|
||||
increment_bss_size(map, sbssSizes[1]);
|
||||
if (verbosity >= 2) {
|
||||
fprintf(stderr, "Segments:\n");
|
||||
for (i = 0; i < map->text_cnt; i++) {
|
||||
fprintf(stderr, " TEXT %d: 0x%08x [0x%x] from ELF offset 0x%x\n", i,
|
||||
swap32(map->header.text_addr[i]), swap32(map->header.text_size[i]),
|
||||
map->text_elf_off[i]);
|
||||
}
|
||||
for (i = 0; i < map->data_cnt; i++) {
|
||||
fprintf(stderr, " DATA %d: 0x%08x [0x%x] from ELF offset 0x%x\n", i,
|
||||
swap32(map->header.data_addr[i]), swap32(map->header.data_size[i]),
|
||||
map->data_elf_off[i]);
|
||||
}
|
||||
if (map->flags & HAVE_BSS)
|
||||
fprintf(stderr, " BSS segment: 0x%08x [0x%x]\n", swap32(map->header.bss_addr),
|
||||
swap32(map->header.bss_size));
|
||||
}
|
||||
}
|
||||
|
||||
void map_dol(DOL_map *map)
|
||||
{
|
||||
uint32_t fpos;
|
||||
int i;
|
||||
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "Laying out DOL file...\n");
|
||||
|
||||
fpos = DOL_ALIGN(sizeof(DOL_hdr));
|
||||
|
||||
for(i=0; i<map->text_cnt; i++) {
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, " TEXT segment %d at 0x%x\n", i, fpos);
|
||||
map->header.text_off[i] = swap32(fpos);
|
||||
fpos = DOL_ALIGN(fpos + swap32(map->header.text_size[i]));
|
||||
}
|
||||
for(i=0; i<map->data_cnt; i++) {
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, " DATA segment %d at 0x%x\n", i, fpos);
|
||||
map->header.data_off[i] = swap32(fpos);
|
||||
fpos = DOL_ALIGN(fpos + swap32(map->header.data_size[i]));
|
||||
}
|
||||
|
||||
if(map->text_cnt == 0) {
|
||||
if(verbosity >= 1)
|
||||
fprintf(stderr, "Note: adding dummy TEXT segment to work around IOS bug\n");
|
||||
map->header.text_off[0] = swap32(DOL_ALIGN(sizeof(DOL_hdr)));
|
||||
}
|
||||
if(map->data_cnt == 0) {
|
||||
if(verbosity >= 1)
|
||||
fprintf(stderr, "Note: adding dummy DATA segment to work around IOS bug\n");
|
||||
map->header.data_off[0] = swap32(DOL_ALIGN(sizeof(DOL_hdr)));
|
||||
}
|
||||
void map_dol(DOL_map* map) {
|
||||
uint32_t fpos;
|
||||
int i;
|
||||
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "Laying out DOL file...\n");
|
||||
|
||||
fpos = DOL_ALIGN(sizeof(DOL_hdr));
|
||||
|
||||
for (i = 0; i < map->text_cnt; i++) {
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, " TEXT segment %d at 0x%x\n", i, fpos);
|
||||
map->header.text_off[i] = swap32(fpos);
|
||||
fpos = DOL_ALIGN(fpos + swap32(map->header.text_size[i]));
|
||||
}
|
||||
for (i = 0; i < map->data_cnt; i++) {
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, " DATA segment %d at 0x%x\n", i, fpos);
|
||||
map->header.data_off[i] = swap32(fpos);
|
||||
fpos = DOL_ALIGN(fpos + swap32(map->header.data_size[i]));
|
||||
}
|
||||
|
||||
if (map->text_cnt == 0) {
|
||||
if (verbosity >= 1)
|
||||
fprintf(stderr, "Note: adding dummy TEXT segment to work around IOS bug\n");
|
||||
map->header.text_off[0] = swap32(DOL_ALIGN(sizeof(DOL_hdr)));
|
||||
}
|
||||
if (map->data_cnt == 0) {
|
||||
if (verbosity >= 1)
|
||||
fprintf(stderr, "Note: adding dummy DATA segment to work around IOS bug\n");
|
||||
map->header.data_off[0] = swap32(DOL_ALIGN(sizeof(DOL_hdr)));
|
||||
}
|
||||
}
|
||||
|
||||
#define BLOCK (1024*1024)
|
||||
#define BLOCK (1024 * 1024)
|
||||
|
||||
void fcpy(FILE *dst, FILE *src, uint32_t dst_off, uint32_t src_off, uint32_t size)
|
||||
{
|
||||
int left = size;
|
||||
int read;
|
||||
int written;
|
||||
int block;
|
||||
void *blockbuf;
|
||||
void fcpy(FILE* dst, FILE* src, uint32_t dst_off, uint32_t src_off, uint32_t size) {
|
||||
int left = size;
|
||||
int read;
|
||||
int written;
|
||||
int block;
|
||||
void* blockbuf;
|
||||
|
||||
if(fseek(src, src_off, SEEK_SET) < 0)
|
||||
ferrordie(src, "reading ELF segment data");
|
||||
if(fseek(dst, dst_off, SEEK_SET) < 0)
|
||||
ferrordie(dst, "writing DOL segment data");
|
||||
|
||||
blockbuf = malloc(MIN(BLOCK, left));
|
||||
|
||||
while(left) {
|
||||
block = MIN(BLOCK, left);
|
||||
read = fread(blockbuf, 1, block, src);
|
||||
if(read != block) {
|
||||
free(blockbuf);
|
||||
ferrordie(src, "reading ELF segment data");
|
||||
}
|
||||
written = fwrite(blockbuf, 1, block, dst);
|
||||
if(written != block) {
|
||||
free(blockbuf);
|
||||
ferrordie(dst, "writing DOL segment data");
|
||||
}
|
||||
left -= block;
|
||||
}
|
||||
free(blockbuf);
|
||||
if (fseek(src, src_off, SEEK_SET) < 0)
|
||||
ferrordie(src, "reading ELF segment data");
|
||||
if (fseek(dst, dst_off, SEEK_SET) < 0)
|
||||
ferrordie(dst, "writing DOL segment data");
|
||||
|
||||
blockbuf = malloc(MIN(BLOCK, left));
|
||||
|
||||
while (left) {
|
||||
block = MIN(BLOCK, left);
|
||||
read = fread(blockbuf, 1, block, src);
|
||||
if (read != block) {
|
||||
free(blockbuf);
|
||||
ferrordie(src, "reading ELF segment data");
|
||||
}
|
||||
written = fwrite(blockbuf, 1, block, dst);
|
||||
if (written != block) {
|
||||
free(blockbuf);
|
||||
ferrordie(dst, "writing DOL segment data");
|
||||
}
|
||||
left -= block;
|
||||
}
|
||||
free(blockbuf);
|
||||
}
|
||||
|
||||
void write_dol(DOL_map *map, const char *dol)
|
||||
{
|
||||
FILE *dolf;
|
||||
int written;
|
||||
int i;
|
||||
void write_dol(DOL_map* map, const char* dol) {
|
||||
FILE* dolf;
|
||||
int written;
|
||||
int i;
|
||||
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "Writing DOL file...\n");
|
||||
|
||||
dolf = fopen(dol, "wb");
|
||||
if(!dolf)
|
||||
perrordie("Could not open DOL file");
|
||||
|
||||
if(verbosity >= 2) {
|
||||
fprintf(stderr, "DOL header:\n");
|
||||
for(i=0; i<MAX(1,map->text_cnt); i++)
|
||||
fprintf(stderr, " TEXT %d @ 0x%08x [0x%x] off 0x%x\n", i,
|
||||
swap32(map->header.text_addr[i]), swap32(map->header.text_size[i]),
|
||||
swap32(map->header.text_off[i]));
|
||||
for(i=0; i<MAX(1,map->data_cnt); i++)
|
||||
fprintf(stderr, " DATA %d @ 0x%08x [0x%x] off 0x%x\n", i,
|
||||
swap32(map->header.data_addr[i]), swap32(map->header.data_size[i]),
|
||||
swap32(map->header.data_off[i]));
|
||||
if(swap32(map->header.bss_addr) && swap32(map->header.bss_size))
|
||||
fprintf(stderr, " BSS @ 0x%08x [0x%x]\n", swap32(map->header.bss_addr),
|
||||
swap32(map->header.bss_size));
|
||||
fprintf(stderr, " Entry: 0x%08x\n", swap32(map->header.entry));
|
||||
fprintf(stderr, "Writing DOL header...\n");
|
||||
}
|
||||
|
||||
written = fwrite(&map->header, sizeof(DOL_hdr), 1, dolf);
|
||||
if(written != 1)
|
||||
ferrordie(dolf, "writing DOL header");
|
||||
|
||||
for(i=0; i<map->text_cnt; i++) {
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "Writing TEXT segment %d...\n", i);
|
||||
fcpy(dolf, map->elf, swap32(map->header.text_off[i]), map->text_elf_off[i],
|
||||
swap32(map->header.text_size[i]));
|
||||
}
|
||||
for(i=0; i<map->data_cnt; i++) {
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "Writing DATA segment %d...\n", i);
|
||||
fcpy(dolf, map->elf, swap32(map->header.data_off[i]), map->data_elf_off[i],
|
||||
swap32(map->header.data_size[i]));
|
||||
}
|
||||
|
||||
if(verbosity >= 2)
|
||||
fprintf(stderr, "All done!\n");
|
||||
|
||||
fclose(map->elf);
|
||||
fclose(dolf);
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "Writing DOL file...\n");
|
||||
|
||||
dolf = fopen(dol, "wb");
|
||||
if (!dolf)
|
||||
perrordie("Could not open DOL file");
|
||||
|
||||
if (verbosity >= 2) {
|
||||
fprintf(stderr, "DOL header:\n");
|
||||
for (i = 0; i < MAX(1, map->text_cnt); i++)
|
||||
fprintf(stderr, " TEXT %d @ 0x%08x [0x%x] off 0x%x\n", i,
|
||||
swap32(map->header.text_addr[i]), swap32(map->header.text_size[i]),
|
||||
swap32(map->header.text_off[i]));
|
||||
for (i = 0; i < MAX(1, map->data_cnt); i++)
|
||||
fprintf(stderr, " DATA %d @ 0x%08x [0x%x] off 0x%x\n", i,
|
||||
swap32(map->header.data_addr[i]), swap32(map->header.data_size[i]),
|
||||
swap32(map->header.data_off[i]));
|
||||
if (swap32(map->header.bss_addr) && swap32(map->header.bss_size))
|
||||
fprintf(stderr, " BSS @ 0x%08x [0x%x]\n", swap32(map->header.bss_addr),
|
||||
swap32(map->header.bss_size));
|
||||
fprintf(stderr, " Entry: 0x%08x\n", swap32(map->header.entry));
|
||||
fprintf(stderr, "Writing DOL header...\n");
|
||||
}
|
||||
|
||||
written = fwrite(&map->header, sizeof(DOL_hdr), 1, dolf);
|
||||
if (written != 1)
|
||||
ferrordie(dolf, "writing DOL header");
|
||||
|
||||
for (i = 0; i < map->text_cnt; i++) {
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "Writing TEXT segment %d...\n", i);
|
||||
fcpy(dolf, map->elf, swap32(map->header.text_off[i]), map->text_elf_off[i],
|
||||
swap32(map->header.text_size[i]));
|
||||
}
|
||||
for (i = 0; i < map->data_cnt; i++) {
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "Writing DATA segment %d...\n", i);
|
||||
fcpy(dolf, map->elf, swap32(map->header.data_off[i]), map->data_elf_off[i],
|
||||
swap32(map->header.data_size[i]));
|
||||
}
|
||||
|
||||
if (verbosity >= 2)
|
||||
fprintf(stderr, "All done!\n");
|
||||
|
||||
fclose(map->elf);
|
||||
fclose(dolf);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char **arg;
|
||||
int main(int argc, char** argv) {
|
||||
char** arg;
|
||||
|
||||
if(argc < 2) {
|
||||
usage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
arg = &argv[1];
|
||||
argc--;
|
||||
if (argc < 2) {
|
||||
usage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
arg = &argv[1];
|
||||
argc--;
|
||||
|
||||
while(argc && *arg[0] == '-') {
|
||||
if(!strcmp(*arg, "-h")) {
|
||||
usage(argv[0]);
|
||||
return 1;
|
||||
} else if(!strcmp(*arg, "-v")) {
|
||||
verbosity++;
|
||||
} else if(!strcmp(*arg, "--")) {
|
||||
arg++;
|
||||
argc--;
|
||||
break;
|
||||
} else {
|
||||
fprintf(stderr, "Unrecognized option %s\n", *arg);
|
||||
usage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
arg++;
|
||||
argc--;
|
||||
}
|
||||
if(argc < 2) {
|
||||
usage(argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
while (argc && *arg[0] == '-') {
|
||||
if (!strcmp(*arg, "-h")) {
|
||||
usage(argv[0]);
|
||||
return 1;
|
||||
} else if (!strcmp(*arg, "-v")) {
|
||||
verbosity++;
|
||||
} else if (!strcmp(*arg, "--")) {
|
||||
arg++;
|
||||
argc--;
|
||||
break;
|
||||
} else {
|
||||
fprintf(stderr, "Unrecognized option %s\n", *arg);
|
||||
usage(argv[0]);
|
||||
return 1;
|
||||
}
|
||||
arg++;
|
||||
argc--;
|
||||
}
|
||||
if (argc < 2) {
|
||||
usage(argv[0]);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const char *elf_file = arg[0];
|
||||
const char *dol_file = arg[1];
|
||||
uint32_t sdata_pdhr = atoi(arg[2]);
|
||||
uint32_t sbss_pdhr = atoi(arg[3]);
|
||||
const char *platform = arg[4];
|
||||
const char* elf_file = arg[0];
|
||||
const char* dol_file = arg[1];
|
||||
uint32_t sdata_pdhr = atoi(arg[2]);
|
||||
uint32_t sbss_pdhr = atoi(arg[3]);
|
||||
const char* platform = arg[4];
|
||||
|
||||
DOL_map map;
|
||||
DOL_map map;
|
||||
|
||||
memset(&map, 0, sizeof(map));
|
||||
memset(&map, 0, sizeof(map));
|
||||
|
||||
read_elf_segments(&map, elf_file, sdata_pdhr, sbss_pdhr, platform);
|
||||
map_dol(&map);
|
||||
write_dol(&map, dol_file);
|
||||
|
||||
return 0;
|
||||
read_elf_segments(&map, elf_file, sdata_pdhr, sbss_pdhr, platform);
|
||||
map_dol(&map);
|
||||
write_dol(&map, dol_file);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in New Issue