Misc matches (#274)

This commit is contained in:
hatal175 2023-02-09 17:52:32 +02:00 committed by GitHub
parent df44816bec
commit d449897b87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 430 additions and 1915 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 24.158081% | 868856 | 3596544
.text | 24.289651% | 873588 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 32.153630% | 1292792 | 4020672
Total | 32.271322% | 1297524 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.153630% | 1292792 | 4020672
main.dol | 32.271322% | 1297524 | 4020672
RELs | 33.163587% | 3813920 | 11500324
Total | 32.901961% | 5106712 | 15520996
Total | 32.932448% | 5111444 | 15520996
## RELs

View File

@ -1,19 +0,0 @@
lbl_802D0830:
/* 802D0830 39 20 00 00 */ li r9, 0
/* 802D0834 98 A3 00 03 */ stb r5, 3(r3)
/* 802D0838 98 C3 00 02 */ stb r6, 2(r3)
/* 802D083C 80 03 00 04 */ lwz r0, 4(r3)
/* 802D0840 38 A4 00 10 */ addi r5, r4, 0x10
/* 802D0844 7C 00 28 40 */ cmplw r0, r5
/* 802D0848 41 80 00 24 */ blt lbl_802D086C
/* 802D084C 7D 24 1A 14 */ add r9, r4, r3
/* 802D0850 98 E9 00 13 */ stb r7, 0x13(r9)
/* 802D0854 99 09 00 12 */ stb r8, 0x12(r9)
/* 802D0858 80 03 00 04 */ lwz r0, 4(r3)
/* 802D085C 7C 05 00 50 */ subf r0, r5, r0
/* 802D0860 90 09 00 14 */ stw r0, 0x14(r9)
/* 802D0864 90 83 00 04 */ stw r4, 4(r3)
/* 802D0868 39 29 00 10 */ addi r9, r9, 0x10
lbl_802D086C:
/* 802D086C 7D 23 4B 78 */ mr r3, r9
/* 802D0870 4E 80 00 20 */ blr

View File

@ -1,40 +0,0 @@
lbl_802D50D4:
/* 802D50D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D50D8 7C 08 02 A6 */ mflr r0
/* 802D50DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D50E0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D50E4 48 08 D0 F9 */ bl _savegpr_29
/* 802D50E8 7C 7D 1B 78 */ mr r29, r3
/* 802D50EC 83 C3 00 3C */ lwz r30, 0x3c(r3)
/* 802D50F0 48 00 00 54 */ b lbl_802D5144
lbl_802D50F4:
/* 802D50F4 80 7E 00 00 */ lwz r3, 0(r30)
/* 802D50F8 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 802D50FC 80 9D 00 38 */ lwz r4, 0x38(r29)
/* 802D5100 4B FF 94 01 */ bl free__7JKRHeapFPvP7JKRHeap
/* 802D5104 80 9E 00 00 */ lwz r4, 0(r30)
/* 802D5108 38 7D 00 3C */ addi r3, r29, 0x3c
/* 802D510C 48 00 70 51 */ bl remove__10JSUPtrListFP10JSUPtrLink
/* 802D5110 93 C1 00 08 */ stw r30, 8(r1)
/* 802D5114 83 DE 00 0C */ lwz r30, 0xc(r30)
/* 802D5118 80 61 00 08 */ lwz r3, 8(r1)
/* 802D511C 90 61 00 0C */ stw r3, 0xc(r1)
/* 802D5120 83 E3 00 00 */ lwz r31, 0(r3)
/* 802D5124 28 1F 00 00 */ cmplwi r31, 0
/* 802D5128 41 82 00 1C */ beq lbl_802D5144
/* 802D512C 41 82 00 10 */ beq lbl_802D513C
/* 802D5130 7F E3 FB 78 */ mr r3, r31
/* 802D5134 38 80 00 00 */ li r4, 0
/* 802D5138 48 00 6C DD */ bl __dt__10JSUPtrLinkFv
lbl_802D513C:
/* 802D513C 7F E3 FB 78 */ mr r3, r31
/* 802D5140 4B FF 9B FD */ bl __dl__FPv
lbl_802D5144:
/* 802D5144 28 1E 00 00 */ cmplwi r30, 0
/* 802D5148 40 82 FF AC */ bne lbl_802D50F4
/* 802D514C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D5150 48 08 D0 D9 */ bl _restgpr_29
/* 802D5154 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D5158 7C 08 03 A6 */ mtlr r0
/* 802D515C 38 21 00 20 */ addi r1, r1, 0x20
/* 802D5160 4E 80 00 20 */ blr

View File

@ -1,76 +0,0 @@
lbl_802DEE28:
/* 802DEE28 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802DEE2C 7C 08 02 A6 */ mflr r0
/* 802DEE30 90 01 00 74 */ stw r0, 0x74(r1)
/* 802DEE34 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 802DEE38 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */
/* 802DEE3C DB C1 00 50 */ stfd f30, 0x50(r1)
/* 802DEE40 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */
/* 802DEE44 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 802DEE48 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */
/* 802DEE4C DB 81 00 30 */ stfd f28, 0x30(r1)
/* 802DEE50 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0 /* qr0 */
/* 802DEE54 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 802DEE58 F3 61 00 28 */ psq_st f27, 40(r1), 0, 0 /* qr0 */
/* 802DEE5C 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEE60 48 08 33 75 */ bl _savegpr_27
/* 802DEE64 7C 7B 1B 78 */ mr r27, r3
/* 802DEE68 FF 60 08 90 */ fmr f27, f1
/* 802DEE6C FF 80 10 90 */ fmr f28, f2
/* 802DEE70 FF A0 18 90 */ fmr f29, f3
/* 802DEE74 FF C0 20 90 */ fmr f30, f4
/* 802DEE78 7C 9C 23 78 */ mr r28, r4
/* 802DEE7C 7C BD 2B 78 */ mr r29, r5
/* 802DEE80 7C DE 33 78 */ mr r30, r6
/* 802DEE84 FF E0 D8 90 */ fmr f31, f27
/* 802DEE88 48 00 00 74 */ b lbl_802DEEFC
lbl_802DEE8C:
/* 802DEE8C 88 9C 00 00 */ lbz r4, 0(r28)
/* 802DEE90 7C 9F 23 78 */ mr r31, r4
/* 802DEE94 7F 63 DB 78 */ mr r3, r27
/* 802DEE98 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEE9C 81 8C 00 40 */ lwz r12, 0x40(r12)
/* 802DEEA0 7D 89 03 A6 */ mtctr r12
/* 802DEEA4 4E 80 04 21 */ bctrl
/* 802DEEA8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DEEAC 41 82 00 14 */ beq lbl_802DEEC0
/* 802DEEB0 57 FF 40 2E */ slwi r31, r31, 8
/* 802DEEB4 8C 1C 00 01 */ lbzu r0, 1(r28)
/* 802DEEB8 7F FF 03 78 */ or r31, r31, r0
/* 802DEEBC 3B BD FF FF */ addi r29, r29, -1
lbl_802DEEC0:
/* 802DEEC0 7F 63 DB 78 */ mr r3, r27
/* 802DEEC4 FC 20 D8 90 */ fmr f1, f27
/* 802DEEC8 FC 40 E0 90 */ fmr f2, f28
/* 802DEECC FC 60 E8 90 */ fmr f3, f29
/* 802DEED0 FC 80 F0 90 */ fmr f4, f30
/* 802DEED4 7F E4 FB 78 */ mr r4, r31
/* 802DEED8 7F C5 F3 78 */ mr r5, r30
/* 802DEEDC 81 9B 00 00 */ lwz r12, 0(r27)
/* 802DEEE0 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802DEEE4 7D 89 03 A6 */ mtctr r12
/* 802DEEE8 4E 80 04 21 */ bctrl
/* 802DEEEC EF 7B 08 2A */ fadds f27, f27, f1
/* 802DEEF0 3B C0 00 01 */ li r30, 1
/* 802DEEF4 3B BD FF FF */ addi r29, r29, -1
/* 802DEEF8 3B 9C 00 01 */ addi r28, r28, 1
lbl_802DEEFC:
/* 802DEEFC 28 1D 00 00 */ cmplwi r29, 0
/* 802DEF00 40 82 FF 8C */ bne lbl_802DEE8C
/* 802DEF04 EC 3B F8 28 */ fsubs f1, f27, f31
/* 802DEF08 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */
/* 802DEF0C CB E1 00 60 */ lfd f31, 0x60(r1)
/* 802DEF10 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */
/* 802DEF14 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 802DEF18 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */
/* 802DEF1C CB A1 00 40 */ lfd f29, 0x40(r1)
/* 802DEF20 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0 /* qr0 */
/* 802DEF24 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 802DEF28 E3 61 00 28 */ psq_l f27, 40(r1), 0, 0 /* qr0 */
/* 802DEF2C CB 61 00 20 */ lfd f27, 0x20(r1)
/* 802DEF30 39 61 00 20 */ addi r11, r1, 0x20
/* 802DEF34 48 08 32 ED */ bl _restgpr_27
/* 802DEF38 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802DEF3C 7C 08 03 A6 */ mtlr r0
/* 802DEF40 38 21 00 70 */ addi r1, r1, 0x70
/* 802DEF44 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80145DD0:
/* 80145DD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80145DD4 7C 08 02 A6 */ mflr r0
/* 80145DD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80145DDC 7C 66 1B 78 */ mr r6, r3
/* 80145DE0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80145DE4 A0 65 00 00 */ lhz r3, 0(r5)
/* 80145DE8 88 05 00 05 */ lbz r0, 5(r5)
/* 80145DEC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80145DF0 41 82 00 24 */ beq lbl_80145E14
/* 80145DF4 7C 03 20 00 */ cmpw r3, r4
/* 80145DF8 40 82 00 1C */ bne lbl_80145E14
/* 80145DFC 7C 83 23 78 */ mr r3, r4
/* 80145E00 38 86 00 1C */ addi r4, r6, 0x1c
/* 80145E04 38 A0 00 01 */ li r5, 1
/* 80145E08 88 C6 00 20 */ lbz r6, 0x20(r6)
/* 80145E0C 4B FF FC B9 */ bl daNpcT_incIdx__FiRUsii
/* 80145E10 48 00 00 18 */ b lbl_80145E28
lbl_80145E14:
/* 80145E14 7C 83 23 78 */ mr r3, r4
/* 80145E18 38 86 00 1C */ addi r4, r6, 0x1c
/* 80145E1C 38 A0 00 00 */ li r5, 0
/* 80145E20 88 C6 00 20 */ lbz r6, 0x20(r6)
/* 80145E24 4B FF FC A1 */ bl daNpcT_incIdx__FiRUsii
lbl_80145E28:
/* 80145E28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80145E2C 7C 08 03 A6 */ mtlr r0
/* 80145E30 38 21 00 10 */ addi r1, r1, 0x10
/* 80145E34 4E 80 00 20 */ blr

View File

@ -1,122 +0,0 @@
lbl_80035A04:
/* 80035A04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80035A08 7C 08 02 A6 */ mflr r0
/* 80035A0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80035A10 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80035A14 93 C1 00 08 */ stw r30, 8(r1)
/* 80035A18 1C 05 0A 94 */ mulli r0, r5, 0xa94
/* 80035A1C 7C 84 02 14 */ add r4, r4, r0
/* 80035A20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035A24 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035A28 38 A0 09 58 */ li r5, 0x958
/* 80035A2C 4B FC DB 15 */ bl memcpy
/* 80035A30 48 30 AB 61 */ bl OSGetSoundMode
/* 80035A34 28 03 00 00 */ cmplwi r3, 0
/* 80035A38 40 82 00 28 */ bne lbl_80035A60
/* 80035A3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035A40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035A44 38 63 01 E0 */ addi r3, r3, 0x1e0
/* 80035A48 38 80 00 00 */ li r4, 0
/* 80035A4C 4B FF EC 41 */ bl setSound__19dSv_player_config_cFUc
/* 80035A50 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
/* 80035A54 38 80 00 00 */ li r4, 0
/* 80035A58 48 29 7E 31 */ bl setOutputMode__10Z2AudioMgrFUl
/* 80035A5C 48 00 00 4C */ b lbl_80035AA8
lbl_80035A60:
/* 80035A60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035A64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035A68 3B E3 01 E0 */ addi r31, r3, 0x1e0
/* 80035A6C 7F E3 FB 78 */ mr r3, r31
/* 80035A70 4B FF EC 15 */ bl getSound__19dSv_player_config_cFv
/* 80035A74 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80035A78 28 00 00 02 */ cmplwi r0, 2
/* 80035A7C 40 82 00 14 */ bne lbl_80035A90
/* 80035A80 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
/* 80035A84 38 80 00 02 */ li r4, 2
/* 80035A88 48 29 7E 01 */ bl setOutputMode__10Z2AudioMgrFUl
/* 80035A8C 48 00 00 1C */ b lbl_80035AA8
lbl_80035A90:
/* 80035A90 7F E3 FB 78 */ mr r3, r31
/* 80035A94 38 80 00 01 */ li r4, 1
/* 80035A98 4B FF EB F5 */ bl setSound__19dSv_player_config_cFUc
/* 80035A9C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
/* 80035AA0 38 80 00 01 */ li r4, 1
/* 80035AA4 48 29 7D E5 */ bl setOutputMode__10Z2AudioMgrFUl
lbl_80035AA8:
/* 80035AA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035AAC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035AB0 A0 1F 00 02 */ lhz r0, 2(r31)
/* 80035AB4 28 00 00 0C */ cmplwi r0, 0xc
/* 80035AB8 40 80 00 0C */ bge lbl_80035AC4
/* 80035ABC 38 00 00 0C */ li r0, 0xc
/* 80035AC0 B0 1F 00 02 */ sth r0, 2(r31)
lbl_80035AC4:
/* 80035AC4 38 60 00 06 */ li r3, 6
/* 80035AC8 38 80 00 00 */ li r4, 0
/* 80035ACC 4B FF 95 75 */ bl dComIfGs_setKeyNum__FiUc
/* 80035AD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035AD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035AD8 3B C3 00 9C */ addi r30, r3, 0x9c
/* 80035ADC 7F C3 F3 78 */ mr r3, r30
/* 80035AE0 38 80 00 09 */ li r4, 9
/* 80035AE4 38 A0 00 01 */ li r5, 1
/* 80035AE8 4B FF D5 49 */ bl getItem__17dSv_player_item_cCFib
/* 80035AEC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80035AF0 28 00 00 47 */ cmplwi r0, 0x47
/* 80035AF4 40 82 00 24 */ bne lbl_80035B18
/* 80035AF8 7F C3 F3 78 */ mr r3, r30
/* 80035AFC 38 80 00 0A */ li r4, 0xa
/* 80035B00 38 A0 00 47 */ li r5, 0x47
/* 80035B04 4B FF D4 B5 */ bl setItem__17dSv_player_item_cFiUc
/* 80035B08 7F C3 F3 78 */ mr r3, r30
/* 80035B0C 38 80 00 09 */ li r4, 9
/* 80035B10 38 A0 00 FF */ li r5, 0xff
/* 80035B14 4B FF D4 A5 */ bl setItem__17dSv_player_item_cFiUc
lbl_80035B18:
/* 80035B18 7F C3 F3 78 */ mr r3, r30
/* 80035B1C 38 80 00 09 */ li r4, 9
/* 80035B20 38 A0 00 01 */ li r5, 1
/* 80035B24 4B FF D5 0D */ bl getItem__17dSv_player_item_cCFib
/* 80035B28 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80035B2C 28 00 00 44 */ cmplwi r0, 0x44
/* 80035B30 40 82 00 30 */ bne lbl_80035B60
/* 80035B34 7F C3 F3 78 */ mr r3, r30
/* 80035B38 38 80 00 0A */ li r4, 0xa
/* 80035B3C 38 A0 00 01 */ li r5, 1
/* 80035B40 4B FF D4 F1 */ bl getItem__17dSv_player_item_cCFib
/* 80035B44 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80035B48 28 00 00 47 */ cmplwi r0, 0x47
/* 80035B4C 40 82 00 14 */ bne lbl_80035B60
/* 80035B50 7F C3 F3 78 */ mr r3, r30
/* 80035B54 38 80 00 09 */ li r4, 9
/* 80035B58 38 A0 00 FF */ li r5, 0xff
/* 80035B5C 4B FF D4 5D */ bl setItem__17dSv_player_item_cFiUc
lbl_80035B60:
/* 80035B60 7F C3 F3 78 */ mr r3, r30
/* 80035B64 4B FF D7 95 */ bl setLineUpItem__17dSv_player_item_cFv
/* 80035B68 38 7F 01 E0 */ addi r3, r31, 0x1e0
/* 80035B6C 4B FF EB 29 */ bl getVibration__19dSv_player_config_cFv
/* 80035B70 7C 64 1B 78 */ mr r4, r3
/* 80035B74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035B78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035B7C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80035B80 4B FF 58 29 */ bl setNowVibration__14dComIfG_play_cFUc
/* 80035B84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80035B88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80035B8C 38 83 00 58 */ addi r4, r3, 0x58
/* 80035B90 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 80035B94 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 80035B98 48 1E 86 F9 */ bl setSaveStageName__13dMeter2Info_cFPCc
/* 80035B9C 3C 60 80 38 */ lis r3, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
/* 80035BA0 38 63 92 34 */ addi r3, r3, d_save_d_save__stringBase0@l /* 0x80379234@l */
/* 80035BA4 38 63 00 46 */ addi r3, r3, 0x46
/* 80035BA8 38 80 09 58 */ li r4, 0x958
/* 80035BAC 4C C6 31 82 */ crclr 6
/* 80035BB0 48 33 0C CD */ bl printf
/* 80035BB4 38 60 00 00 */ li r3, 0
/* 80035BB8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80035BBC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80035BC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80035BC4 7C 08 03 A6 */ mtlr r0
/* 80035BC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80035BCC 4E 80 00 20 */ blr

View File

@ -1,47 +0,0 @@
lbl_80035BD0:
/* 80035BD0 94 21 F6 90 */ stwu r1, -0x970(r1)
/* 80035BD4 7C 08 02 A6 */ mflr r0
/* 80035BD8 90 01 09 74 */ stw r0, 0x974(r1)
/* 80035BDC 93 E1 09 6C */ stw r31, 0x96c(r1)
/* 80035BE0 1C 05 0A 94 */ mulli r0, r5, 0xa94
/* 80035BE4 7F E4 02 14 */ add r31, r4, r0
/* 80035BE8 38 61 01 F8 */ addi r3, r1, 0x1f8
/* 80035BEC 3C 80 80 03 */ lis r4, __ct__12dSv_memory_cFv@ha /* 0x80030DB0@ha */
/* 80035BF0 38 84 0D B0 */ addi r4, r4, __ct__12dSv_memory_cFv@l /* 0x80030DB0@l */
/* 80035BF4 38 A0 00 00 */ li r5, 0
/* 80035BF8 38 C0 00 20 */ li r6, 0x20
/* 80035BFC 38 E0 00 20 */ li r7, 0x20
/* 80035C00 48 32 C1 61 */ bl __construct_array
/* 80035C04 38 61 05 F8 */ addi r3, r1, 0x5f8
/* 80035C08 3C 80 80 03 */ lis r4, __ct__13dSv_memory2_cFv@ha /* 0x80030D80@ha */
/* 80035C0C 38 84 0D 80 */ addi r4, r4, __ct__13dSv_memory2_cFv@l /* 0x80030D80@l */
/* 80035C10 38 A0 00 00 */ li r5, 0
/* 80035C14 38 C0 00 08 */ li r6, 8
/* 80035C18 38 E0 00 40 */ li r7, 0x40
/* 80035C1C 48 32 C1 45 */ bl __construct_array
/* 80035C20 38 61 00 08 */ addi r3, r1, 8
/* 80035C24 4B FF F3 F9 */ bl init__10dSv_save_cFv
/* 80035C28 38 61 01 BC */ addi r3, r1, 0x1bc
/* 80035C2C 3C 80 80 38 */ lis r4, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
/* 80035C30 38 84 92 34 */ addi r4, r4, d_save_d_save__stringBase0@l /* 0x80379234@l */
/* 80035C34 48 33 2E F9 */ bl strcpy
/* 80035C38 38 61 01 CD */ addi r3, r1, 0x1cd
/* 80035C3C 3C 80 80 38 */ lis r4, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
/* 80035C40 38 84 92 34 */ addi r4, r4, d_save_d_save__stringBase0@l /* 0x80379234@l */
/* 80035C44 48 33 2E E9 */ bl strcpy
/* 80035C48 7F E3 FB 78 */ mr r3, r31
/* 80035C4C 38 81 00 08 */ addi r4, r1, 8
/* 80035C50 38 A0 09 58 */ li r5, 0x958
/* 80035C54 4B FC D8 ED */ bl memcpy
/* 80035C58 3C 60 80 38 */ lis r3, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
/* 80035C5C 38 63 92 34 */ addi r3, r3, d_save_d_save__stringBase0@l /* 0x80379234@l */
/* 80035C60 38 63 00 54 */ addi r3, r3, 0x54
/* 80035C64 38 80 09 58 */ li r4, 0x958
/* 80035C68 4C C6 31 82 */ crclr 6
/* 80035C6C 48 33 0C 11 */ bl printf
/* 80035C70 38 60 00 00 */ li r3, 0
/* 80035C74 83 E1 09 6C */ lwz r31, 0x96c(r1)
/* 80035C78 80 01 09 74 */ lwz r0, 0x974(r1)
/* 80035C7C 7C 08 03 A6 */ mtlr r0
/* 80035C80 38 21 09 70 */ addi r1, r1, 0x970
/* 80035C84 4E 80 00 20 */ blr

View File

@ -1,15 +0,0 @@
lbl_8003488C:
/* 8003488C 7C 86 2E 70 */ srawi r6, r4, 5
/* 80034890 38 A0 00 01 */ li r5, 1
/* 80034894 54 80 06 FE */ clrlwi r0, r4, 0x1b
/* 80034898 7C A4 00 30 */ slw r4, r5, r0
/* 8003489C 54 C0 10 3A */ slwi r0, r6, 2
/* 800348A0 7C 63 02 14 */ add r3, r3, r0
/* 800348A4 80 03 00 08 */ lwz r0, 8(r3)
/* 800348A8 7C 00 22 78 */ xor r0, r0, r4
/* 800348AC 90 03 00 08 */ stw r0, 8(r3)
/* 800348B0 80 03 00 08 */ lwz r0, 8(r3)
/* 800348B4 7C 03 20 38 */ and r3, r0, r4
/* 800348B8 30 03 FF FF */ addic r0, r3, -1
/* 800348BC 7C 60 19 10 */ subfe r3, r0, r3
/* 800348C0 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80034D78:
/* 80034D78 7C 86 26 70 */ srawi r6, r4, 4
/* 80034D7C 38 A0 00 01 */ li r5, 1
/* 80034D80 54 80 07 3E */ clrlwi r0, r4, 0x1c
/* 80034D84 7C A5 00 30 */ slw r5, r5, r0
/* 80034D88 54 C4 08 3C */ slwi r4, r6, 1
/* 80034D8C 7C 03 22 2E */ lhzx r0, r3, r4
/* 80034D90 7C 00 2A 78 */ xor r0, r0, r5
/* 80034D94 7C 03 23 2E */ sthx r0, r3, r4
/* 80034D98 7C 03 22 2E */ lhzx r0, r3, r4
/* 80034D9C 7C A3 00 38 */ and r3, r5, r0
/* 80034DA0 30 03 FF FF */ addic r0, r3, -1
/* 80034DA4 7C 60 19 10 */ subfe r3, r0, r3
/* 80034DA8 4E 80 00 20 */ blr

View File

@ -1,63 +0,0 @@
lbl_80033370:
/* 80033370 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80033374 7C 08 02 A6 */ mflr r0
/* 80033378 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003337C 39 61 00 20 */ addi r11, r1, 0x20
/* 80033380 48 32 EE 59 */ bl _savegpr_28
/* 80033384 7C 7C 1B 78 */ mr r28, r3
/* 80033388 7C BD 2B 78 */ mr r29, r5
/* 8003338C 7C 83 23 78 */ mr r3, r4
/* 80033390 4B FF F5 89 */ bl dSv_item_rename__FUc
/* 80033394 7C 7E 1B 78 */ mr r30, r3
/* 80033398 7F A3 EB 78 */ mr r3, r29
/* 8003339C 4B FF F5 7D */ bl dSv_item_rename__FUc
/* 800333A0 7C 7D 1B 78 */ mr r29, r3
/* 800333A4 3B E0 00 00 */ li r31, 0
/* 800333A8 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 800333AC 38 00 00 04 */ li r0, 4
/* 800333B0 7C 09 03 A6 */ mtctr r0
lbl_800333B4:
/* 800333B4 38 9F 00 0B */ addi r4, r31, 0xb
/* 800333B8 7C 1C 20 AE */ lbzx r0, r28, r4
/* 800333BC 7C 03 00 40 */ cmplw r3, r0
/* 800333C0 40 82 00 70 */ bne lbl_80033430
/* 800333C4 7F 83 E3 78 */ mr r3, r28
/* 800333C8 7F A5 EB 78 */ mr r5, r29
/* 800333CC 4B FF FB ED */ bl setItem__17dSv_player_item_cFiUc
/* 800333D0 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 800333D4 28 00 00 6B */ cmplwi r0, 0x6b
/* 800333D8 40 82 00 18 */ bne lbl_800333F0
/* 800333DC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 800333E0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 800333E4 38 1F 00 0B */ addi r0, r31, 0xb
/* 800333E8 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 800333EC 48 1E A8 D9 */ bl setHotSpringTimer__13dMeter2Info_cFUc
lbl_800333F0:
/* 800333F0 3B A0 00 00 */ li r29, 0
/* 800333F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800333F8 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800333FC 3B FF 00 0B */ addi r31, r31, 0xb
lbl_80033400:
/* 80033400 7F C3 F3 78 */ mr r3, r30
/* 80033404 7F A4 EB 78 */ mr r4, r29
/* 80033408 4B FF F6 55 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 8003340C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80033410 7C 1F 00 00 */ cmpw r31, r0
/* 80033414 40 82 00 0C */ bne lbl_80033420
/* 80033418 7F A3 EB 78 */ mr r3, r29
/* 8003341C 4B FF A9 D9 */ bl dComIfGp_setSelectItem__Fi
lbl_80033420:
/* 80033420 3B BD 00 01 */ addi r29, r29, 1
/* 80033424 2C 1D 00 03 */ cmpwi r29, 3
/* 80033428 41 80 FF D8 */ blt lbl_80033400
/* 8003342C 48 00 00 0C */ b lbl_80033438
lbl_80033430:
/* 80033430 3B FF 00 01 */ addi r31, r31, 1
/* 80033434 42 00 FF 80 */ bdnz lbl_800333B4
lbl_80033438:
/* 80033438 39 61 00 20 */ addi r11, r1, 0x20
/* 8003343C 48 32 ED E9 */ bl _restgpr_28
/* 80033440 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80033444 7C 08 03 A6 */ mtlr r0
/* 80033448 38 21 00 20 */ addi r1, r1, 0x20
/* 8003344C 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_80033450:
/* 80033450 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80033454 7C 08 02 A6 */ mflr r0
/* 80033458 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003345C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80033460 7C 7F 1B 78 */ mr r31, r3
/* 80033464 7C 85 23 78 */ mr r5, r4
/* 80033468 7C A3 2B 78 */ mr r3, r5
/* 8003346C 4B FF F4 AD */ bl dSv_item_rename__FUc
/* 80033470 7C 65 1B 78 */ mr r5, r3
/* 80033474 7F E3 FB 78 */ mr r3, r31
/* 80033478 38 80 00 60 */ li r4, 0x60
/* 8003347C 4B FF FE F5 */ bl setBottleItemIn__17dSv_player_item_cFUcUc
/* 80033480 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80033484 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80033488 7C 08 03 A6 */ mtlr r0
/* 8003348C 38 21 00 10 */ addi r1, r1, 0x10
/* 80033490 4E 80 00 20 */ blr

View File

@ -1,76 +0,0 @@
lbl_80033598:
/* 80033598 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003359C 7C 08 02 A6 */ mflr r0
/* 800335A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 800335A4 39 61 00 20 */ addi r11, r1, 0x20
/* 800335A8 48 32 EC 35 */ bl _savegpr_29
/* 800335AC 7C 7D 1B 78 */ mr r29, r3
/* 800335B0 7C 9F 23 78 */ mr r31, r4
/* 800335B4 7C BE 2B 78 */ mr r30, r5
/* 800335B8 7F C3 F3 78 */ mr r3, r30
/* 800335BC 4B FF F3 5D */ bl dSv_item_rename__FUc
/* 800335C0 7C 7E 1B 78 */ mr r30, r3
/* 800335C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800335C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800335CC 57 FF 06 3E */ clrlwi r31, r31, 0x18
/* 800335D0 7F E4 FB 78 */ mr r4, r31
/* 800335D4 4B FF F4 89 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 800335D8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 800335DC 28 00 00 0B */ cmplwi r0, 0xb
/* 800335E0 41 80 00 C4 */ blt lbl_800336A4
/* 800335E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800335E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800335EC 7F E4 FB 78 */ mr r4, r31
/* 800335F0 4B FF F4 6D */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 800335F4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 800335F8 28 00 00 0E */ cmplwi r0, 0xe
/* 800335FC 41 81 00 A8 */ bgt lbl_800336A4
/* 80033600 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 80033604 28 00 00 6B */ cmplwi r0, 0x6b
/* 80033608 40 82 00 24 */ bne lbl_8003362C
/* 8003360C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80033610 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80033614 7F E4 FB 78 */ mr r4, r31
/* 80033618 4B FF F4 45 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 8003361C 7C 64 1B 78 */ mr r4, r3
/* 80033620 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 80033624 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 80033628 48 1E A6 9D */ bl setHotSpringTimer__13dMeter2Info_cFUc
lbl_8003362C:
/* 8003362C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80033630 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80033634 7F E4 FB 78 */ mr r4, r31
/* 80033638 4B FF F4 25 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 8003363C 7C 60 1B 78 */ mr r0, r3
/* 80033640 7F A3 EB 78 */ mr r3, r29
/* 80033644 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80033648 7F C5 F3 78 */ mr r5, r30
/* 8003364C 4B FF F9 6D */ bl setItem__17dSv_player_item_cFiUc
/* 80033650 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80033654 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80033658 7F E4 FB 78 */ mr r4, r31
/* 8003365C 4B FF F4 01 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 80033660 7C 60 1B 78 */ mr r0, r3
/* 80033664 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80033668 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8003366C 38 63 00 9C */ addi r3, r3, 0x9c
/* 80033670 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80033674 7F C5 F3 78 */ mr r5, r30
/* 80033678 4B FF F9 41 */ bl setItem__17dSv_player_item_cFiUc
/* 8003367C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80033680 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80033684 7F E4 FB 78 */ mr r4, r31
/* 80033688 4B FF F3 D5 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
/* 8003368C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80033690 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80033694 98 64 5E 7D */ stb r3, 0x5e7d(r4)
/* 80033698 9B C4 5E 7E */ stb r30, 0x5e7e(r4)
/* 8003369C 7F E3 FB 78 */ mr r3, r31
/* 800336A0 4B FF A7 55 */ bl dComIfGp_setSelectItem__Fi
lbl_800336A4:
/* 800336A4 39 61 00 20 */ addi r11, r1, 0x20
/* 800336A8 48 32 EB 81 */ bl _restgpr_29
/* 800336AC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800336B0 7C 08 03 A6 */ mtlr r0
/* 800336B4 38 21 00 20 */ addi r1, r1, 0x20
/* 800336B8 4E 80 00 20 */ blr

View File

@ -1,27 +0,0 @@
lbl_800332F8:
/* 800332F8 38 A0 00 00 */ li r5, 0
/* 800332FC 38 C0 00 00 */ li r6, 0
/* 80033300 38 80 00 FF */ li r4, 0xff
/* 80033304 38 00 00 18 */ li r0, 0x18
/* 80033308 7C 09 03 A6 */ mtctr r0
lbl_8003330C:
/* 8003330C 38 06 00 18 */ addi r0, r6, 0x18
/* 80033310 7C 83 01 AE */ stbx r4, r3, r0
/* 80033314 38 C6 00 01 */ addi r6, r6, 1
/* 80033318 42 00 FF F4 */ bdnz lbl_8003330C
/* 8003331C 3C 80 80 3A */ lis r4, i_item_lst@ha /* 0x803A7270@ha */
/* 80033320 38 84 72 70 */ addi r4, r4, i_item_lst@l /* 0x803A7270@l */
/* 80033324 38 00 00 17 */ li r0, 0x17
/* 80033328 7C 09 03 A6 */ mtctr r0
lbl_8003332C:
/* 8003332C 88 C4 00 00 */ lbz r6, 0(r4)
/* 80033330 7C 03 30 AE */ lbzx r0, r3, r6
/* 80033334 28 00 00 FF */ cmplwi r0, 0xff
/* 80033338 41 82 00 10 */ beq lbl_80033348
/* 8003333C 38 05 00 18 */ addi r0, r5, 0x18
/* 80033340 7C C3 01 AE */ stbx r6, r3, r0
/* 80033344 38 A5 00 01 */ addi r5, r5, 1
lbl_80033348:
/* 80033348 38 84 00 01 */ addi r4, r4, 1
/* 8003334C 42 00 FF E0 */ bdnz lbl_8003332C
/* 80033350 4E 80 00 20 */ blr

View File

@ -1,53 +0,0 @@
lbl_80348D54:
/* 80348D54 7C 08 02 A6 */ mflr r0
/* 80348D58 90 01 00 04 */ stw r0, 4(r1)
/* 80348D5C 94 21 FF C8 */ stwu r1, -0x38(r1)
/* 80348D60 BF 41 00 20 */ stmw r26, 0x20(r1)
/* 80348D64 7C DD 33 79 */ or. r29, r6, r6
/* 80348D68 3B 43 00 00 */ addi r26, r3, 0
/* 80348D6C 3B 64 00 00 */ addi r27, r4, 0
/* 80348D70 3B 85 00 00 */ addi r28, r5, 0
/* 80348D74 3B C7 00 00 */ addi r30, r7, 0
/* 80348D78 3B E8 00 00 */ addi r31, r8, 0
/* 80348D7C 41 80 00 10 */ blt lbl_80348D8C
/* 80348D80 80 1A 00 34 */ lwz r0, 0x34(r26)
/* 80348D84 7C 1D 00 40 */ cmplw r29, r0
/* 80348D88 40 81 00 1C */ ble lbl_80348DA4
lbl_80348D8C:
/* 80348D8C 3C 60 80 3D */ lis r3, lit_239@ha /* 0x803D1480@ha */
/* 80348D90 4C C6 31 82 */ crclr 6
/* 80348D94 38 A3 14 80 */ addi r5, r3, lit_239@l /* 0x803D1480@l */
/* 80348D98 38 6D 84 60 */ la r3, lit_118(r13) /* 804509E0-_SDA_BASE_ */
/* 80348D9C 38 80 02 EE */ li r4, 0x2ee
/* 80348DA0 4B CB E0 DD */ bl OSPanic
lbl_80348DA4:
/* 80348DA4 7C 9D E2 15 */ add. r4, r29, r28
/* 80348DA8 41 80 00 14 */ blt lbl_80348DBC
/* 80348DAC 80 7A 00 34 */ lwz r3, 0x34(r26)
/* 80348DB0 38 03 00 20 */ addi r0, r3, 0x20
/* 80348DB4 7C 04 00 40 */ cmplw r4, r0
/* 80348DB8 41 80 00 1C */ blt lbl_80348DD4
lbl_80348DBC:
/* 80348DBC 3C 60 80 3D */ lis r3, lit_239@ha /* 0x803D1480@ha */
/* 80348DC0 4C C6 31 82 */ crclr 6
/* 80348DC4 38 A3 14 80 */ addi r5, r3, lit_239@l /* 0x803D1480@l */
/* 80348DC8 38 6D 84 60 */ la r3, lit_118(r13) /* 804509E0-_SDA_BASE_ */
/* 80348DCC 38 80 02 F4 */ li r4, 0x2f4
/* 80348DD0 4B CB E0 AD */ bl OSPanic
lbl_80348DD4:
/* 80348DD4 93 DA 00 38 */ stw r30, 0x38(r26)
/* 80348DD8 3C 60 80 35 */ lis r3, cbForReadAsync@ha /* 0x80348E14@ha */
/* 80348DDC 38 E3 8E 14 */ addi r7, r3, cbForReadAsync@l /* 0x80348E14@l */
/* 80348DE0 80 1A 00 30 */ lwz r0, 0x30(r26)
/* 80348DE4 38 7A 00 00 */ addi r3, r26, 0
/* 80348DE8 38 9B 00 00 */ addi r4, r27, 0
/* 80348DEC 38 BC 00 00 */ addi r5, r28, 0
/* 80348DF0 39 1F 00 00 */ addi r8, r31, 0
/* 80348DF4 7C C0 EA 14 */ add r6, r0, r29
/* 80348DF8 48 00 1F 35 */ bl DVDReadAbsAsyncPrio
/* 80348DFC BB 41 00 20 */ lmw r26, 0x20(r1)
/* 80348E00 38 60 00 01 */ li r3, 1
/* 80348E04 80 01 00 3C */ lwz r0, 0x3c(r1)
/* 80348E08 38 21 00 38 */ addi r1, r1, 0x38
/* 80348E0C 7C 08 03 A6 */ mtlr r0
/* 80348E10 4E 80 00 20 */ blr

View File

@ -1,181 +0,0 @@
lbl_80347C18:
/* 80347C18 7C 08 02 A6 */ mflr r0
/* 80347C1C 3C E0 CC 00 */ lis r7, 0xCC00 /* 0xCC006000@ha */
/* 80347C20 90 01 00 04 */ stw r0, 4(r1)
/* 80347C24 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80347C28 BE C1 00 18 */ stmw r22, 0x18(r1)
/* 80347C2C 3B 24 00 00 */ addi r25, r4, 0
/* 80347C30 38 87 60 00 */ addi r4, r7, 0x6000 /* 0xCC006000@l */
/* 80347C34 3C E0 80 45 */ lis r7, CommandList@ha /* 0x8044C830@ha */
/* 80347C38 3B E7 C8 30 */ addi r31, r7, CommandList@l /* 0x8044C830@l */
/* 80347C3C 3B 03 00 00 */ addi r24, r3, 0
/* 80347C40 3B 45 00 00 */ addi r26, r5, 0
/* 80347C44 3B DF 00 CC */ addi r30, r31, 0xcc
/* 80347C48 7C DB 33 78 */ mr r27, r6
/* 80347C4C 93 24 00 18 */ stw r25, 0x18(r4)
/* 80347C50 93 1F 00 C4 */ stw r24, 0xc4(r31)
/* 80347C54 93 3F 00 C8 */ stw r25, 0xc8(r31)
/* 80347C58 93 5F 00 CC */ stw r26, 0xcc(r31)
/* 80347C5C 80 0D 91 B4 */ lwz r0, WorkAroundType(r13)
/* 80347C60 28 00 00 00 */ cmplwi r0, 0
/* 80347C64 40 82 00 2C */ bne lbl_80347C90
/* 80347C68 38 00 FF FF */ li r0, -1
/* 80347C6C 90 1F 00 00 */ stw r0, 0(r31)
/* 80347C70 38 00 00 00 */ li r0, 0
/* 80347C74 38 78 00 00 */ addi r3, r24, 0
/* 80347C78 90 0D 91 D4 */ stw r0, NextCommandNumber(r13)
/* 80347C7C 38 99 00 00 */ addi r4, r25, 0
/* 80347C80 38 BA 00 00 */ addi r5, r26, 0
/* 80347C84 38 DB 00 00 */ addi r6, r27, 0
/* 80347C88 4B FF FE 01 */ bl Read
/* 80347C8C 48 00 02 0C */ b lbl_80347E98
lbl_80347C90:
/* 80347C90 80 0D 91 B4 */ lwz r0, WorkAroundType(r13)
/* 80347C94 28 00 00 01 */ cmplwi r0, 1
/* 80347C98 40 82 02 00 */ bne lbl_80347E98
/* 80347C9C 80 0D 84 58 */ lwz r0, FirstRead(r13)
/* 80347CA0 2C 00 00 00 */ cmpwi r0, 0
/* 80347CA4 41 82 00 1C */ beq lbl_80347CC0
/* 80347CA8 38 78 00 00 */ addi r3, r24, 0
/* 80347CAC 38 99 00 00 */ addi r4, r25, 0
/* 80347CB0 38 BA 00 00 */ addi r5, r26, 0
/* 80347CB4 38 DB 00 00 */ addi r6, r27, 0
/* 80347CB8 4B FF FE E1 */ bl SeekTwiceBeforeRead
/* 80347CBC 48 00 01 DC */ b lbl_80347E98
lbl_80347CC0:
/* 80347CC0 3B BF 00 BC */ addi r29, r31, 0xbc
/* 80347CC4 80 1E 00 00 */ lwz r0, 0(r30)
/* 80347CC8 3B 9F 00 C0 */ addi r28, r31, 0xc0
/* 80347CCC 80 7F 00 BC */ lwz r3, 0xbc(r31)
/* 80347CD0 80 9F 00 C0 */ lwz r4, 0xc0(r31)
/* 80347CD4 54 17 8B FE */ srwi r23, r0, 0xf
/* 80347CD8 38 03 FF FF */ addi r0, r3, -1
/* 80347CDC 7C 04 02 14 */ add r0, r4, r0
/* 80347CE0 54 16 8B FE */ srwi r22, r0, 0xf
/* 80347CE4 48 00 39 3D */ bl DVDGetCurrentDiskID
/* 80347CE8 88 03 00 08 */ lbz r0, 8(r3)
/* 80347CEC 28 00 00 00 */ cmplwi r0, 0
/* 80347CF0 41 82 00 0C */ beq lbl_80347CFC
/* 80347CF4 38 00 00 01 */ li r0, 1
/* 80347CF8 48 00 00 08 */ b lbl_80347D00
lbl_80347CFC:
/* 80347CFC 38 00 00 00 */ li r0, 0
lbl_80347D00:
/* 80347D00 2C 00 00 00 */ cmpwi r0, 0
/* 80347D04 41 82 00 0C */ beq lbl_80347D10
/* 80347D08 38 60 00 05 */ li r3, 5
/* 80347D0C 48 00 00 08 */ b lbl_80347D14
lbl_80347D10:
/* 80347D10 38 60 00 0F */ li r3, 0xf
lbl_80347D14:
/* 80347D14 38 16 FF FE */ addi r0, r22, -2
/* 80347D18 7C 17 00 40 */ cmplw r23, r0
/* 80347D1C 41 81 00 14 */ bgt lbl_80347D30
/* 80347D20 38 03 00 03 */ addi r0, r3, 3
/* 80347D24 7C 16 02 14 */ add r0, r22, r0
/* 80347D28 7C 17 00 40 */ cmplw r23, r0
/* 80347D2C 40 80 00 0C */ bge lbl_80347D38
lbl_80347D30:
/* 80347D30 38 00 00 01 */ li r0, 1
/* 80347D34 48 00 00 08 */ b lbl_80347D3C
lbl_80347D38:
/* 80347D38 38 00 00 00 */ li r0, 0
lbl_80347D3C:
/* 80347D3C 2C 00 00 00 */ cmpwi r0, 0
/* 80347D40 40 82 00 2C */ bne lbl_80347D6C
/* 80347D44 38 00 FF FF */ li r0, -1
/* 80347D48 90 1F 00 00 */ stw r0, 0(r31)
/* 80347D4C 38 00 00 00 */ li r0, 0
/* 80347D50 38 78 00 00 */ addi r3, r24, 0
/* 80347D54 90 0D 91 D4 */ stw r0, NextCommandNumber(r13)
/* 80347D58 38 99 00 00 */ addi r4, r25, 0
/* 80347D5C 38 BA 00 00 */ addi r5, r26, 0
/* 80347D60 38 DB 00 00 */ addi r6, r27, 0
/* 80347D64 4B FF FD 25 */ bl Read
/* 80347D68 48 00 01 30 */ b lbl_80347E98
lbl_80347D6C:
/* 80347D6C 80 7D 00 00 */ lwz r3, 0(r29)
/* 80347D70 80 9C 00 00 */ lwz r4, 0(r28)
/* 80347D74 38 63 FF FF */ addi r3, r3, -1
/* 80347D78 80 1E 00 00 */ lwz r0, 0(r30)
/* 80347D7C 7C 64 1A 14 */ add r3, r4, r3
/* 80347D80 54 63 8B FE */ srwi r3, r3, 0xf
/* 80347D84 54 04 8B FE */ srwi r4, r0, 0xf
/* 80347D88 7C 03 20 40 */ cmplw r3, r4
/* 80347D8C 41 82 00 10 */ beq lbl_80347D9C
/* 80347D90 38 03 00 01 */ addi r0, r3, 1
/* 80347D94 7C 00 20 40 */ cmplw r0, r4
/* 80347D98 40 82 00 EC */ bne lbl_80347E84
lbl_80347D9C:
/* 80347D9C 4B FF A9 81 */ bl __OSGetSystemTime
/* 80347DA0 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */
/* 80347DA4 81 0D 91 C0 */ lwz r8, LastReadFinished(r13)
/* 80347DA8 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */
/* 80347DAC 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */
/* 80347DB0 81 2D 91 C4 */ lwz r9, LastReadFinished+0x4(r13)
/* 80347DB4 38 C0 00 00 */ li r6, 0
/* 80347DB8 54 07 F0 BE */ srwi r7, r0, 2
/* 80347DBC 38 05 4D D3 */ addi r0, r5, 0x4DD3 /* 0x10624DD3@l */
/* 80347DC0 7C 00 38 16 */ mulhwu r0, r0, r7
/* 80347DC4 54 00 D1 BE */ srwi r0, r0, 6
/* 80347DC8 7D 29 20 10 */ subfc r9, r9, r4
/* 80347DCC 7D 08 19 10 */ subfe r8, r8, r3
/* 80347DD0 1C A0 00 05 */ mulli r5, r0, 5
/* 80347DD4 6C C4 80 00 */ xoris r4, r6, 0x8000
/* 80347DD8 6D 03 80 00 */ xoris r3, r8, 0x8000
/* 80347DDC 7C 09 28 10 */ subfc r0, r9, r5
/* 80347DE0 7C 63 21 10 */ subfe r3, r3, r4
/* 80347DE4 7C 64 21 10 */ subfe r3, r4, r4
/* 80347DE8 7C 63 00 D1 */ neg. r3, r3
/* 80347DEC 41 82 00 28 */ beq lbl_80347E14
/* 80347DF0 38 00 FF FF */ li r0, -1
/* 80347DF4 90 1F 00 00 */ stw r0, 0(r31)
/* 80347DF8 38 78 00 00 */ addi r3, r24, 0
/* 80347DFC 38 99 00 00 */ addi r4, r25, 0
/* 80347E00 90 CD 91 D4 */ stw r6, NextCommandNumber(r13)
/* 80347E04 38 BA 00 00 */ addi r5, r26, 0
/* 80347E08 38 DB 00 00 */ addi r6, r27, 0
/* 80347E0C 4B FF FC 7D */ bl Read
/* 80347E10 48 00 00 88 */ b lbl_80347E98
lbl_80347E14:
/* 80347E14 38 00 00 01 */ li r0, 1
/* 80347E18 90 1F 00 00 */ stw r0, 0(r31)
/* 80347E1C 3C 60 43 1C */ lis r3, 0x431C /* 0x431BDE83@ha */
/* 80347E20 38 03 DE 83 */ addi r0, r3, 0xDE83 /* 0x431BDE83@l */
/* 80347E24 93 1F 00 04 */ stw r24, 4(r31)
/* 80347E28 7C 00 38 16 */ mulhwu r0, r0, r7
/* 80347E2C 93 3F 00 08 */ stw r25, 8(r31)
/* 80347E30 93 5F 00 0C */ stw r26, 0xc(r31)
/* 80347E34 54 00 8B FE */ srwi r0, r0, 0xf
/* 80347E38 1C 60 01 F4 */ mulli r3, r0, 0x1f4
/* 80347E3C 93 7F 00 10 */ stw r27, 0x10(r31)
/* 80347E40 38 00 FF FF */ li r0, -1
/* 80347E44 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80347E48 7C A9 28 10 */ subfc r5, r9, r5
/* 80347E4C 7C 88 31 10 */ subfe r4, r8, r6
/* 80347E50 54 60 E8 FE */ srwi r0, r3, 3
/* 80347E54 90 CD 91 D4 */ stw r6, NextCommandNumber(r13)
/* 80347E58 7E E5 00 14 */ addc r23, r5, r0
/* 80347E5C 7E C4 31 14 */ adde r22, r4, r6
/* 80347E60 38 7F 00 40 */ addi r3, r31, 0x40
/* 80347E64 4B FF 2A 95 */ bl OSCreateAlarm
/* 80347E68 3C 60 80 34 */ lis r3, AlarmHandler@ha /* 0x80347994@ha */
/* 80347E6C 38 E3 79 94 */ addi r7, r3, AlarmHandler@l /* 0x80347994@l */
/* 80347E70 38 D7 00 00 */ addi r6, r23, 0
/* 80347E74 38 B6 00 00 */ addi r5, r22, 0
/* 80347E78 38 7F 00 40 */ addi r3, r31, 0x40
/* 80347E7C 4B FF 2C DD */ bl OSSetAlarm
/* 80347E80 48 00 00 18 */ b lbl_80347E98
lbl_80347E84:
/* 80347E84 38 78 00 00 */ addi r3, r24, 0
/* 80347E88 38 99 00 00 */ addi r4, r25, 0
/* 80347E8C 38 BA 00 00 */ addi r5, r26, 0
/* 80347E90 38 DB 00 00 */ addi r6, r27, 0
/* 80347E94 4B FF FD 05 */ bl SeekTwiceBeforeRead
lbl_80347E98:
/* 80347E98 BA C1 00 18 */ lmw r22, 0x18(r1)
/* 80347E9C 38 60 00 01 */ li r3, 1
/* 80347EA0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80347EA4 38 21 00 40 */ addi r1, r1, 0x40
/* 80347EA8 7C 08 03 A6 */ mtlr r0
/* 80347EAC 4E 80 00 20 */ blr

View File

@ -1,19 +0,0 @@
lbl_802CDE54:
/* 802CDE54 88 E4 00 03 */ lbz r7, 3(r4)
/* 802CDE58 88 C4 00 02 */ lbz r6, 2(r4)
/* 802CDE5C 88 A4 00 00 */ lbz r5, 0(r4)
/* 802CDE60 88 04 00 01 */ lbz r0, 1(r4)
/* 802CDE64 54 00 80 1E */ slwi r0, r0, 0x10
/* 802CDE68 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
/* 802CDE6C 50 C0 44 2E */ rlwimi r0, r6, 8, 0x10, 0x17
/* 802CDE70 7C E5 03 78 */ or r5, r7, r0
/* 802CDE74 38 00 00 10 */ li r0, 0x10
/* 802CDE78 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */
/* 802CDE7C 98 04 80 00 */ stb r0, 0x8000(r4) /* 0xCC008000@l */
/* 802CDE80 38 00 00 00 */ li r0, 0
/* 802CDE84 B0 04 80 00 */ sth r0, -0x8000(r4)
/* 802CDE88 54 63 07 FE */ clrlwi r3, r3, 0x1f
/* 802CDE8C 38 03 10 0A */ addi r0, r3, 0x100a
/* 802CDE90 B0 04 80 00 */ sth r0, -0x8000(r4)
/* 802CDE94 90 A4 80 00 */ stw r5, -0x8000(r4)
/* 802CDE98 4E 80 00 20 */ blr

View File

@ -1,43 +0,0 @@
lbl_802CE004:
/* 802CE004 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802CE008 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802CE00C 93 C1 00 08 */ stw r30, 8(r1)
/* 802CE010 38 00 00 61 */ li r0, 0x61
/* 802CE014 3D 40 CC 01 */ lis r10, 0xCC01 /* 0xCC008000@ha */
/* 802CE018 98 0A 80 00 */ stb r0, 0x8000(r10) /* 0xCC008000@l */
/* 802CE01C 3B C0 00 00 */ li r30, 0
/* 802CE020 2C 03 00 01 */ cmpwi r3, 1
/* 802CE024 41 82 00 0C */ beq lbl_802CE030
/* 802CE028 2C 03 00 03 */ cmpwi r3, 3
/* 802CE02C 40 82 00 08 */ bne lbl_802CE034
lbl_802CE030:
/* 802CE030 3B C0 00 01 */ li r30, 1
lbl_802CE034:
/* 802CE034 54 DF 60 26 */ slwi r31, r6, 0xc
/* 802CE038 20 03 00 03 */ subfic r0, r3, 3
/* 802CE03C 7C 00 00 34 */ cntlzw r0, r0
/* 802CE040 54 0C 33 68 */ rlwinm r12, r0, 6, 0xd, 0x14
/* 802CE044 54 8B 40 2E */ slwi r11, r4, 8
/* 802CE048 54 AA 28 34 */ slwi r10, r5, 5
/* 802CE04C 55 06 25 36 */ rlwinm r6, r8, 4, 0x14, 0x1b
/* 802CE050 54 E5 1D 78 */ rlwinm r5, r7, 3, 0x15, 0x1c
/* 802CE054 55 24 15 BA */ rlwinm r4, r9, 2, 0x16, 0x1d
/* 802CE058 20 03 00 02 */ subfic r0, r3, 2
/* 802CE05C 7C 00 00 34 */ cntlzw r0, r0
/* 802CE060 54 03 E5 FC */ rlwinm r3, r0, 0x1c, 0x17, 0x1e
/* 802CE064 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 802CE068 7C 60 03 78 */ or r0, r3, r0
/* 802CE06C 7C 80 03 78 */ or r0, r4, r0
/* 802CE070 7C A0 03 78 */ or r0, r5, r0
/* 802CE074 7C C0 03 78 */ or r0, r6, r0
/* 802CE078 7D 40 03 78 */ or r0, r10, r0
/* 802CE07C 7D 60 03 78 */ or r0, r11, r0
/* 802CE080 7D 80 03 78 */ or r0, r12, r0
/* 802CE084 7F E0 03 78 */ or r0, r31, r0
/* 802CE088 64 00 41 00 */ oris r0, r0, 0x4100
/* 802CE08C 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
/* 802CE090 90 03 80 00 */ stw r0, 0x8000(r3) /* 0xCC008000@l */
/* 802CE094 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802CE098 83 C1 00 08 */ lwz r30, 8(r1)
/* 802CE09C 38 21 00 10 */ addi r1, r1, 0x10
/* 802CE0A0 4E 80 00 20 */ blr

View File

@ -1,99 +0,0 @@
lbl_802CDE9C:
/* 802CDE9C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802CDEA0 7C 08 02 A6 */ mflr r0
/* 802CDEA4 90 01 00 34 */ stw r0, 0x34(r1)
/* 802CDEA8 39 61 00 30 */ addi r11, r1, 0x30
/* 802CDEAC 48 09 43 2D */ bl _savegpr_28
/* 802CDEB0 7C 7C 1B 78 */ mr r28, r3
/* 802CDEB4 7C 9F 23 78 */ mr r31, r4
/* 802CDEB8 FC 04 18 00 */ fcmpu cr0, f4, f3
/* 802CDEBC 41 82 00 0C */ beq lbl_802CDEC8
/* 802CDEC0 FC 02 08 00 */ fcmpu cr0, f2, f1
/* 802CDEC4 40 82 00 14 */ bne lbl_802CDED8
lbl_802CDEC8:
/* 802CDEC8 C0 A2 C5 68 */ lfs f5, lit_293(r2)
/* 802CDECC C0 62 C5 6C */ lfs f3, lit_294(r2)
/* 802CDED0 D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 802CDED4 48 00 00 24 */ b lbl_802CDEF8
lbl_802CDED8:
/* 802CDED8 EC A4 00 F2 */ fmuls f5, f4, f3
/* 802CDEDC EC 64 18 28 */ fsubs f3, f4, f3
/* 802CDEE0 EC 42 08 28 */ fsubs f2, f2, f1
/* 802CDEE4 EC 03 00 B2 */ fmuls f0, f3, f2
/* 802CDEE8 EC A5 00 24 */ fdivs f5, f5, f0
/* 802CDEEC EC 64 18 24 */ fdivs f3, f4, f3
/* 802CDEF0 EC 01 10 24 */ fdivs f0, f1, f2
/* 802CDEF4 D0 01 00 0C */ stfs f0, 0xc(r1)
lbl_802CDEF8:
/* 802CDEF8 3B C0 00 01 */ li r30, 1
/* 802CDEFC C0 22 C5 6C */ lfs f1, lit_294(r2)
/* 802CDF00 C8 02 C5 70 */ lfd f0, lit_295(r2)
/* 802CDF04 48 00 00 0C */ b lbl_802CDF10
lbl_802CDF08:
/* 802CDF08 EC 63 00 72 */ fmuls f3, f3, f1
/* 802CDF0C 3B DE 00 01 */ addi r30, r30, 1
lbl_802CDF10:
/* 802CDF10 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 802CDF14 41 81 FF F4 */ bgt lbl_802CDF08
/* 802CDF18 C8 02 C5 80 */ lfd f0, lit_297(r2)
/* 802CDF1C C0 42 C5 78 */ lfs f2, lit_296(r2)
/* 802CDF20 C0 22 C5 68 */ lfs f1, lit_293(r2)
/* 802CDF24 48 00 00 0C */ b lbl_802CDF30
lbl_802CDF28:
/* 802CDF28 EC 63 00 B2 */ fmuls f3, f3, f2
/* 802CDF2C 3B DE FF FF */ addi r30, r30, -1
lbl_802CDF30:
/* 802CDF30 FC 03 08 40 */ fcmpo cr0, f3, f1
/* 802CDF34 40 81 00 0C */ ble lbl_802CDF40
/* 802CDF38 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 802CDF3C 41 80 FF EC */ blt lbl_802CDF28
lbl_802CDF40:
/* 802CDF40 38 00 00 01 */ li r0, 1
/* 802CDF44 7C 00 F0 30 */ slw r0, r0, r30
/* 802CDF48 C8 22 C5 90 */ lfd f1, lit_301(r2)
/* 802CDF4C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802CDF50 90 01 00 14 */ stw r0, 0x14(r1)
/* 802CDF54 3C 00 43 30 */ lis r0, 0x4330
/* 802CDF58 90 01 00 10 */ stw r0, 0x10(r1)
/* 802CDF5C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802CDF60 EC 00 08 28 */ fsubs f0, f0, f1
/* 802CDF64 EC 05 00 24 */ fdivs f0, f5, f0
/* 802CDF68 D0 01 00 08 */ stfs f0, 8(r1)
/* 802CDF6C 80 01 00 08 */ lwz r0, 8(r1)
/* 802CDF70 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 802CDF74 38 80 00 61 */ li r4, 0x61
/* 802CDF78 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
/* 802CDF7C 98 83 80 00 */ stb r4, 0x8000(r3) /* 0xCC008000@l */
/* 802CDF80 54 00 A3 3E */ srwi r0, r0, 0xc
/* 802CDF84 64 00 EE 00 */ oris r0, r0, 0xee00
/* 802CDF88 90 03 80 00 */ stw r0, -0x8000(r3)
/* 802CDF8C 98 83 80 00 */ stb r4, -0x8000(r3)
/* 802CDF90 C0 02 C5 88 */ lfs f0, lit_298(r2)
/* 802CDF94 EC 20 00 F2 */ fmuls f1, f0, f3
/* 802CDF98 48 09 41 15 */ bl __cvt_fp2unsigned
/* 802CDF9C 64 60 EF 00 */ oris r0, r3, 0xef00
/* 802CDFA0 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */
/* 802CDFA4 90 06 80 00 */ stw r0, 0x8000(r6) /* 0xCC008000@l */
/* 802CDFA8 38 A0 00 61 */ li r5, 0x61
/* 802CDFAC 98 A6 80 00 */ stb r5, -0x8000(r6)
/* 802CDFB0 67 C0 F0 00 */ oris r0, r30, 0xf000
/* 802CDFB4 90 06 80 00 */ stw r0, -0x8000(r6)
/* 802CDFB8 98 A6 80 00 */ stb r5, -0x8000(r6)
/* 802CDFBC 57 80 A8 14 */ slwi r0, r28, 0x15
/* 802CDFC0 53 A0 A3 3E */ rlwimi r0, r29, 0x14, 0xc, 0x1f
/* 802CDFC4 64 00 F1 00 */ oris r0, r0, 0xf100
/* 802CDFC8 90 06 80 00 */ stw r0, -0x8000(r6)
/* 802CDFCC 88 9F 00 00 */ lbz r4, 0(r31)
/* 802CDFD0 88 7F 00 02 */ lbz r3, 2(r31)
/* 802CDFD4 88 1F 00 01 */ lbz r0, 1(r31)
/* 802CDFD8 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
/* 802CDFDC 50 83 82 1E */ rlwimi r3, r4, 0x10, 8, 0xf
/* 802CDFE0 64 60 F2 00 */ oris r0, r3, 0xf200
/* 802CDFE4 98 A6 80 00 */ stb r5, -0x8000(r6)
/* 802CDFE8 90 06 80 00 */ stw r0, -0x8000(r6)
/* 802CDFEC 39 61 00 30 */ addi r11, r1, 0x30
/* 802CDFF0 48 09 42 35 */ bl _restgpr_28
/* 802CDFF4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802CDFF8 7C 08 03 A6 */ mtlr r0
/* 802CDFFC 38 21 00 30 */ addi r1, r1, 0x30
/* 802CE000 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_802CE0A4:
/* 802CE0A4 38 00 00 61 */ li r0, 0x61
/* 802CE0A8 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */
/* 802CE0AC 98 06 80 00 */ stb r0, 0x8000(r6) /* 0xCC008000@l */
/* 802CE0B0 54 A5 25 36 */ rlwinm r5, r5, 4, 0x14, 0x1b
/* 802CE0B4 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802CE0B8 54 80 08 3C */ slwi r0, r4, 1
/* 802CE0BC 7C 60 03 78 */ or r0, r3, r0
/* 802CE0C0 7C A0 03 78 */ or r0, r5, r0
/* 802CE0C4 64 00 40 00 */ oris r0, r0, 0x4000
/* 802CE0C8 90 06 80 00 */ stw r0, -0x8000(r6)
/* 802CE0CC 4E 80 00 20 */ blr

View File

@ -1,27 +0,0 @@
lbl_802CE0D0:
/* 802CE0D0 A8 C4 00 00 */ lha r6, 0(r4)
/* 802CE0D4 A8 04 00 06 */ lha r0, 6(r4)
/* 802CE0D8 54 05 62 66 */ rlwinm r5, r0, 0xc, 9, 0x13
/* 802CE0DC 50 C5 05 7E */ rlwimi r5, r6, 0, 0x15, 0x1f
/* 802CE0E0 54 66 08 3C */ slwi r6, r3, 1
/* 802CE0E4 38 06 00 E0 */ addi r0, r6, 0xe0
/* 802CE0E8 7C A7 2B 78 */ mr r7, r5
/* 802CE0EC 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7
/* 802CE0F0 A8 A4 00 04 */ lha r5, 4(r4)
/* 802CE0F4 A8 04 00 02 */ lha r0, 2(r4)
/* 802CE0F8 54 03 62 66 */ rlwinm r3, r0, 0xc, 9, 0x13
/* 802CE0FC 50 A3 05 7E */ rlwimi r3, r5, 0, 0x15, 0x1f
/* 802CE100 38 06 00 E1 */ addi r0, r6, 0xe1
/* 802CE104 7C 64 1B 78 */ mr r4, r3
/* 802CE108 50 04 C0 0E */ rlwimi r4, r0, 0x18, 0, 7
/* 802CE10C 38 00 00 61 */ li r0, 0x61
/* 802CE110 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
/* 802CE114 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */
/* 802CE118 90 E3 80 00 */ stw r7, -0x8000(r3)
/* 802CE11C 98 03 80 00 */ stb r0, -0x8000(r3)
/* 802CE120 90 83 80 00 */ stw r4, -0x8000(r3)
/* 802CE124 98 03 80 00 */ stb r0, -0x8000(r3)
/* 802CE128 90 83 80 00 */ stw r4, -0x8000(r3)
/* 802CE12C 98 03 80 00 */ stb r0, -0x8000(r3)
/* 802CE130 90 83 80 00 */ stw r4, -0x8000(r3)
/* 802CE134 4E 80 00 20 */ blr

View File

@ -1,39 +0,0 @@
lbl_80346FF8:
/* 80346FF8 ED 04 18 28 */ fsubs f8, f4, f3
/* 80346FFC C1 22 CB 28 */ lfs f9, lit_99(r2)
/* 80347000 EC 01 10 28 */ fsubs f0, f1, f2
/* 80347004 C0 E2 CB 2C */ lfs f7, lit_100(r2)
/* 80347008 EC 64 18 2A */ fadds f3, f4, f3
/* 8034700C ED 49 40 24 */ fdivs f10, f9, f8
/* 80347010 ED 09 00 24 */ fdivs f8, f9, f0
/* 80347014 EC 87 02 B2 */ fmuls f4, f7, f10
/* 80347018 FC 60 18 50 */ fneg f3, f3
/* 8034701C EC 06 28 28 */ fsubs f0, f6, f5
/* 80347020 D0 83 00 00 */ stfs f4, 0(r3)
/* 80347024 EC 21 10 2A */ fadds f1, f1, f2
/* 80347028 EC 4A 00 F2 */ fmuls f2, f10, f3
/* 8034702C C0 62 CB 30 */ lfs f3, lit_101(r2)
/* 80347030 FC 20 08 50 */ fneg f1, f1
/* 80347034 D0 63 00 04 */ stfs f3, 4(r3)
/* 80347038 EC 89 00 24 */ fdivs f4, f9, f0
/* 8034703C D0 63 00 08 */ stfs f3, 8(r3)
/* 80347040 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 80347044 D0 63 00 10 */ stfs f3, 0x10(r3)
/* 80347048 EC 47 02 32 */ fmuls f2, f7, f8
/* 8034704C FC 00 30 50 */ fneg f0, f6
/* 80347050 EC 28 00 72 */ fmuls f1, f8, f1
/* 80347054 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 80347058 EC 00 01 32 */ fmuls f0, f0, f4
/* 8034705C D0 63 00 18 */ stfs f3, 0x18(r3)
/* 80347060 D0 23 00 1C */ stfs f1, 0x1c(r3)
/* 80347064 D0 63 00 20 */ stfs f3, 0x20(r3)
/* 80347068 D0 63 00 24 */ stfs f3, 0x24(r3)
/* 8034706C C0 22 CB 34 */ lfs f1, lit_102(r2)
/* 80347070 EC 21 01 32 */ fmuls f1, f1, f4
/* 80347074 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 80347078 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 8034707C D0 63 00 30 */ stfs f3, 0x30(r3)
/* 80347080 D0 63 00 34 */ stfs f3, 0x34(r3)
/* 80347084 D0 63 00 38 */ stfs f3, 0x38(r3)
/* 80347088 D1 23 00 3C */ stfs f9, 0x3c(r3)
/* 8034708C 4E 80 00 20 */ blr

View File

@ -1,53 +0,0 @@
lbl_80346F28:
/* 80346F28 7C 08 02 A6 */ mflr r0
/* 80346F2C 90 01 00 04 */ stw r0, 4(r1)
/* 80346F30 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80346F34 DB E1 00 38 */ stfd f31, 0x38(r1)
/* 80346F38 FF E0 20 90 */ fmr f31, f4
/* 80346F3C DB C1 00 30 */ stfd f30, 0x30(r1)
/* 80346F40 FF C0 18 90 */ fmr f30, f3
/* 80346F44 DB A1 00 28 */ stfd f29, 0x28(r1)
/* 80346F48 FF A0 10 90 */ fmr f29, f2
/* 80346F4C 93 E1 00 24 */ stw r31, 0x24(r1)
/* 80346F50 7C 7F 1B 78 */ mr r31, r3
/* 80346F54 C0 A2 CB 38 */ lfs f5, lit_105(r2)
/* 80346F58 C0 02 CB 3C */ lfs f0, lit_106(r2)
/* 80346F5C EC 25 00 72 */ fmuls f1, f5, f1
/* 80346F60 EC 20 00 72 */ fmuls f1, f0, f1
/* 80346F64 48 02 5A 61 */ bl tanf
/* 80346F68 C0 62 CB 28 */ lfs f3, lit_99(r2)
/* 80346F6C EC 5F F0 28 */ fsubs f2, f31, f30
/* 80346F70 EC 1F 07 B2 */ fmuls f0, f31, f30
/* 80346F74 EC 83 08 24 */ fdivs f4, f3, f1
/* 80346F78 EC 24 E8 24 */ fdivs f1, f4, f29
/* 80346F7C D0 3F 00 00 */ stfs f1, 0(r31)
/* 80346F80 EC 63 10 24 */ fdivs f3, f3, f2
/* 80346F84 C0 42 CB 30 */ lfs f2, lit_101(r2)
/* 80346F88 D0 5F 00 04 */ stfs f2, 4(r31)
/* 80346F8C D0 5F 00 08 */ stfs f2, 8(r31)
/* 80346F90 D0 5F 00 0C */ stfs f2, 0xc(r31)
/* 80346F94 D0 5F 00 10 */ stfs f2, 0x10(r31)
/* 80346F98 FC 20 F0 50 */ fneg f1, f30
/* 80346F9C FC 00 00 50 */ fneg f0, f0
/* 80346FA0 D0 9F 00 14 */ stfs f4, 0x14(r31)
/* 80346FA4 EC 21 00 F2 */ fmuls f1, f1, f3
/* 80346FA8 D0 5F 00 18 */ stfs f2, 0x18(r31)
/* 80346FAC EC 03 00 32 */ fmuls f0, f3, f0
/* 80346FB0 D0 5F 00 1C */ stfs f2, 0x1c(r31)
/* 80346FB4 D0 5F 00 20 */ stfs f2, 0x20(r31)
/* 80346FB8 D0 5F 00 24 */ stfs f2, 0x24(r31)
/* 80346FBC D0 3F 00 28 */ stfs f1, 0x28(r31)
/* 80346FC0 D0 1F 00 2C */ stfs f0, 0x2c(r31)
/* 80346FC4 D0 5F 00 30 */ stfs f2, 0x30(r31)
/* 80346FC8 D0 5F 00 34 */ stfs f2, 0x34(r31)
/* 80346FCC C0 02 CB 34 */ lfs f0, lit_102(r2)
/* 80346FD0 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 80346FD4 D0 5F 00 3C */ stfs f2, 0x3c(r31)
/* 80346FD8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80346FDC CB E1 00 38 */ lfd f31, 0x38(r1)
/* 80346FE0 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 80346FE4 CB A1 00 28 */ lfd f29, 0x28(r1)
/* 80346FE8 83 E1 00 24 */ lwz r31, 0x24(r1)
/* 80346FEC 38 21 00 40 */ addi r1, r1, 0x40
/* 80346FF0 7C 08 03 A6 */ mtlr r0
/* 80346FF4 4E 80 00 20 */ blr

View File

@ -1,74 +0,0 @@
lbl_80016FB8:
/* 80016FB8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80016FBC 7C 08 02 A6 */ mflr r0
/* 80016FC0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80016FC4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80016FC8 7C 7F 1B 78 */ mr r31, r3
/* 80016FCC 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80016FD0 38 81 00 0C */ addi r4, r1, 0xc
/* 80016FD4 38 A1 00 08 */ addi r5, r1, 8
/* 80016FD8 48 33 FA 75 */ bl CARDProbeEx
/* 80016FDC 2C 03 FF FD */ cmpwi r3, -3
/* 80016FE0 40 82 00 10 */ bne lbl_80016FF0
/* 80016FE4 38 00 00 00 */ li r0, 0
/* 80016FE8 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80016FEC 48 00 00 B8 */ b lbl_800170A4
lbl_80016FF0:
/* 80016FF0 2C 03 FF 80 */ cmpwi r3, -128
/* 80016FF4 40 82 00 10 */ bne lbl_80017004
/* 80016FF8 38 00 00 0C */ li r0, 0xc
/* 80016FFC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017000 48 00 00 A4 */ b lbl_800170A4
lbl_80017004:
/* 80017004 2C 03 FF FE */ cmpwi r3, -2
/* 80017008 40 82 00 10 */ bne lbl_80017018
/* 8001700C 38 00 00 0A */ li r0, 0xa
/* 80017010 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017014 48 00 00 90 */ b lbl_800170A4
lbl_80017018:
/* 80017018 80 01 00 08 */ lwz r0, 8(r1)
/* 8001701C 2C 00 20 00 */ cmpwi r0, 0x2000
/* 80017020 41 82 00 10 */ beq lbl_80017030
/* 80017024 38 00 00 0B */ li r0, 0xb
/* 80017028 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 8001702C 48 00 00 78 */ b lbl_800170A4
lbl_80017030:
/* 80017030 7F E3 FB 78 */ mr r3, r31
/* 80017034 48 00 01 15 */ bl mount__15mDoMemCd_Ctrl_cFv
/* 80017038 2C 03 00 00 */ cmpwi r3, 0
/* 8001703C 41 82 00 68 */ beq lbl_800170A4
/* 80017040 7F E3 FB 78 */ mr r3, r31
/* 80017044 48 00 02 31 */ bl loadfile__15mDoMemCd_Ctrl_cFv
/* 80017048 2C 03 00 00 */ cmpwi r3, 0
/* 8001704C 41 82 00 10 */ beq lbl_8001705C
/* 80017050 38 00 00 01 */ li r0, 1
/* 80017054 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017058 48 00 00 4C */ b lbl_800170A4
lbl_8001705C:
/* 8001705C 7F E3 FB 78 */ mr r3, r31
/* 80017060 48 00 02 75 */ bl checkspace__15mDoMemCd_Ctrl_cFv
/* 80017064 2C 03 00 02 */ cmpwi r3, 2
/* 80017068 41 82 00 34 */ beq lbl_8001709C
/* 8001706C 40 80 00 38 */ bge lbl_800170A4
/* 80017070 2C 03 00 00 */ cmpwi r3, 0
/* 80017074 41 82 00 10 */ beq lbl_80017084
/* 80017078 40 80 00 18 */ bge lbl_80017090
/* 8001707C 48 00 00 28 */ b lbl_800170A4
/* 80017080 48 00 00 24 */ b lbl_800170A4
lbl_80017084:
/* 80017084 38 00 00 02 */ li r0, 2
/* 80017088 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 8001708C 48 00 00 18 */ b lbl_800170A4
lbl_80017090:
/* 80017090 38 00 00 08 */ li r0, 8
/* 80017094 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017098 48 00 00 0C */ b lbl_800170A4
lbl_8001709C:
/* 8001709C 38 00 00 09 */ li r0, 9
/* 800170A0 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
lbl_800170A4:
/* 800170A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800170A8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800170AC 7C 08 03 A6 */ mtlr r0
/* 800170B0 38 21 00 20 */ addi r1, r1, 0x20
/* 800170B4 4E 80 00 20 */ blr

View File

@ -1,84 +0,0 @@
lbl_80017148:
/* 80017148 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001714C 7C 08 02 A6 */ mflr r0
/* 80017150 90 01 00 14 */ stw r0, 0x14(r1)
/* 80017154 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80017158 7C 7F 1B 78 */ mr r31, r3
/* 8001715C 88 63 1F BC */ lbz r3, 0x1fbc(r3)
/* 80017160 3C 80 80 3E */ lis r4, MemCardWorkArea0@ha /* 0x803E0F40@ha */
/* 80017164 38 84 0F 40 */ addi r4, r4, MemCardWorkArea0@l /* 0x803E0F40@l */
/* 80017168 38 A0 00 00 */ li r5, 0
/* 8001716C 48 34 01 89 */ bl CARDMount
/* 80017170 2C 03 FF FB */ cmpwi r3, -5
/* 80017174 41 82 00 44 */ beq lbl_800171B8
/* 80017178 40 80 00 28 */ bge lbl_800171A0
/* 8001717C 2C 03 FF F3 */ cmpwi r3, -13
/* 80017180 41 82 00 CC */ beq lbl_8001724C
/* 80017184 40 80 00 10 */ bge lbl_80017194
/* 80017188 2C 03 FF 80 */ cmpwi r3, -128
/* 8001718C 41 82 00 2C */ beq lbl_800171B8
/* 80017190 48 00 00 CC */ b lbl_8001725C
lbl_80017194:
/* 80017194 2C 03 FF FA */ cmpwi r3, -6
/* 80017198 40 80 00 40 */ bge lbl_800171D8
/* 8001719C 48 00 00 C0 */ b lbl_8001725C
lbl_800171A0:
/* 800171A0 2C 03 00 00 */ cmpwi r3, 0
/* 800171A4 41 82 00 34 */ beq lbl_800171D8
/* 800171A8 40 80 00 B4 */ bge lbl_8001725C
/* 800171AC 2C 03 FF FD */ cmpwi r3, -3
/* 800171B0 41 82 00 18 */ beq lbl_800171C8
/* 800171B4 48 00 00 A8 */ b lbl_8001725C
lbl_800171B8:
/* 800171B8 38 00 00 0C */ li r0, 0xc
/* 800171BC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800171C0 38 60 00 00 */ li r3, 0
/* 800171C4 48 00 00 9C */ b lbl_80017260
lbl_800171C8:
/* 800171C8 38 00 00 00 */ li r0, 0
/* 800171CC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800171D0 38 60 00 00 */ li r3, 0
/* 800171D4 48 00 00 8C */ b lbl_80017260
lbl_800171D8:
/* 800171D8 88 7F 1F BC */ lbz r3, 0x1fbc(r31)
/* 800171DC 48 33 F7 19 */ bl CARDCheck
/* 800171E0 38 03 00 0D */ addi r0, r3, 0xd
/* 800171E4 28 00 00 0D */ cmplwi r0, 0xd
/* 800171E8 41 81 00 74 */ bgt lbl_8001725C
/* 800171EC 3C 60 80 3A */ lis r3, lit_3850@ha /* 0x803A3530@ha */
/* 800171F0 38 63 35 30 */ addi r3, r3, lit_3850@l /* 0x803A3530@l */
/* 800171F4 54 00 10 3A */ slwi r0, r0, 2
/* 800171F8 7C 03 00 2E */ lwzx r0, r3, r0
/* 800171FC 7C 09 03 A6 */ mtctr r0
/* 80017200 4E 80 04 20 */ bctr
/* 80017204 38 60 00 01 */ li r3, 1
/* 80017208 48 00 00 58 */ b lbl_80017260
/* 8001720C 38 00 00 07 */ li r0, 7
/* 80017210 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017214 38 60 00 00 */ li r3, 0
/* 80017218 48 00 00 48 */ b lbl_80017260
/* 8001721C 38 00 00 0C */ li r0, 0xc
/* 80017220 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017224 38 60 00 00 */ li r3, 0
/* 80017228 48 00 00 38 */ b lbl_80017260
/* 8001722C 38 00 00 00 */ li r0, 0
/* 80017230 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017234 38 60 00 00 */ li r3, 0
/* 80017238 48 00 00 28 */ b lbl_80017260
/* 8001723C 38 00 00 06 */ li r0, 6
/* 80017240 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017244 38 60 00 00 */ li r3, 0
/* 80017248 48 00 00 18 */ b lbl_80017260
lbl_8001724C:
/* 8001724C 38 00 00 06 */ li r0, 6
/* 80017250 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 80017254 38 60 00 00 */ li r3, 0
/* 80017258 48 00 00 08 */ b lbl_80017260
lbl_8001725C:
/* 8001725C 38 60 00 00 */ li r3, 0
lbl_80017260:
/* 80017260 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80017264 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80017268 7C 08 03 A6 */ mtlr r0
/* 8001726C 38 21 00 10 */ addi r1, r1, 0x10
/* 80017270 4E 80 00 20 */ blr

View File

@ -1,56 +0,0 @@
lbl_80017360:
/* 80017360 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80017364 7C 08 02 A6 */ mflr r0
/* 80017368 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001736C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80017370 7C 7F 1B 78 */ mr r31, r3
/* 80017374 2C 04 FF FB */ cmpwi r4, -5
/* 80017378 41 82 00 48 */ beq lbl_800173C0
/* 8001737C 40 80 00 28 */ bge lbl_800173A4
/* 80017380 2C 04 FF F3 */ cmpwi r4, -13
/* 80017384 41 82 00 70 */ beq lbl_800173F4
/* 80017388 40 80 00 10 */ bge lbl_80017398
/* 8001738C 2C 04 FF 80 */ cmpwi r4, -128
/* 80017390 41 82 00 30 */ beq lbl_800173C0
/* 80017394 48 00 00 74 */ b lbl_80017408
lbl_80017398:
/* 80017398 2C 04 FF FA */ cmpwi r4, -6
/* 8001739C 40 80 00 3C */ bge lbl_800173D8
/* 800173A0 48 00 00 68 */ b lbl_80017408
lbl_800173A4:
/* 800173A4 2C 04 00 00 */ cmpwi r4, 0
/* 800173A8 41 82 00 30 */ beq lbl_800173D8
/* 800173AC 40 80 00 5C */ bge lbl_80017408
/* 800173B0 2C 04 FF FD */ cmpwi r4, -3
/* 800173B4 41 82 00 18 */ beq lbl_800173CC
/* 800173B8 40 80 00 50 */ bge lbl_80017408
/* 800173BC 48 00 00 44 */ b lbl_80017400
lbl_800173C0:
/* 800173C0 38 00 00 0C */ li r0, 0xc
/* 800173C4 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173C8 48 00 00 40 */ b lbl_80017408
lbl_800173CC:
/* 800173CC 38 00 00 00 */ li r0, 0
/* 800173D0 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173D4 48 00 00 34 */ b lbl_80017408
lbl_800173D8:
/* 800173D8 88 7F 1F BC */ lbz r3, 0x1fbc(r31)
/* 800173DC 48 33 F5 19 */ bl CARDCheck
/* 800173E0 2C 03 00 00 */ cmpwi r3, 0
/* 800173E4 41 82 00 24 */ beq lbl_80017408
/* 800173E8 38 00 00 07 */ li r0, 7
/* 800173EC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173F0 48 00 00 18 */ b lbl_80017408
lbl_800173F4:
/* 800173F4 38 00 00 06 */ li r0, 6
/* 800173F8 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
/* 800173FC 48 00 00 0C */ b lbl_80017408
lbl_80017400:
/* 80017400 38 00 00 02 */ li r0, 2
/* 80017404 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
lbl_80017408:
/* 80017408 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001740C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80017410 7C 08 03 A6 */ mtlr r0
/* 80017414 38 21 00 10 */ addi r1, r1, 0x10
/* 80017418 4E 80 00 20 */ blr

View File

@ -164,11 +164,8 @@ public:
/* 80146188 */ int chkPassed1(cXyz, int);
/* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int);
cXyz* getPntPos(u16 i_idx) {
u16 tmpidx = i_idx;
dStage_dPnt_c* tmppnt = &mpRoomPath->m_points[tmpidx];
return &tmppnt->m_position;
inline cXyz& getPntPos(u16 i_idx) {
return mpRoomPath->m_points[i_idx].m_position;
}
int chkClose() {
@ -176,7 +173,7 @@ public:
return roomPath;
}
u16& getNumPnts() {
u16 getNumPnts() {
dPath* path = mpRoomPath;
return path->m_num;
}

View File

@ -153,6 +153,7 @@ public:
u8 getLifeGaugeSE() { return mLifeGaugeSE; }
const char* getSaveStageName() { return mSaveStageName; }
void onShopTalkFlag() { mShopTalkFlag = true; }
void offShopTalkFlag() { mShopTalkFlag = false; }
void setLightDropGetFlag(int index, u8 flag) { mLightDropGetFlag[index] = flag; }
u8 getRentalBombBag() { return mRentalBombBagIdx; }
void setTableMapRegionNo(u8 regionNo) { mTableMapRegionNo = regionNo; }

View File

@ -110,7 +110,7 @@ public:
/* 8019A020 */ int seq_finish(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A0C0 */ bool seq_event(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A0D0 */ int shop_init(bool);
/* 8019A158 */ void shop_process(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A158 */ int shop_process(fopAc_ac_c*, dMsgFlow_c*);
/* 8019A238 */ void createShopItem(int);
/* 8019A344 */ void setSeq(u8);
/* 8019A354 */ void setSoldOutFlag();

View File

@ -20,10 +20,13 @@
extern "C" {
#endif
// Pack value into bitfield
// Pack value into bitfield
#define GX_BITFIELD_SET(field, pos, size, value) (field) = __rlwimi((field), (value), 31 - (pos) - (size) + 1, (pos), (pos) + (size)-1)
#define INSERT_FIELD(reg, value, nbits, shift) \
(reg) = ((u32) (reg) & ~(((1 << (nbits)) - 1) << (shift))) | \
((u32) (value) << (shift));
#define GX_LOAD_BP_REG 0x61
#define GX_NOP 0
@ -108,6 +111,19 @@ inline void GXTexCoord2s8(s8 x, s8 y) {
GFX_FIFO(s8) = y;
}
inline void GFWriteBPCmd(u32 param_1) {
GXFIFO.u8 = 0x61;
GXFIFO.u32 = param_1;
}
inline void GFFill(u16 param_1, u32 param_2) {
GXFIFO.u8 = 0x10;
GXFIFO.u16 = 0;
GXFIFO.u16 = param_1;
GXFIFO.u32 = param_2;
}
inline void i_GXEnd() {}
#ifdef __cplusplus

View File

@ -30,7 +30,7 @@ typedef struct create_request {
layer_class* mpLayer;
} create_request; // Size: 0x48
BOOL fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId);
bool fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId);
BOOL fpcCtRq_IsCreatingByID(unsigned int id);
void fpcCtRq_CreateQTo(create_request* pReq);
void fpcCtRq_ToCreateQ(create_request* pReq);

View File

@ -41,7 +41,7 @@ s32 fpcLy_ToQueue(layer_class* pLayer, int treeListIdx, create_tag_class* pTag);
s32 fpcLy_QueueTo(layer_class* pLayer, create_tag_class* pTag);
void fpcLy_Cancel(layer_class* pLayer);
BOOL fpcLy_CancelMethod(struct process_method_tag_class* pLayer);
bool fpcLy_CancelMethod(struct process_method_tag_class* pLayer);
void fpcLy_CancelQTo(struct process_method_tag_class* pMthd);
s32 fpcLy_ToCancelQ(layer_class* pLayer, struct process_method_tag_class* pMthd);

View File

@ -1147,33 +1147,21 @@ void JKRExpHeap::CMemBlock::initiate(JKRExpHeap::CMemBlock* prev, JKRExpHeap::CM
/* 802D0830-802D0874 2CB170 0044+00 3/3 0/0 0/0 .text
* allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */
#ifdef NONMATCHING
JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 size, u8 groupId1, u8 alignment1,
u8 groupId2, u8 alignment2) {
CMemBlock* block = NULL;
mGroupId = groupId1;
mFlags = alignment1;
if (getSize() >= size + sizeof(CMemBlock)) {
CMemBlock* newblock = (CMemBlock*)(size + (u32)this);
newblock[1].mGroupId = groupId2;
newblock[1].mFlags = alignment2;
newblock[1].size = this->size - (size + sizeof(CMemBlock));
block = (CMemBlock*)(size + (u32)this);
block[1].mGroupId = groupId2;
block[1].mFlags = alignment2;
block[1].size = this->size - (size + sizeof(CMemBlock));
this->size = size;
block = newblock + 1;
block = block + 1;
}
return block;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 param_0, u8 param_1, u8 param_2,
u8 param_3, u8 param_4) {
nofralloc
#include "asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s"
}
#pragma pop
#endif
/* 802D0874-802D08CC 2CB1B4 0058+00 1/1 0/0 0/0 .text
* allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */

View File

@ -311,7 +311,6 @@ u32 JKRFileCache::readResource(void* dst, u32 dstLength, u32, const char* path)
/* 802D50D4-802D5164 2CFA14 0090+00 1/0 0/0 0/0 .text removeResourceAll__12JKRFileCacheFv
*/
#ifdef NONMATCHING
void JKRFileCache::removeResourceAll(void) {
ASSERT(isMounted());
@ -319,22 +318,11 @@ void JKRFileCache::removeResourceAll(void) {
iterator = mCacheBlockList.getFirst();
while (iterator != mCacheBlockList.getEnd()) {
JKRFreeToHeap(mParentHeap, iterator->mMemoryPtr);
mCacheBlockList.remove(iterator.mLink);
JSUListIterator<CCacheBlock> next = iterator++;
CCacheBlock* cacheBlock = next.getObject();
mCacheBlockList.remove(&iterator.getObject()->mCacheBlockLink);
CCacheBlock* cacheBlock = (iterator++).getObject();
delete cacheBlock;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRFileCache::removeResourceAll() {
nofralloc
#include "asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s"
}
#pragma pop
#endif
/* 802D5164-802D51F8 2CFAA4 0094+00 1/0 0/0 0/0 .text removeResource__12JKRFileCacheFPv
*/

View File

@ -4,27 +4,16 @@
//
#include "JSystem/JUtility/JUTFont.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" void __ct__7JUTFontFv();
extern "C" void initialize_state__7JUTFontFv();
extern "C" void setCharColor__7JUTFontFQ28JUtility6TColor();
extern "C" void setGradColor__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor();
extern "C" void drawString_size_scale__7JUTFontFffffPCcUlb();
//
// External References:
//
extern "C" void _savegpr_27();
extern "C" void _restgpr_27();
extern "C" extern void* __vt__7JUTFont[17];
//
// Declarations:
//
@ -61,33 +50,23 @@ void JUTFont::setGradColor(JUtility::TColor col1, JUtility::TColor col2) {
/* 802DEE28-802DEF48 2D9768 0120+00 0/0 3/3 0/0 .text drawString_size_scale__7JUTFontFffffPCcUlb
*/
#ifdef NONMATCHING
f32 JUTFont::drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* str, u32 usz,
bool a7) {
f32 temp = a1;
for (; usz > 0; usz--, str++) {
u32 b = *(u8*)str;
u32 c = *(u8*)str;
u32 b = c;
if (isLeadByte(b)) {
str++;
b = (b << 8 | *(u8*)str);
b <<= 8;
b |= *(u8*)str;
usz--;
}
a1 += drawChar_scale(temp, a2, a3, a4, b, a7);
a1 += drawChar_scale(a1, a2, a3, a4, b, a7);
a7 = 1;
}
return a1 - temp;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm f32 JUTFont::drawString_size_scale(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
char const* param_4, u32 param_5, bool param_6) {
nofralloc
#include "asm/JSystem/JUtility/JUTFont/drawString_size_scale__7JUTFontFffffPCcUlb.s"
}
#pragma pop
#endif

View File

@ -6,7 +6,6 @@
#include "dolphin/dvd/dvdfs.h"
#include "dolphin/dvd/dvd.h"
#include "dolphin/os/OS.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "MSL_C/MSL_Common/Src/ctype.h"
@ -74,14 +73,6 @@ void __DVDFSInit() {
}
/* ############################################################################################## */
/* 803D1380-803D1448 02E4A0 00C8+00 1/1 0/0 0/0 .data @119 */
SECTION_DATA static char lit_119[] =
"DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): specified directory "
"or file (%s) doesn't match standard 8.3 format. This is a temporary restriction and will be "
"removed soon\n";
/* 804509E0-804509E8 000460 0008+00 3/3 0/0 0/0 .sdata @118 */
SECTION_SDATA static char lit_118[] = "dvdfs.c";
/* 80451768-8045176C 000C68 0004+00 4/4 0/0 0/0 .sbss currentDirectory */
static u32 currentDirectory;
@ -175,7 +166,13 @@ int DVDConvertPathToEntrynum(const char* pathPtr) {
illegal = TRUE;
if (illegal)
OSPanic(lit_118, 387, lit_119, origPathPtr);
OSPanic(__FILE__, 387,
"DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): "
"specified directory "
"or file (%s) doesn't match standard 8.3 format. This is a temporary "
"restriction and will be "
"removed soon\n",
origPathPtr);
} else {
for (ptr = pathPtr; (*ptr != '\0') && (*ptr != '/'); ptr++)
;
@ -336,22 +333,19 @@ BOOL DVDChangeDir(const char* dirName) {
}
/* ############################################################################################## */
/* 803D1480-803D14B4 02E5A0 0034+00 1/1 0/0 0/0 .data @239 */
SECTION_DATA static char lit_239[] = "DVDReadAsync(): specified area is out of the file ";
#define DVD_MIN_TRANSFER_SIZE 32
/* 80348D54-80348E14 343694 00C0+00 0/0 2/2 0/0 .text DVDReadAsyncPrio */
#ifdef NONMATCHING
BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
DVDCallback callback, s32 prio) {
if (!((0 <= offset) && (offset <= fileInfo->length))) {
OSPanic(lit_118, 750, lit_239);
OSPanic(__FILE__, 750, "DVDReadAsync(): specified area is out of the file ");
}
if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) {
OSPanic(lit_118, 756, lit_239);
OSPanic(__FILE__, 756, "DVDReadAsync(): specified area is out of the file ");
}
fileInfo->callback = callback;
@ -360,17 +354,6 @@ BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
return TRUE;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
DVDCallback callback, s32 prio) {
nofralloc
#include "asm/dolphin/dvd/dvdfs/DVDReadAsyncPrio.s"
}
#pragma pop
#endif
#ifndef offsetof
#define offsetof(type, memb) ((u32) & ((type*)0)->memb)
@ -397,11 +380,11 @@ int DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 p
int retVal;
if (!((0 <= offset) && (offset <= fileInfo->length))) {
OSPanic(lit_118, 820, "DVDRead(): specified area is out of the file ");
OSPanic(__FILE__, 820, "DVDRead(): specified area is out of the file ");
}
if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) {
OSPanic(lit_118, 826, "DVDRead(): specified area is out of the file ");
OSPanic(__FILE__, 826, "DVDRead(): specified area is out of the file ");
}
block = &(fileInfo->block);
@ -443,9 +426,6 @@ int DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 p
static void cbForReadSync(s32 result, DVDCommandBlock* block) { OSWakeupThread(&__DVDThreadQueue); }
/* ############################################################################################## */
/* 803D14E4-803D1520 02E604 003A+02 1/1 0/0 0/0 .data @311 */
SECTION_DATA static char lit_311[] = "Warning: DVDOpenDir(): file '%s' was not found under %s.\n";
/* 80348F80-80349040 3438C0 00C0+00 0/0 3/3 0/0 .text DVDOpenDir */
BOOL DVDOpenDir(const char* dirName, DVDDirectory* dir) {
s32 entry;
@ -454,7 +434,7 @@ BOOL DVDOpenDir(const char* dirName, DVDDirectory* dir) {
if (entry < 0) {
DVDGetCurrentDir(currentDir, 128);
OSReport(lit_311, dirName, currentDir);
OSReport("Warning: DVDOpenDir(): file '%s' was not found under %s.\n", dirName, currentDir);
return FALSE;
}

View File

@ -55,11 +55,17 @@ OSTime __OSGetSystemTime();
// Declarations:
//
typedef struct DVDBuffer {
void* addr;
u32 length;
u32 offset;
} DVDBuffer;
typedef struct DVDCommand {
s32 _0;
void* _4;
u32 _8;
u32 _c;
s32 cmd;
void* addr;
u32 length;
u32 offset;
DVDLowCallback callback;
} DVDCommand;
@ -112,7 +118,7 @@ static volatile u32 NextCommandNumber;
/* 80347674-803476B4 341FB4 0040+00 0/0 1/1 0/0 .text __DVDInitWA */
void __DVDInitWA() {
NextCommandNumber = 0;
((DVDCommand*)CommandList)[0]._0 = -1;
((DVDCommand*)CommandList)[0].cmd = -1;
__DVDLowSetWAType(0, 0);
OSInitAlarm();
}
@ -128,23 +134,13 @@ static OSAlarm AlarmForTimeout;
static OSAlarm AlarmForBreak;
/* 8044C8E8-8044C8F4 079608 000C+00 0/1 0/0 0/0 .bss Prev */
#pragma push
#pragma force_active on
static u32 Prev[3];
#pragma pop
static DVDBuffer Prev;
/* 8044C8F4-8044C900 079614 000C+00 0/2 0/0 0/0 .bss Curr */
#pragma push
#pragma force_active on
static u32 Curr[3];
#pragma pop
static DVDBuffer Curr;
/* 804509D8-804509E0 000458 0004+04 2/2 0/0 0/0 .sdata FirstRead */
SECTION_SDATA static BOOL FirstRead[1 + 1 /* padding */] = {
0x00000001,
/* padding */
0x00000000,
};
SECTION_SDATA static BOOL FirstRead = TRUE;
/* 803476B4-80347994 341FF4 02E0+00 0/0 1/1 0/0 .text __DVDInterruptHandler */
void __DVDInterruptHandler(u32 arg0, OSContext* context) {
@ -157,10 +153,10 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
OSContext localContext;
if (LastCommandWasRead) {
LastReadFinished = __OSGetSystemTime();
FirstRead[0] = 0;
Prev[0] = Curr[0];
Prev[1] = Curr[1];
Prev[2] = Curr[2];
FirstRead = FALSE;
Prev.addr = Curr.addr;
Prev.length = Curr.length;
Prev.offset = Curr.offset;
if (StopAtNextInt == TRUE) {
val |= 8;
@ -219,16 +215,16 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
if (val & 1) {
u32 num;
DVDCommand* command;
s32 cmd0 = CommandList[num = NextCommandNumber]._0;
s32 cmd0 = CommandList[num = NextCommandNumber].cmd;
if (cmd0 == 1) {
NextCommandNumber++;
command = &CommandList[num];
Read(command->_4, command->_8, command->_c, command->callback);
Read(command->addr, command->length, command->offset, command->callback);
rv = 1;
} else if (cmd0 == 2) {
NextCommandNumber++;
command = &CommandList[num];
DVDLowSeek(command->_c, command->callback);
DVDLowSeek(command->offset, command->callback);
rv = 1;
} else {
rv = 0;
@ -238,7 +234,7 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
return;
}
} else {
CommandList[0]._0 = -1;
CommandList[0].cmd = -1;
NextCommandNumber = 0;
}
@ -261,16 +257,16 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
static void AlarmHandler(OSAlarm* alarm, OSContext* context) {
DVDCommand* cmd;
u32 num;
s32 cmd0 = CommandList[num = NextCommandNumber]._0;
s32 cmd0 = CommandList[num = NextCommandNumber].cmd;
if (cmd0 == 1) {
++NextCommandNumber;
cmd = &CommandList[num];
Read(cmd->_4, cmd->_8, cmd->_c, cmd->callback);
Read(cmd->addr, cmd->length, cmd->offset, cmd->callback);
} else if (cmd0 == 2) {
++NextCommandNumber;
cmd = &CommandList[num];
DVDLowSeek(cmd->_c, cmd->callback);
DVDLowSeek(cmd->offset, cmd->callback);
}
}
@ -326,96 +322,86 @@ void SeekTwiceBeforeRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) {
val = temp + WorkAroundSeekLocation[0];
}
CommandList[0]._0 = 2;
CommandList[0]._c = val;
CommandList[0].cmd = 2;
CommandList[0].offset = val;
CommandList[0].callback = cb;
CommandList[1]._0 = 1;
CommandList[1]._4 = arg0;
CommandList[1]._8 = arg1;
CommandList[1]._c = arg2;
CommandList[1].cmd = 1;
CommandList[1].addr = arg0;
CommandList[1].length = arg1;
CommandList[1].offset = arg2;
CommandList[1].callback = cb;
CommandList[2]._0 = -1;
CommandList[2].cmd = -1;
NextCommandNumber = 0;
DVDLowSeek(val, cb);
}
BOOL HitCache() {
u32 uVar1 = (Prev.offset + Prev.length - 1) >> 15;
u32 uVar2 = (Curr.offset >> 15);
u32 iVar3 = (DVDGetCurrentDiskID()->is_streaming ? TRUE : FALSE) ? 5 : 15;
if ((uVar2 > uVar1 - 2) || (uVar2 < uVar1 + iVar3 + 3)) {
return TRUE;
}
return FALSE;
}
static void DoJustRead(void* addr, u32 length, u32 offset, DVDLowCallback callback) {
CommandList[0].cmd = -1;
NextCommandNumber = 0;
Read(addr, length, offset, callback);
}
static void WaitBeforeRead(void* addr, u32 length, u32 offset, DVDLowCallback callback,
OSTime timeout) {
CommandList[0].cmd = 1;
CommandList[0].addr = addr;
CommandList[0].length = length;
CommandList[0].offset = offset;
CommandList[0].callback = callback;
CommandList[1].cmd = -1;
NextCommandNumber = 0;
OSCreateAlarm(&AlarmForWA);
OSSetAlarm(&AlarmForWA, timeout, AlarmHandler);
}
/* 80347C18-80347EB0 342558 0298+00 0/0 4/4 0/0 .text DVDLowRead */
// Issues with alarm time calculation
#ifdef NONMATCHING
BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) {
BOOL DVDLowRead(void* addr, u32 length, u32 offset, DVDLowCallback cb) {
OSTime diff;
u32 prev;
__DIRegs[6] = length;
Curr.addr = addr;
Curr.length = length;
Curr.offset = offset;
if (WorkAroundType == 0) {
Curr[2] = -1;
NextCommandNumber = 0;
Read(arg0, arg1, arg2, cb);
DoJustRead(addr, length, offset, cb);
} else if (WorkAroundType == 1) {
if (FirstRead[0]) {
SeekTwiceBeforeRead(arg0, arg1, arg2, cb);
if (FirstRead) {
SeekTwiceBeforeRead(addr, length, offset, cb);
} else {
u32 curr2 = Curr[2] >> 15;
u32 prev1 = (Prev[2] + Prev[1] - 1) >> 15;
DVDDiskID* id = DVDGetCurrentDiskID();
BOOL is_streaming = id->is_streaming ? TRUE : FALSE;
u32 val;
BOOL val2;
if (is_streaming) {
val = 5;
if (!HitCache(&Curr, &Prev)) {
DoJustRead(addr, length, offset, cb);
} else {
val = 15;
}
if (curr2 > prev1 - 2 || curr2 < prev1 + (val + 3)) {
val2 = TRUE;
} else {
val2 = FALSE;
}
if (!val2) {
CommandList[0]._0 = -1;
NextCommandNumber = 0;
Read(arg0, arg1, arg2, cb);
} else {
curr2 = Curr[2] >> 15;
prev1 = (Prev[2] + Prev[1] - 1) >> 15;
if (curr2 == prev1 || curr2 + 1 == prev1) {
OSTime diff = __OSGetSystemTime() - LastReadFinished;
OSTime five_ms = (OSTime)OSMillisecondsToTicks(5);
if (diff < five_ms) {
CommandList[0]._0 = -1;
NextCommandNumber = 0;
Read(arg0, arg1, arg2, cb);
prev = (Prev.offset + Prev.length - 1) >> 15;
if (prev == Curr.offset >> 15 || prev + 1 == Curr.offset >> 15) {
diff = __OSGetSystemTime() - LastReadFinished;
if (OSMillisecondsToTicks(5) < diff) {
DoJustRead(addr, length, offset, cb);
} else {
OSTime temp;
temp = diff - five_ms + (OSTime)OSMicrosecondsToTicks(500);
CommandList[0]._0 = 1;
CommandList[0]._4 = arg0;
CommandList[0]._8 = arg1;
CommandList[0]._c = arg2;
CommandList[0].callback = cb;
CommandList[1]._0 = -1;
NextCommandNumber = 0;
OSCreateAlarm(&AlarmForWA);
OSSetAlarm(&AlarmForWA, temp, AlarmHandler);
WaitBeforeRead(addr, length, offset, cb,
OSMillisecondsToTicks(5) - diff +
OSMicrosecondsToTicks(500));
}
} else {
SeekTwiceBeforeRead(arg0, arg1, arg2, cb);
SeekTwiceBeforeRead(addr, length, offset, cb);
}
}
}
}
return TRUE;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) {
nofralloc
#include "asm/dolphin/dvd/dvdlow/DVDLowRead.s"
}
#pragma pop
#endif
/* 80347EB0-80347F44 3427F0 0094+00 3/3 2/2 0/0 .text DVDLowSeek */
BOOL DVDLowSeek(u32 arg0, DVDLowCallback cb) {

View File

@ -6,13 +6,12 @@
#include "dolphin/gf/GFGeometry.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "dolphin/gx/GX.h"
//
// Types:
//
struct _GXCullMode {};
//
// Forward References:
//
@ -43,6 +42,15 @@ SECTION_SDATA static u8 cm2hw[4 + 4 /* padding */] = {
};
/* 802CDDC8-802CDE54 2C8708 008C+00 0/0 0/0 1/1 .text GFSetGenMode2__FUcUcUcUc11_GXCullMode */
// reg alloc
#ifdef NONMATCHING
void GFSetGenMode2(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMode param_4) {
GFWriteBPCmd(0xFE07FC3F);
GFWriteBPCmd((param_0) | (param_1 << 4) | ((param_2 - 1) << 10) | (cm2hw[param_4] << 14) | (param_3 << 16));
GFFill(0x1009, param_1);
GFFill(0x103f, param_0);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -51,6 +59,7 @@ asm void GFSetGenMode2(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMo
#include "asm/dolphin/gf/GFGeometry/GFSetGenMode2__FUcUcUcUc11_GXCullMode.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 804508B0-804508B8 000330 0008+00 0/0 2/2 0/0 .sdata None */

View File

@ -4,23 +4,19 @@
//
#include "dolphin/gf/GFLight.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "dolphin/gx/GXEnum.h"
#include "dolphin/gx/GXStruct.h"
#include "dolphin/gx/GX.h"
//
// Types:
//
struct _GXColor {};
struct _GXChannelID {};
//
// Forward References:
//
extern "C" void GFSetChanAmbColor__F12_GXChannelID8_GXColor();
//
// External References:
//
@ -31,11 +27,7 @@ extern "C" void GFSetChanAmbColor__F12_GXChannelID8_GXColor();
/* 802CDE54-802CDE9C 2C8794 0048+00 0/0 0/0 1/1 .text GFSetChanAmbColor__F12_GXChannelID8_GXColor
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void GFSetChanAmbColor(_GXChannelID param_0, _GXColor param_1) {
nofralloc
#include "asm/dolphin/gf/GFLight/GFSetChanAmbColor__F12_GXChannelID8_GXColor.s"
}
#pragma pop
void GFSetChanAmbColor(_GXChannelID param_0, _GXColor param_1) {
GFFill((param_0 & 1) + 0x100a,
param_1.r << 0x18 | param_1.g << 0x10 | param_1.b << 8 | param_1.a);
}

View File

@ -4,110 +4,80 @@
//
#include "dolphin/gf/GFPixel.h"
#include "dol2asm.h"
#include "dolphin/gx/GXEnum.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
//
// Types:
//
struct _GXLogicOp {};
struct _GXFogType {};
struct _GXCompare {};
struct _GXColor {};
struct _GXBlendMode {};
struct _GXBlendFactor {};
//
// Forward References:
//
extern "C" void GFSetFog__F10_GXFogTypeffff8_GXColor();
extern "C" void
GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc();
extern "C" void GFSetZMode__FUc10_GXCompareUc();
//
// External References:
//
extern "C" void __cvt_fp2unsigned();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
//
// Declarations:
//
/* ############################################################################################## */
/* 80455F68-80455F6C 004568 0004+00 1/1 0/0 0/0 .sdata2 @293 */
SECTION_SDATA2 static u8 lit_293[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80455F6C-80455F70 00456C 0004+00 1/1 0/0 0/0 .sdata2 @294 */
SECTION_SDATA2 static f32 lit_294 = 0.5f;
/* 80455F70-80455F78 004570 0008+00 1/1 0/0 0/0 .sdata2 @295 */
SECTION_SDATA2 static f64 lit_295 = 1.0;
/* 80455F78-80455F80 004578 0004+04 1/1 0/0 0/0 .sdata2 @296 */
SECTION_SDATA2 static f32 lit_296[1 + 1 /* padding */] = {
2.0f,
/* padding */
0.0f,
};
/* 80455F80-80455F88 004580 0008+00 1/1 0/0 0/0 .sdata2 @297 */
SECTION_SDATA2 static f64 lit_297 = 0.5;
/* 80455F88-80455F90 004588 0004+04 1/1 0/0 0/0 .sdata2 @298 */
SECTION_SDATA2 static f32 lit_298[1 + 1 /* padding */] = {
8388638.0f,
/* padding */
0.0f,
};
/* 80455F90-80455F98 004590 0008+00 1/1 0/0 0/0 .sdata2 @301 */
SECTION_SDATA2 static f64 lit_301 = 4503601774854144.0 /* cast s32 to float */;
/* 802CDE9C-802CE004 2C87DC 0168+00 0/0 1/1 0/0 .text GFSetFog__F10_GXFogTypeffff8_GXColor */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void GFSetFog(_GXFogType param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
_GXColor param_5) {
nofralloc
#include "asm/dolphin/gf/GFPixel/GFSetFog__F10_GXFogTypeffff8_GXColor.s"
void GFSetFog(_GXFogType param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
_GXColor param_5) {
s32 r30;
s32 r30shift2;
u32 stack_c_u32;
f32 stack_c;
f32 r30shift;
f32 f3;
f32 f5;
if (param_4 == param_3 || param_2 == param_1) {
f5 = 0.0f;
f3 = 0.5f;
stack_c = 0.0f;
} else {
f5 = (param_4 * param_3) / ((param_4 - param_3) * (param_2 - param_1));
f3 = param_4 / (param_4 - param_3);
stack_c = param_1 / (param_2 - param_1);
}
r30 = 1;
while (f3 > 1.0) {
f3 *= 0.5f;
r30++;
}
while (f3 > 0.0f && f3 < 0.5) {
f3 *= 2.0f;
r30--;
}
r30shift = (f5 / (1 << r30));
r30shift2 = *(s32*)&r30shift;
stack_c_u32 = (*(u32*)&stack_c);
GFWriteBPCmd(((r30shift2 >> 12) & 0xfffff) | 0xee000000);
GFWriteBPCmd((u32)(8388638.0f * f3) | 0xef000000);
GFWriteBPCmd(r30 | 0xf0000000);
GFWriteBPCmd(((stack_c_u32 >> 12) & 0xfffff) | (((u32)param_0 << 21) & 0xffe00000) | 0xf1000000);
GFWriteBPCmd(param_5.b | param_5.g << 8 | param_5.r << 16 | 0xf2000000);
}
#pragma pop
/* 802CE004-802CE0A4 2C8944 00A0+00 0/0 1/1 0/0 .text
* GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void GFSetBlendModeEtc(_GXBlendMode param_0, _GXBlendFactor param_1, _GXBlendFactor param_2,
_GXLogicOp param_3, u8 param_4, u8 param_5, u8 param_6) {
nofralloc
#include "asm/dolphin/gf/GFPixel/GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc.s"
void GFSetBlendModeEtc(_GXBlendMode param_0, _GXBlendFactor param_1, _GXBlendFactor param_2,
_GXLogicOp param_3, u8 param_4, u8 param_5, u8 param_6) {
GFWriteBPCmd(((param_0 == 1) || (param_0 == 3)) | (param_0 == 2) << 1 | param_6 << 2 |
param_4 << 3 | param_5 << 4 | param_2 << 5 | param_1 << 8 | (param_0 == 3) << 11 |
param_3 << 12 | 0x41000000);
}
#pragma pop
/* 802CE0A4-802CE0D0 2C89E4 002C+00 0/0 1/1 0/0 .text GFSetZMode__FUc10_GXCompareUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void GFSetZMode(u8 param_0, _GXCompare param_1, u8 param_2) {
nofralloc
#include "asm/dolphin/gf/GFPixel/GFSetZMode__FUc10_GXCompareUc.s"
void GFSetZMode(u8 param_0, _GXCompare param_1, u8 param_2) {
GFWriteBPCmd(param_0 | param_1 << 1 | param_2 << 4 | 0x40000000);
}
#pragma pop

View File

@ -4,23 +4,19 @@
//
#include "dolphin/gf/GFTev.h"
#include "dol2asm.h"
#include "dolphin/gx/GXEnum.h"
#include "dolphin/gx/GXStruct.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
//
// Types:
//
struct _GXTevRegID {};
struct _GXColorS10 {};
//
// Forward References:
//
extern "C" void GFSetTevColorS10__F11_GXTevRegID11_GXColorS10();
//
// External References:
//
@ -31,11 +27,13 @@ extern "C" void GFSetTevColorS10__F11_GXTevRegID11_GXColorS10();
/* 802CE0D0-802CE138 2C8A10 0068+00 0/0 0/0 1/1 .text
* GFSetTevColorS10__F11_GXTevRegID11_GXColorS10 */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void GFSetTevColorS10(_GXTevRegID param_0, _GXColorS10 param_1) {
nofralloc
#include "asm/dolphin/gf/GFTev/GFSetTevColorS10__F11_GXTevRegID11_GXColorS10.s"
void GFSetTevColorS10(_GXTevRegID param_0, _GXColorS10 param_1) {
u32 uVar1 = (param_1.r & 0x7ffU) | ((param_1.a & 0x7ffU) << 12) |
((param_0 * 2 + 0xe0) << 24);
u32 uVar2 = (param_1.b & 0x7ffU) | ((param_1.g & 0x7ffU) << 12) | ((param_0 * 2 + 0xe1) << 24);
GFWriteBPCmd(uVar1);
GFWriteBPCmd(uVar2);
GFWriteBPCmd(uVar2);
GFWriteBPCmd(uVar2);
}
#pragma pop

View File

@ -15,6 +15,7 @@ LIBGF_A_O_FILES := \
$(BUILD_DIR)/libs/dolphin/gf/GFTev.o \
LIBGF_A_CFLAGS := \
-inline auto \
LIBGF_A_LDFLAGS := \
-nodefaults \

View File

@ -19,6 +19,7 @@ LIBMTX_A_O_FILES := \
LIBMTX_A_CFLAGS := \
-O4,p \
-lang=c \
-inline auto \
LIBMTX_A_LDFLAGS := \
-nodefaults \

View File

@ -12,32 +12,37 @@
//
/* ############################################################################################## */
/* 80456528-8045652C 004B28 0004+00 2/2 0/0 0/0 .sdata2 @99 */
SECTION_SDATA2 static f32 lit_99 = 1.0f;
/* 8045652C-80456530 004B2C 0004+00 1/1 0/0 0/0 .sdata2 @100 */
SECTION_SDATA2 static f32 lit_100 = 2.0f;
static void __C_MTXOrtho1(Mtx44 m, f32 l, f32 r, f32 t, f32 b) {
f32 temp_f10 = 1.0F / (r - l);
f32 temp_f8;
m[0][0] = 2.0F * temp_f10;
m[0][1] = 0.0F;
m[0][2] = 0.0F;
m[0][3] = temp_f10 * -(r + l);
/* 80456530-80456534 004B30 0004+00 2/2 0/0 0/0 .sdata2 @101 */
SECTION_SDATA2 static u8 lit_101[4] = {
0x00,
0x00,
0x00,
0x00,
};
temp_f8 = 1.0F / (t - b);
m[1][0] = 0.0F;
m[1][1] = 2.0F * temp_f8;
m[1][2] = 0.0F;
m[1][3] = temp_f8 * -(t + b);
}
/* 80456534-80456538 004B34 0004+00 2/2 0/0 0/0 .sdata2 @102 */
SECTION_SDATA2 static f32 lit_102 = -1.0f;
static void __C_MTXOrtho2(Mtx44 m, f32 f, f32 n) {
f32 temp_f4 = 1.0F / (f - n);
m[2][0] = 0.0F;
m[2][1] = 0.0F;
m[2][2] = -1.0F * temp_f4;
m[2][3] = -f * temp_f4;
/* 80456538-8045653C 004B38 0004+00 1/1 0/0 0/0 .sdata2 @105 */
SECTION_SDATA2 static f32 lit_105 = 0.5f;
/* 8045653C-80456540 004B3C 0004+00 1/1 0/0 0/0 .sdata2 @106 */
SECTION_SDATA2 static f32 lit_106 = 0.01745329238474369f;
m[3][0] = 0.0F;
m[3][1] = 0.0F;
m[3][2] = 0.0F;
m[3][3] = 1.0F;
}
/* 80346F28-80346FF8 341868 00D0+00 0/0 6/6 0/0 .text C_MTXPerspective */
// Functions match but has issues with float constants
#ifdef NONMATCHING
void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f)
{
f32 temp_f3;
@ -68,55 +73,11 @@ void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f)
m[3][2] = -1.0F;
m[3][3] = 0.0F;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void C_MTXPerspective(Mtx44 m, f32 fovy, f32 aspect, f32 near, f32 far) {
nofralloc
#include "asm/dolphin/mtx/mtx44/C_MTXPerspective.s"
}
#pragma pop
#endif
/* 80346FF8-80347090 341938 0098+00 0/0 11/11 2/2 .text C_MTXOrtho */
#ifdef NONMATCHING
void C_MTXOrtho(Mtx44 m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f)
{
f32 temp_f8;
f32 temp_f10;
f32 temp_f4;
__C_MTXOrtho1(m, l, r, t, b);
temp_f10 = 1.0F / (r - l);
m[0][0] = 2.0F * temp_f10;
m[0][1] = 0.0F;
m[0][2] = 0.0F;
m[0][3] = temp_f10 * -(r + l);
temp_f8 = 1.0F / (t - b);
m[1][0] = 0.0F;
m[1][1] = 2.0F * temp_f8;
m[1][2] = 0.0F;
m[1][3] = temp_f8 * -(t + b);
temp_f4 = 1.0F / (f - n);
m[2][0] = 0.0F;
m[2][1] = 0.0F;
m[2][2] = -1.0F * temp_f4;
m[2][3] = -f * temp_f4;
m[3][0] = 0.0F;
m[3][1] = 0.0F;
m[3][2] = 0.0F;
m[3][3] = 1.0F;
__C_MTXOrtho2(m, f, n);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void C_MTXOrtho(Mtx44 m, f32 top, f32 bottom, f32 left, f32 right, f32 near, f32 far) {
nofralloc
#include "asm/dolphin/mtx/mtx44/C_MTXOrtho.s"
}
#pragma pop
#endif

View File

@ -18,9 +18,9 @@ volatile OSContext* __OSFPUContext : (OS_BASE_CACHED | 0x00D8);
// External References:
//
extern u32 __OSLastInterruptSrr0;
extern s16 __OSLastInterrupt[4];
extern OSTime __OSLastInterruptTime;
extern volatile u32 __OSLastInterruptSrr0;
extern volatile s16 __OSLastInterrupt;
extern volatile OSTime __OSLastInterruptTime;
//
// Declarations:
@ -103,7 +103,10 @@ OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) {
/* ############################################################################################## */
/* 803CF918-803CF930 02CA38 0016+02 1/1 0/0 0/0 .data @13 */
#pragma push
#pragma force_active on
SECTION_DATA static char lit_13[] = " in \"%s\" on line %d.\n";
#pragma pop
// /* 803CF930-803CF958 02CA50 0026+02 0/0 0/0 0/0 .data @14 */
#pragma push
@ -321,7 +324,7 @@ void __OSUnhandledException(__OSException exception, OSContext* context, u32 dsi
break;
}
OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt[0],
OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt,
__OSLastInterruptSrr0, __OSLastInterruptTime);
PPCHalt();

View File

@ -44,7 +44,7 @@ extern u32 __PADFixBits;
static u32 Type[4];
/* 8044CB80-8044CBB0 0798A0 0030+00 8/8 0/0 0/0 .bss Origin */
static PADStatus Origin[4];
static volatile PADStatus Origin[4];
/* 80450A24-80450A28 0004A4 0004+00 7/7 0/0 0/0 .sdata ResettingChan */
SECTION_SDATA static s32 ResettingChan = 0x00000020;

View File

@ -922,8 +922,6 @@ void daNpcT_Path_c::reverse() {
}
/* 80145DD0-80145E38 140710 0068+00 2/2 0/0 8/8 .text setNextIdx__13daNpcT_Path_cFi */
#ifdef NONMATCHING
// getNumPnts inline appears to be wrong
int daNpcT_Path_c::setNextIdx(int param_0) {
u16 numPnts = getNumPnts();
@ -934,16 +932,6 @@ int daNpcT_Path_c::setNextIdx(int param_0) {
daNpcT_incIdx(param_0,mIdx,0,mDirection);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daNpcT_Path_c::setNextIdx(int param_0) {
nofralloc
#include "asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s"
}
#pragma pop
#endif
/* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */
#ifdef NONMATCHING

View File

@ -102,19 +102,24 @@ SECTION_SDATA2 static f32 lit_3671 = 1.0f;
/* 80037038-80037180 031978 0148+00 4/4 0/0 0/0 .text eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi
*/
#ifdef NONMATCHING
// Matches with literals
void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2) {
J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20);
J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42);
s32 roomNo = fopAcM_GetRoomNo(param_0);
// not sure what's up with mEcallback. Probably the argument type for dComIfGp_particle_set is wrong.
JPABaseEmitter* emitter = (JPABaseEmitter*)dComIfGp_particle_set(
0x15C, &param_0->current.pos, NULL, NULL, 0xFF, dPa_modelEcallBack::getEcallback(),
fopAcM_GetRoomNo(param_0), NULL, NULL, &param_1);
0x15C, &param_0->current.pos, NULL, NULL, 0xFF, (dPa_modelEcallBack*)&dPa_modelEcallBack::mEcallback,
roomNo, NULL, NULL, &param_1);
dPa_modelEcallBack::setModel(emitter, tubo_bmd, param_0->mTevStr, 3, tubo_btp, 0, param_2);
s32 roomNo2 = fopAcM_GetRoomNo(param_0);
dComIfGp_particle_set(0x15D, &param_0->current.pos, NULL, NULL, 0xFF,
dPa_control_c::getTsuboSelectTexEcallBack(param_2),
fopAcM_GetRoomNo(param_0), NULL, NULL, &param_1);
dPa_control_c::getTsuboSelectTexEcallBack(param_2),
roomNo2, NULL, NULL, &param_1);
}
#else
#pragma push

View File

@ -529,33 +529,21 @@ static u8 i_item_lst[23] = {
};
/* 800332F8-80033354 02DC38 005C+00 2/2 0/0 0/0 .text setLineUpItem__17dSv_player_item_cFv */
// this is close
#ifdef NONMATCHING
void dSv_player_item_c::setLineUpItem() {
int i1 = 0;
int i2 = 0;
for (; i1 < 24; i1++) {
for (int i1 = 0; i1 < 24; i1++) {
mItemSlots[i1] = NO_ITEM;
}
for (int i1 = 0; i1 < 23; i1++) {
if (mItems[i_item_lst[i1]] != NO_ITEM) {
mItemSlots[i2] = i_item_lst[i1];
u32 current = i_item_lst[i1];
if (mItems[current] != NO_ITEM) {
mItemSlots[i2] = current;
i2++;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSv_player_item_c::setLineUpItem() {
nofralloc
#include "asm/d/save/d_save/setLineUpItem__17dSv_player_item_cFv.s"
}
#pragma pop
#endif
u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const {
if (i_slotNo < MAX_ITEM_SLOTS) {
@ -566,15 +554,14 @@ u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const {
}
/* 80033370-80033450 02DCB0 00E0+00 1/1 2/2 0/0 .text setBottleItemIn__17dSv_player_item_cFUcUc */
#ifdef NONMATCHING
void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
u8 cur_item = dSv_item_rename(curItemIn);
u8 new_item = dSv_item_rename(newItemIn);
curItemIn = dSv_item_rename(curItemIn);
newItemIn = dSv_item_rename(newItemIn);
for (int i = 0; i < 4; i++) {
if (cur_item == mItems[i + SLOT_11]) {
setItem(i + SLOT_11, new_item);
if (new_item == HOT_SPRING) {
if (curItemIn == mItems[i + SLOT_11]) {
setItem(i + SLOT_11, newItemIn);
if (newItemIn == HOT_SPRING) {
dMeter2Info_setHotSpringTimer(i + SLOT_11);
}
@ -587,34 +574,13 @@ void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
nofralloc
#include "asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s"
}
#pragma pop
#endif
/* 80033450-80033494 02DD90 0044+00 0/0 26/26 0/0 .text
* setEmptyBottleItemIn__17dSv_player_item_cFUc */
// this is 1 instruction off
#ifdef NONMATCHING
void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) {
setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_itemNo));
i_itemNo = dSv_item_rename(i_itemNo);
setBottleItemIn(EMPTY_BOTTLE, i_itemNo);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) {
nofralloc
#include "asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s"
}
#pragma pop
#endif
void dSv_player_item_c::setEmptyBottle() {
for (int i = 0; i < 4; i++) {
@ -636,33 +602,21 @@ void dSv_player_item_c::setEmptyBottle(u8 i_itemNo) {
/* 80033598-800336BC 02DED8 0124+00 1/1 3/3 0/0 .text
* setEquipBottleItemIn__17dSv_player_item_cFUcUc */
// one instruction
#ifdef NONMATCHING
void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) {
u8 new_item = dSv_item_rename(newItemIn);
newItemIn = dSv_item_rename(newItemIn);
if (dComIfGs_getSelectItemIndex(curItemIn) >= SLOT_11 &&
dComIfGs_getSelectItemIndex(curItemIn) <= SLOT_14) {
if (new_item == HOT_SPRING) {
if (newItemIn == HOT_SPRING) {
dMeter2Info_setHotSpringTimer(dComIfGs_getSelectItemIndex(curItemIn));
}
setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn);
dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn);
dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn);
dComIfGp_setSelectItem(curItemIn);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) {
nofralloc
#include "asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s"
}
#pragma pop
#endif
void dSv_player_item_c::setEquipBottleItemEmpty(u8 curItemIn) {
setEquipBottleItemIn(curItemIn, EMPTY_BOTTLE);
@ -1270,23 +1224,12 @@ BOOL dSv_memBit_c::isSwitch(int i_no) const {
}
/* 8003488C-800348C4 02F1CC 0038+00 1/1 0/0 0/0 .text revSwitch__12dSv_memBit_cFi */
// instruction in wrong place
#ifdef NONMATCHING
BOOL dSv_memBit_c::revSwitch(int i_no) {
u32 switchInd = i_no >> 5;
u32 tmp = 1 << (i_no & 0x1F);
mSwitch[i_no >> 5] ^= tmp;
return mSwitch[i_no >> 5] & tmp ? TRUE : FALSE;
mSwitch[switchInd] ^= tmp;
return mSwitch[switchInd] & tmp ? TRUE : FALSE;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dSv_memBit_c::revSwitch(int i_no) {
nofralloc
#include "asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s"
}
#pragma pop
#endif
void dSv_memBit_c::onItem(int i_no) {
mItem[i_no >> 5] |= 1 << (i_no & 0x1F);
@ -1450,23 +1393,12 @@ BOOL dSv_zoneBit_c::isSwitch(int i_no) const {
}
/* 80034D78-80034DAC 02F6B8 0034+00 1/1 0/0 0/0 .text revSwitch__13dSv_zoneBit_cFi */
// instruction in wrong place
#ifdef NONMATCHING
BOOL dSv_zoneBit_c::revSwitch(int i_no) {
u32 switchInd = i_no >> 4;
int uVar1 = 1 << (i_no & 0xF);
mSwitch[i_no >> 4] ^= uVar1;
return mSwitch[i_no >> 4] & uVar1 ? TRUE : FALSE;
mSwitch[switchInd] ^= uVar1;
return mSwitch[switchInd] & uVar1 ? TRUE : FALSE;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dSv_zoneBit_c::revSwitch(int i_no) {
nofralloc
#include "asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s"
}
#pragma pop
#endif
void dSv_zoneBit_c::onOneSwitch(int i_no) {
mRoomSwitch |= (u16)(1 << i_no);
@ -1772,19 +1704,20 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
phi_r30 = true;
}
char* save_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size
card_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size
dSv_save_c* savedata = dComIfGs_getSaveData();
s64 play_time = (OSGetTime() - dComIfGs_getSaveStartTime());
s64 total_time = (play_time + dComIfGs_getSaveTotalTime()) / (OS_BUS_CLOCK / 4);
s64 total_time = (play_time + dComIfGs_getSaveTotalTime());
s64 play_time_secs = play_time / (OS_BUS_CLOCK / 4);
// 3599940 = 999:59 in seconds
if (total_time < 3599940) {
if (play_time_secs < 3599940) {
savedata->getPlayer().getPlayerInfo().setTotalTime(total_time);
}
savedata->getPlayer().getPlayerStatusB().setDateIpl(OSGetTime());
memcpy(save_ptr, savedata, sizeof(dSv_save_c));
memcpy(card_ptr, savedata, sizeof(dSv_save_c));
printf("Write size:%d\n", sizeof(dSv_save_c));
if (lantern_not_recovered == true) {
@ -1816,17 +1749,11 @@ asm int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
#endif
/* ############################################################################################## */
/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037927A = "LOAD size:%d\n";
#pragma pop
/* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */
// memcpy param loads out of order
#ifdef NONMATCHING
int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
memcpy(dComIfGs_getSaveData(), card_ptr + dataNum * 0xa94, sizeof(dSv_save_c));
card_ptr = card_ptr + dataNum * 0xa94;
memcpy(dComIfGs_getSaveData(), card_ptr, sizeof(dSv_save_c));
if (OSGetSoundMode() == OS_SOUND_MODE_MONO) {
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(OS_SOUND_MODE_MONO);
@ -1834,8 +1761,8 @@ int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
} else if (g_dComIfG_gameInfo.info.getPlayer().getConfig().getSound() == 2) {
Z2AudioMgr::mAudioMgrPtr->setOutputMode(2);
} else {
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_STEREO);
Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_STEREO);
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(OS_SOUND_MODE_STEREO);
Z2AudioMgr::mAudioMgrPtr->setOutputMode(OS_SOUND_MODE_STEREO);
}
dSv_save_c* savedata = dComIfGs_getSaveData();
@ -1865,49 +1792,22 @@ int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
printf("LOAD size:%d\n", sizeof(dSv_save_c));
return 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
nofralloc
#include "asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80379288 = "INIT size:%d\n";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80379296 = "\0";
#pragma pop
/* 80035BD0-80035C88 030510 00B8+00 0/0 3/3 0/0 .text initdata_to_card__10dSv_info_cFPci
*/
#ifdef NONMATCHING
int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) {
char* ptr = card_ptr + (dataNum * 0xa94);
card_ptr = card_ptr + (dataNum * 0xa94);
dSv_save_c tmp;
tmp.init();
tmp.getPlayer().getPlayerInfo().setPlayerName("");
tmp.getPlayer().getPlayerInfo().setHorseName("");
memcpy(&ptr, &tmp, 0x958);
memcpy(card_ptr, &tmp, 0x958);
printf("INIT size:%d\n", 0x958);
return 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum){nofralloc
#include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s"
}
#pragma pop
#endif
u16 const dSv_event_tmp_flag_c::tempBitLabels[185] = {
0xFFFF, 0xFFFF, 0xFF0F, 0xFEFF, 0x0040, 0xFDFF, 0xFCFF, 0x0020, 0x0080, 0x0010, 0x0008, 0x0004,

View File

@ -361,6 +361,32 @@ struct shop_item_data {
SECTION_DATA static shop_item_data item_seira_shop = {
{{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}};
#ifdef NONMATCHING
static processFunc process[22] = {
&dShopSystem_c::seq_wait,
&dShopSystem_c::seq_start,
&dShopSystem_c::seq_select_wait,
&dShopSystem_c::seq_select_start,
&dShopSystem_c::seq_select,
&dShopSystem_c::seq_moving,
&dShopSystem_c::seq_decide,
&dShopSystem_c::seq_choose,
&dShopSystem_c::seq_decide_yes,
&dShopSystem_c::seq_decide_no,
&dShopSystem_c::seq_finish,
(processFunc)&dShopSystem_c::seq_event,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
#else
/* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */
#pragma push
#pragma force_active on
@ -749,6 +775,7 @@ SECTION_DATA static u8 process[144 + 120 /* padding */] = {
0x00,
0x00,
};
#endif
/* 801974E4-801975C0 191E24 00DC+00 1/0 0/0 10/10 .text __dt__13dShopSystem_cFv */
dShopSystem_c::~dShopSystem_c() {
@ -2072,14 +2099,45 @@ int dShopSystem_c::shop_init(bool param_0) {
/* 8019A158-8019A238 194A98 00E0+00 0/0 0/0 9/9 .text
* shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
// process array match issues
#ifdef NONMATCHING
int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
int iVar1;
iVar1 = (this->*process[mSeq])(param_0, param_1);
if (mWaitTimer != 0) {
mWaitTimer--;
}
if (field_0xf7a != 0) {
dMeter2Info_set2DVibration();
field_0xf7a = 0;
}
if (iVar1 != 0) {
g_meter2_info.offShopTalkFlag();
if (mSeq != 0) {
setSeq(0);
}
if (iVar1 != 2) {
mCursorPos = 0;
mLastCursorPos = 0;
}
}
if (mSeq != field_0xf71) {
field_0xf71 = mSeq;
field_0xf79 = 1;
}
return iVar1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
asm int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
nofralloc
#include "asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 804506F8-80450700 -00001 0004+04 1/1 0/0 0/0 .sdata shop_item_pos_data_tbl */

View File

@ -19,9 +19,9 @@
/* 80020ACC-80020AE8 001C+00 s=1 e=0 z=0 None .text fpcCtRq_isCreatingByID__FP10create_tagPUi
*/
BOOL fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId) {
bool fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId) {
create_request* pReq = static_cast<create_request*>(pTag->mBase.mpTagData);
return checkEqual(*pId, pReq->mBsPcId);
return pReq->mBsPcId == *pId;
}
/* 80020AE8-80020B20 0038+00 s=0 e=2 z=0 None .text fpcCtRq_IsCreatingByID__FUi */

View File

@ -67,7 +67,7 @@ s32 fpcDt_ToDeleteQ(base_process_class* pProc) {
if (cTg_IsUse(&pProc->mDtTg.mBase) != 0) {
return 1;
} else {
if (fpcBs_Is_JustOfType(g_fpcNd_type, pProc->mSubType) != 0) {
if (fpcBs_Is_JustOfType(g_fpcNd_type, pProc->mSubType)) {
process_node_class* procNode = (process_node_class*)pProc;
if (fpcNd_IsDeleteTiming(procNode) == 0) {
return 0;

View File

@ -29,8 +29,8 @@ s32 fpcLy_ToCancelQ(layer_class* pLayer, process_method_tag_class* pMthd) {
/* 800215CC-800215F8 002C+00 s=1 e=0 z=0 None .text
* fpcLy_CancelMethod__FP24process_method_tag_class */
BOOL fpcLy_CancelMethod(process_method_tag_class* pLayer) {
return checkEqual(1, fpcMtdTg_Do(pLayer));
bool fpcLy_CancelMethod(process_method_tag_class* pLayer) {
return fpcMtdTg_Do(pLayer) == 1;
}
/* 800215F8-8002161C 0024+00 s=0 e=1 z=0 None .text

View File

@ -5,6 +5,7 @@
#include "m_Do/m_Do_MemCard.h"
#include "JSystem/JKernel/JKRThread.h"
#include "JSystem/JGadget/binary.h"
#include "MSL_C/MSL_Common/Src/string.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@ -15,47 +16,13 @@
// Forward References:
//
extern "C" void __ct__15mDoMemCd_Ctrl_cFv();
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
extern "C" void main__15mDoMemCd_Ctrl_cFv();
extern "C" void update__15mDoMemCd_Ctrl_cFv();
extern "C" void load__15mDoMemCd_Ctrl_cFv();
extern "C" void restore__15mDoMemCd_Ctrl_cFv();
extern "C" void LoadSync__15mDoMemCd_Ctrl_cFPvUlUl();
extern "C" void save__15mDoMemCd_Ctrl_cFPvUlUl();
extern "C" void store__15mDoMemCd_Ctrl_cFv();
extern "C" void SaveSync__15mDoMemCd_Ctrl_cFv();
extern "C" void getStatus__15mDoMemCd_Ctrl_cFUl();
extern "C" void command_format__15mDoMemCd_Ctrl_cFv();
extern "C" void format__15mDoMemCd_Ctrl_cFv();
extern "C" void FormatSync__15mDoMemCd_Ctrl_cFv();
extern "C" void attach__15mDoMemCd_Ctrl_cFv();
extern "C" void command_attach__15mDoMemCd_Ctrl_cFv();
extern "C" void detach__15mDoMemCd_Ctrl_cFv();
extern "C" void mount__15mDoMemCd_Ctrl_cFv();
extern "C" void loadfile__15mDoMemCd_Ctrl_cFv();
extern "C" void checkspace__15mDoMemCd_Ctrl_cFv();
extern "C" void setCardState__15mDoMemCd_Ctrl_cFl();
extern "C" static void mDoMemCd_main__FPv();
extern "C" void __sinit_m_Do_MemCard_cpp();
extern "C" extern char const* const m_Do_m_Do_MemCard__stringBase0;
//
// External References:
//
extern "C" void mDoExt_getAssertHeap__Fv();
extern "C" void mDoMemCdRWm_Store__FP12CARDFileInfoPvUl();
extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl();
extern "C" void becomeCurrentHeap__7JKRHeapFv();
extern "C" void __ct__9JKRThreadFP8OSThreadi();
extern "C" void __dt__9JKRThreadFv();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
//
// Declarations:
//
@ -378,18 +345,16 @@ s32 mDoMemCd_Ctrl_c::FormatSync() {
}
/* 80016FB8-800170B8 0118F8 0100+00 1/1 0/0 0/0 .text attach__15mDoMemCd_Ctrl_cFv */
// switch has case issues
#ifdef NONMATCHING
void mDoMemCd_Ctrl_c::attach() {
s32 mem_size;
s32 sect_size;
s32 card_state = CARDProbeEx(mChannel, &mem_size, &sect_size);
if (card_state == CARD_ERROR_NOCARD) {
if (card_state == CARD_RESULT_NOCARD) {
mCardState = 0;
} else if (card_state == CARD_ERROR_FATAL_ERROR) {
} else if (card_state == CARD_RESULT_FATAL_ERROR) {
mCardState = 12;
} else if (card_state == CARD_ERROR_WRONGDEVICE) {
} else if (card_state == CARD_RESULT_WRONGDEVICE) {
mCardState = 10;
} else if (sect_size != 0x2000) {
mCardState = 11;
@ -408,21 +373,13 @@ void mDoMemCd_Ctrl_c::attach() {
case 2:
mCardState = 9;
break;
case 3:
break;
}
}
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoMemCd_Ctrl_c::attach() {
nofralloc
#include "asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s"
}
#pragma pop
#endif
/* 800170B8-80017110 0119F8 0058+00 0/0 1/1 0/0 .text command_attach__15mDoMemCd_Ctrl_cFv
*/
@ -442,36 +399,48 @@ void mDoMemCd_Ctrl_c::detach() {
}
/* ############################################################################################## */
/* 803A3530-803A3568 -00001 0038+00 1/1 0/0 0/0 .data @3850 */
SECTION_DATA static void* lit_3850[14] = {
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xF4),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xC4),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xD4),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xE4),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xBC),
};
/* 803E0F40-803EAF40 00DC60 A000+00 1/1 0/0 0/0 .bss MemCardWorkArea0 */
static u8 MemCardWorkArea0[5 * 8 * 1024] ALIGN_DECL(32);
/* 80017148-80017274 011A88 012C+00 2/1 0/0 0/0 .text mount__15mDoMemCd_Ctrl_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s32 mDoMemCd_Ctrl_c::mount() {
nofralloc
#include "asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s"
s32 mDoMemCd_Ctrl_c::mount() {
s32 result = CARDMount(mChannel, MemCardWorkArea0, 0);
switch (result) {
case CARD_RESULT_IOERROR:
case CARD_RESULT_FATAL_ERROR:
mCardState = 12;
return 0;
case CARD_RESULT_NOCARD:
mCardState = 0;
return 0;
case CARD_RESULT_BROKEN:
case CARD_RESULT_READY:
switch (CARDCheck(mChannel)) {
case CARD_RESULT_READY:
return 1;
case CARD_RESULT_BROKEN:
mCardState = 7;
return 0;
case CARD_RESULT_IOERROR:
mCardState = 12;
return 0;
case CARD_RESULT_NOCARD:
mCardState = 0;
return 0;
case CARD_RESULT_ENCODING:
mCardState = 6;
return 0;
}
break;
case CARD_RESULT_ENCODING:
mCardState = 6;
return 0;
}
return 0;
}
#pragma pop
/* 80017274-800172D4 011BB4 0060+00 1/1 0/0 0/0 .text loadfile__15mDoMemCd_Ctrl_cFv */
s32 mDoMemCd_Ctrl_c::loadfile() {
@ -488,6 +457,26 @@ s32 mDoMemCd_Ctrl_c::loadfile() {
}
/* 800172D4-80017360 011C14 008C+00 1/1 0/0 0/0 .text checkspace__15mDoMemCd_Ctrl_cFv */
//
#ifdef NONMATCHING
// final return statement
s32 mDoMemCd_Ctrl_c::checkspace() {
s32 bytesNotUsed, filesNotUsed;
s32 result;
result = CARDFreeBlocks(mChannel, &bytesNotUsed, &filesNotUsed);
if (result) {
setCardState(result);
return 3;
}
if (bytesNotUsed < 0x8000) {
return 1;
}
return (filesNotUsed - 1 < 0);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -496,43 +485,33 @@ asm s32 mDoMemCd_Ctrl_c::checkspace() {
#include "asm/m_Do/m_Do_MemCard/checkspace__15mDoMemCd_Ctrl_cFv.s"
}
#pragma pop
#endif
/* 80017360-8001741C 011CA0 00BC+00 5/5 0/0 0/0 .text setCardState__15mDoMemCd_Ctrl_cFl
*/
// cases aren't fully correct
#ifdef NONMATCHING
void mDoMemCd_Ctrl_c::setCardState(s32 param_0) {
switch (param_0) {
case CARD_ERROR_IOERROR:
case CARD_ERROR_FATAL_ERROR:
case CARD_RESULT_IOERROR:
case CARD_RESULT_FATAL_ERROR:
mCardState = 12;
break;
case CARD_ERROR_NOCARD:
case CARD_RESULT_NOCARD:
mCardState = 0;
break;
case CARD_ERROR_READY:
case CARD_RESULT_BROKEN:
case CARD_RESULT_READY:
if (CARDCheck(mChannel) != 0) {
mCardState = 7;
}
break;
case CARD_ERROR_ENCODING:
case CARD_RESULT_ENCODING:
mCardState = 6;
break;
case CARD_ERROR_BROKEN:
case CARD_RESULT_NOFILE:
mCardState = 2;
break;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoMemCd_Ctrl_c::setCardState(s32 param_0) {
nofralloc
#include "asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803EAF40-803ECF40 017C60 2000+00 2/2 27/27 0/0 .bss g_mDoMemCd_control */

View File

@ -91,9 +91,10 @@ while idx < len(profile_bytes) - 16:
ADDI = 0x38 >> 2
LI = ADDI # an LI instruction is just an ADDI with RA=0
LMW = 0xB8 >> 2
FDIVS = 0xEC >> 2
if opcode_a == LWZ and \
opcode_b in [LI, LFS] and \
if opcode_a in [LWZ, LMW] and vanilla_inst_a[2] == 0x00 and \
opcode_b in [LI, LFS, FDIVS] and \
vanilla_inst_a == profile_inst_b and \
vanilla_inst_b == profile_inst_a and \
vanilla_inst_c == profile_inst_c and \