diff --git a/Makefile b/Makefile index d8907949..df29708a 100644 --- a/Makefile +++ b/Makefile @@ -117,6 +117,7 @@ ASFLAGS += -W endif $(BUILD_DIR)/src/os/__start.o: MWCC_VERSION := 1.2.5 +$(BUILD_DIR)/src/Dolphin/PPCArch.o: MWCC_VERSION := 1.2.5 #------------------------------------------------------------------------------- # Recipes diff --git a/asm/Dolphin/CARD/CARDBios.s b/asm/Dolphin/CARD/CARDBios.s index 4e2f1b15..4739910f 100644 --- a/asm/Dolphin/CARD/CARDBios.s +++ b/asm/Dolphin/CARD/CARDBios.s @@ -1,5 +1,24 @@ .include "macros.inc" +.section .data, "wa" +lbl_803F6C90: + .asciz "<< Dolphin SDK - CARD release build: Sep 5 2002 05:35:20 (0x2301) >>" + .balign 4 + +.global lbl_803F6CD8 +lbl_803F6CD8: + .4byte OnReset + .4byte 0x0000007f + +.skip 32 + +.section .sdata, "wa" + +.global lbl_805A8BF0 +lbl_805A8BF0: + .4byte lbl_803F6C90 + .skip 4 + .section .sbss, "wa" .global lbl_805A9BC8 diff --git a/asm/Dolphin/CARD/CARDMount.s b/asm/Dolphin/CARD/CARDMount.s index 02108e6f..0ab44f79 100644 --- a/asm/Dolphin/CARD/CARDMount.s +++ b/asm/Dolphin/CARD/CARDMount.s @@ -1,5 +1,35 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F6E60 +lbl_803F6E60: + .4byte 0x00002000 + .4byte 0x00004000 + .4byte 0x00008000 + .4byte 0x00010000 + .4byte 0x00020000 + .4byte 0x00040000 + .4byte 0x00000000 + .4byte 0x00000000 + +.global lbl_803F6E80 +lbl_803F6E80: + .4byte 0x00000004 + .4byte 0x00000008 + .4byte 0x00000010 + .4byte 0x00000020 + .4byte 0x00000040 + .4byte 0x00000080 + .4byte 0x00000100 + .4byte 0x00000200 + +.section .sdata, "wa" +.global lbl_805A8C00 +lbl_805A8C00: + .2byte 0xFFFF + .balign 4 + .section .text, "ax" .global IsCard diff --git a/asm/Dolphin/CARD/CARDUnlock.s b/asm/Dolphin/CARD/CARDUnlock.s index c294d967..66644895 100644 --- a/asm/Dolphin/CARD/CARDUnlock.s +++ b/asm/Dolphin/CARD/CARDUnlock.s @@ -1,5 +1,17 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F6D00 +lbl_803F6D00: + .incbin "baserom.dol", 0x3F3D00, 0x160 + +.section .sdata, "wa" +.global lbl_805A8BF8 +lbl_805A8BF8: + .4byte 1 + .skip 4 + .section .text, "ax" bitrev: diff --git a/asm/Dolphin/EXI/EXIBios.s b/asm/Dolphin/EXI/EXIBios.s index 8736a0cb..fee298cf 100644 --- a/asm/Dolphin/EXI/EXIBios.s +++ b/asm/Dolphin/EXI/EXIBios.s @@ -1,5 +1,11 @@ .include "macros.inc" +.section .sdata, "wa" + +.global lbl_805A8C10 +lbl_805A8C10: + .incbin "baserom.dol", 0x3F65B0, 0x8 + .section .text, "ax" .global SetExiInterruptMask diff --git a/asm/Dolphin/OS/OS.s b/asm/Dolphin/OS/OS.s index 8c4aca0d..0a8a717e 100644 --- a/asm/Dolphin/OS/OS.s +++ b/asm/Dolphin/OS/OS.s @@ -98,15 +98,15 @@ lbl_8037D858: /* 8037D864 0037A7C4 7C 08 03 A6 */ mtlr r0 /* 8037D868 0037A7C8 4E 80 00 20 */ blr -.global sub_8037d86c -sub_8037d86c: +.global InquiryCallback +InquiryCallback: /* 8037D86C 0037A7CC 80 04 00 0C */ lwz r0, 0xc(r4) /* 8037D870 0037A7D0 2C 00 00 00 */ cmpwi r0, 0 /* 8037D874 0037A7D4 41 82 00 08 */ beq lbl_8037D87C /* 8037D878 0037A7D8 48 00 00 20 */ b lbl_8037D898 lbl_8037D87C: -/* 8037D87C 0037A7DC 3C 60 80 54 */ lis r3, lbl_80541200@ha -/* 8037D880 0037A7E0 38 63 12 00 */ addi r3, r3, lbl_80541200@l +/* 8037D87C 0037A7DC 3C 60 80 54 */ lis r3, DriveInfo@ha +/* 8037D880 0037A7E0 38 63 12 00 */ addi r3, r3, DriveInfo@l /* 8037D884 0037A7E4 A0 03 00 02 */ lhz r0, 2(r3) /* 8037D888 0037A7E8 3C 60 80 00 */ lis r3, 0x800030E6@ha /* 8037D88C 0037A7EC 60 00 80 00 */ ori r0, r0, 0x8000 @@ -127,15 +127,15 @@ OSInit: /* 8037D8B4 0037A814 93 E1 00 14 */ stw r31, 0x14(r1) /* 8037D8B8 0037A818 93 C1 00 10 */ stw r30, 0x10(r1) /* 8037D8BC 0037A81C 93 A1 00 0C */ stw r29, 0xc(r1) -/* 8037D8C0 0037A820 80 0D AC D0 */ lwz r0, lbl_805A9890@sda21(r13) -/* 8037D8C4 0037A824 3C 60 80 54 */ lis r3, lbl_80541200@ha -/* 8037D8C8 0037A828 3B C3 12 00 */ addi r30, r3, lbl_80541200@l +/* 8037D8C0 0037A820 80 0D AC D0 */ lwz r0, AreWeInitialized@sda21(r13) +/* 8037D8C4 0037A824 3C 60 80 54 */ lis r3, DriveInfo@ha +/* 8037D8C8 0037A828 3B C3 12 00 */ addi r30, r3, DriveInfo@l /* 8037D8CC 0037A82C 2C 00 00 00 */ cmpwi r0, 0 /* 8037D8D0 0037A830 3C 60 80 3F */ lis r3, lbl_803F0DA0@ha /* 8037D8D4 0037A834 3B E3 0D A0 */ addi r31, r3, lbl_803F0DA0@l /* 8037D8D8 0037A838 40 82 03 2C */ bne lbl_8037DC04 /* 8037D8DC 0037A83C 38 00 00 01 */ li r0, 1 -/* 8037D8E0 0037A840 90 0D AC D0 */ stw r0, lbl_805A9890@sda21(r13) +/* 8037D8E0 0037A840 90 0D AC D0 */ stw r0, AreWeInitialized@sda21(r13) /* 8037D8E4 0037A844 48 00 7A E5 */ bl __OSGetSystemTime /* 8037D8E8 0037A848 90 8D AC EC */ stw r4, lbl_805A98AC@sda21(r13) /* 8037D8EC 0037A84C 90 6D AC E8 */ stw r3, lbl_805A98A8@sda21(r13) @@ -350,8 +350,8 @@ lbl_8037DBE4: /* 8037DBE4 0037AB44 7F C3 F3 78 */ mr r3, r30 /* 8037DBE8 0037AB48 38 80 00 20 */ li r4, 0x20 /* 8037DBEC 0037AB4C 48 00 0E 99 */ bl DCInvalidateRange -/* 8037DBF0 0037AB50 3C 60 80 38 */ lis r3, sub_8037d86c@ha -/* 8037DBF4 0037AB54 38 A3 D8 6C */ addi r5, r3, sub_8037d86c@l +/* 8037DBF0 0037AB50 3C 60 80 38 */ lis r3, InquiryCallback@ha +/* 8037DBF4 0037AB54 38 A3 D8 6C */ addi r5, r3, InquiryCallback@l /* 8037DBF8 0037AB58 7F C4 F3 78 */ mr r4, r30 /* 8037DBFC 0037AB5C 38 7E 00 20 */ addi r3, r30, 0x20 /* 8037DC00 0037AB60 4B FF 63 F1 */ bl DVDInquiryAsync diff --git a/asm/Dolphin/OS/OSMemory.s b/asm/Dolphin/OS/OSMemory.s index 4aa4b461..a9b76fa4 100644 --- a/asm/Dolphin/OS/OSMemory.s +++ b/asm/Dolphin/OS/OSMemory.s @@ -149,11 +149,6 @@ lbl_803829F4: /* 80382A0C 0037F96C 7C 08 03 A6 */ mtlr r0 /* 80382A10 0037F970 4E 80 00 20 */ blr -.include "macros.inc" - -.section .text, "ax" - -.global OnReset OnReset: /* 80382A14 0037F974 7C 08 02 A6 */ mflr r0 /* 80382A18 0037F978 2C 03 00 00 */ cmpwi r3, 0 diff --git a/asm/Dolphin/PAD/pad.s b/asm/Dolphin/PAD/pad.s index bc1f2b33..0cd58b9f 100644 --- a/asm/Dolphin/PAD/pad.s +++ b/asm/Dolphin/PAD/pad.s @@ -1,5 +1,10 @@ .include "macros.inc" +.section .data, "wa" +.global lbl_803F2398 +lbl_803F2398: + .incbin "baserom.dol", 0x3EF398, 0x10 + .section .text, "ax" # 0x80003640 - 0x803CB1C0 .global UpdateOrigin @@ -1738,8 +1743,7 @@ lbl_803873B4: /* 803873B8 00384318 98 64 00 07 */ stb r3, 7(r4) /* 803873BC 0038431C 4E 80 00 20 */ blr -.global sub_803873c0 -sub_803873c0: +OnReset: /* 803873C0 00384320 7C 08 02 A6 */ mflr r0 /* 803873C4 00384324 90 01 00 04 */ stw r0, 4(r1) /* 803873C8 00384328 94 21 FF D8 */ stwu r1, -0x28(r1) diff --git a/asm/Dolphin/SI/SIBios.s b/asm/Dolphin/SI/SIBios.s index e8ce15ef..aac8b496 100644 --- a/asm/Dolphin/SI/SIBios.s +++ b/asm/Dolphin/SI/SIBios.s @@ -1,6 +1,27 @@ .include "macros.inc" +.section .data, "wa" +.global lbl_803F6EA0 +lbl_803F6EA0: + .asciz "<< Dolphin SDK - SI release build: Sep 5 2002 05:33:08 (0x2301) >>" + +.balign 4 + +.global Si +Si: + .incbin "baserom.dol", 0x3F3EE4, 0x14 + +.global Type +Type: + .incbin "baserom.dol", 0x3F3EF8, 0xC0 + +.section .sdata, "wa" +.global __SIVersion +__SIVersion: + .4byte lbl_803F6EA0 + .skip 4 + .section .sbss, "wa" .global lbl_805A9BD0 lbl_805A9BD0: @@ -31,8 +52,8 @@ lbl_805A9BF4: .global SIBusy SIBusy: -/* 803BE6AC 003BB60C 3C 60 80 3F */ lis r3, lbl_803F6EE4@ha -/* 803BE6B0 003BB610 80 03 6E E4 */ lwz r0, lbl_803F6EE4@l(r3) +/* 803BE6AC 003BB60C 3C 60 80 3F */ lis r3, Si@ha +/* 803BE6B0 003BB610 80 03 6E E4 */ lwz r0, Si@l(r3) /* 803BE6B4 003BB614 2C 00 FF FF */ cmpwi r0, -1 /* 803BE6B8 003BB618 41 82 00 0C */ beq lbl_803BE6C4 /* 803BE6BC 003BB61C 38 60 00 01 */ li r3, 1 @@ -43,16 +64,16 @@ lbl_803BE6C4: .global SIIsChanBusy SIIsChanBusy: -/* 803BE6CC 003BB62C 3C 80 80 57 */ lis r4, lbl_80569C98@ha +/* 803BE6CC 003BB62C 3C 80 80 57 */ lis r4, Packet@ha /* 803BE6D0 003BB630 54 65 28 34 */ slwi r5, r3, 5 -/* 803BE6D4 003BB634 38 04 9C 98 */ addi r0, r4, lbl_80569C98@l +/* 803BE6D4 003BB634 38 04 9C 98 */ addi r0, r4, Packet@l /* 803BE6D8 003BB638 7C 80 2A 14 */ add r4, r0, r5 /* 803BE6DC 003BB63C 80 04 00 00 */ lwz r0, 0(r4) /* 803BE6E0 003BB640 38 A0 00 01 */ li r5, 1 /* 803BE6E4 003BB644 2C 00 FF FF */ cmpwi r0, -1 /* 803BE6E8 003BB648 40 82 00 18 */ bne lbl_803BE700 -/* 803BE6EC 003BB64C 3C 80 80 3F */ lis r4, lbl_803F6EE4@ha -/* 803BE6F0 003BB650 80 04 6E E4 */ lwz r0, lbl_803F6EE4@l(r4) +/* 803BE6EC 003BB64C 3C 80 80 3F */ lis r4, Si@ha +/* 803BE6F0 003BB650 80 04 6E E4 */ lwz r0, Si@l(r4) /* 803BE6F4 003BB654 7C 00 18 00 */ cmpw r0, r3 /* 803BE6F8 003BB658 41 82 00 08 */ beq lbl_803BE700 /* 803BE6FC 003BB65C 38 A0 00 00 */ li r5, 0 @@ -273,13 +294,13 @@ SIInterruptHandler: /* 803BEA04 003BB964 7C 08 02 A6 */ mflr r0 /* 803BEA08 003BB968 3C A0 CC 00 */ lis r5, 0xCC006434@ha /* 803BEA0C 003BB96C 90 01 00 04 */ stw r0, 4(r1) -/* 803BEA10 003BB970 3C E0 80 57 */ lis r7, lbl_80569C98@ha +/* 803BEA10 003BB970 3C E0 80 57 */ lis r7, Packet@ha /* 803BEA14 003BB974 3C C0 80 3F */ lis r6, lbl_803F6EA0@ha /* 803BEA18 003BB978 94 21 FF B8 */ stwu r1, -0x48(r1) /* 803BEA1C 003BB97C BE A1 00 1C */ stmw r21, 0x1c(r1) /* 803BEA20 003BB980 3B C3 00 00 */ addi r30, r3, 0 /* 803BEA24 003BB984 3B E4 00 00 */ addi r31, r4, 0 -/* 803BEA28 003BB988 3B 87 9C 98 */ addi r28, r7, lbl_80569C98@l +/* 803BEA28 003BB988 3B 87 9C 98 */ addi r28, r7, Packet@l /* 803BEA2C 003BB98C 3B A6 6E A0 */ addi r29, r6, lbl_803F6EA0@l /* 803BEA30 003BB990 83 05 64 34 */ lwz r24, 0xCC006434@l(r5) /* 803BEA34 003BB994 57 05 00 02 */ rlwinm r5, r24, 0, 0, 1 @@ -498,11 +519,11 @@ lbl_803BED34: .global SIEnablePollingInterrupt SIEnablePollingInterrupt: /* 803BED48 003BBCA8 7C 08 02 A6 */ mflr r0 -/* 803BED4C 003BBCAC 3C 80 80 57 */ lis r4, lbl_80569C98@ha +/* 803BED4C 003BBCAC 3C 80 80 57 */ lis r4, Packet@ha /* 803BED50 003BBCB0 90 01 00 04 */ stw r0, 4(r1) /* 803BED54 003BBCB4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803BED58 003BBCB8 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 803BED5C 003BBCBC 3B E4 9C 98 */ addi r31, r4, lbl_80569C98@l +/* 803BED5C 003BBCBC 3B E4 9C 98 */ addi r31, r4, Packet@l /* 803BED60 003BBCC0 93 C1 00 28 */ stw r30, 0x28(r1) /* 803BED64 003BBCC4 93 A1 00 24 */ stw r29, 0x24(r1) /* 803BED68 003BBCC8 3B A3 00 00 */ addi r29, r3, 0 @@ -671,17 +692,17 @@ lbl_803BEF88: .global SIInit SIInit: /* 803BEFA0 003BBF00 7C 08 02 A6 */ mflr r0 -/* 803BEFA4 003BBF04 3C 80 80 57 */ lis r4, lbl_80569C98@ha +/* 803BEFA4 003BBF04 3C 80 80 57 */ lis r4, Packet@ha /* 803BEFA8 003BBF08 90 01 00 04 */ stw r0, 4(r1) /* 803BEFAC 003BBF0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803BEFB0 003BBF10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 803BEFB4 003BBF14 3B E4 9C 98 */ addi r31, r4, lbl_80569C98@l -/* 803BEFB8 003BBF18 80 6D A0 48 */ lwz r3, lbl_805A8C08@sda21(r13) +/* 803BEFB4 003BBF14 3B E4 9C 98 */ addi r31, r4, Packet@l +/* 803BEFB8 003BBF18 80 6D A0 48 */ lwz r3, __SIVersion@sda21(r13) /* 803BEFBC 003BBF1C 4B FB F0 7D */ bl OSRegisterVersion /* 803BEFC0 003BBF20 38 A0 FF FF */ li r5, -1 /* 803BEFC4 003BBF24 90 BF 00 60 */ stw r5, 0x60(r31) -/* 803BEFC8 003BBF28 3C 60 80 3F */ lis r3, lbl_803F6EE4@ha -/* 803BEFCC 003BBF2C 38 83 6E E4 */ addi r4, r3, lbl_803F6EE4@l +/* 803BEFC8 003BBF28 3C 60 80 3F */ lis r3, Si@ha +/* 803BEFCC 003BBF2C 38 83 6E E4 */ addi r4, r3, Si@l /* 803BEFD0 003BBF30 90 BF 00 40 */ stw r5, 0x40(r31) /* 803BEFD4 003BBF34 38 00 00 00 */ li r0, 0 /* 803BEFD8 003BBF38 38 60 00 00 */ li r3, 0 @@ -880,9 +901,9 @@ SIGetStatus: /* 803BF28C 003BC1EC 7F FF 04 30 */ srw r31, r31, r0 /* 803BF290 003BC1F0 57 E0 07 39 */ rlwinm. r0, r31, 0, 0x1c, 0x1c /* 803BF294 003BC1F4 41 82 00 28 */ beq lbl_803BF2BC -/* 803BF298 003BC1F8 3C 80 80 3F */ lis r4, lbl_803F6EF8@ha +/* 803BF298 003BC1F8 3C 80 80 3F */ lis r4, Type@ha /* 803BF29C 003BC1FC 57 C5 10 3A */ slwi r5, r30, 2 -/* 803BF2A0 003BC200 38 04 6E F8 */ addi r0, r4, lbl_803F6EF8@l +/* 803BF2A0 003BC200 38 04 6E F8 */ addi r0, r4, Type@l /* 803BF2A4 003BC204 7C 80 2A 14 */ add r4, r0, r5 /* 803BF2A8 003BC208 80 04 00 00 */ lwz r0, 0(r4) /* 803BF2AC 003BC20C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 @@ -924,8 +945,8 @@ SISetXY: /* 803BF314 003BC274 54 7F 80 1E */ slwi r31, r3, 0x10 /* 803BF318 003BC278 7F FF 03 78 */ or r31, r31, r0 /* 803BF31C 003BC27C 4B FC 23 45 */ bl OSDisableInterrupts -/* 803BF320 003BC280 3C 80 80 3F */ lis r4, lbl_803F6EE4@ha -/* 803BF324 003BC284 38 84 6E E4 */ addi r4, r4, lbl_803F6EE4@l +/* 803BF320 003BC280 3C 80 80 3F */ lis r4, Si@ha +/* 803BF324 003BC284 38 84 6E E4 */ addi r4, r4, Si@l /* 803BF328 003BC288 80 04 00 04 */ lwz r0, 4(r4) /* 803BF32C 003BC28C 38 A4 00 04 */ addi r5, r4, 4 /* 803BF330 003BC290 3C 80 CC 00 */ lis r4, 0xCC006430@ha @@ -952,14 +973,14 @@ SIEnablePolling: /* 803BF378 003BC2D8 93 E1 00 14 */ stw r31, 0x14(r1) /* 803BF37C 003BC2DC 7C 7F 1B 79 */ or. r31, r3, r3 /* 803BF380 003BC2E0 40 82 00 14 */ bne lbl_803BF394 -/* 803BF384 003BC2E4 3C 60 80 3F */ lis r3, lbl_803F6EE4@ha -/* 803BF388 003BC2E8 38 63 6E E4 */ addi r3, r3, lbl_803F6EE4@l +/* 803BF384 003BC2E4 3C 60 80 3F */ lis r3, Si@ha +/* 803BF388 003BC2E8 38 63 6E E4 */ addi r3, r3, Si@l /* 803BF38C 003BC2EC 80 63 00 04 */ lwz r3, 4(r3) /* 803BF390 003BC2F0 48 00 00 64 */ b lbl_803BF3F4 lbl_803BF394: /* 803BF394 003BC2F4 4B FC 22 CD */ bl OSDisableInterrupts -/* 803BF398 003BC2F8 3C 80 80 3F */ lis r4, lbl_803F6EE4@ha -/* 803BF39C 003BC2FC 38 84 6E E4 */ addi r4, r4, lbl_803F6EE4@l +/* 803BF398 003BC2F8 3C 80 80 3F */ lis r4, Si@ha +/* 803BF39C 003BC2FC 38 84 6E E4 */ addi r4, r4, Si@l /* 803BF3A0 003BC300 57 FF 46 3E */ srwi r31, r31, 0x18 /* 803BF3A4 003BC304 80 04 00 04 */ lwz r0, 4(r4) /* 803BF3A8 003BC308 38 A4 00 04 */ addi r5, r4, 4 @@ -996,14 +1017,14 @@ SIDisablePolling: /* 803BF414 003BC374 93 E1 00 14 */ stw r31, 0x14(r1) /* 803BF418 003BC378 7C 7F 1B 79 */ or. r31, r3, r3 /* 803BF41C 003BC37C 40 82 00 14 */ bne lbl_803BF430 -/* 803BF420 003BC380 3C 60 80 3F */ lis r3, lbl_803F6EE4@ha -/* 803BF424 003BC384 38 63 6E E4 */ addi r3, r3, lbl_803F6EE4@l +/* 803BF420 003BC380 3C 60 80 3F */ lis r3, Si@ha +/* 803BF424 003BC384 38 63 6E E4 */ addi r3, r3, Si@l /* 803BF428 003BC388 80 63 00 04 */ lwz r3, 4(r3) /* 803BF42C 003BC38C 48 00 00 34 */ b lbl_803BF460 lbl_803BF430: /* 803BF430 003BC390 4B FC 22 31 */ bl OSDisableInterrupts -/* 803BF434 003BC394 3C 80 80 3F */ lis r4, lbl_803F6EE4@ha -/* 803BF438 003BC398 38 84 6E E4 */ addi r4, r4, lbl_803F6EE4@l +/* 803BF434 003BC394 3C 80 80 3F */ lis r4, Si@ha +/* 803BF438 003BC398 38 84 6E E4 */ addi r4, r4, Si@l /* 803BF43C 003BC39C 80 04 00 04 */ lwz r0, 4(r4) /* 803BF440 003BC3A0 57 FF 46 36 */ rlwinm r31, r31, 8, 0x18, 0x1b /* 803BF444 003BC3A4 38 A4 00 04 */ addi r5, r4, 4 @@ -1023,11 +1044,11 @@ lbl_803BF460: .global SIGetResponseRaw SIGetResponseRaw: /* 803BF474 003BC3D4 7C 08 02 A6 */ mflr r0 -/* 803BF478 003BC3D8 3C 80 80 57 */ lis r4, lbl_80569C98@ha +/* 803BF478 003BC3D8 3C 80 80 57 */ lis r4, Packet@ha /* 803BF47C 003BC3DC 90 01 00 04 */ stw r0, 4(r1) /* 803BF480 003BC3E0 94 21 FF D8 */ stwu r1, -0x28(r1) /* 803BF484 003BC3E4 93 E1 00 24 */ stw r31, 0x24(r1) -/* 803BF488 003BC3E8 3B E4 9C 98 */ addi r31, r4, lbl_80569C98@l +/* 803BF488 003BC3E8 3B E4 9C 98 */ addi r31, r4, Packet@l /* 803BF48C 003BC3EC 93 C1 00 20 */ stw r30, 0x20(r1) /* 803BF490 003BC3F0 3B C3 00 00 */ addi r30, r3, 0 /* 803BF494 003BC3F4 93 A1 00 1C */ stw r29, 0x1c(r1) @@ -1039,9 +1060,9 @@ SIGetResponseRaw: /* 803BF4AC 003BC40C 7F BD 04 30 */ srw r29, r29, r0 /* 803BF4B0 003BC410 57 A0 07 39 */ rlwinm. r0, r29, 0, 0x1c, 0x1c /* 803BF4B4 003BC414 41 82 00 28 */ beq lbl_803BF4DC -/* 803BF4B8 003BC418 3C 80 80 3F */ lis r4, lbl_803F6EF8@ha +/* 803BF4B8 003BC418 3C 80 80 3F */ lis r4, Type@ha /* 803BF4BC 003BC41C 57 C5 10 3A */ slwi r5, r30, 2 -/* 803BF4C0 003BC420 38 04 6E F8 */ addi r0, r4, lbl_803F6EF8@l +/* 803BF4C0 003BC420 38 04 6E F8 */ addi r0, r4, Type@l /* 803BF4C4 003BC424 7C 80 2A 14 */ add r4, r0, r5 /* 803BF4C8 003BC428 80 04 00 00 */ lwz r0, 0(r4) /* 803BF4CC 003BC42C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 @@ -1082,13 +1103,13 @@ lbl_803BF52C: .global SIGetResponse SIGetResponse: /* 803BF548 003BC4A8 7C 08 02 A6 */ mflr r0 -/* 803BF54C 003BC4AC 3C A0 80 57 */ lis r5, lbl_80569C98@ha +/* 803BF54C 003BC4AC 3C A0 80 57 */ lis r5, Packet@ha /* 803BF550 003BC4B0 90 01 00 04 */ stw r0, 4(r1) /* 803BF554 003BC4B4 94 21 FF D8 */ stwu r1, -0x28(r1) /* 803BF558 003BC4B8 BF 61 00 14 */ stmw r27, 0x14(r1) /* 803BF55C 003BC4BC 3B A3 00 00 */ addi r29, r3, 0 /* 803BF560 003BC4C0 3B C4 00 00 */ addi r30, r4, 0 -/* 803BF564 003BC4C4 3B 85 9C 98 */ addi r28, r5, lbl_80569C98@l +/* 803BF564 003BC4C4 3B 85 9C 98 */ addi r28, r5, Packet@l /* 803BF568 003BC4C8 4B FC 20 F9 */ bl OSDisableInterrupts /* 803BF56C 003BC4CC 3B E3 00 00 */ addi r31, r3, 0 /* 803BF570 003BC4D0 38 7D 00 00 */ addi r3, r29, 0 @@ -1133,8 +1154,7 @@ lbl_803BF5EC: /* 803BF604 003BC564 7C 08 03 A6 */ mtlr r0 /* 803BF608 003BC568 4E 80 00 20 */ blr -.global AlarmHandler_SI -AlarmHandler_SI: +AlarmHandler: /* 803BF60C 003BC56C 7C 08 02 A6 */ mflr r0 /* 803BF610 003BC570 3C 80 80 57 */ lis r4, lbl_80569D18@ha /* 803BF614 003BC574 90 01 00 04 */ stw r0, 4(r1) @@ -1148,9 +1168,9 @@ AlarmHandler_SI: /* 803BF634 003BC594 7C 00 26 70 */ srawi r0, r0, 4 /* 803BF638 003BC598 54 03 0F FE */ srwi r3, r0, 0x1f /* 803BF63C 003BC59C 7C 00 1A 14 */ add r0, r0, r3 -/* 803BF640 003BC5A0 3C 60 80 57 */ lis r3, lbl_80569C98@ha +/* 803BF640 003BC5A0 3C 60 80 57 */ lis r3, Packet@ha /* 803BF644 003BC5A4 54 04 28 34 */ slwi r4, r0, 5 -/* 803BF648 003BC5A8 38 03 9C 98 */ addi r0, r3, lbl_80569C98@l +/* 803BF648 003BC5A8 38 03 9C 98 */ addi r0, r3, Packet@l /* 803BF64C 003BC5AC 7F E0 22 14 */ add r31, r0, r4 /* 803BF650 003BC5B0 80 7F 00 00 */ lwz r3, 0(r31) /* 803BF654 003BC5B4 2C 03 FF FF */ cmpwi r3, -1 @@ -1179,8 +1199,8 @@ SITransfer: /* 803BF6A0 003BC600 94 21 FF A0 */ stwu r1, -0x60(r1) /* 803BF6A4 003BC604 BE 61 00 2C */ stmw r19, 0x2c(r1) /* 803BF6A8 003BC608 3B 03 00 00 */ addi r24, r3, 0 -/* 803BF6AC 003BC60C 3C 60 80 57 */ lis r3, lbl_80569C98@ha -/* 803BF6B0 003BC610 3A E3 9C 98 */ addi r23, r3, lbl_80569C98@l +/* 803BF6AC 003BC60C 3C 60 80 57 */ lis r3, Packet@ha +/* 803BF6B0 003BC610 3A E3 9C 98 */ addi r23, r3, Packet@l /* 803BF6B4 003BC614 57 00 28 34 */ slwi r0, r24, 5 /* 803BF6B8 003BC618 3B 24 00 00 */ addi r25, r4, 0 /* 803BF6BC 003BC61C 3B 45 00 00 */ addi r26, r5, 0 @@ -1195,8 +1215,8 @@ SITransfer: /* 803BF6E0 003BC640 3A A3 00 00 */ addi r21, r3, 0 /* 803BF6E4 003BC644 2C 00 FF FF */ cmpwi r0, -1 /* 803BF6E8 003BC648 40 82 00 14 */ bne lbl_803BF6FC -/* 803BF6EC 003BC64C 3C 60 80 3F */ lis r3, lbl_803F6EE4@ha -/* 803BF6F0 003BC650 80 03 6E E4 */ lwz r0, lbl_803F6EE4@l(r3) +/* 803BF6EC 003BC64C 3C 60 80 3F */ lis r3, Si@ha +/* 803BF6F0 003BC650 80 03 6E E4 */ lwz r0, Si@l(r3) /* 803BF6F4 003BC654 7C 00 C0 00 */ cmpw r0, r24 /* 803BF6F8 003BC658 40 82 00 14 */ bne lbl_803BF70C lbl_803BF6FC: @@ -1232,9 +1252,9 @@ lbl_803BF748: /* 803BF764 003BC6C4 1C 18 00 28 */ mulli r0, r24, 0x28 /* 803BF768 003BC6C8 7F C4 98 10 */ subfc r30, r4, r19 /* 803BF76C 003BC6CC 7F E3 A1 10 */ subfe r31, r3, r20 -/* 803BF770 003BC6D0 3C 80 80 3C */ lis r4, AlarmHandler_SI@ha +/* 803BF770 003BC6D0 3C 80 80 3C */ lis r4, AlarmHandler@ha /* 803BF774 003BC6D4 7C 77 02 14 */ add r3, r23, r0 -/* 803BF778 003BC6D8 38 E4 F6 0C */ addi r7, r4, AlarmHandler_SI@l +/* 803BF778 003BC6D8 38 E4 F6 0C */ addi r7, r4, AlarmHandler@l /* 803BF77C 003BC6DC 38 DE 00 00 */ addi r6, r30, 0 /* 803BF780 003BC6E0 38 BF 00 00 */ addi r5, r31, 0 /* 803BF784 003BC6E4 38 63 00 80 */ addi r3, r3, 0x80 @@ -1280,13 +1300,13 @@ GetTypeCallback: /* 803BF80C 003BC76C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803BF810 003BC770 BF 41 00 18 */ stmw r26, 0x18(r1) /* 803BF814 003BC774 3B 63 00 00 */ addi r27, r3, 0 -/* 803BF818 003BC778 3C 60 80 3F */ lis r3, lbl_803F6EF8@ha -/* 803BF81C 003BC77C 38 03 6E F8 */ addi r0, r3, lbl_803F6EF8@l +/* 803BF818 003BC778 3C 60 80 3F */ lis r3, Type@ha +/* 803BF81C 003BC77C 38 03 6E F8 */ addi r0, r3, Type@l /* 803BF820 003BC780 57 7D 10 3A */ slwi r29, r27, 2 /* 803BF824 003BC784 7F C0 EA 14 */ add r30, r0, r29 -/* 803BF828 003BC788 3C 60 80 57 */ lis r3, lbl_80569C98@ha +/* 803BF828 003BC788 3C 60 80 57 */ lis r3, Packet@ha /* 803BF82C 003BC78C 3B 44 00 00 */ addi r26, r4, 0 -/* 803BF830 003BC790 3B E3 9C 98 */ addi r31, r3, lbl_80569C98@l +/* 803BF830 003BC790 3B E3 9C 98 */ addi r31, r3, Packet@l /* 803BF834 003BC794 80 1E 00 00 */ lwz r0, 0(r30) /* 803BF838 003BC798 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 /* 803BF83C 003BC79C 90 1E 00 00 */ stw r0, 0(r30) @@ -1462,9 +1482,9 @@ SIGetType: /* 803BFAA8 003BCA08 BF 61 00 14 */ stmw r27, 0x14(r1) /* 803BFAAC 003BCA0C 7C 7B 1B 78 */ mr r27, r3 /* 803BFAB0 003BCA10 4B FC 1B B1 */ bl OSDisableInterrupts -/* 803BFAB4 003BCA14 3C 80 80 3F */ lis r4, lbl_803F6EF8@ha +/* 803BFAB4 003BCA14 3C 80 80 3F */ lis r4, Type@ha /* 803BFAB8 003BCA18 57 65 10 3A */ slwi r5, r27, 2 -/* 803BFABC 003BCA1C 38 04 6E F8 */ addi r0, r4, lbl_803F6EF8@l +/* 803BFABC 003BCA1C 38 04 6E F8 */ addi r0, r4, Type@l /* 803BFAC0 003BCA20 7F C0 2A 14 */ add r30, r0, r5 /* 803BFAC4 003BCA24 83 9E 00 00 */ lwz r28, 0(r30) /* 803BFAC8 003BCA28 7C 7D 1B 78 */ mr r29, r3 @@ -1474,8 +1494,8 @@ SIGetType: /* 803BFAD8 003BCA38 38 05 9D B8 */ addi r0, r5, lbl_80569DB8@l /* 803BFADC 003BCA3C 7F E0 32 14 */ add r31, r0, r6 /* 803BFAE0 003BCA40 80 DF 00 04 */ lwz r6, 4(r31) -/* 803BFAE4 003BCA44 3C A0 80 3F */ lis r5, lbl_803F6EE4@ha -/* 803BFAE8 003BCA48 38 A5 6E E4 */ addi r5, r5, lbl_803F6EE4@l +/* 803BFAE4 003BCA44 3C A0 80 3F */ lis r5, Si@ha +/* 803BFAE8 003BCA48 38 A5 6E E4 */ addi r5, r5, Si@l /* 803BFAEC 003BCA4C 80 1F 00 00 */ lwz r0, 0(r31) /* 803BFAF0 003BCA50 7C 86 20 10 */ subfc r4, r6, r4 /* 803BFAF4 003BCA54 7C 00 19 10 */ subfe r0, r0, r3 @@ -1591,9 +1611,9 @@ SIGetTypeAsync: /* 803BFC88 003BCBE8 3B C3 00 00 */ addi r30, r3, 0 /* 803BFC8C 003BCBEC 38 7C 00 00 */ addi r3, r28, 0 /* 803BFC90 003BCBF0 4B FF FE 0D */ bl SIGetType -/* 803BFC94 003BCBF4 3C 80 80 3F */ lis r4, lbl_803F6EF8@ha +/* 803BFC94 003BCBF4 3C 80 80 3F */ lis r4, Type@ha /* 803BFC98 003BCBF8 57 85 10 3A */ slwi r5, r28, 2 -/* 803BFC9C 003BCBFC 38 04 6E F8 */ addi r0, r4, lbl_803F6EF8@l +/* 803BFC9C 003BCBFC 38 04 6E F8 */ addi r0, r4, Type@l /* 803BFCA0 003BCC00 7C 80 2A 14 */ add r4, r0, r5 /* 803BFCA4 003BCC04 80 04 00 00 */ lwz r0, 0(r4) /* 803BFCA8 003BCC08 3B A3 00 00 */ addi r29, r3, 0 diff --git a/asm/Dolphin/SI/SISamplingRate.s b/asm/Dolphin/SI/SISamplingRate.s index 07b39f46..3efa2778 100644 --- a/asm/Dolphin/SI/SISamplingRate.s +++ b/asm/Dolphin/SI/SISamplingRate.s @@ -1,5 +1,11 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F6FB8 +lbl_803F6FB8: + .incbin "baserom.dol", 0x3F3FB8, 0x168 + .section .text, "ax" .global SISetSamplingRate diff --git a/asm/Dolphin/THP/THPDec.s b/asm/Dolphin/THP/THPDec.s index b50d8a7b..caf2d3cd 100644 --- a/asm/Dolphin/THP/THPDec.s +++ b/asm/Dolphin/THP/THPDec.s @@ -1,58 +1,103 @@ .include "macros.inc" -.section .sbss, "wa" +.section .rodata, "a" # 0x803CB3A0 - 0x803D8D60 +__THPJpegNaturalOrder: # local object + .4byte 0x00010810 + .4byte 0x0902030A + .4byte 0x11182019 + .4byte 0x120B0405 + .4byte 0x0C131A21 + .4byte 0x28302922 + .4byte 0x1B140D06 + .4byte 0x070E151C + .4byte 0x232A3138 + .4byte 0x39322B24 + .4byte 0x1D160F17 + .4byte 0x1E252C33 + .4byte 0x3A3B342D + .4byte 0x261F272E + .4byte 0x353C3D36 + .4byte 0x2F373E3F + .4byte 0x3F3F3F3F + .4byte 0x3F3F3F3F + .4byte 0x3F3F3F3F + .4byte 0x3F3F3F3F +__THPAANScaleFactor: # local object + .double 1.0 + .double 1.3870398998260498 + .double 1.3065630197525024 + .double 1.1758755445480347 + .double 1.0 + .double 0.78569495677948 + .double 0.5411961078643799 + .double 0.27589938044548035 -.global Ydchuff + +.section .sdata2, "wa" +.global lbl_805AF440 +lbl_805AF440: + .double 4.503599627370496E15 + +.global lbl_805AF448 +lbl_805AF448: + .float 1.4142135 +.global lbl_805AF44C +lbl_805AF44C: + .float 1.847759 +.global lbl_805AF450 +lbl_805AF450: + .float 1.0823922 +.global lbl_805AF454 +lbl_805AF454: + .float -2.613126 +.global lbl_805AF458 +lbl_805AF458: + .float 1024.0 + +.section .sbss, "wa" +.balign 32 Ydchuff: - .skip 0x20 -.global Udchuff + .skip 4 +.balign 32 Udchuff: - .skip 0x20 -.global Vdchuff + .skip 4 +.balign 32 Vdchuff: - .skip 0x20 -.global Yachuff + .skip 4 +.balign 32 Yachuff: - .skip 0x20 -.global Uachuff + .skip 4 +.balign 32 Uachuff: - .skip 0x20 -.global Vachuff + .skip 4 +.balign 32 Vachuff: - .skip 0x4 -.global lbl_805A9CA4 -lbl_805A9CA4: - .skip 0x4 -.global lbl_805A9CA8 -lbl_805A9CA8: - .skip 0x4 -.global lbl_805A9CAC -lbl_805A9CAC: - .skip 0x14 -.global lbl_805A9CC0 -lbl_805A9CC0: - .skip 0x20 -.global lbl_805A9CE0 -lbl_805A9CE0: - .skip 0x20 -.global lbl_805A9D00 -lbl_805A9D00: - .skip 0x4 -.global lbl_805A9D04 -lbl_805A9D04: - .skip 0x4 -.global lbl_805A9D08 -lbl_805A9D08: - .skip 0x4 -.global __THPWorkArea + .skip 4 +__THPHuffmanBits: + .skip 4 +__THPHuffmanSizeTab: + .skip 4 +__THPHuffmanCodeTab: + .skip 4 +.balign 32 +Gbase: + .skip 4 +.balign 32 +Gwid: + .skip 4 +.balign 32 +Gq: + .skip 4 +__THPOldGQR5: + .skip 4 +__THPOldGQR6: + .skip 4 __THPWorkArea: - .skip 0x4 -.global __THPInfo + .skip 4 __THPInfo: - .skip 0x4 -.global __THPInitFlag + .skip 4 __THPInitFlag: - .skip 0x4 + .skip 4 .section .data, "wa" THPVersionStr: @@ -677,9 +722,9 @@ __THPReadHuffmanTableSpecification: /* 803C2414 003BF374 80 8D B1 4C */ lwz r4, __THPWorkArea@sda21(r13) /* 803C2418 003BF378 80 6D B1 50 */ lwz r3, __THPInfo@sda21(r13) /* 803C241C 003BF37C 38 04 01 01 */ addi r0, r4, 0x101 -/* 803C2420 003BF380 90 8D B0 E8 */ stw r4, lbl_805A9CA8@sda21(r13) +/* 803C2420 003BF380 90 8D B0 E8 */ stw r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2424 003BF384 38 A3 06 9C */ addi r5, r3, 0x69c -/* 803C2428 003BF388 90 0D B0 EC */ stw r0, lbl_805A9CAC@sda21(r13) +/* 803C2428 003BF388 90 0D B0 EC */ stw r0, __THPHuffmanCodeTab@sda21(r13) /* 803C242C 003BF38C 80 63 06 9C */ lwz r3, 0x69c(r3) /* 803C2430 003BF390 88 83 00 00 */ lbz r4, 0(r3) /* 803C2434 003BF394 38 03 00 02 */ addi r0, r3, 2 @@ -702,7 +747,7 @@ lbl_803C244C: /* 803C2474 003BF3D4 54 C4 0E FC */ rlwinm r4, r6, 1, 0x1b, 0x1e /* 803C2478 003BF3D8 54 00 06 3E */ clrlwi r0, r0, 0x18 /* 803C247C 003BF3DC 7C 04 02 14 */ add r0, r4, r0 -/* 803C2480 003BF3E0 90 AD B0 E4 */ stw r5, lbl_805A9CA4@sda21(r13) +/* 803C2480 003BF3E0 90 AD B0 E4 */ stw r5, __THPHuffmanBits@sda21(r13) /* 803C2484 003BF3E4 54 1F 06 3E */ clrlwi r31, r0, 0x18 /* 803C2488 003BF3E8 48 00 00 C8 */ b lbl_803C2550 lbl_803C248C: @@ -797,7 +842,7 @@ __THPHuffGenerateSizeTable: /* 803C25DC 003BF53C 38 C0 00 00 */ li r6, 0 /* 803C25E0 003BF540 38 E0 00 01 */ li r7, 1 lbl_803C25E4: -/* 803C25E4 003BF544 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) +/* 803C25E4 003BF544 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) /* 803C25E8 003BF548 38 07 FF FF */ addi r0, r7, -1 /* 803C25EC 003BF54C 54 E5 06 3E */ clrlwi r5, r7, 0x18 /* 803C25F0 003BF550 7D 03 00 AE */ lbzx r8, r3, r0 @@ -808,37 +853,37 @@ lbl_803C25E4: /* 803C2604 003BF564 7C 09 03 A6 */ mtctr r0 /* 803C2608 003BF568 41 82 00 90 */ beq lbl_803C2698 lbl_803C260C: -/* 803C260C 003BF56C 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C260C 003BF56C 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2610 003BF570 7C C0 33 78 */ mr r0, r6 /* 803C2614 003BF574 38 C6 00 01 */ addi r6, r6, 1 /* 803C2618 003BF578 7C A4 01 AE */ stbx r5, r4, r0 /* 803C261C 003BF57C 38 06 00 00 */ addi r0, r6, 0 /* 803C2620 003BF580 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2624 003BF584 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2624 003BF584 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2628 003BF588 7C A4 01 AE */ stbx r5, r4, r0 /* 803C262C 003BF58C 38 06 00 00 */ addi r0, r6, 0 /* 803C2630 003BF590 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2634 003BF594 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2634 003BF594 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2638 003BF598 7C A4 01 AE */ stbx r5, r4, r0 /* 803C263C 003BF59C 38 06 00 00 */ addi r0, r6, 0 /* 803C2640 003BF5A0 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2644 003BF5A4 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2644 003BF5A4 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2648 003BF5A8 7C A4 01 AE */ stbx r5, r4, r0 /* 803C264C 003BF5AC 38 06 00 00 */ addi r0, r6, 0 /* 803C2650 003BF5B0 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2654 003BF5B4 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2654 003BF5B4 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2658 003BF5B8 7C A4 01 AE */ stbx r5, r4, r0 /* 803C265C 003BF5BC 38 06 00 00 */ addi r0, r6, 0 /* 803C2660 003BF5C0 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2664 003BF5C4 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2664 003BF5C4 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2668 003BF5C8 7C A4 01 AE */ stbx r5, r4, r0 /* 803C266C 003BF5CC 38 06 00 00 */ addi r0, r6, 0 /* 803C2670 003BF5D0 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2674 003BF5D4 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2674 003BF5D4 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2678 003BF5D8 7C A4 01 AE */ stbx r5, r4, r0 /* 803C267C 003BF5DC 38 06 00 00 */ addi r0, r6, 0 /* 803C2680 003BF5E0 38 C6 00 01 */ addi r6, r6, 1 -/* 803C2684 003BF5E4 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C2684 003BF5E4 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C2688 003BF5E8 7C A4 01 AE */ stbx r5, r4, r0 /* 803C268C 003BF5EC 42 00 FF 80 */ bdnz lbl_803C260C /* 803C2690 003BF5F0 70 63 00 07 */ andi. r3, r3, 7 @@ -846,7 +891,7 @@ lbl_803C260C: lbl_803C2698: /* 803C2698 003BF5F8 7C 69 03 A6 */ mtctr r3 lbl_803C269C: -/* 803C269C 003BF5FC 80 8D B0 E8 */ lwz r4, lbl_805A9CA8@sda21(r13) +/* 803C269C 003BF5FC 80 8D B0 E8 */ lwz r4, __THPHuffmanSizeTab@sda21(r13) /* 803C26A0 003BF600 7C C0 33 78 */ mr r0, r6 /* 803C26A4 003BF604 38 C6 00 01 */ addi r6, r6, 1 /* 803C26A8 003BF608 7C A4 01 AE */ stbx r5, r4, r0 @@ -855,16 +900,16 @@ lbl_803C26B0: /* 803C26B0 003BF610 38 E7 00 01 */ addi r7, r7, 1 /* 803C26B4 003BF614 2C 07 00 10 */ cmpwi r7, 0x10 /* 803C26B8 003BF618 40 81 FF 2C */ ble lbl_803C25E4 -/* 803C26BC 003BF61C 80 6D B0 E8 */ lwz r3, lbl_805A9CA8@sda21(r13) +/* 803C26BC 003BF61C 80 6D B0 E8 */ lwz r3, __THPHuffmanSizeTab@sda21(r13) /* 803C26C0 003BF620 38 00 00 00 */ li r0, 0 /* 803C26C4 003BF624 7C 03 31 AE */ stbx r0, r3, r6 /* 803C26C8 003BF628 4E 80 00 20 */ blr .global __THPHuffGenerateCodeTable __THPHuffGenerateCodeTable: -/* 803C26CC 003BF62C 80 CD B0 E8 */ lwz r6, lbl_805A9CA8@sda21(r13) +/* 803C26CC 003BF62C 80 CD B0 E8 */ lwz r6, __THPHuffmanSizeTab@sda21(r13) /* 803C26D0 003BF630 39 00 00 00 */ li r8, 0 -/* 803C26D4 003BF634 80 AD B0 EC */ lwz r5, lbl_805A9CAC@sda21(r13) +/* 803C26D4 003BF634 80 AD B0 EC */ lwz r5, __THPHuffmanCodeTab@sda21(r13) /* 803C26D8 003BF638 39 20 00 00 */ li r9, 0 /* 803C26DC 003BF63C 88 E6 00 00 */ lbz r7, 0(r6) /* 803C26E0 003BF640 38 60 00 01 */ li r3, 1 @@ -909,18 +954,18 @@ __THPHuffGenerateDecoderTables: /* 803C2754 003BF6B4 39 00 00 00 */ li r8, 0 /* 803C2758 003BF6B8 39 20 00 01 */ li r9, 1 lbl_803C275C: -/* 803C275C 003BF6BC 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) +/* 803C275C 003BF6BC 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) /* 803C2760 003BF6C0 38 A9 FF FF */ addi r5, r9, -1 /* 803C2764 003BF6C4 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C2768 003BF6C8 28 00 00 00 */ cmplwi r0, 0 /* 803C276C 003BF6CC 41 82 00 3C */ beq lbl_803C27A8 -/* 803C2770 003BF6D0 80 6D B0 EC */ lwz r3, lbl_805A9CAC@sda21(r13) +/* 803C2770 003BF6D0 80 6D B0 EC */ lwz r3, __THPHuffmanCodeTab@sda21(r13) /* 803C2774 003BF6D4 55 00 08 3C */ slwi r0, r8, 1 /* 803C2778 003BF6D8 7C 03 02 2E */ lhzx r0, r3, r0 /* 803C277C 003BF6DC 7C 00 40 50 */ subf r0, r0, r8 /* 803C2780 003BF6E0 90 06 00 8C */ stw r0, 0x8c(r6) -/* 803C2784 003BF6E4 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) -/* 803C2788 003BF6E8 80 8D B0 EC */ lwz r4, lbl_805A9CAC@sda21(r13) +/* 803C2784 003BF6E4 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) +/* 803C2788 003BF6E8 80 8D B0 EC */ lwz r4, __THPHuffmanCodeTab@sda21(r13) /* 803C278C 003BF6EC 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C2790 003BF6F0 7D 08 02 14 */ add r8, r8, r0 /* 803C2794 003BF6F4 55 03 08 3C */ slwi r3, r8, 1 @@ -933,20 +978,20 @@ lbl_803C27A8: /* 803C27AC 003BF70C 90 06 00 44 */ stw r0, 0x44(r6) /* 803C27B0 003BF710 90 06 00 8C */ stw r0, 0x8c(r6) lbl_803C27B4: -/* 803C27B4 003BF714 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) +/* 803C27B4 003BF714 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) /* 803C27B8 003BF718 38 A9 00 00 */ addi r5, r9, 0 /* 803C27BC 003BF71C 39 29 00 01 */ addi r9, r9, 1 /* 803C27C0 003BF720 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C27C4 003BF724 38 C6 00 04 */ addi r6, r6, 4 /* 803C27C8 003BF728 28 00 00 00 */ cmplwi r0, 0 /* 803C27CC 003BF72C 41 82 00 3C */ beq lbl_803C2808 -/* 803C27D0 003BF730 80 6D B0 EC */ lwz r3, lbl_805A9CAC@sda21(r13) +/* 803C27D0 003BF730 80 6D B0 EC */ lwz r3, __THPHuffmanCodeTab@sda21(r13) /* 803C27D4 003BF734 55 00 08 3C */ slwi r0, r8, 1 /* 803C27D8 003BF738 7C 03 02 2E */ lhzx r0, r3, r0 /* 803C27DC 003BF73C 7C 00 40 50 */ subf r0, r0, r8 /* 803C27E0 003BF740 90 06 00 8C */ stw r0, 0x8c(r6) -/* 803C27E4 003BF744 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) -/* 803C27E8 003BF748 80 8D B0 EC */ lwz r4, lbl_805A9CAC@sda21(r13) +/* 803C27E4 003BF744 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) +/* 803C27E8 003BF748 80 8D B0 EC */ lwz r4, __THPHuffmanCodeTab@sda21(r13) /* 803C27EC 003BF74C 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C27F0 003BF750 7D 08 02 14 */ add r8, r8, r0 /* 803C27F4 003BF754 55 03 08 3C */ slwi r3, r8, 1 @@ -959,20 +1004,20 @@ lbl_803C2808: /* 803C280C 003BF76C 90 06 00 44 */ stw r0, 0x44(r6) /* 803C2810 003BF770 90 06 00 8C */ stw r0, 0x8c(r6) lbl_803C2814: -/* 803C2814 003BF774 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) +/* 803C2814 003BF774 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) /* 803C2818 003BF778 38 A9 00 00 */ addi r5, r9, 0 /* 803C281C 003BF77C 39 29 00 01 */ addi r9, r9, 1 /* 803C2820 003BF780 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C2824 003BF784 38 C6 00 04 */ addi r6, r6, 4 /* 803C2828 003BF788 28 00 00 00 */ cmplwi r0, 0 /* 803C282C 003BF78C 41 82 00 3C */ beq lbl_803C2868 -/* 803C2830 003BF790 80 6D B0 EC */ lwz r3, lbl_805A9CAC@sda21(r13) +/* 803C2830 003BF790 80 6D B0 EC */ lwz r3, __THPHuffmanCodeTab@sda21(r13) /* 803C2834 003BF794 55 00 08 3C */ slwi r0, r8, 1 /* 803C2838 003BF798 7C 03 02 2E */ lhzx r0, r3, r0 /* 803C283C 003BF79C 7C 00 40 50 */ subf r0, r0, r8 /* 803C2840 003BF7A0 90 06 00 8C */ stw r0, 0x8c(r6) -/* 803C2844 003BF7A4 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) -/* 803C2848 003BF7A8 80 8D B0 EC */ lwz r4, lbl_805A9CAC@sda21(r13) +/* 803C2844 003BF7A4 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) +/* 803C2848 003BF7A8 80 8D B0 EC */ lwz r4, __THPHuffmanCodeTab@sda21(r13) /* 803C284C 003BF7AC 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C2850 003BF7B0 7D 08 02 14 */ add r8, r8, r0 /* 803C2854 003BF7B4 55 03 08 3C */ slwi r3, r8, 1 @@ -985,20 +1030,20 @@ lbl_803C2868: /* 803C286C 003BF7CC 90 06 00 44 */ stw r0, 0x44(r6) /* 803C2870 003BF7D0 90 06 00 8C */ stw r0, 0x8c(r6) lbl_803C2874: -/* 803C2874 003BF7D4 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) +/* 803C2874 003BF7D4 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) /* 803C2878 003BF7D8 38 A9 00 00 */ addi r5, r9, 0 /* 803C287C 003BF7DC 39 29 00 01 */ addi r9, r9, 1 /* 803C2880 003BF7E0 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C2884 003BF7E4 38 C6 00 04 */ addi r6, r6, 4 /* 803C2888 003BF7E8 28 00 00 00 */ cmplwi r0, 0 /* 803C288C 003BF7EC 41 82 00 3C */ beq lbl_803C28C8 -/* 803C2890 003BF7F0 80 6D B0 EC */ lwz r3, lbl_805A9CAC@sda21(r13) +/* 803C2890 003BF7F0 80 6D B0 EC */ lwz r3, __THPHuffmanCodeTab@sda21(r13) /* 803C2894 003BF7F4 55 00 08 3C */ slwi r0, r8, 1 /* 803C2898 003BF7F8 7C 03 02 2E */ lhzx r0, r3, r0 /* 803C289C 003BF7FC 7C 00 40 50 */ subf r0, r0, r8 /* 803C28A0 003BF800 90 06 00 8C */ stw r0, 0x8c(r6) -/* 803C28A4 003BF804 80 6D B0 E4 */ lwz r3, lbl_805A9CA4@sda21(r13) -/* 803C28A8 003BF808 80 8D B0 EC */ lwz r4, lbl_805A9CAC@sda21(r13) +/* 803C28A4 003BF804 80 6D B0 E4 */ lwz r3, __THPHuffmanBits@sda21(r13) +/* 803C28A8 003BF808 80 8D B0 EC */ lwz r4, __THPHuffmanCodeTab@sda21(r13) /* 803C28AC 003BF80C 7C 03 28 AE */ lbzx r0, r3, r5 /* 803C28B0 003BF810 7D 08 02 14 */ add r8, r8, r0 /* 803C28B4 003BF814 55 03 08 3C */ slwi r3, r8, 1 @@ -1222,8 +1267,8 @@ __THPDecompressYUV: /* 803C2BC4 003BFB24 A3 C4 06 94 */ lhz r30, 0x694(r4) /* 803C2BC8 003BFB28 7C 95 E2 A6 */ mfspr r4, 0x395 /* 803C2BCC 003BFB2C 7C 16 E2 A6 */ mfspr r0, 0x396 -/* 803C2BD0 003BFB30 90 8D B1 44 */ stw r4, lbl_805A9D04@sda21(r13) -/* 803C2BD4 003BFB34 90 0D B1 48 */ stw r0, lbl_805A9D08@sda21(r13) +/* 803C2BD0 003BFB30 90 8D B1 44 */ stw r4, __THPOldGQR5@sda21(r13) +/* 803C2BD4 003BFB34 90 0D B1 48 */ stw r0, __THPOldGQR6@sda21(r13) /* 803C2BD8 003BFB38 38 60 00 07 */ li r3, 7 /* 803C2BDC 003BFB3C 64 63 00 07 */ oris r3, r3, 7 /* 803C2BE0 003BFB40 7C 75 E3 A6 */ mtspr 0x395, r3 @@ -1271,8 +1316,8 @@ lbl_803C2C68: /* 803C2C6C 003BFBCC 7C 00 F0 40 */ cmplw r0, r30 /* 803C2C70 003BFBD0 41 80 FF F0 */ blt lbl_803C2C60 lbl_803C2C74: -/* 803C2C74 003BFBD4 80 8D B1 44 */ lwz r4, lbl_805A9D04@sda21(r13) -/* 803C2C78 003BFBD8 80 0D B1 48 */ lwz r0, lbl_805A9D08@sda21(r13) +/* 803C2C74 003BFBD4 80 8D B1 44 */ lwz r4, __THPOldGQR5@sda21(r13) +/* 803C2C78 003BFBD8 80 0D B1 48 */ lwz r0, __THPOldGQR6@sda21(r13) /* 803C2C7C 003BFBDC 7C 95 E3 A6 */ mtspr 0x395, r4 /* 803C2C80 003BFBE0 7C 16 E3 A6 */ mtspr 0x396, r0 /* 803C2C84 003BFBE4 80 01 00 24 */ lwz r0, 0x24(r1) @@ -1328,15 +1373,15 @@ lbl_803C2CF0: /* 803C2D3C 003BFC9C 38 00 02 00 */ li r0, 0x200 /* 803C2D40 003BFCA0 80 8D B1 50 */ lwz r4, __THPInfo@sda21(r13) /* 803C2D44 003BFCA4 39 3F FF F8 */ addi r9, r31, -8 -/* 803C2D48 003BFCA8 90 6D B1 00 */ stw r3, lbl_805A9CC0@sda21(r13) +/* 803C2D48 003BFCA8 90 6D B1 00 */ stw r3, Gbase@sda21(r13) /* 803C2D4C 003BFCAC 57 C3 25 36 */ rlwinm r3, r30, 4, 0x14, 0x1b -/* 803C2D50 003BFCB0 90 0D B1 20 */ stw r0, lbl_805A9CE0@sda21(r13) +/* 803C2D50 003BFCB0 90 0D B1 20 */ stw r0, Gwid@sda21(r13) /* 803C2D54 003BFCB4 88 04 06 80 */ lbz r0, 0x680(r4) /* 803C2D58 003BFCB8 54 00 40 2E */ slwi r0, r0, 8 /* 803C2D5C 003BFCBC 7C 04 02 14 */ add r0, r4, r0 -/* 803C2D60 003BFCC0 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C2D60 003BFCC0 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C2D64 003BFCC4 81 1F 01 18 */ lwz r8, 0x118(r31) -/* 803C2D68 003BFCC8 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C2D68 003BFCC8 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C2D6C 003BFCCC 38 80 00 08 */ li r4, 8 /* 803C2D70 003BFCD0 7C 89 03 A6 */ mtctr r4 lbl_803C2D74: @@ -1486,9 +1531,9 @@ lbl_803C2EE0: /* 803C2FA0 003BFF00 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C2FA4 003BFF04 42 00 FD F0 */ bdnz lbl_803C2D94 lbl_803C2FA8: -/* 803C2FA8 003BFF08 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C2FA8 003BFF08 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C2FAC 003BFF0C 7F E9 FB 78 */ mr r9, r31 -/* 803C2FB0 003BFF10 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C2FB0 003BFF10 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C2FB4 003BFF14 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C2FB8 003BFF18 54 64 10 3A */ slwi r4, r3, 2 /* 803C2FBC 003BFF1C E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -1601,7 +1646,7 @@ lbl_803C3000: /* 803C3164 003C00C4 F0 64 60 00 */ psq_st f3, 0(r4), 0, qr6 /* 803C3168 003C00C8 F0 44 60 08 */ psq_st f2, 8(r4), 0, qr6 /* 803C316C 003C00CC 81 1F 01 1C */ lwz r8, 0x11c(r31) -/* 803C3170 003C00D0 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C3170 003C00D0 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C3174 003C00D4 39 43 00 08 */ addi r10, r3, 8 /* 803C3178 003C00D8 39 3F FF F8 */ addi r9, r31, -8 /* 803C317C 003C00DC 38 80 00 08 */ li r4, 8 @@ -1753,9 +1798,9 @@ lbl_803C32F0: /* 803C33B0 003C0310 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C33B4 003C0314 42 00 FD F0 */ bdnz lbl_803C31A4 lbl_803C33B8: -/* 803C33B8 003C0318 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C33B8 003C0318 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C33BC 003C031C 7F E9 FB 78 */ mr r9, r31 -/* 803C33C0 003C0320 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C33C0 003C0320 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C33C4 003C0324 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C33C8 003C0328 55 4A 10 3A */ slwi r10, r10, 2 /* 803C33CC 003C032C E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -1868,7 +1913,7 @@ lbl_803C3410: /* 803C3574 003C04D4 F0 64 60 00 */ psq_st f3, 0(r4), 0, qr6 /* 803C3578 003C04D8 F0 44 60 08 */ psq_st f2, 8(r4), 0, qr6 /* 803C357C 003C04DC 81 1F 01 20 */ lwz r8, 0x120(r31) -/* 803C3580 003C04E0 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C3580 003C04E0 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C3584 003C04E4 39 3F FF F8 */ addi r9, r31, -8 /* 803C3588 003C04E8 38 80 00 08 */ li r4, 8 /* 803C358C 003C04EC 7C 89 03 A6 */ mtctr r4 @@ -2019,9 +2064,9 @@ lbl_803C36FC: /* 803C37BC 003C071C F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C37C0 003C0720 42 00 FD F0 */ bdnz lbl_803C35B0 lbl_803C37C4: -/* 803C37C4 003C0724 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C37C4 003C0724 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C37C8 003C0728 7F E9 FB 78 */ mr r9, r31 -/* 803C37CC 003C072C 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C37CC 003C072C 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C37D0 003C0730 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C37D4 003C0734 54 07 18 38 */ slwi r7, r0, 3 /* 803C37D8 003C0738 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -2135,7 +2180,7 @@ lbl_803C3820: /* 803C3984 003C08E4 F0 64 60 00 */ psq_st f3, 0(r4), 0, qr6 /* 803C3988 003C08E8 F0 44 60 08 */ psq_st f2, 8(r4), 0, qr6 /* 803C398C 003C08EC 81 1F 01 24 */ lwz r8, 0x124(r31) -/* 803C3990 003C08F0 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C3990 003C08F0 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C3994 003C08F4 39 23 00 08 */ addi r9, r3, 8 /* 803C3998 003C08F8 39 5F FF F8 */ addi r10, r31, -8 /* 803C399C 003C08FC 38 80 00 08 */ li r4, 8 @@ -2287,9 +2332,9 @@ lbl_803C3B10: /* 803C3BD0 003C0B30 F4 8A 00 08 */ psq_stu f4, 8(r10), 0, qr0 /* 803C3BD4 003C0B34 42 00 FD F0 */ bdnz lbl_803C39C4 lbl_803C3BD8: -/* 803C3BD8 003C0B38 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C3BD8 003C0B38 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C3BDC 003C0B3C 7F EA FB 78 */ mr r10, r31 -/* 803C3BE0 003C0B40 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C3BE0 003C0B40 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C3BE4 003C0B44 E0 EA 00 00 */ psq_l f7, 0(r10), 0, qr0 /* 803C3BE8 003C0B48 54 07 18 38 */ slwi r7, r0, 3 /* 803C3BEC 003C0B4C E0 CA 00 80 */ psq_l f6, 128(r10), 0, qr0 @@ -2405,16 +2450,16 @@ lbl_803C3C34: /* 803C3DA0 003C0D00 80 9F 01 04 */ lwz r4, 0x104(r31) /* 803C3DA4 003C0D04 38 00 01 00 */ li r0, 0x100 /* 803C3DA8 003C0D08 80 AD B1 50 */ lwz r5, __THPInfo@sda21(r13) -/* 803C3DAC 003C0D0C 90 8D B1 00 */ stw r4, lbl_805A9CC0@sda21(r13) +/* 803C3DAC 003C0D0C 90 8D B1 00 */ stw r4, Gbase@sda21(r13) /* 803C3DB0 003C0D10 54 63 F8 7E */ srwi r3, r3, 1 /* 803C3DB4 003C0D14 39 3F FF F8 */ addi r9, r31, -8 -/* 803C3DB8 003C0D18 90 0D B1 20 */ stw r0, lbl_805A9CE0@sda21(r13) +/* 803C3DB8 003C0D18 90 0D B1 20 */ stw r0, Gwid@sda21(r13) /* 803C3DBC 003C0D1C 88 05 06 86 */ lbz r0, 0x686(r5) /* 803C3DC0 003C0D20 54 00 40 2E */ slwi r0, r0, 8 /* 803C3DC4 003C0D24 7C 05 02 14 */ add r0, r5, r0 -/* 803C3DC8 003C0D28 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C3DC8 003C0D28 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C3DCC 003C0D2C 81 1F 01 28 */ lwz r8, 0x128(r31) -/* 803C3DD0 003C0D30 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C3DD0 003C0D30 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C3DD4 003C0D34 38 80 00 08 */ li r4, 8 /* 803C3DD8 003C0D38 7C 89 03 A6 */ mtctr r4 lbl_803C3DDC: @@ -2564,9 +2609,9 @@ lbl_803C3F48: /* 803C4008 003C0F68 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C400C 003C0F6C 42 00 FD F0 */ bdnz lbl_803C3DFC lbl_803C4010: -/* 803C4010 003C0F70 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C4010 003C0F70 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C4014 003C0F74 7F E9 FB 78 */ mr r9, r31 -/* 803C4018 003C0F78 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C4018 003C0F78 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C401C 003C0F7C E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C4020 003C0F80 54 64 10 3A */ slwi r4, r3, 2 /* 803C4024 003C0F84 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -2681,13 +2726,13 @@ lbl_803C4068: /* 803C41D4 003C1134 80 1F 01 08 */ lwz r0, 0x108(r31) /* 803C41D8 003C1138 80 8D B1 50 */ lwz r4, __THPInfo@sda21(r13) /* 803C41DC 003C113C 39 1F FF F8 */ addi r8, r31, -8 -/* 803C41E0 003C1140 90 0D B1 00 */ stw r0, lbl_805A9CC0@sda21(r13) +/* 803C41E0 003C1140 90 0D B1 00 */ stw r0, Gbase@sda21(r13) /* 803C41E4 003C1144 88 04 06 8C */ lbz r0, 0x68c(r4) /* 803C41E8 003C1148 54 00 40 2E */ slwi r0, r0, 8 /* 803C41EC 003C114C 7C 04 02 14 */ add r0, r4, r0 -/* 803C41F0 003C1150 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C41F0 003C1150 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C41F4 003C1154 81 3F 01 2C */ lwz r9, 0x12c(r31) -/* 803C41F8 003C1158 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C41F8 003C1158 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C41FC 003C115C 38 80 00 08 */ li r4, 8 /* 803C4200 003C1160 7C 89 03 A6 */ mtctr r4 lbl_803C4204: @@ -2837,9 +2882,9 @@ lbl_803C4370: /* 803C4430 003C1390 F4 88 00 08 */ psq_stu f4, 8(r8), 0, qr0 /* 803C4434 003C1394 42 00 FD F0 */ bdnz lbl_803C4224 lbl_803C4438: -/* 803C4438 003C1398 80 ED B1 00 */ lwz r7, lbl_805A9CC0@sda21(r13) +/* 803C4438 003C1398 80 ED B1 00 */ lwz r7, Gbase@sda21(r13) /* 803C443C 003C139C 7F E8 FB 78 */ mr r8, r31 -/* 803C4440 003C13A0 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C4440 003C13A0 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C4444 003C13A4 E0 E8 00 00 */ psq_l f7, 0(r8), 0, qr0 /* 803C4448 003C13A8 54 63 10 3A */ slwi r3, r3, 2 /* 803C444C 003C13AC E0 C8 00 80 */ psq_l f6, 128(r8), 0, qr0 @@ -3075,15 +3120,15 @@ lbl_803C4778: /* 803C47C4 003C1724 38 00 02 80 */ li r0, 0x280 /* 803C47C8 003C1728 80 8D B1 50 */ lwz r4, __THPInfo@sda21(r13) /* 803C47CC 003C172C 39 3F FF F8 */ addi r9, r31, -8 -/* 803C47D0 003C1730 90 6D B1 00 */ stw r3, lbl_805A9CC0@sda21(r13) +/* 803C47D0 003C1730 90 6D B1 00 */ stw r3, Gbase@sda21(r13) /* 803C47D4 003C1734 57 C3 25 36 */ rlwinm r3, r30, 4, 0x14, 0x1b -/* 803C47D8 003C1738 90 0D B1 20 */ stw r0, lbl_805A9CE0@sda21(r13) +/* 803C47D8 003C1738 90 0D B1 20 */ stw r0, Gwid@sda21(r13) /* 803C47DC 003C173C 88 04 06 80 */ lbz r0, 0x680(r4) /* 803C47E0 003C1740 54 00 40 2E */ slwi r0, r0, 8 /* 803C47E4 003C1744 7C 04 02 14 */ add r0, r4, r0 -/* 803C47E8 003C1748 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C47E8 003C1748 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C47EC 003C174C 81 1F 01 18 */ lwz r8, 0x118(r31) -/* 803C47F0 003C1750 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C47F0 003C1750 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C47F4 003C1754 38 80 00 08 */ li r4, 8 /* 803C47F8 003C1758 7C 89 03 A6 */ mtctr r4 lbl_803C47FC: @@ -3233,9 +3278,9 @@ lbl_803C4968: /* 803C4A28 003C1988 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C4A2C 003C198C 42 00 FD F0 */ bdnz lbl_803C481C lbl_803C4A30: -/* 803C4A30 003C1990 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C4A30 003C1990 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C4A34 003C1994 7F E9 FB 78 */ mr r9, r31 -/* 803C4A38 003C1998 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C4A38 003C1998 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C4A3C 003C199C E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C4A40 003C19A0 54 64 10 3A */ slwi r4, r3, 2 /* 803C4A44 003C19A4 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -3348,7 +3393,7 @@ lbl_803C4A88: /* 803C4BEC 003C1B4C F0 64 60 00 */ psq_st f3, 0(r4), 0, qr6 /* 803C4BF0 003C1B50 F0 44 60 08 */ psq_st f2, 8(r4), 0, qr6 /* 803C4BF4 003C1B54 81 1F 01 1C */ lwz r8, 0x11c(r31) -/* 803C4BF8 003C1B58 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C4BF8 003C1B58 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C4BFC 003C1B5C 39 43 00 08 */ addi r10, r3, 8 /* 803C4C00 003C1B60 39 3F FF F8 */ addi r9, r31, -8 /* 803C4C04 003C1B64 38 80 00 08 */ li r4, 8 @@ -3500,9 +3545,9 @@ lbl_803C4D78: /* 803C4E38 003C1D98 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C4E3C 003C1D9C 42 00 FD F0 */ bdnz lbl_803C4C2C lbl_803C4E40: -/* 803C4E40 003C1DA0 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C4E40 003C1DA0 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C4E44 003C1DA4 7F E9 FB 78 */ mr r9, r31 -/* 803C4E48 003C1DA8 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C4E48 003C1DA8 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C4E4C 003C1DAC E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C4E50 003C1DB0 55 4A 10 3A */ slwi r10, r10, 2 /* 803C4E54 003C1DB4 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -3615,7 +3660,7 @@ lbl_803C4E98: /* 803C4FFC 003C1F5C F0 64 60 00 */ psq_st f3, 0(r4), 0, qr6 /* 803C5000 003C1F60 F0 44 60 08 */ psq_st f2, 8(r4), 0, qr6 /* 803C5004 003C1F64 81 1F 01 20 */ lwz r8, 0x120(r31) -/* 803C5008 003C1F68 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C5008 003C1F68 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C500C 003C1F6C 39 3F FF F8 */ addi r9, r31, -8 /* 803C5010 003C1F70 38 80 00 08 */ li r4, 8 /* 803C5014 003C1F74 7C 89 03 A6 */ mtctr r4 @@ -3766,9 +3811,9 @@ lbl_803C5184: /* 803C5244 003C21A4 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C5248 003C21A8 42 00 FD F0 */ bdnz lbl_803C5038 lbl_803C524C: -/* 803C524C 003C21AC 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C524C 003C21AC 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C5250 003C21B0 7F E9 FB 78 */ mr r9, r31 -/* 803C5254 003C21B4 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C5254 003C21B4 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C5258 003C21B8 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C525C 003C21BC 54 07 18 38 */ slwi r7, r0, 3 /* 803C5260 003C21C0 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -3882,7 +3927,7 @@ lbl_803C52A8: /* 803C540C 003C236C F0 64 60 00 */ psq_st f3, 0(r4), 0, qr6 /* 803C5410 003C2370 F0 44 60 08 */ psq_st f2, 8(r4), 0, qr6 /* 803C5414 003C2374 81 1F 01 24 */ lwz r8, 0x124(r31) -/* 803C5418 003C2378 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C5418 003C2378 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C541C 003C237C 39 23 00 08 */ addi r9, r3, 8 /* 803C5420 003C2380 39 5F FF F8 */ addi r10, r31, -8 /* 803C5424 003C2384 38 80 00 08 */ li r4, 8 @@ -4034,9 +4079,9 @@ lbl_803C5598: /* 803C5658 003C25B8 F4 8A 00 08 */ psq_stu f4, 8(r10), 0, qr0 /* 803C565C 003C25BC 42 00 FD F0 */ bdnz lbl_803C544C lbl_803C5660: -/* 803C5660 003C25C0 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C5660 003C25C0 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C5664 003C25C4 7F EA FB 78 */ mr r10, r31 -/* 803C5668 003C25C8 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C5668 003C25C8 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C566C 003C25CC E0 EA 00 00 */ psq_l f7, 0(r10), 0, qr0 /* 803C5670 003C25D0 54 07 18 38 */ slwi r7, r0, 3 /* 803C5674 003C25D4 E0 CA 00 80 */ psq_l f6, 128(r10), 0, qr0 @@ -4152,16 +4197,16 @@ lbl_803C56BC: /* 803C5828 003C2788 80 9F 01 10 */ lwz r4, 0x110(r31) /* 803C582C 003C278C 38 00 01 40 */ li r0, 0x140 /* 803C5830 003C2790 80 AD B1 50 */ lwz r5, __THPInfo@sda21(r13) -/* 803C5834 003C2794 90 8D B1 00 */ stw r4, lbl_805A9CC0@sda21(r13) +/* 803C5834 003C2794 90 8D B1 00 */ stw r4, Gbase@sda21(r13) /* 803C5838 003C2798 54 63 F8 7E */ srwi r3, r3, 1 /* 803C583C 003C279C 39 3F FF F8 */ addi r9, r31, -8 -/* 803C5840 003C27A0 90 0D B1 20 */ stw r0, lbl_805A9CE0@sda21(r13) +/* 803C5840 003C27A0 90 0D B1 20 */ stw r0, Gwid@sda21(r13) /* 803C5844 003C27A4 88 05 06 86 */ lbz r0, 0x686(r5) /* 803C5848 003C27A8 54 00 40 2E */ slwi r0, r0, 8 /* 803C584C 003C27AC 7C 05 02 14 */ add r0, r5, r0 -/* 803C5850 003C27B0 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C5850 003C27B0 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C5854 003C27B4 81 1F 01 28 */ lwz r8, 0x128(r31) -/* 803C5858 003C27B8 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C5858 003C27B8 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C585C 003C27BC 38 80 00 08 */ li r4, 8 /* 803C5860 003C27C0 7C 89 03 A6 */ mtctr r4 lbl_803C5864: @@ -4311,9 +4356,9 @@ lbl_803C59D0: /* 803C5A90 003C29F0 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C5A94 003C29F4 42 00 FD F0 */ bdnz lbl_803C5884 lbl_803C5A98: -/* 803C5A98 003C29F8 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C5A98 003C29F8 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C5A9C 003C29FC 7F E9 FB 78 */ mr r9, r31 -/* 803C5AA0 003C2A00 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C5AA0 003C2A00 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C5AA4 003C2A04 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C5AA8 003C2A08 54 64 10 3A */ slwi r4, r3, 2 /* 803C5AAC 003C2A0C E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -4428,13 +4473,13 @@ lbl_803C5AF0: /* 803C5C5C 003C2BBC 80 1F 01 14 */ lwz r0, 0x114(r31) /* 803C5C60 003C2BC0 80 8D B1 50 */ lwz r4, __THPInfo@sda21(r13) /* 803C5C64 003C2BC4 39 1F FF F8 */ addi r8, r31, -8 -/* 803C5C68 003C2BC8 90 0D B1 00 */ stw r0, lbl_805A9CC0@sda21(r13) +/* 803C5C68 003C2BC8 90 0D B1 00 */ stw r0, Gbase@sda21(r13) /* 803C5C6C 003C2BCC 88 04 06 8C */ lbz r0, 0x68c(r4) /* 803C5C70 003C2BD0 54 00 40 2E */ slwi r0, r0, 8 /* 803C5C74 003C2BD4 7C 04 02 14 */ add r0, r4, r0 -/* 803C5C78 003C2BD8 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C5C78 003C2BD8 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C5C7C 003C2BDC 81 3F 01 2C */ lwz r9, 0x12c(r31) -/* 803C5C80 003C2BE0 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C5C80 003C2BE0 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C5C84 003C2BE4 38 80 00 08 */ li r4, 8 /* 803C5C88 003C2BE8 7C 89 03 A6 */ mtctr r4 lbl_803C5C8C: @@ -4584,9 +4629,9 @@ lbl_803C5DF8: /* 803C5EB8 003C2E18 F4 88 00 08 */ psq_stu f4, 8(r8), 0, qr0 /* 803C5EBC 003C2E1C 42 00 FD F0 */ bdnz lbl_803C5CAC lbl_803C5EC0: -/* 803C5EC0 003C2E20 80 ED B1 00 */ lwz r7, lbl_805A9CC0@sda21(r13) +/* 803C5EC0 003C2E20 80 ED B1 00 */ lwz r7, Gbase@sda21(r13) /* 803C5EC4 003C2E24 7F E8 FB 78 */ mr r8, r31 -/* 803C5EC8 003C2E28 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C5EC8 003C2E28 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C5ECC 003C2E2C E0 E8 00 00 */ psq_l f7, 0(r8), 0, qr0 /* 803C5ED0 003C2E30 54 63 10 3A */ slwi r3, r3, 2 /* 803C5ED4 003C2E34 E0 C8 00 80 */ psq_l f6, 128(r8), 0, qr0 @@ -4828,14 +4873,14 @@ lbl_803C6218: /* 803C6264 003C31C4 57 A4 25 36 */ rlwinm r4, r29, 4, 0x14, 0x1b /* 803C6268 003C31C8 80 AD B1 50 */ lwz r5, __THPInfo@sda21(r13) /* 803C626C 003C31CC 38 7E FF F8 */ addi r3, r30, -8 -/* 803C6270 003C31D0 90 0D B1 00 */ stw r0, lbl_805A9CC0@sda21(r13) -/* 803C6274 003C31D4 93 8D B1 20 */ stw r28, lbl_805A9CE0@sda21(r13) +/* 803C6270 003C31D0 90 0D B1 00 */ stw r0, Gbase@sda21(r13) +/* 803C6274 003C31D4 93 8D B1 20 */ stw r28, Gwid@sda21(r13) /* 803C6278 003C31D8 88 05 06 80 */ lbz r0, 0x680(r5) /* 803C627C 003C31DC 54 00 40 2E */ slwi r0, r0, 8 /* 803C6280 003C31E0 7C 05 02 14 */ add r0, r5, r0 -/* 803C6284 003C31E4 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C6284 003C31E4 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C6288 003C31E8 81 3E 01 18 */ lwz r9, 0x118(r30) -/* 803C628C 003C31EC 81 0D B1 40 */ lwz r8, lbl_805A9D00@sda21(r13) +/* 803C628C 003C31EC 81 0D B1 40 */ lwz r8, Gq@sda21(r13) /* 803C6290 003C31F0 38 A0 00 08 */ li r5, 8 /* 803C6294 003C31F4 7C A9 03 A6 */ mtctr r5 lbl_803C6298: @@ -4985,9 +5030,9 @@ lbl_803C6404: /* 803C64C4 003C3424 F4 83 00 08 */ psq_stu f4, 8(r3), 0, qr0 /* 803C64C8 003C3428 42 00 FD F0 */ bdnz lbl_803C62B8 lbl_803C64CC: -/* 803C64CC 003C342C 81 2D B1 00 */ lwz r9, lbl_805A9CC0@sda21(r13) +/* 803C64CC 003C342C 81 2D B1 00 */ lwz r9, Gbase@sda21(r13) /* 803C64D0 003C3430 7F C3 F3 78 */ mr r3, r30 -/* 803C64D4 003C3434 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C64D4 003C3434 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C64D8 003C3438 E0 E3 00 00 */ psq_l f7, 0(r3), 0, qr0 /* 803C64DC 003C343C 54 85 10 3A */ slwi r5, r4, 2 /* 803C64E0 003C3440 E0 C3 00 80 */ psq_l f6, 128(r3), 0, qr0 @@ -5100,7 +5145,7 @@ lbl_803C6524: /* 803C6688 003C35E8 F0 65 60 00 */ psq_st f3, 0(r5), 0, qr6 /* 803C668C 003C35EC F0 45 60 08 */ psq_st f2, 8(r5), 0, qr6 /* 803C6690 003C35F0 81 1E 01 1C */ lwz r8, 0x11c(r30) -/* 803C6694 003C35F4 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C6694 003C35F4 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C6698 003C35F8 39 44 00 08 */ addi r10, r4, 8 /* 803C669C 003C35FC 39 3E FF F8 */ addi r9, r30, -8 /* 803C66A0 003C3600 38 60 00 08 */ li r3, 8 @@ -5252,9 +5297,9 @@ lbl_803C6814: /* 803C68D4 003C3834 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C68D8 003C3838 42 00 FD F0 */ bdnz lbl_803C66C8 lbl_803C68DC: -/* 803C68DC 003C383C 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C68DC 003C383C 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C68E0 003C3840 7F C9 F3 78 */ mr r9, r30 -/* 803C68E4 003C3844 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C68E4 003C3844 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C68E8 003C3848 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C68EC 003C384C 55 4A 10 3A */ slwi r10, r10, 2 /* 803C68F0 003C3850 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -5367,7 +5412,7 @@ lbl_803C6934: /* 803C6A98 003C39F8 F0 63 60 00 */ psq_st f3, 0(r3), 0, qr6 /* 803C6A9C 003C39FC F0 43 60 08 */ psq_st f2, 8(r3), 0, qr6 /* 803C6AA0 003C3A00 81 1E 01 20 */ lwz r8, 0x120(r30) -/* 803C6AA4 003C3A04 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C6AA4 003C3A04 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C6AA8 003C3A08 39 3E FF F8 */ addi r9, r30, -8 /* 803C6AAC 003C3A0C 38 60 00 08 */ li r3, 8 /* 803C6AB0 003C3A10 7C 69 03 A6 */ mtctr r3 @@ -5518,9 +5563,9 @@ lbl_803C6C20: /* 803C6CE0 003C3C40 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C6CE4 003C3C44 42 00 FD F0 */ bdnz lbl_803C6AD4 lbl_803C6CE8: -/* 803C6CE8 003C3C48 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C6CE8 003C3C48 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C6CEC 003C3C4C 7F C9 F3 78 */ mr r9, r30 -/* 803C6CF0 003C3C50 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C6CF0 003C3C50 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C6CF4 003C3C54 E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C6CF8 003C3C58 54 07 18 38 */ slwi r7, r0, 3 /* 803C6CFC 003C3C5C E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -5634,7 +5679,7 @@ lbl_803C6D44: /* 803C6EA8 003C3E08 F0 63 60 00 */ psq_st f3, 0(r3), 0, qr6 /* 803C6EAC 003C3E0C F0 43 60 08 */ psq_st f2, 8(r3), 0, qr6 /* 803C6EB0 003C3E10 81 1E 01 24 */ lwz r8, 0x124(r30) -/* 803C6EB4 003C3E14 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C6EB4 003C3E14 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C6EB8 003C3E18 39 24 00 08 */ addi r9, r4, 8 /* 803C6EBC 003C3E1C 39 5E FF F8 */ addi r10, r30, -8 /* 803C6EC0 003C3E20 38 60 00 08 */ li r3, 8 @@ -5786,9 +5831,9 @@ lbl_803C7034: /* 803C70F4 003C4054 F4 8A 00 08 */ psq_stu f4, 8(r10), 0, qr0 /* 803C70F8 003C4058 42 00 FD F0 */ bdnz lbl_803C6EE8 lbl_803C70FC: -/* 803C70FC 003C405C 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C70FC 003C405C 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C7100 003C4060 7F CA F3 78 */ mr r10, r30 -/* 803C7104 003C4064 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C7104 003C4064 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C7108 003C4068 E0 EA 00 00 */ psq_l f7, 0(r10), 0, qr0 /* 803C710C 003C406C 54 07 18 38 */ slwi r7, r0, 3 /* 803C7110 003C4070 E0 CA 00 80 */ psq_l f6, 128(r10), 0, qr0 @@ -5904,15 +5949,15 @@ lbl_803C7158: /* 803C72C4 003C4224 80 1E 01 10 */ lwz r0, 0x110(r30) /* 803C72C8 003C4228 80 6D B1 50 */ lwz r3, __THPInfo@sda21(r13) /* 803C72CC 003C422C 54 84 F8 7E */ srwi r4, r4, 1 -/* 803C72D0 003C4230 90 0D B1 00 */ stw r0, lbl_805A9CC0@sda21(r13) +/* 803C72D0 003C4230 90 0D B1 00 */ stw r0, Gbase@sda21(r13) /* 803C72D4 003C4234 39 3E FF F8 */ addi r9, r30, -8 -/* 803C72D8 003C4238 93 ED B1 20 */ stw r31, lbl_805A9CE0@sda21(r13) +/* 803C72D8 003C4238 93 ED B1 20 */ stw r31, Gwid@sda21(r13) /* 803C72DC 003C423C 88 03 06 86 */ lbz r0, 0x686(r3) /* 803C72E0 003C4240 54 00 40 2E */ slwi r0, r0, 8 /* 803C72E4 003C4244 7C 03 02 14 */ add r0, r3, r0 -/* 803C72E8 003C4248 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C72E8 003C4248 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C72EC 003C424C 81 1E 01 28 */ lwz r8, 0x128(r30) -/* 803C72F0 003C4250 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C72F0 003C4250 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C72F4 003C4254 38 60 00 08 */ li r3, 8 /* 803C72F8 003C4258 7C 69 03 A6 */ mtctr r3 lbl_803C72FC: @@ -6062,9 +6107,9 @@ lbl_803C7468: /* 803C7528 003C4488 F4 89 00 08 */ psq_stu f4, 8(r9), 0, qr0 /* 803C752C 003C448C 42 00 FD F0 */ bdnz lbl_803C731C lbl_803C7530: -/* 803C7530 003C4490 81 0D B1 00 */ lwz r8, lbl_805A9CC0@sda21(r13) +/* 803C7530 003C4490 81 0D B1 00 */ lwz r8, Gbase@sda21(r13) /* 803C7534 003C4494 7F C9 F3 78 */ mr r9, r30 -/* 803C7538 003C4498 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C7538 003C4498 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C753C 003C449C E0 E9 00 00 */ psq_l f7, 0(r9), 0, qr0 /* 803C7540 003C44A0 54 83 10 3A */ slwi r3, r4, 2 /* 803C7544 003C44A4 E0 C9 00 80 */ psq_l f6, 128(r9), 0, qr0 @@ -6179,13 +6224,13 @@ lbl_803C7588: /* 803C76F4 003C4654 80 1E 01 14 */ lwz r0, 0x114(r30) /* 803C76F8 003C4658 80 6D B1 50 */ lwz r3, __THPInfo@sda21(r13) /* 803C76FC 003C465C 39 1E FF F8 */ addi r8, r30, -8 -/* 803C7700 003C4660 90 0D B1 00 */ stw r0, lbl_805A9CC0@sda21(r13) +/* 803C7700 003C4660 90 0D B1 00 */ stw r0, Gbase@sda21(r13) /* 803C7704 003C4664 88 03 06 8C */ lbz r0, 0x68c(r3) /* 803C7708 003C4668 54 00 40 2E */ slwi r0, r0, 8 /* 803C770C 003C466C 7C 03 02 14 */ add r0, r3, r0 -/* 803C7710 003C4670 90 0D B1 40 */ stw r0, lbl_805A9D00@sda21(r13) +/* 803C7710 003C4670 90 0D B1 40 */ stw r0, Gq@sda21(r13) /* 803C7714 003C4674 81 3E 01 2C */ lwz r9, 0x12c(r30) -/* 803C7718 003C4678 80 ED B1 40 */ lwz r7, lbl_805A9D00@sda21(r13) +/* 803C7718 003C4678 80 ED B1 40 */ lwz r7, Gq@sda21(r13) /* 803C771C 003C467C 38 60 00 08 */ li r3, 8 /* 803C7720 003C4680 7C 69 03 A6 */ mtctr r3 lbl_803C7724: @@ -6335,9 +6380,9 @@ lbl_803C7890: /* 803C7950 003C48B0 F4 88 00 08 */ psq_stu f4, 8(r8), 0, qr0 /* 803C7954 003C48B4 42 00 FD F0 */ bdnz lbl_803C7744 lbl_803C7958: -/* 803C7958 003C48B8 80 ED B1 00 */ lwz r7, lbl_805A9CC0@sda21(r13) +/* 803C7958 003C48B8 80 ED B1 00 */ lwz r7, Gbase@sda21(r13) /* 803C795C 003C48BC 7F C8 F3 78 */ mr r8, r30 -/* 803C7960 003C48C0 80 0D B1 20 */ lwz r0, lbl_805A9CE0@sda21(r13) +/* 803C7960 003C48C0 80 0D B1 20 */ lwz r0, Gwid@sda21(r13) /* 803C7964 003C48C4 E0 E8 00 00 */ psq_l f7, 0(r8), 0, qr0 /* 803C7968 003C48C8 54 83 10 3A */ slwi r3, r4, 2 /* 803C796C 003C48CC E0 C8 00 80 */ psq_l f6, 128(r8), 0, qr0 @@ -7995,34 +8040,3 @@ THPInit: /* 803C90C0 003C6020 7C 08 03 A6 */ mtlr r0 /* 803C90C4 003C6024 4E 80 00 20 */ blr -.section .rodata, "a" # 0x803CB3A0 - 0x803D8D60 -__THPJpegNaturalOrder: # local object - .4byte 0x00010810 - .4byte 0x0902030A - .4byte 0x11182019 - .4byte 0x120B0405 - .4byte 0x0C131A21 - .4byte 0x28302922 - .4byte 0x1B140D06 - .4byte 0x070E151C - .4byte 0x232A3138 - .4byte 0x39322B24 - .4byte 0x1D160F17 - .4byte 0x1E252C33 - .4byte 0x3A3B342D - .4byte 0x261F272E - .4byte 0x353C3D36 - .4byte 0x2F373E3F - .4byte 0x3F3F3F3F - .4byte 0x3F3F3F3F - .4byte 0x3F3F3F3F - .4byte 0x3F3F3F3F -__THPAANScaleFactor: # local object - .double 1.0 - .double 1.3870398998260498 - .double 1.3065630197525024 - .double 1.1758755445480347 - .double 1.0 - .double 0.78569495677948 - .double 0.5411961078643799 - .double 0.27589938044548035 diff --git a/asm/Dolphin/vi.s b/asm/Dolphin/vi.s index a5c70dd3..cdc92ec7 100644 --- a/asm/Dolphin/vi.s +++ b/asm/Dolphin/vi.s @@ -1,5 +1,16 @@ .include "macros.inc" +.section .data, "wa" +.global lbl_803F23A8 +lbl_803F23A8: + .incbin "baserom.dol", 0x3EF3A8, 0x1F4 +.global lbl_803F259C +lbl_803F259C: + .incbin "baserom.dol", 0x3EF59C, 0x1C0 +.global lbl_803F275C +lbl_803F275C: + .incbin "baserom.dol", 0x3EF75C, 0x1C + .section .sbss, "wa" lbl_805A9958: diff --git a/asm/Runtime/PPCEABI/H/printf.s b/asm/Runtime/PPCEABI/H/printf.s index 2df12cb1..db486dc2 100644 --- a/asm/Runtime/PPCEABI/H/printf.s +++ b/asm/Runtime/PPCEABI/H/printf.s @@ -1,5 +1,41 @@ .include "macros.inc" +.section .data, "wa" +# TODO: Move these where they actually belong +.global lbl_803F2778 +lbl_803F2778: + .incbin "baserom.dol", 0x3EF778, 0x140 +.global lbl_803F28B8 +lbl_803F28B8: + .incbin "baserom.dol", 0x3EF8B8, 0x40 +.global lbl_803F28F8 +lbl_803F28F8: + .incbin "baserom.dol", 0x3EF8F8, 0x128 +.global lbl_803F2A20 +lbl_803F2A20: + .incbin "baserom.dol", 0x3EFA20, 0x100 +.global lbl_803F2B20 +lbl_803F2B20: + .incbin "baserom.dol", 0x3EFB20, 0x100 +.global lbl_803F2C20 +lbl_803F2C20: + .incbin "baserom.dol", 0x3EFC20, 0x100 +.global lbl_803F2D20 +lbl_803F2D20: + .incbin "baserom.dol", 0x3EFD20, 0x38 +.global lbl_803F2D58 +lbl_803F2D58: + .incbin "baserom.dol", 0x3EFD58, 0x84 +.global lbl_803F2DDC +lbl_803F2DDC: + .incbin "baserom.dol", 0x3EFDDC, 0x84 +.global lbl_803F2E60 +lbl_803F2E60: + .incbin "baserom.dol", 0x3EFE60, 0xE0 +.global lbl_803F2F40 +lbl_803F2F40: + .incbin "baserom.dol", 0x3EFF40, 0x48 + .section .text, "ax" .if 1 /* TODO: Move __stdio_atexit to its own file (misc_io), diff --git a/asm/Runtime/PPCEABI/H/runtime.s b/asm/Runtime/PPCEABI/H/runtime.s index 8933bed6..37377b38 100644 --- a/asm/Runtime/PPCEABI/H/runtime.s +++ b/asm/Runtime/PPCEABI/H/runtime.s @@ -128,8 +128,8 @@ func_80389A58: /* 80389A58 003869B8 92 4B FF C8 */ stw r18, -0x38(r11) /* 80389A5C 003869BC 92 6B FF CC */ stw r19, -0x34(r11) -.global func_80389A60 -func_80389A60: +.global _savegpr_20 +_savegpr_20: /* 80389A60 003869C0 92 8B FF D0 */ stw r20, -0x30(r11) .global func_80389A64 @@ -144,16 +144,16 @@ sub_80389a68: func_80389A6C: /* 80389A6C 003869CC 92 EB FF DC */ stw r23, -0x24(r11) -.global func_80389A70 -func_80389A70: +.global _savegpr_24 +_savegpr_24: /* 80389A70 003869D0 93 0B FF E0 */ stw r24, -0x20(r11) -.global func_80389A74 -func_80389A74: +.global _savegpr_25 +_savegpr_25: /* 80389A74 003869D4 93 2B FF E4 */ stw r25, -0x1c(r11) -.global func_80389A78 -func_80389A78: +.global _savegpr_26 +_savegpr_26: /* 80389A78 003869D8 93 4B FF E8 */ stw r26, -0x18(r11) .global sub_80389a7c diff --git a/asm/bss.s b/asm/bss.s index 8e400d86..88f77b75 100644 --- a/asm/bss.s +++ b/asm/bss.s @@ -451,8 +451,8 @@ lbl_80540C58: .global lbl_80540C88 lbl_80540C88: .skip 0x578 -.global lbl_80541200 -lbl_80541200: +.global DriveInfo +DriveInfo: .skip 0x50 .global lbl_80541250 lbl_80541250: @@ -502,8 +502,8 @@ lbl_8054FD10: .global lbl_8054FE10 lbl_8054FE10: .skip 0x240 -.global lbl_80550050 -lbl_80550050: +.global synthInfo +synthInfo: .skip 0x214 .global lbl_80550264 lbl_80550264: @@ -637,11 +637,11 @@ lbl_80567214: .global lbl_80567498 lbl_80567498: .skip 0x408 -.global lbl_805678A0 -lbl_805678A0: +.global dsp_task +dsp_task: .skip 0x60 -.global lbl_80567900 -lbl_80567900: +.global dram_image +dram_image: .skip 0x2008 .global lbl_80569908 lbl_80569908: @@ -670,8 +670,8 @@ lbl_80569A58: .global lbl_80569C78 lbl_80569C78: .skip 0x20 -.global lbl_80569C98 -lbl_80569C98: +.global Packet +Packet: .skip 0x80 .global lbl_80569D18 lbl_80569D18: diff --git a/asm/data.s b/asm/data.s index 6e4429cc..d573244a 100644 --- a/asm/data.s +++ b/asm/data.s @@ -2753,147 +2753,28 @@ lbl_803F22F0: .global lbl_803F2320 lbl_803F2320: .incbin "baserom.dol", 0x3EF320, 0x78 -.global lbl_803F2398 -lbl_803F2398: - .incbin "baserom.dol", 0x3EF398, 0x10 -.global lbl_803F23A8 -lbl_803F23A8: - .incbin "baserom.dol", 0x3EF3A8, 0x1F4 -.global lbl_803F259C -lbl_803F259C: - .incbin "baserom.dol", 0x3EF59C, 0x1C0 -.global lbl_803F275C -lbl_803F275C: - .incbin "baserom.dol", 0x3EF75C, 0x1C -.global lbl_803F2778 -lbl_803F2778: - .incbin "baserom.dol", 0x3EF778, 0x140 -.global lbl_803F28B8 -lbl_803F28B8: - .incbin "baserom.dol", 0x3EF8B8, 0x40 -.global lbl_803F28F8 -lbl_803F28F8: - .incbin "baserom.dol", 0x3EF8F8, 0x128 -.global lbl_803F2A20 -lbl_803F2A20: - .incbin "baserom.dol", 0x3EFA20, 0x100 -.global lbl_803F2B20 -lbl_803F2B20: - .incbin "baserom.dol", 0x3EFB20, 0x100 -.global lbl_803F2C20 -lbl_803F2C20: - .incbin "baserom.dol", 0x3EFC20, 0x100 -.global lbl_803F2D20 -lbl_803F2D20: - .incbin "baserom.dol", 0x3EFD20, 0x38 -.global lbl_803F2D58 -lbl_803F2D58: - .incbin "baserom.dol", 0x3EFD58, 0x84 -.global lbl_803F2DDC -lbl_803F2DDC: - .incbin "baserom.dol", 0x3EFDDC, 0x84 -.global lbl_803F2E60 -lbl_803F2E60: - .incbin "baserom.dol", 0x3EFE60, 0xE0 -.global lbl_803F2F40 -lbl_803F2F40: - .incbin "baserom.dol", 0x3EFF40, 0x48 -.global lbl_803F2F88 -lbl_803F2F88: - .incbin "baserom.dol", 0x3EFF88, 0x50 -.global lbl_803F2FD8 -lbl_803F2FD8: - .incbin "baserom.dol", 0x3EFFD8, 0x1C -.global lbl_803F2FF4 -lbl_803F2FF4: - .incbin "baserom.dol", 0x3EFFF4, 0x204 -.global lbl_803F31F8 -lbl_803F31F8: - .incbin "baserom.dol", 0x3F01F8, 0x20 -.global lbl_803F3218 -lbl_803F3218: - .incbin "baserom.dol", 0x3F0218, 0x10 -.global lbl_803F3228 -lbl_803F3228: - .incbin "baserom.dol", 0x3F0228, 0x20 -.global lbl_803F3248 -lbl_803F3248: - .incbin "baserom.dol", 0x3F0248, 0x10 -.global lbl_803F3258 -lbl_803F3258: - .incbin "baserom.dol", 0x3F0258, 0x1C8 -.global lbl_803F3420 -lbl_803F3420: - .incbin "baserom.dol", 0x3F0420, 0x200 -.global lbl_803F3620 -lbl_803F3620: - .incbin "baserom.dol", 0x3F0620, 0x200 -.global lbl_803F3820 -lbl_803F3820: - .incbin "baserom.dol", 0x3F0820, 0x184 -.global lbl_803F39A4 -lbl_803F39A4: - .incbin "baserom.dol", 0x3F09A4, 0x400 -.global lbl_803F3DA4 -lbl_803F3DA4: - .incbin "baserom.dol", 0x3F0DA4, 0x204 -.global lbl_803F3FA8 -lbl_803F3FA8: - .incbin "baserom.dol", 0x3F0FA8, 0x18 -.global lbl_803F3FC0 -lbl_803F3FC0: - .incbin "baserom.dol", 0x3F0FC0, 0x228 -.global lbl_803F41E8 -lbl_803F41E8: - .incbin "baserom.dol", 0x3F11E8, 0x10 -.global lbl_803F41F8 -lbl_803F41F8: - .incbin "baserom.dol", 0x3F11F8, 0x10 -.global lbl_803F4208 -lbl_803F4208: - .incbin "baserom.dol", 0x3F1208, 0x24 -.global lbl_803F422C -lbl_803F422C: - .incbin "baserom.dol", 0x3F122C, 0x24 -.global lbl_803F4250 -lbl_803F4250: - .incbin "baserom.dol", 0x3F1250, 0x28 -.global lbl_803F4278 -lbl_803F4278: - .incbin "baserom.dol", 0x3F1278, 0x808 -.global lbl_803F4A80 -lbl_803F4A80: - .incbin "baserom.dol", 0x3F1A80, 0x19E0 -.global lbl_803F6460 -lbl_803F6460: - .incbin "baserom.dol", 0x3F3460, 0x10 -.global lbl_803F6470 -lbl_803F6470: - .incbin "baserom.dol", 0x3F3470, 0x20 -.global lbl_803F6490 -lbl_803F6490: - .incbin "baserom.dol", 0x3F3490, 0x848 -.global lbl_803F6CD8 -lbl_803F6CD8: - .incbin "baserom.dol", 0x3F3CD8, 0x28 -.global lbl_803F6D00 -lbl_803F6D00: - .incbin "baserom.dol", 0x3F3D00, 0x160 -.global lbl_803F6E60 -lbl_803F6E60: - .incbin "baserom.dol", 0x3F3E60, 0x20 -.global lbl_803F6E80 -lbl_803F6E80: - .incbin "baserom.dol", 0x3F3E80, 0x20 -.global lbl_803F6EA0 -lbl_803F6EA0: - .incbin "baserom.dol", 0x3F3EA0, 0x44 -.global lbl_803F6EE4 -lbl_803F6EE4: - .incbin "baserom.dol", 0x3F3EE4, 0x14 -.global lbl_803F6EF8 -lbl_803F6EF8: - .incbin "baserom.dol", 0x3F3EF8, 0xC0 -.global lbl_803F6FB8 -lbl_803F6FB8: - .incbin "baserom.dol", 0x3F3FB8, 0x168 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/asm/musyx/chorus_fx.s b/asm/musyx/chorus_fx.s index 493c7041..f5514a4c 100644 --- a/asm/musyx/chorus_fx.s +++ b/asm/musyx/chorus_fx.s @@ -1,5 +1,522 @@ .include "macros.inc" +.section .data, "wa" + +.global rsmpTab12khz +rsmpTab12khz: + .4byte 0x3DC7B000 + .4byte 0x3F4D5E00 + .4byte 0x3DD01000 + .4byte 0xBA800000 + .4byte 0x3DBF8000 + .4byte 0x3F4D5200 + .4byte 0x3DD8B000 + .4byte 0xBA880000 + .4byte 0x3DB78000 + .4byte 0x3F4D3C00 + .4byte 0x3DE18000 + .4byte 0xBA980000 + .4byte 0x3DAFB000 + .4byte 0x3F4D1A00 + .4byte 0x3DEA7000 + .4byte 0xBAA80000 + .4byte 0x3DA80000 + .4byte 0x3F4CEC00 + .4byte 0x3DF39000 + .4byte 0xBAB80000 + .4byte 0x3DA08000 + .4byte 0x3F4CB400 + .4byte 0x3DFCE000 + .4byte 0xBAC80000 + .4byte 0x3D993000 + .4byte 0x3F4C7200 + .4byte 0x3E033800 + .4byte 0xBAD80000 + .4byte 0x3D922000 + .4byte 0x3F4C2400 + .4byte 0x3E081000 + .4byte 0xBAE80000 + .4byte 0x3D8B3000 + .4byte 0x3F4BCA00 + .4byte 0x3E0D0000 + .4byte 0xBAFC0000 + .4byte 0x3D848000 + .4byte 0x3F4B6600 + .4byte 0x3E120800 + .4byte 0xBB060000 + .4byte 0x3D7BE000 + .4byte 0x3F4AF800 + .4byte 0x3E172800 + .4byte 0xBB100000 + .4byte 0x3D6F0000 + .4byte 0x3F4A7E00 + .4byte 0x3E1C6000 + .4byte 0xBB180000 + .4byte 0x3D62A000 + .4byte 0x3F49F800 + .4byte 0x3E21B000 + .4byte 0xBB220000 + .4byte 0x3D568000 + .4byte 0x3F496800 + .4byte 0x3E271800 + .4byte 0xBB2E0000 + .4byte 0x3D4AC000 + .4byte 0x3F48D000 + .4byte 0x3E2C9000 + .4byte 0xBB380000 + .4byte 0x3D3F6000 + .4byte 0x3F482A00 + .4byte 0x3E322800 + .4byte 0xBB440000 + .4byte 0x3D344000 + .4byte 0x3F477A00 + .4byte 0x3E37D000 + .4byte 0xBB4E0000 + .4byte 0x3D29A000 + .4byte 0x3F46C000 + .4byte 0x3E3D9000 + .4byte 0xBB5A0000 + .4byte 0x3D1F4000 + .4byte 0x3F45FC00 + .4byte 0x3E436800 + .4byte 0xBB660000 + .4byte 0x3D152000 + .4byte 0x3F452E00 + .4byte 0x3E495000 + .4byte 0xBB720000 + .4byte 0x3D0B6000 + .4byte 0x3F445600 + .4byte 0x3E4F5800 + .4byte 0xBB7E0000 + .4byte 0x3D020000 + .4byte 0x3F437400 + .4byte 0x3E557000 + .4byte 0xBB850000 + .4byte 0x3CF1C000 + .4byte 0x3F428600 + .4byte 0x3E5B9800 + .4byte 0xBB8C0000 + .4byte 0x3CE04000 + .4byte 0x3F419000 + .4byte 0x3E61D800 + .4byte 0xBB920000 + .4byte 0x3CCF4000 + .4byte 0x3F409000 + .4byte 0x3E683000 + .4byte 0xBB990000 + .4byte 0x3CBF0000 + .4byte 0x3F3F8800 + .4byte 0x3E6E9800 + .4byte 0xBB9F0000 + .4byte 0x3CAF4000 + .4byte 0x3F3E7600 + .4byte 0x3E751000 + .4byte 0xBBA60000 + .4byte 0x3CA04000 + .4byte 0x3F3D5A00 + .4byte 0x3E7BA000 + .4byte 0xBBAE0000 + .4byte 0x3C91C000 + .4byte 0x3F3C3600 + .4byte 0x3E812000 + .4byte 0xBBB50000 + .4byte 0x3C838000 + .4byte 0x3F3B0800 + .4byte 0x3E847800 + .4byte 0xBBBB0000 + .4byte 0x3C6C0000 + .4byte 0x3F39D200 + .4byte 0x3E87DC00 + .4byte 0xBBC20000 + .4byte 0x3C520000 + .4byte 0x3F389400 + .4byte 0x3E8B4800 + .4byte 0xBBCA0000 + .4byte 0x3C398000 + .4byte 0x3F374C00 + .4byte 0x3E8EBC00 + .4byte 0xBBD10000 + .4byte 0x3C220000 + .4byte 0x3F35FE00 + .4byte 0x3E923800 + .4byte 0xBBD70000 + .4byte 0x3C0B8000 + .4byte 0x3F34A600 + .4byte 0x3E95BC00 + .4byte 0xBBDE0000 + .4byte 0x3BEC0000 + .4byte 0x3F334800 + .4byte 0x3E994400 + .4byte 0xBBE60000 + .4byte 0x3BC20000 + .4byte 0x3F31E200 + .4byte 0x3E9CD800 + .4byte 0xBBED0000 + .4byte 0x3B9A0000 + .4byte 0x3F307400 + .4byte 0x3EA07400 + .4byte 0xBBF30000 + .4byte 0x3B6A0000 + .4byte 0x3F2EFE00 + .4byte 0x3EA41400 + .4byte 0xBBFA0000 + .4byte 0x3B220000 + .4byte 0x3F2D8000 + .4byte 0x3EA7BC00 + .4byte 0xBC010000 + .4byte 0x3ABC0000 + .4byte 0x3F2BFE00 + .4byte 0x3EAB6800 + .4byte 0xBC048000 + .4byte 0x39F00000 + .4byte 0x3F2A7400 + .4byte 0x3EAF1800 + .4byte 0xBC078000 + .4byte 0xBA000000 + .4byte 0x3F28E400 + .4byte 0x3EB2D000 + .4byte 0xBC0A8000 + .4byte 0xBAB00000 + .4byte 0x3F274E00 + .4byte 0x3EB69000 + .4byte 0xBC0D8000 + .4byte 0xBB0E0000 + .4byte 0x3F25B000 + .4byte 0x3EBA5000 + .4byte 0xBC110000 + .4byte 0xBB420000 + .4byte 0x3F240E00 + .4byte 0x3EBE1800 + .4byte 0xBC140000 + .4byte 0xBB720000 + .4byte 0x3F226400 + .4byte 0x3EC1E400 + .4byte 0xBC170000 + .4byte 0xBB8F0000 + .4byte 0x3F20B600 + .4byte 0x3EC5B400 + .4byte 0xBC190000 + .4byte 0xBBA30000 + .4byte 0x3F1F0400 + .4byte 0x3EC98800 + .4byte 0xBC1B8000 + .4byte 0xBBB70000 + .4byte 0x3F1D4C00 + .4byte 0x3ECD5C00 + .4byte 0xBC1E0000 + .4byte 0xBBC90000 + .4byte 0x3F1B8E00 + .4byte 0x3ED13400 + .4byte 0xBC208000 + .4byte 0xBBDA0000 + .4byte 0x3F19CC00 + .4byte 0x3ED50C00 + .4byte 0xBC228000 + .4byte 0xBBEA0000 + .4byte 0x3F180600 + .4byte 0x3ED8E800 + .4byte 0xBC240000 + .4byte 0xBBF80000 + .4byte 0x3F163C00 + .4byte 0x3EDCC800 + .4byte 0xBC260000 + .4byte 0xBC028000 + .4byte 0x3F146C00 + .4byte 0x3EE0A400 + .4byte 0xBC278000 + .4byte 0xBC088000 + .4byte 0x3F129A00 + .4byte 0x3EE48400 + .4byte 0xBC288000 + .4byte 0xBC0E0000 + .4byte 0x3F10C600 + .4byte 0x3EE86400 + .4byte 0xBC298000 + .4byte 0xBC130000 + .4byte 0x3F0EEE00 + .4byte 0x3EEC4400 + .4byte 0xBC2A8000 + .4byte 0xBC170000 + .4byte 0x3F0D1200 + .4byte 0x3EF02400 + .4byte 0xBC2A8000 + .4byte 0xBC1B0000 + .4byte 0x3F0B3200 + .4byte 0x3EF40400 + .4byte 0xBC2A8000 + .4byte 0xBC1E8000 + .4byte 0x3F095200 + .4byte 0x3EF7E000 + .4byte 0xBC2A0000 + .4byte 0xBC218000 + .4byte 0x3F076E00 + .4byte 0x3EFBBC00 + .4byte 0xBC2A0000 + .4byte 0xBC240000 + .4byte 0x3F058800 + .4byte 0x3EFF9400 + .4byte 0xBC290000 + .4byte 0xBC260000 + .4byte 0x3F03A000 + .4byte 0x3F01B600 + .4byte 0xBC280000 + .4byte 0xBC280000 + .4byte 0x3F01B600 + .4byte 0x3F03A000 + .4byte 0xBC260000 + .4byte 0xBC290000 + .4byte 0x3EFF9400 + .4byte 0x3F058800 + .4byte 0xBC240000 + .4byte 0xBC2A0000 + .4byte 0x3EFBBC00 + .4byte 0x3F076E00 + .4byte 0xBC218000 + .4byte 0xBC2A0000 + .4byte 0x3EF7E000 + .4byte 0x3F095200 + .4byte 0xBC1E8000 + .4byte 0xBC2A8000 + .4byte 0x3EF40400 + .4byte 0x3F0B3200 + .4byte 0xBC1B0000 + .4byte 0xBC2A8000 + .4byte 0x3EF02400 + .4byte 0x3F0D1200 + .4byte 0xBC170000 + .4byte 0xBC2A8000 + .4byte 0x3EEC4400 + .4byte 0x3F0EEE00 + .4byte 0xBC130000 + .4byte 0xBC298000 + .4byte 0x3EE86400 + .4byte 0x3F10C600 + .4byte 0xBC0E0000 + .4byte 0xBC288000 + .4byte 0x3EE48400 + .4byte 0x3F129A00 + .4byte 0xBC088000 + .4byte 0xBC278000 + .4byte 0x3EE0A400 + .4byte 0x3F146C00 + .4byte 0xBC028000 + .4byte 0xBC260000 + .4byte 0x3EDCC800 + .4byte 0x3F163C00 + .4byte 0xBBF80000 + .4byte 0xBC240000 + .4byte 0x3ED8E800 + .4byte 0x3F180600 + .4byte 0xBBEA0000 + .4byte 0xBC228000 + .4byte 0x3ED50C00 + .4byte 0x3F19CC00 + .4byte 0xBBDA0000 + .4byte 0xBC208000 + .4byte 0x3ED13400 + .4byte 0x3F1B8E00 + .4byte 0xBBC90000 + .4byte 0xBC1E0000 + .4byte 0x3ECD5C00 + .4byte 0x3F1D4C00 + .4byte 0xBBB70000 + .4byte 0xBC1B8000 + .4byte 0x3EC98800 + .4byte 0x3F1F0400 + .4byte 0xBBA30000 + .4byte 0xBC190000 + .4byte 0x3EC5B400 + .4byte 0x3F20B600 + .4byte 0xBB8F0000 + .4byte 0xBC170000 + .4byte 0x3EC1E400 + .4byte 0x3F226400 + .4byte 0xBB720000 + .4byte 0xBC140000 + .4byte 0x3EBE1800 + .4byte 0x3F240E00 + .4byte 0xBB420000 + .4byte 0xBC110000 + .4byte 0x3EBA5000 + .4byte 0x3F25B000 + .4byte 0xBB0E0000 + .4byte 0xBC0D8000 + .4byte 0x3EB69000 + .4byte 0x3F274E00 + .4byte 0xBAB00000 + .4byte 0xBC0A8000 + .4byte 0x3EB2D000 + .4byte 0x3F28E400 + .4byte 0xBA000000 + .4byte 0xBC078000 + .4byte 0x3EAF1800 + .4byte 0x3F2A7400 + .4byte 0x39F00000 + .4byte 0xBC048000 + .4byte 0x3EAB6800 + .4byte 0x3F2BFE00 + .4byte 0x3ABC0000 + .4byte 0xBC010000 + .4byte 0x3EA7BC00 + .4byte 0x3F2D8000 + .4byte 0x3B220000 + .4byte 0xBBFA0000 + .4byte 0x3EA41400 + .4byte 0x3F2EFE00 + .4byte 0x3B6A0000 + .4byte 0xBBF30000 + .4byte 0x3EA07400 + .4byte 0x3F307400 + .4byte 0x3B9A0000 + .4byte 0xBBED0000 + .4byte 0x3E9CD800 + .4byte 0x3F31E200 + .4byte 0x3BC20000 + .4byte 0xBBE60000 + .4byte 0x3E994400 + .4byte 0x3F334800 + .4byte 0x3BEC0000 + .4byte 0xBBDE0000 + .4byte 0x3E95BC00 + .4byte 0x3F34A600 + .4byte 0x3C0B8000 + .4byte 0xBBD70000 + .4byte 0x3E923800 + .4byte 0x3F35FE00 + .4byte 0x3C220000 + .4byte 0xBBD10000 + .4byte 0x3E8EBC00 + .4byte 0x3F374C00 + .4byte 0x3C398000 + .4byte 0xBBCA0000 + .4byte 0x3E8B4800 + .4byte 0x3F389400 + .4byte 0x3C520000 + .4byte 0xBBC20000 + .4byte 0x3E87DC00 + .4byte 0x3F39D200 + .4byte 0x3C6C0000 + .4byte 0xBBBB0000 + .4byte 0x3E847800 + .4byte 0x3F3B0800 + .4byte 0x3C838000 + .4byte 0xBBB50000 + .4byte 0x3E812000 + .4byte 0x3F3C3600 + .4byte 0x3C91C000 + .4byte 0xBBAE0000 + .4byte 0x3E7BA000 + .4byte 0x3F3D5A00 + .4byte 0x3CA04000 + .4byte 0xBBA60000 + .4byte 0x3E751000 + .4byte 0x3F3E7600 + .4byte 0x3CAF4000 + .4byte 0xBB9F0000 + .4byte 0x3E6E9800 + .4byte 0x3F3F8800 + .4byte 0x3CBF0000 + .4byte 0xBB990000 + .4byte 0x3E683000 + .4byte 0x3F409000 + .4byte 0x3CCF4000 + .4byte 0xBB920000 + .4byte 0x3E61D800 + .4byte 0x3F419000 + .4byte 0x3CE04000 + .4byte 0xBB8C0000 + .4byte 0x3E5B9800 + .4byte 0x3F428600 + .4byte 0x3CF1C000 + .4byte 0xBB850000 + .4byte 0x3E557000 + .4byte 0x3F437400 + .4byte 0x3D020000 + .4byte 0xBB7E0000 + .4byte 0x3E4F5800 + .4byte 0x3F445600 + .4byte 0x3D0B6000 + .4byte 0xBB720000 + .4byte 0x3E495000 + .4byte 0x3F452E00 + .4byte 0x3D152000 + .4byte 0xBB660000 + .4byte 0x3E436800 + .4byte 0x3F45FC00 + .4byte 0x3D1F4000 + .4byte 0xBB5A0000 + .4byte 0x3E3D9000 + .4byte 0x3F46C000 + .4byte 0x3D29A000 + .4byte 0xBB4E0000 + .4byte 0x3E37D000 + .4byte 0x3F477A00 + .4byte 0x3D344000 + .4byte 0xBB440000 + .4byte 0x3E322800 + .4byte 0x3F482A00 + .4byte 0x3D3F6000 + .4byte 0xBB380000 + .4byte 0x3E2C9000 + .4byte 0x3F48D000 + .4byte 0x3D4AC000 + .4byte 0xBB2E0000 + .4byte 0x3E271800 + .4byte 0x3F496800 + .4byte 0x3D568000 + .4byte 0xBB220000 + .4byte 0x3E21B000 + .4byte 0x3F49F800 + .4byte 0x3D62A000 + .4byte 0xBB180000 + .4byte 0x3E1C6000 + .4byte 0x3F4A7E00 + .4byte 0x3D6F0000 + .4byte 0xBB100000 + .4byte 0x3E172800 + .4byte 0x3F4AF800 + .4byte 0x3D7BE000 + .4byte 0xBB060000 + .4byte 0x3E120800 + .4byte 0x3F4B6600 + .4byte 0x3D848000 + .4byte 0xBAFC0000 + .4byte 0x3E0D0000 + .4byte 0x3F4BCA00 + .4byte 0x3D8B3000 + .4byte 0xBAE80000 + .4byte 0x3E081000 + .4byte 0x3F4C2400 + .4byte 0x3D922000 + .4byte 0xBAD80000 + .4byte 0x3E033800 + .4byte 0x3F4C7200 + .4byte 0x3D993000 + .4byte 0xBAC80000 + .4byte 0x3DFCE000 + .4byte 0x3F4CB400 + .4byte 0x3DA08000 + .4byte 0xBAB80000 + .4byte 0x3DF39000 + .4byte 0x3F4CEC00 + .4byte 0x3DA80000 + .4byte 0xBAA80000 + .4byte 0x3DEA7000 + .4byte 0x3F4D1A00 + .4byte 0x3DAFB000 + .4byte 0xBA980000 + .4byte 0x3DE18000 + .4byte 0x3F4D3C00 + .4byte 0x3DB78000 + .4byte 0xBA880000 + .4byte 0x3DD8B000 + .4byte 0x3F4D5200 + .4byte 0x3DBF8000 + .4byte 0xBA800000 + .4byte 0x3DD01000 + .4byte 0x3F4D5E00 + .4byte 0x3DC7B000 + .section .text, "ax" .global do_src1 @@ -19,8 +536,8 @@ do_src1: /* 803B6CE0 003B3C40 91 41 00 10 */ stw r10, 0x10(r1) /* 803B6CE4 003B3C44 91 41 00 18 */ stw r10, 0x18(r1) /* 803B6CE8 003B3C48 91 41 00 20 */ stw r10, 0x20(r1) -/* 803B6CEC 003B3C4C 3D 40 80 5B */ lis r10, lbl_805AF438@ha -/* 803B6CF0 003B3C50 C9 2A F4 38 */ lfd f9, lbl_805AF438@l(r10) +/* 803B6CEC 003B3C4C 3D 40 80 5B */ lis r10, i2fMagic@ha +/* 803B6CF0 003B3C50 C9 2A F4 38 */ lfd f9, i2fMagic@l(r10) /* 803B6CF4 003B3C54 54 AA 10 3A */ slwi r10, r5, 2 /* 803B6CF8 003B3C58 81 69 00 00 */ lwz r11, 0(r9) /* 803B6CFC 003B3C5C 83 A9 00 04 */ lwz r29, 4(r9) @@ -43,8 +560,8 @@ do_src1: /* 803B6D40 003B3CA0 EC 63 48 28 */ fsubs f3, f3, f9 /* 803B6D44 003B3CA4 EC 84 48 28 */ fsubs f4, f4, f9 /* 803B6D48 003B3CA8 3B 40 FF FC */ li r26, -4 -/* 803B6D4C 003B3CAC 3D 80 80 3F */ lis r12, lbl_803F6490@ha -/* 803B6D50 003B3CB0 39 8C 64 90 */ addi r12, r12, lbl_803F6490@l +/* 803B6D4C 003B3CAC 3D 80 80 3F */ lis r12, rsmpTab12khz@ha +/* 803B6D50 003B3CB0 39 8C 64 90 */ addi r12, r12, rsmpTab12khz@l /* 803B6D54 003B3CB4 39 20 00 A0 */ li r9, 0xa0 /* 803B6D58 003B3CB8 7D 29 03 A6 */ mtctr r9 lbl_803B6D5C: @@ -129,8 +646,8 @@ do_src2: /* 803B6E78 003B3DD8 91 41 00 10 */ stw r10, 0x10(r1) /* 803B6E7C 003B3DDC 91 41 00 18 */ stw r10, 0x18(r1) /* 803B6E80 003B3DE0 91 41 00 20 */ stw r10, 0x20(r1) -/* 803B6E84 003B3DE4 3D 40 80 5B */ lis r10, lbl_805AF438@ha -/* 803B6E88 003B3DE8 C9 2A F4 38 */ lfd f9, lbl_805AF438@l(r10) +/* 803B6E84 003B3DE4 3D 40 80 5B */ lis r10, i2fMagic@ha +/* 803B6E88 003B3DE8 C9 2A F4 38 */ lfd f9, i2fMagic@l(r10) /* 803B6E8C 003B3DEC 54 AA 10 3A */ slwi r10, r5, 2 /* 803B6E90 003B3DF0 81 69 00 00 */ lwz r11, 0(r9) /* 803B6E94 003B3DF4 83 A9 00 04 */ lwz r29, 4(r9) @@ -153,8 +670,8 @@ do_src2: /* 803B6ED8 003B3E38 EC 63 48 28 */ fsubs f3, f3, f9 /* 803B6EDC 003B3E3C EC 84 48 28 */ fsubs f4, f4, f9 /* 803B6EE0 003B3E40 3B 40 FF FC */ li r26, -4 -/* 803B6EE4 003B3E44 3D 80 80 3F */ lis r12, lbl_803F6490@ha -/* 803B6EE8 003B3E48 39 8C 64 90 */ addi r12, r12, lbl_803F6490@l +/* 803B6EE4 003B3E44 3D 80 80 3F */ lis r12, rsmpTab12khz@ha +/* 803B6EE8 003B3E48 39 8C 64 90 */ addi r12, r12, rsmpTab12khz@l /* 803B6EEC 003B3E4C 39 20 00 A0 */ li r9, 0xa0 /* 803B6EF0 003B3E50 7D 29 03 A6 */ mtctr r9 lbl_803B6EF4: diff --git a/asm/musyx/creverb.s b/asm/musyx/creverb.s index f044c09a..9db8a833 100644 --- a/asm/musyx/creverb.s +++ b/asm/musyx/creverb.s @@ -1,5 +1,13 @@ .include "macros.inc" +.section .data, "wa" + +lbl_803F6460: + .4byte 0x000006FD + .4byte 0x000007CF + .4byte 0x000001B1 + .4byte 0x00000095 + .section .text, "ax" .global ReverbSTDCreate diff --git a/asm/musyx/hardware.s b/asm/musyx/hardware.s index 6d346c65..06dede57 100644 --- a/asm/musyx/hardware.s +++ b/asm/musyx/hardware.s @@ -1,5 +1,20 @@ .include "macros.inc" +.section .sdata, "wa" +.global lbl_805A8BD8 +lbl_805A8BD8: + .2byte 0 + .2byte 1 + .2byte 2 + .balign 4 + +.global lbl_805A8BE0 +lbl_805A8BE0: + .2byte 0 + .2byte 1 + .2byte 2 + .balign 4 + .section .text, "ax" .global snd_handle_irq @@ -12,14 +27,14 @@ snd_handle_irq: /* 803B2F60 003AFEC0 28 00 00 00 */ cmplwi r0, 0 /* 803B2F64 003AFEC4 41 82 01 28 */ beq lbl_803B308C /* 803B2F68 003AFEC8 4B FE A2 F1 */ bl nullsub_60 -/* 803B2F6C 003AFECC 48 00 21 89 */ bl sub_803b50f4 +/* 803B2F6C 003AFECC 48 00 21 89 */ bl hwIRQEnterCritical /* 803B2F70 003AFED0 48 00 1F 05 */ bl salAiGetDest /* 803B2F74 003AFED4 48 00 20 21 */ bl salCtrlDsp -/* 803B2F78 003AFED8 48 00 21 9D */ bl sub_803b5114 -/* 803B2F7C 003AFEDC 48 00 21 79 */ bl sub_803b50f4 +/* 803B2F78 003AFED8 48 00 21 9D */ bl hwIRQLeaveCritical +/* 803B2F7C 003AFEDC 48 00 21 79 */ bl hwIRQEnterCritical /* 803B2F80 003AFEE0 4B FF B0 39 */ bl salHandleAuxProcessing -/* 803B2F84 003AFEE4 48 00 21 91 */ bl sub_803b5114 -/* 803B2F88 003AFEE8 48 00 21 6D */ bl sub_803b50f4 +/* 803B2F84 003AFEE4 48 00 21 91 */ bl hwIRQLeaveCritical +/* 803B2F88 003AFEE8 48 00 21 6D */ bl hwIRQEnterCritical /* 803B2F8C 003AFEEC 88 8D AF 8E */ lbz r4, lbl_805A9B4E@sda21(r13) /* 803B2F90 003AFEF0 3C 60 55 55 */ lis r3, 0x55555556@ha /* 803B2F94 003AFEF4 38 03 55 56 */ addi r0, r3, 0x55555556@l @@ -60,34 +75,34 @@ lbl_803B3014: /* 803B3018 003AFF78 55 23 06 3E */ clrlwi r3, r9, 0x18 /* 803B301C 003AFF7C 7C 03 00 40 */ cmplw r3, r0 /* 803B3020 003AFF80 41 80 FF AC */ blt lbl_803B2FCC -/* 803B3024 003AFF84 48 00 20 F1 */ bl sub_803b5114 +/* 803B3024 003AFF84 48 00 20 F1 */ bl hwIRQLeaveCritical /* 803B3028 003AFF88 3B E0 00 00 */ li r31, 0 /* 803B302C 003AFF8C 48 00 00 28 */ b lbl_803B3054 lbl_803B3030: -/* 803B3030 003AFF90 48 00 20 C5 */ bl sub_803b50f4 +/* 803B3030 003AFF90 48 00 20 C5 */ bl hwIRQEnterCritical /* 803B3034 003AFF94 7F E3 FB 78 */ mr r3, r31 /* 803B3038 003AFF98 48 00 01 55 */ bl sub_803b318c /* 803B303C 003AFF9C 38 60 01 00 */ li r3, 0x100 /* 803B3040 003AFFA0 4B FE 50 C5 */ bl sub_80398104 /* 803B3044 003AFFA4 38 60 01 00 */ li r3, 0x100 /* 803B3048 003AFFA8 4B FE 7A C1 */ bl synthHandle -/* 803B304C 003AFFAC 48 00 20 C9 */ bl sub_803b5114 +/* 803B304C 003AFFAC 48 00 20 C9 */ bl hwIRQLeaveCritical /* 803B3050 003AFFB0 3B FF 00 01 */ addi r31, r31, 1 lbl_803B3054: /* 803B3054 003AFFB4 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 803B3058 003AFFB8 28 00 00 05 */ cmplwi r0, 5 /* 803B305C 003AFFBC 41 80 FF D4 */ blt lbl_803B3030 -/* 803B3060 003AFFC0 48 00 20 95 */ bl sub_803b50f4 +/* 803B3060 003AFFC0 48 00 20 95 */ bl hwIRQEnterCritical /* 803B3064 003AFFC4 38 60 00 00 */ li r3, 0 /* 803B3068 003AFFC8 48 00 01 25 */ bl sub_803b318c /* 803B306C 003AFFCC 4B FF D2 ED */ bl sub_803b0358 -/* 803B3070 003AFFD0 48 00 20 A5 */ bl sub_803b5114 -/* 803B3074 003AFFD4 48 00 20 81 */ bl sub_803b50f4 +/* 803B3070 003AFFD0 48 00 20 A5 */ bl hwIRQLeaveCritical +/* 803B3074 003AFFD4 48 00 20 81 */ bl hwIRQEnterCritical /* 803B3078 003AFFD8 4B FE 99 35 */ bl sub_8039c9ac -/* 803B307C 003AFFDC 48 00 20 99 */ bl sub_803b5114 -/* 803B3080 003AFFE0 48 00 20 75 */ bl sub_803b50f4 +/* 803B307C 003AFFDC 48 00 20 99 */ bl hwIRQLeaveCritical +/* 803B3080 003AFFE0 48 00 20 75 */ bl hwIRQEnterCritical /* 803B3084 003AFFE4 4B FF 6E F1 */ bl vsSampleUpdates -/* 803B3088 003AFFE8 48 00 20 8D */ bl sub_803b5114 +/* 803B3088 003AFFE8 48 00 20 8D */ bl hwIRQLeaveCritical lbl_803B308C: /* 803B308C 003AFFEC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B3090 003AFFF0 83 E1 00 0C */ lwz r31, 0xc(r1) @@ -131,7 +146,7 @@ sub_803b30a0: /* 803B311C 003B007C 28 03 00 00 */ cmplwi r3, 0 /* 803B3120 003B0080 41 82 00 14 */ beq lbl_803B3134 /* 803B3124 003B0084 48 00 1F 61 */ bl hwEnableIrq -/* 803B3128 003B0088 48 00 1C F9 */ bl sub_803b4e20 +/* 803B3128 003B0088 48 00 1C F9 */ bl salStartAi /* 803B312C 003B008C 38 60 00 00 */ li r3, 0 /* 803B3130 003B0090 48 00 00 08 */ b lbl_803B3138 lbl_803B3134: @@ -152,11 +167,11 @@ hwExit: /* 803B315C 003B00BC 7C 08 02 A6 */ mflr r0 /* 803B3160 003B00C0 90 01 00 14 */ stw r0, 0x14(r1) /* 803B3164 003B00C4 48 00 1F 59 */ bl hwDisableIrq -/* 803B3168 003B00C8 48 00 1D F9 */ bl sub_803b4f60 +/* 803B3168 003B00C8 48 00 1D F9 */ bl salExitDsp /* 803B316C 003B00CC 4B FF 7F 7D */ bl salExitDspCtrl /* 803B3170 003B00D0 48 00 1C D1 */ bl salExitAi /* 803B3174 003B00D4 48 00 1F 11 */ bl hwEnableIrq -/* 803B3178 003B00D8 48 00 1F 09 */ bl nullsub_13 +/* 803B3178 003B00D8 48 00 1F 09 */ bl hwExitIrq /* 803B317C 003B00DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B3180 003B00E0 7C 08 03 A6 */ mtlr r0 /* 803B3184 003B00E4 38 21 00 10 */ addi r1, r1, 0x10 @@ -959,7 +974,7 @@ hwFlushStream: /* 803B3C18 003B0B78 7C 08 02 A6 */ mflr r0 /* 803B3C1C 003B0B7C 90 01 00 34 */ stw r0, 0x34(r1) /* 803B3C20 003B0B80 39 61 00 30 */ addi r11, r1, 0x30 -/* 803B3C24 003B0B84 4B FD 5E 51 */ bl func_80389A74 +/* 803B3C24 003B0B84 4B FD 5E 51 */ bl _savegpr_25 /* 803B3C28 003B0B88 7C 79 1B 78 */ mr r25, r3 /* 803B3C2C 003B0B8C 7C 9D 23 78 */ mr r29, r4 /* 803B3C30 003B0B90 7C BA 2B 78 */ mr r26, r5 @@ -1035,10 +1050,10 @@ hwFrq2Pitch: /* 803B3D0C 003B0C6C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803B3D10 003B0C70 7C 08 02 A6 */ mflr r0 /* 803B3D14 003B0C74 3C A0 43 30 */ lis r5, 0x4330 -/* 803B3D18 003B0C78 3C 80 80 55 */ lis r4, lbl_80550050@ha +/* 803B3D18 003B0C78 3C 80 80 55 */ lis r4, synthInfo@ha /* 803B3D1C 003B0C7C 90 01 00 24 */ stw r0, 0x24(r1) /* 803B3D20 003B0C80 C8 42 D6 88 */ lfd f2, lbl_805AF3A8@sda21(r2) -/* 803B3D24 003B0C84 80 04 00 50 */ lwz r0, lbl_80550050@l(r4) +/* 803B3D24 003B0C84 80 04 00 50 */ lwz r0, synthInfo@l(r4) /* 803B3D28 003B0C88 90 61 00 0C */ stw r3, 0xc(r1) /* 803B3D2C 003B0C8C C0 62 D6 80 */ lfs f3, lbl_805AF3A0@sda21(r2) /* 803B3D30 003B0C90 90 A1 00 08 */ stw r5, 8(r1) diff --git a/asm/musyx/hw_aramdma.s b/asm/musyx/hw_aramdma.s index 0e5d0df7..3ec64c1b 100644 --- a/asm/musyx/hw_aramdma.s +++ b/asm/musyx/hw_aramdma.s @@ -79,7 +79,7 @@ aramUploadData: /* 803B4014 003B0F74 7C 08 02 A6 */ mflr r0 /* 803B4018 003B0F78 90 01 00 34 */ stw r0, 0x34(r1) /* 803B401C 003B0F7C 39 61 00 30 */ addi r11, r1, 0x30 -/* 803B4020 003B0F80 4B FD 5A 51 */ bl func_80389A70 +/* 803B4020 003B0F80 4B FD 5A 51 */ bl _savegpr_24 /* 803B4024 003B0F84 7C D8 33 79 */ or. r24, r6, r6 /* 803B4028 003B0F88 7C 79 1B 78 */ mr r25, r3 /* 803B402C 003B0F8C 7C 9A 23 78 */ mr r26, r4 diff --git a/asm/musyx/hw_dolphin.s b/asm/musyx/hw_dolphin.s index f1744ad5..216124c8 100644 --- a/asm/musyx/hw_dolphin.s +++ b/asm/musyx/hw_dolphin.s @@ -2,35 +2,35 @@ .section .sbss, "wa" -.global lbl_805A9B70 -lbl_805A9B70: +.global oldState +oldState: .skip 0x4 -.global lbl_805A9B74 -lbl_805A9B74: +.global hwIrqLevel +hwIrqLevel: .skip 0x4 -.global lbl_805A9B78 -lbl_805A9B78: +.global salDspInitIsDone +salDspInitIsDone: .skip 0x4 -.global lbl_805A9B7C -lbl_805A9B7C: +.global salLastTick +salLastTick: .skip 0x4 -.global lbl_805A9B80 -lbl_805A9B80: +.global salLogicActive +salLogicActive: .skip 0x4 -.global lbl_805A9B84 -lbl_805A9B84: +.global salLogicIsWaiting +salLogicIsWaiting: .skip 0x4 -.global lbl_805A9B88 -lbl_805A9B88: +.global salDspIsDone +salDspIsDone: .skip 0x4 -.global lbl_805A9B8C -lbl_805A9B8C: +.global salAIBufferBase +salAIBufferBase: .skip 0x4 -.global lbl_805A9B90 -lbl_805A9B90: +.global salAIBufferIndex +salAIBufferIndex: .skip 0x4 -.global lbl_805A9B94 -lbl_805A9B94: +.global userCallback +userCallback: .skip 0x4 .section .text, "ax" @@ -41,8 +41,8 @@ salCallback: /* 803B4C40 003B1BA0 7C 08 02 A6 */ mflr r0 /* 803B4C44 003B1BA4 38 80 02 80 */ li r4, 0x280 /* 803B4C48 003B1BA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 803B4C4C 003B1BAC 88 AD AF D0 */ lbz r5, lbl_805A9B90@sda21(r13) -/* 803B4C50 003B1BB0 80 6D AF CC */ lwz r3, lbl_805A9B8C@sda21(r13) +/* 803B4C4C 003B1BAC 88 AD AF D0 */ lbz r5, salAIBufferIndex@sda21(r13) +/* 803B4C50 003B1BB0 80 6D AF CC */ lwz r3, salAIBufferBase@sda21(r13) /* 803B4C54 003B1BB4 38 A5 00 01 */ addi r5, r5, 1 /* 803B4C58 003B1BB8 54 A0 F0 02 */ slwi r0, r5, 0x1e /* 803B4C5C 003B1BBC 3C 63 80 00 */ addis r3, r3, 0x8000 @@ -51,42 +51,42 @@ salCallback: /* 803B4C68 003B1BC8 54 00 10 3E */ rotlwi r0, r0, 2 /* 803B4C6C 003B1BCC 7C A0 2A 14 */ add r5, r0, r5 /* 803B4C70 003B1BD0 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 803B4C74 003B1BD4 98 AD AF D0 */ stb r5, lbl_805A9B90@sda21(r13) +/* 803B4C74 003B1BD4 98 AD AF D0 */ stb r5, salAIBufferIndex@sda21(r13) /* 803B4C78 003B1BD8 1C 00 02 80 */ mulli r0, r0, 0x280 /* 803B4C7C 003B1BDC 7C 63 02 14 */ add r3, r3, r0 /* 803B4C80 003B1BE0 4B FB 83 01 */ bl AIInitDMA /* 803B4C84 003B1BE4 4B FD 07 3D */ bl OSGetTick -/* 803B4C88 003B1BE8 90 6D AF BC */ stw r3, lbl_805A9B7C@sda21(r13) -/* 803B4C8C 003B1BEC 80 0D AF C8 */ lwz r0, lbl_805A9B88@sda21(r13) +/* 803B4C88 003B1BE8 90 6D AF BC */ stw r3, salLastTick@sda21(r13) +/* 803B4C8C 003B1BEC 80 0D AF C8 */ lwz r0, salDspIsDone@sda21(r13) /* 803B4C90 003B1BF0 28 00 00 00 */ cmplwi r0, 0 /* 803B4C94 003B1BF4 41 82 00 38 */ beq lbl_803B4CCC -/* 803B4C98 003B1BF8 80 0D AF C0 */ lwz r0, lbl_805A9B80@sda21(r13) +/* 803B4C98 003B1BF8 80 0D AF C0 */ lwz r0, salLogicActive@sda21(r13) /* 803B4C9C 003B1BFC 28 00 00 00 */ cmplwi r0, 0 /* 803B4CA0 003B1C00 40 82 00 34 */ bne lbl_803B4CD4 /* 803B4CA4 003B1C04 38 00 00 01 */ li r0, 1 -/* 803B4CA8 003B1C08 90 0D AF C0 */ stw r0, lbl_805A9B80@sda21(r13) +/* 803B4CA8 003B1C08 90 0D AF C0 */ stw r0, salLogicActive@sda21(r13) /* 803B4CAC 003B1C0C 4B FC C9 C9 */ bl OSEnableInterrupts -/* 803B4CB0 003B1C10 81 8D AF D4 */ lwz r12, lbl_805A9B94@sda21(r13) +/* 803B4CB0 003B1C10 81 8D AF D4 */ lwz r12, userCallback@sda21(r13) /* 803B4CB4 003B1C14 7D 89 03 A6 */ mtctr r12 /* 803B4CB8 003B1C18 4E 80 04 21 */ bctrl /* 803B4CBC 003B1C1C 4B FC C9 A5 */ bl OSDisableInterrupts /* 803B4CC0 003B1C20 38 00 00 00 */ li r0, 0 -/* 803B4CC4 003B1C24 90 0D AF C0 */ stw r0, lbl_805A9B80@sda21(r13) +/* 803B4CC4 003B1C24 90 0D AF C0 */ stw r0, salLogicActive@sda21(r13) /* 803B4CC8 003B1C28 48 00 00 0C */ b lbl_803B4CD4 lbl_803B4CCC: /* 803B4CCC 003B1C2C 38 00 00 01 */ li r0, 1 -/* 803B4CD0 003B1C30 90 0D AF C4 */ stw r0, lbl_805A9B84@sda21(r13) +/* 803B4CD0 003B1C30 90 0D AF C4 */ stw r0, salLogicIsWaiting@sda21(r13) lbl_803B4CD4: /* 803B4CD4 003B1C34 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B4CD8 003B1C38 7C 08 03 A6 */ mtlr r0 /* 803B4CDC 003B1C3C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B4CE0 003B1C40 4E 80 00 20 */ blr -.global sub_803b4ce4 -sub_803b4ce4: +.global dspInitCallback +dspInitCallback: /* 803B4CE4 003B1C44 38 00 00 01 */ li r0, 1 -/* 803B4CE8 003B1C48 90 0D AF C8 */ stw r0, lbl_805A9B88@sda21(r13) -/* 803B4CEC 003B1C4C 90 0D AF B8 */ stw r0, lbl_805A9B78@sda21(r13) +/* 803B4CE8 003B1C48 90 0D AF C8 */ stw r0, salDspIsDone@sda21(r13) +/* 803B4CEC 003B1C4C 90 0D AF B8 */ stw r0, salDspInitIsDone@sda21(r13) /* 803B4CF0 003B1C50 4E 80 00 20 */ blr .global dspResumeCallback @@ -95,23 +95,23 @@ dspResumeCallback: /* 803B4CF8 003B1C58 7C 08 02 A6 */ mflr r0 /* 803B4CFC 003B1C5C 38 60 00 01 */ li r3, 1 /* 803B4D00 003B1C60 90 01 00 14 */ stw r0, 0x14(r1) -/* 803B4D04 003B1C64 90 6D AF C8 */ stw r3, lbl_805A9B88@sda21(r13) -/* 803B4D08 003B1C68 80 0D AF C4 */ lwz r0, lbl_805A9B84@sda21(r13) +/* 803B4D04 003B1C64 90 6D AF C8 */ stw r3, salDspIsDone@sda21(r13) +/* 803B4D08 003B1C68 80 0D AF C4 */ lwz r0, salLogicIsWaiting@sda21(r13) /* 803B4D0C 003B1C6C 28 00 00 00 */ cmplwi r0, 0 /* 803B4D10 003B1C70 41 82 00 38 */ beq lbl_803B4D48 /* 803B4D14 003B1C74 38 00 00 00 */ li r0, 0 -/* 803B4D18 003B1C78 90 0D AF C4 */ stw r0, lbl_805A9B84@sda21(r13) -/* 803B4D1C 003B1C7C 80 0D AF C0 */ lwz r0, lbl_805A9B80@sda21(r13) +/* 803B4D18 003B1C78 90 0D AF C4 */ stw r0, salLogicIsWaiting@sda21(r13) +/* 803B4D1C 003B1C7C 80 0D AF C0 */ lwz r0, salLogicActive@sda21(r13) /* 803B4D20 003B1C80 28 00 00 00 */ cmplwi r0, 0 /* 803B4D24 003B1C84 40 82 00 24 */ bne lbl_803B4D48 -/* 803B4D28 003B1C88 90 6D AF C0 */ stw r3, lbl_805A9B80@sda21(r13) +/* 803B4D28 003B1C88 90 6D AF C0 */ stw r3, salLogicActive@sda21(r13) /* 803B4D2C 003B1C8C 4B FC C9 49 */ bl OSEnableInterrupts -/* 803B4D30 003B1C90 81 8D AF D4 */ lwz r12, lbl_805A9B94@sda21(r13) +/* 803B4D30 003B1C90 81 8D AF D4 */ lwz r12, userCallback@sda21(r13) /* 803B4D34 003B1C94 7D 89 03 A6 */ mtctr r12 /* 803B4D38 003B1C98 4E 80 04 21 */ bctrl /* 803B4D3C 003B1C9C 4B FC C9 25 */ bl OSDisableInterrupts /* 803B4D40 003B1CA0 38 00 00 00 */ li r0, 0 -/* 803B4D44 003B1CA4 90 0D AF C0 */ stw r0, lbl_805A9B80@sda21(r13) +/* 803B4D44 003B1CA4 90 0D AF C0 */ stw r0, salLogicActive@sda21(r13) lbl_803B4D48: /* 803B4D48 003B1CA8 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B4D4C 003B1CAC 7C 08 03 A6 */ mtlr r0 @@ -130,34 +130,34 @@ salInitAi: /* 803B4D74 003B1CD4 38 60 0A 00 */ li r3, 0xa00 /* 803B4D78 003B1CD8 48 00 03 BD */ bl salMalloc /* 803B4D7C 003B1CDC 28 03 00 00 */ cmplwi r3, 0 -/* 803B4D80 003B1CE0 90 6D AF CC */ stw r3, lbl_805A9B8C@sda21(r13) +/* 803B4D80 003B1CE0 90 6D AF CC */ stw r3, salAIBufferBase@sda21(r13) /* 803B4D84 003B1CE4 41 82 00 80 */ beq lbl_803B4E04 /* 803B4D88 003B1CE8 38 80 00 00 */ li r4, 0 /* 803B4D8C 003B1CEC 38 A0 0A 00 */ li r5, 0xa00 /* 803B4D90 003B1CF0 4B C4 E6 19 */ bl memset -/* 803B4D94 003B1CF4 80 6D AF CC */ lwz r3, lbl_805A9B8C@sda21(r13) +/* 803B4D94 003B1CF4 80 6D AF CC */ lwz r3, salAIBufferBase@sda21(r13) /* 803B4D98 003B1CF8 38 80 0A 00 */ li r4, 0xa00 /* 803B4D9C 003B1CFC 4B FC 9D 15 */ bl DCFlushRange /* 803B4DA0 003B1D00 38 80 00 01 */ li r4, 1 /* 803B4DA4 003B1D04 38 00 00 00 */ li r0, 0 /* 803B4DA8 003B1D08 3C 60 80 3B */ lis r3, salCallback@ha -/* 803B4DAC 003B1D0C 90 0D AF C4 */ stw r0, lbl_805A9B84@sda21(r13) +/* 803B4DAC 003B1D0C 90 0D AF C4 */ stw r0, salLogicIsWaiting@sda21(r13) /* 803B4DB0 003B1D10 38 63 4C 3C */ addi r3, r3, salCallback@l -/* 803B4DB4 003B1D14 90 8D AF C8 */ stw r4, lbl_805A9B88@sda21(r13) -/* 803B4DB8 003B1D18 98 8D AF D0 */ stb r4, lbl_805A9B90@sda21(r13) -/* 803B4DBC 003B1D1C 90 0D AF C0 */ stw r0, lbl_805A9B80@sda21(r13) -/* 803B4DC0 003B1D20 93 CD AF D4 */ stw r30, lbl_805A9B94@sda21(r13) +/* 803B4DB4 003B1D14 90 8D AF C8 */ stw r4, salDspIsDone@sda21(r13) +/* 803B4DB8 003B1D18 98 8D AF D0 */ stb r4, salAIBufferIndex@sda21(r13) +/* 803B4DBC 003B1D1C 90 0D AF C0 */ stw r0, salLogicActive@sda21(r13) +/* 803B4DC0 003B1D20 93 CD AF D4 */ stw r30, userCallback@sda21(r13) /* 803B4DC4 003B1D24 4B FB 81 79 */ bl AIRegisterDMACallback -/* 803B4DC8 003B1D28 88 0D AF D0 */ lbz r0, lbl_805A9B90@sda21(r13) +/* 803B4DC8 003B1D28 88 0D AF D0 */ lbz r0, salAIBufferIndex@sda21(r13) /* 803B4DCC 003B1D2C 38 80 02 80 */ li r4, 0x280 -/* 803B4DD0 003B1D30 80 6D AF CC */ lwz r3, lbl_805A9B8C@sda21(r13) +/* 803B4DD0 003B1D30 80 6D AF CC */ lwz r3, salAIBufferBase@sda21(r13) /* 803B4DD4 003B1D34 1C 00 02 80 */ mulli r0, r0, 0x280 /* 803B4DD8 003B1D38 3C 63 80 00 */ addis r3, r3, 0x8000 /* 803B4DDC 003B1D3C 7C 63 02 14 */ add r3, r3, r0 /* 803B4DE0 003B1D40 4B FB 81 A1 */ bl AIInitDMA -/* 803B4DE4 003B1D44 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803B4DE4 003B1D44 3C 60 80 55 */ lis r3, synthInfo@ha /* 803B4DE8 003B1D48 38 80 00 20 */ li r4, 0x20 -/* 803B4DEC 003B1D4C 38 63 00 50 */ addi r3, r3, lbl_80550050@l +/* 803B4DEC 003B1D4C 38 63 00 50 */ addi r3, r3, synthInfo@l /* 803B4DF0 003B1D50 38 00 7D 00 */ li r0, 0x7d00 /* 803B4DF4 003B1D54 90 83 00 04 */ stw r4, 4(r3) /* 803B4DF8 003B1D58 38 60 00 01 */ li r3, 1 @@ -173,8 +173,8 @@ lbl_803B4E08: /* 803B4E18 003B1D78 38 21 00 10 */ addi r1, r1, 0x10 /* 803B4E1C 003B1D7C 4E 80 00 20 */ blr -.global sub_803b4e20 -sub_803b4e20: +.global salStartAi +salStartAi: /* 803B4E20 003B1D80 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B4E24 003B1D84 7C 08 02 A6 */ mflr r0 /* 803B4E28 003B1D88 90 01 00 14 */ stw r0, 0x14(r1) @@ -192,7 +192,7 @@ salExitAi: /* 803B4E4C 003B1DAC 90 01 00 14 */ stw r0, 0x14(r1) /* 803B4E50 003B1DB0 4B FB 80 ED */ bl AIRegisterDMACallback /* 803B4E54 003B1DB4 4B FB 81 CD */ bl AIStopDMA -/* 803B4E58 003B1DB8 80 6D AF CC */ lwz r3, lbl_805A9B8C@sda21(r13) +/* 803B4E58 003B1DB8 80 6D AF CC */ lwz r3, salAIBufferBase@sda21(r13) /* 803B4E5C 003B1DBC 48 00 03 01 */ bl salFree /* 803B4E60 003B1DC0 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B4E64 003B1DC4 38 60 00 01 */ li r3, 1 @@ -202,8 +202,8 @@ salExitAi: .global salAiGetDest salAiGetDest: -/* 803B4E74 003B1DD4 88 6D AF D0 */ lbz r3, lbl_805A9B90@sda21(r13) -/* 803B4E78 003B1DD8 80 8D AF CC */ lwz r4, lbl_805A9B8C@sda21(r13) +/* 803B4E74 003B1DD4 88 6D AF D0 */ lbz r3, salAIBufferIndex@sda21(r13) +/* 803B4E78 003B1DD8 80 8D AF CC */ lwz r4, salAIBufferBase@sda21(r13) /* 803B4E7C 003B1DDC 38 63 00 02 */ addi r3, r3, 2 /* 803B4E80 003B1DE0 54 60 F0 02 */ slwi r0, r3, 0x1e /* 803B4E84 003B1DE4 54 63 0F FE */ srwi r3, r3, 0x1f @@ -219,19 +219,19 @@ salAiGetDest: sub_803b4ea4: /* 803B4EA4 003B1E04 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B4EA8 003B1E08 7C 08 02 A6 */ mflr r0 -/* 803B4EAC 003B1E0C 3C E0 80 3F */ lis r7, lbl_803F4A80@ha -/* 803B4EB0 003B1E10 3C C0 80 56 */ lis r6, lbl_805678A0@ha +/* 803B4EAC 003B1E0C 3C E0 80 3F */ lis r7, dspSlave@ha +/* 803B4EB0 003B1E10 3C C0 80 56 */ lis r6, dsp_task@ha /* 803B4EB4 003B1E14 90 01 00 14 */ stw r0, 0x14(r1) -/* 803B4EB8 003B1E18 3C 80 80 3B */ lis r4, sub_803b4ce4@ha +/* 803B4EB8 003B1E18 3C 80 80 3B */ lis r4, dspInitCallback@ha /* 803B4EBC 003B1E1C 3C 60 80 3B */ lis r3, dspResumeCallback@ha -/* 803B4EC0 003B1E20 39 46 78 A0 */ addi r10, r6, lbl_805678A0@l -/* 803B4EC4 003B1E24 A1 2D A0 28 */ lhz r9, lbl_805A8BE8@sda21(r13) -/* 803B4EC8 003B1E28 3C A0 80 56 */ lis r5, lbl_80567900@ha +/* 803B4EC0 003B1E20 39 46 78 A0 */ addi r10, r6, dsp_task@l +/* 803B4EC4 003B1E24 A1 2D A0 28 */ lhz r9, dspSlaveLength@sda21(r13) +/* 803B4EC8 003B1E28 3C A0 80 56 */ lis r5, dram_image@ha /* 803B4ECC 003B1E2C 39 00 00 00 */ li r8, 0 -/* 803B4ED0 003B1E30 39 67 4A 80 */ addi r11, r7, lbl_803F4A80@l -/* 803B4ED4 003B1E34 38 E5 79 00 */ addi r7, r5, lbl_80567900@l +/* 803B4ED0 003B1E30 39 67 4A 80 */ addi r11, r7, dspSlave@l +/* 803B4ED4 003B1E34 38 E5 79 00 */ addi r7, r5, dram_image@l /* 803B4ED8 003B1E38 38 03 4C F4 */ addi r0, r3, dspResumeCallback@l -/* 803B4EDC 003B1E3C 38 84 4C E4 */ addi r4, r4, sub_803b4ce4@l +/* 803B4EDC 003B1E3C 38 84 4C E4 */ addi r4, r4, dspInitCallback@l /* 803B4EE0 003B1E40 38 C0 20 00 */ li r6, 0x2000 /* 803B4EE4 003B1E44 38 A0 00 10 */ li r5, 0x10 /* 803B4EE8 003B1E48 38 60 00 30 */ li r3, 0x30 @@ -249,14 +249,14 @@ sub_803b4ea4: /* 803B4F18 003B1E78 91 0A 00 34 */ stw r8, 0x34(r10) /* 803B4F1C 003B1E7C 91 0A 00 04 */ stw r8, 4(r10) /* 803B4F20 003B1E80 4B FB AA E5 */ bl DSPInit -/* 803B4F24 003B1E84 3C 60 80 56 */ lis r3, lbl_805678A0@ha -/* 803B4F28 003B1E88 38 63 78 A0 */ addi r3, r3, lbl_805678A0@l +/* 803B4F24 003B1E84 3C 60 80 56 */ lis r3, dsp_task@ha +/* 803B4F28 003B1E88 38 63 78 A0 */ addi r3, r3, dsp_task@l /* 803B4F2C 003B1E8C 4B FB AC 35 */ bl DSPAddTask /* 803B4F30 003B1E90 38 00 00 00 */ li r0, 0 -/* 803B4F34 003B1E94 90 0D AF B8 */ stw r0, lbl_805A9B78@sda21(r13) +/* 803B4F34 003B1E94 90 0D AF B8 */ stw r0, salDspInitIsDone@sda21(r13) /* 803B4F38 003B1E98 48 00 01 4D */ bl hwEnableIrq lbl_803B4F3C: -/* 803B4F3C 003B1E9C 80 0D AF B8 */ lwz r0, lbl_805A9B78@sda21(r13) +/* 803B4F3C 003B1E9C 80 0D AF B8 */ lwz r0, salDspInitIsDone@sda21(r13) /* 803B4F40 003B1EA0 28 00 00 00 */ cmplwi r0, 0 /* 803B4F44 003B1EA4 41 82 FF F8 */ beq lbl_803B4F3C /* 803B4F48 003B1EA8 48 00 01 75 */ bl hwDisableIrq @@ -266,8 +266,8 @@ lbl_803B4F3C: /* 803B4F58 003B1EB8 38 21 00 10 */ addi r1, r1, 0x10 /* 803B4F5C 003B1EBC 4E 80 00 20 */ blr -.global sub_803b4f60 -sub_803b4f60: +.global salExitDsp +salExitDsp: /* 803B4F60 003B1EC0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B4F64 003B1EC4 7C 08 02 A6 */ mflr r0 /* 803B4F68 003B1EC8 90 01 00 14 */ stw r0, 0x14(r1) @@ -293,10 +293,10 @@ salCtrlDsp: /* 803B4FA8 003B1F08 48 00 00 61 */ bl salGetStartDelay /* 803B4FAC 003B1F0C 7C 64 1B 78 */ mr r4, r3 /* 803B4FB0 003B1F10 7F E3 FB 78 */ mr r3, r31 -/* 803B4FB4 003B1F14 4B FF 6B 15 */ bl sub_803abac8 +/* 803B4FB4 003B1F14 4B FF 6B 15 */ bl salBuildCommandList /* 803B4FB8 003B1F18 38 00 00 00 */ li r0, 0 -/* 803B4FBC 003B1F1C 83 ED AF 40 */ lwz r31, lbl_805A9B00@sda21(r13) -/* 803B4FC0 003B1F20 90 0D AF C8 */ stw r0, lbl_805A9B88@sda21(r13) +/* 803B4FBC 003B1F1C 83 ED AF 40 */ lwz r31, dspCmdList@sda21(r13) +/* 803B4FC0 003B1F20 90 0D AF C8 */ stw r0, salDspIsDone@sda21(r13) /* 803B4FC4 003B1F24 4B FB A8 49 */ bl PPCSync /* 803B4FC8 003B1F28 A0 0D AF 3C */ lhz r0, lbl_805A9AFC@sda21(r13) /* 803B4FCC 003B1F2C 64 03 BA BE */ oris r3, r0, 0xbabe @@ -327,7 +327,7 @@ salGetStartDelay: /* 803B501C 003B1F7C 3C 80 43 1C */ lis r4, 0x431BDE83@ha /* 803B5020 003B1F80 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) /* 803B5024 003B1F84 38 84 DE 83 */ addi r4, r4, 0x431BDE83@l -/* 803B5028 003B1F88 80 AD AF BC */ lwz r5, lbl_805A9B7C@sda21(r13) +/* 803B5028 003B1F88 80 AD AF BC */ lwz r5, salLastTick@sda21(r13) /* 803B502C 003B1F8C 54 00 F0 BE */ srwi r0, r0, 2 /* 803B5030 003B1F90 7C 04 00 16 */ mulhwu r0, r4, r0 /* 803B5034 003B1F94 7C 65 18 50 */ subf r3, r5, r3 @@ -346,15 +346,15 @@ hwInitIrq: /* 803B505C 003B1FBC 90 01 00 14 */ stw r0, 0x14(r1) /* 803B5060 003B1FC0 4B FC C6 01 */ bl OSDisableInterrupts /* 803B5064 003B1FC4 38 00 00 01 */ li r0, 1 -/* 803B5068 003B1FC8 90 6D AF B0 */ stw r3, lbl_805A9B70@sda21(r13) -/* 803B506C 003B1FCC B0 0D AF B4 */ sth r0, lbl_805A9B74@sda21(r13) +/* 803B5068 003B1FC8 90 6D AF B0 */ stw r3, oldState@sda21(r13) +/* 803B506C 003B1FCC B0 0D AF B4 */ sth r0, hwIrqLevel@sda21(r13) /* 803B5070 003B1FD0 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B5074 003B1FD4 7C 08 03 A6 */ mtlr r0 /* 803B5078 003B1FD8 38 21 00 10 */ addi r1, r1, 0x10 /* 803B507C 003B1FDC 4E 80 00 20 */ blr -.global nullsub_13 -nullsub_13: +.global hwExitIrq +hwExitIrq: /* 803B5080 003B1FE0 4E 80 00 20 */ blr .global hwEnableIrq @@ -362,12 +362,12 @@ hwEnableIrq: /* 803B5084 003B1FE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B5088 003B1FE8 7C 08 02 A6 */ mflr r0 /* 803B508C 003B1FEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 803B5090 003B1FF0 A0 6D AF B4 */ lhz r3, lbl_805A9B74@sda21(r13) +/* 803B5090 003B1FF0 A0 6D AF B4 */ lhz r3, hwIrqLevel@sda21(r13) /* 803B5094 003B1FF4 38 63 FF FF */ addi r3, r3, -1 /* 803B5098 003B1FF8 54 60 04 3F */ clrlwi. r0, r3, 0x10 -/* 803B509C 003B1FFC B0 6D AF B4 */ sth r3, lbl_805A9B74@sda21(r13) +/* 803B509C 003B1FFC B0 6D AF B4 */ sth r3, hwIrqLevel@sda21(r13) /* 803B50A0 003B2000 40 82 00 0C */ bne lbl_803B50AC -/* 803B50A4 003B2004 80 6D AF B0 */ lwz r3, lbl_805A9B70@sda21(r13) +/* 803B50A4 003B2004 80 6D AF B0 */ lwz r3, oldState@sda21(r13) /* 803B50A8 003B2008 4B FC C5 E1 */ bl OSRestoreInterrupts lbl_803B50AC: /* 803B50AC 003B200C 80 01 00 14 */ lwz r0, 0x14(r1) @@ -380,21 +380,21 @@ hwDisableIrq: /* 803B50BC 003B201C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B50C0 003B2020 7C 08 02 A6 */ mflr r0 /* 803B50C4 003B2024 90 01 00 14 */ stw r0, 0x14(r1) -/* 803B50C8 003B2028 A0 6D AF B4 */ lhz r3, lbl_805A9B74@sda21(r13) +/* 803B50C8 003B2028 A0 6D AF B4 */ lhz r3, hwIrqLevel@sda21(r13) /* 803B50CC 003B202C 54 60 04 3F */ clrlwi. r0, r3, 0x10 /* 803B50D0 003B2030 38 63 00 01 */ addi r3, r3, 1 -/* 803B50D4 003B2034 B0 6D AF B4 */ sth r3, lbl_805A9B74@sda21(r13) +/* 803B50D4 003B2034 B0 6D AF B4 */ sth r3, hwIrqLevel@sda21(r13) /* 803B50D8 003B2038 40 82 00 0C */ bne lbl_803B50E4 /* 803B50DC 003B203C 4B FC C5 85 */ bl OSDisableInterrupts -/* 803B50E0 003B2040 90 6D AF B0 */ stw r3, lbl_805A9B70@sda21(r13) +/* 803B50E0 003B2040 90 6D AF B0 */ stw r3, oldState@sda21(r13) lbl_803B50E4: /* 803B50E4 003B2044 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B50E8 003B2048 7C 08 03 A6 */ mtlr r0 /* 803B50EC 003B204C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B50F0 003B2050 4E 80 00 20 */ blr -.global sub_803b50f4 -sub_803b50f4: +.global hwIRQEnterCritical +hwIRQEnterCritical: /* 803B50F4 003B2054 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B50F8 003B2058 7C 08 02 A6 */ mflr r0 /* 803B50FC 003B205C 90 01 00 14 */ stw r0, 0x14(r1) @@ -404,8 +404,8 @@ sub_803b50f4: /* 803B510C 003B206C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B5110 003B2070 4E 80 00 20 */ blr -.global sub_803b5114 -sub_803b5114: +.global hwIRQLeaveCritical +hwIRQLeaveCritical: /* 803B5114 003B2074 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B5118 003B2078 7C 08 02 A6 */ mflr r0 /* 803B511C 003B207C 90 01 00 14 */ stw r0, 0x14(r1) diff --git a/asm/musyx/hw_dspctrl.s b/asm/musyx/hw_dspctrl.s index eb953276..53c5d2e6 100644 --- a/asm/musyx/hw_dspctrl.s +++ b/asm/musyx/hw_dspctrl.s @@ -1,5 +1,11 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F3FA8 +lbl_803F3FA8: + .incbin "baserom.dol", 0x3F0FA8, 0x18 + .section .sbss, "wa" .global lbl_805A9B4C @@ -35,7 +41,7 @@ salInitDspCtrl: /* 803AAD2C 003A7C8C 38 60 08 00 */ li r3, 0x800 /* 803AAD30 003A7C90 48 00 A4 05 */ bl salMalloc /* 803AAD34 003A7C94 28 03 00 00 */ cmplwi r3, 0 -/* 803AAD38 003A7C98 90 6D AF 40 */ stw r3, lbl_805A9B00@sda21(r13) +/* 803AAD38 003A7C98 90 6D AF 40 */ stw r3, dspCmdList@sda21(r13) /* 803AAD3C 003A7C9C 41 82 03 50 */ beq lbl_803AB08C /* 803AAD40 003A7CA0 38 60 02 80 */ li r3, 0x280 /* 803AAD44 003A7CA4 48 00 A3 F1 */ bl salMalloc @@ -336,7 +342,7 @@ lbl_803AB178: /* 803AB194 003A80F4 48 00 9F C9 */ bl salFree /* 803AB198 003A80F8 80 6D AF 4C */ lwz r3, lbl_805A9B0C@sda21(r13) /* 803AB19C 003A80FC 48 00 9F C1 */ bl salFree -/* 803AB1A0 003A8100 80 6D AF 40 */ lwz r3, lbl_805A9B00@sda21(r13) +/* 803AB1A0 003A8100 80 6D AF 40 */ lwz r3, dspCmdList@sda21(r13) /* 803AB1A4 003A8104 48 00 9F B9 */ bl salFree /* 803AB1A8 003A8108 80 01 00 24 */ lwz r0, 0x24(r1) /* 803AB1AC 003A810C 38 60 00 01 */ li r3, 1 @@ -844,7 +850,7 @@ SortVoices: /* 803AB874 003A87D4 7C 08 02 A6 */ mflr r0 /* 803AB878 003A87D8 90 01 00 24 */ stw r0, 0x24(r1) /* 803AB87C 003A87DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 803AB880 003A87E0 4B FD E1 F9 */ bl func_80389A78 +/* 803AB880 003A87E0 4B FD E1 F9 */ bl _savegpr_26 /* 803AB884 003A87E4 7C BB 2B 78 */ mr r27, r5 /* 803AB888 003A87E8 7C 7A 1B 78 */ mr r26, r3 /* 803AB88C 003A87EC 7C 04 D8 00 */ cmpw r4, r27 @@ -1002,14 +1008,14 @@ lbl_803ABAB0: /* 803ABAC0 003A8A20 38 21 00 20 */ addi r1, r1, 0x20 /* 803ABAC4 003A8A24 4E 80 00 20 */ blr -.global sub_803abac8 -sub_803abac8: +.global salBuildCommandList +salBuildCommandList: /* 803ABAC8 003A8A28 94 21 FF 80 */ stwu r1, -0x80(r1) /* 803ABACC 003A8A2C 7C 08 02 A6 */ mflr r0 /* 803ABAD0 003A8A30 90 01 00 84 */ stw r0, 0x84(r1) /* 803ABAD4 003A8A34 39 61 00 80 */ addi r11, r1, 0x80 /* 803ABAD8 003A8A38 4B FD DF 71 */ bl __save_gpr -/* 803ABADC 003A8A3C 80 AD AF 40 */ lwz r5, lbl_805A9B00@sda21(r13) +/* 803ABADC 003A8A3C 80 AD AF 40 */ lwz r5, dspCmdList@sda21(r13) /* 803ABAE0 003A8A40 38 00 00 00 */ li r0, 0 /* 803ABAE4 003A8A44 90 0D AF 24 */ stw r0, lbl_805A9AE4@sda21(r13) /* 803ABAE8 003A8A48 28 04 00 C8 */ cmplwi r4, 0xc8 diff --git a/asm/musyx/hw_volconv.s b/asm/musyx/hw_volconv.s index d3e46fda..3c1f2f4f 100644 --- a/asm/musyx/hw_volconv.s +++ b/asm/musyx/hw_volconv.s @@ -1,5 +1,11 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F3FC0 +lbl_803F3FC0: + .incbin "baserom.dol", 0x3F0FC0, 0x228 + .section .text, "ax" .global salCalcVolume diff --git a/asm/musyx/reverb.s b/asm/musyx/reverb.s index 214b5dac..80f700b5 100644 --- a/asm/musyx/reverb.s +++ b/asm/musyx/reverb.s @@ -1,5 +1,16 @@ .include "macros.inc" +.section .data, "wa" +lbl_803F6470: + .4byte 0x000006FD + .4byte 0x000007CF + .4byte 0x0000091D + .4byte 0x000001B1 + .4byte 0x00000095 + .4byte 0x0000002F + .4byte 0x00000049 + .4byte 0x00000043 + .section .text, "ax" .global ReverbHICreate @@ -24,7 +35,7 @@ ReverbHICreate: /* 803B5C04 003B2B64 DB 01 00 40 */ stfd f24, 0x40(r1) /* 803B5C08 003B2B68 F3 01 00 48 */ psq_st f24, 72(r1), 0, qr0 /* 803B5C0C 003B2B6C 39 61 00 40 */ addi r11, r1, 0x40 -/* 803B5C10 003B2B70 4B FD 3E 51 */ bl func_80389A60 +/* 803B5C10 003B2B70 4B FD 3E 51 */ bl _savegpr_20 /* 803B5C14 003B2B74 FF 00 08 90 */ fmr f24, f1 /* 803B5C18 003B2B78 C0 E2 D6 D0 */ lfs f7, lbl_805AF3F0@sda21(r2) /* 803B5C1C 003B2B7C FF 80 10 90 */ fmr f28, f2 diff --git a/asm/musyx/s_data.s b/asm/musyx/s_data.s index a21b0159..57c30dc3 100644 --- a/asm/musyx/s_data.s +++ b/asm/musyx/s_data.s @@ -143,7 +143,7 @@ vsSampleUpdates: /* 803A9F78 003A6ED8 7C 08 02 A6 */ mflr r0 /* 803A9F7C 003A6EDC 90 01 00 24 */ stw r0, 0x24(r1) /* 803A9F80 003A6EE0 39 61 00 20 */ addi r11, r1, 0x20 -/* 803A9F84 003A6EE4 4B FD FA F5 */ bl func_80389A78 +/* 803A9F84 003A6EE4 4B FD FA F5 */ bl _savegpr_26 /* 803A9F88 003A6EE8 3C 60 80 56 */ lis r3, lbl_8055E310@ha /* 803A9F8C 003A6EEC 3B E3 E3 10 */ addi r31, r3, lbl_8055E310@l /* 803A9F90 003A6EF0 80 1F 09 4C */ lwz r0, 0x94c(r31) @@ -505,7 +505,7 @@ sndPushGroup: /* 803AA430 003A7390 7C 08 02 A6 */ mflr r0 /* 803AA434 003A7394 90 01 00 34 */ stw r0, 0x34(r1) /* 803AA438 003A7398 39 61 00 30 */ addi r11, r1, 0x30 -/* 803AA43C 003A739C 4B FD F6 39 */ bl func_80389A74 +/* 803AA43C 003A739C 4B FD F6 39 */ bl _savegpr_25 /* 803AA440 003A73A0 88 0D AE 48 */ lbz r0, lbl_805A9A08@sda21(r13) /* 803AA444 003A73A4 7C 7B 1B 78 */ mr r27, r3 /* 803AA448 003A73A8 7C 9C 23 78 */ mr r28, r4 @@ -743,7 +743,7 @@ sndPopGroup: /* 803AA75C 003A76BC 7C 08 02 A6 */ mflr r0 /* 803AA760 003A76C0 90 01 00 24 */ stw r0, 0x24(r1) /* 803AA764 003A76C4 39 61 00 20 */ addi r11, r1, 0x20 -/* 803AA768 003A76C8 4B FD F3 11 */ bl func_80389A78 +/* 803AA768 003A76C8 4B FD F3 11 */ bl _savegpr_26 /* 803AA76C 003A76CC A8 AD AF 18 */ lha r5, lbl_805A9AD8@sda21(r13) /* 803AA770 003A76D0 3C 60 80 56 */ lis r3, lbl_8055EC60@ha /* 803AA774 003A76D4 38 83 EC 60 */ addi r4, r3, lbl_8055EC60@l @@ -985,7 +985,7 @@ sub_803aaa94: /* 803AAA98 003A79F8 7C 08 02 A6 */ mflr r0 /* 803AAA9C 003A79FC 90 01 00 34 */ stw r0, 0x34(r1) /* 803AAAA0 003A7A00 39 61 00 30 */ addi r11, r1, 0x30 -/* 803AAAA4 003A7A04 4B FD EF D1 */ bl func_80389A74 +/* 803AAAA4 003A7A04 4B FD EF D1 */ bl _savegpr_25 /* 803AAAA8 003A7A08 A8 0D AF 18 */ lha r0, lbl_805A9AD8@sda21(r13) /* 803AAAAC 003A7A0C 3D 20 80 56 */ lis r9, lbl_8055EC60@ha /* 803AAAB0 003A7A10 7C BD 2B 78 */ mr r29, r5 @@ -1032,7 +1032,7 @@ lbl_803AAB2C: /* 803AAB4C 003A7AAC 7F C7 F3 78 */ mr r7, r30 /* 803AAB50 003A7AB0 7F E8 FB 78 */ mr r8, r31 /* 803AAB54 003A7AB4 7F 89 E3 78 */ mr r9, r28 -/* 803AAB58 003A7AB8 4B FE A2 41 */ bl sub_80394d98 +/* 803AAB58 003A7AB8 4B FE A2 41 */ bl seqStartPlay /* 803AAB5C 003A7ABC 7C 79 1B 78 */ mr r25, r3 /* 803AAB60 003A7AC0 48 00 00 30 */ b lbl_803AAB90 lbl_803AAB64: @@ -1044,7 +1044,7 @@ lbl_803AAB64: /* 803AAB78 003A7AD8 7F C7 F3 78 */ mr r7, r30 /* 803AAB7C 003A7ADC 7F E8 FB 78 */ mr r8, r31 /* 803AAB80 003A7AE0 7F 89 E3 78 */ mr r9, r28 -/* 803AAB84 003A7AE4 4B FE A2 15 */ bl sub_80394d98 +/* 803AAB84 003A7AE4 4B FE A2 15 */ bl seqStartPlay /* 803AAB88 003A7AE8 7C 79 1B 78 */ mr r25, r3 /* 803AAB8C 003A7AEC 48 00 A4 F9 */ bl hwEnableIrq lbl_803AAB90: @@ -1081,7 +1081,7 @@ sndSeqPlayEx: /* 803AABE4 003A7B44 7C 08 02 A6 */ mflr r0 /* 803AABE8 003A7B48 90 01 00 34 */ stw r0, 0x34(r1) /* 803AABEC 003A7B4C 39 61 00 30 */ addi r11, r1, 0x30 -/* 803AABF0 003A7B50 4B FD EE 85 */ bl func_80389A74 +/* 803AABF0 003A7B50 4B FD EE 85 */ bl _savegpr_25 /* 803AABF4 003A7B54 A8 0D AF 18 */ lha r0, lbl_805A9AD8@sda21(r13) /* 803AABF8 003A7B58 3D 00 80 56 */ lis r8, lbl_8055EC60@ha /* 803AABFC 003A7B5C 7C BD 2B 78 */ mr r29, r5 @@ -1127,7 +1127,7 @@ lbl_803AAC78: /* 803AAC94 003A7BF4 7F C7 F3 78 */ mr r7, r30 /* 803AAC98 003A7BF8 7F E8 FB 78 */ mr r8, r31 /* 803AAC9C 003A7BFC 7F 89 E3 78 */ mr r9, r28 -/* 803AACA0 003A7C00 4B FE A0 F9 */ bl sub_80394d98 +/* 803AACA0 003A7C00 4B FE A0 F9 */ bl seqStartPlay /* 803AACA4 003A7C04 7C 7C 1B 78 */ mr r28, r3 /* 803AACA8 003A7C08 48 00 A3 DD */ bl hwEnableIrq /* 803AACAC 003A7C0C 48 00 00 34 */ b lbl_803AACE0 diff --git a/asm/musyx/sbss.s b/asm/musyx/sbss.s index 33b7b5e9..22da0c6c 100644 --- a/asm/musyx/sbss.s +++ b/asm/musyx/sbss.s @@ -196,8 +196,8 @@ lbl_805A9AF8: .global lbl_805A9AFC lbl_805A9AFC: .skip 0x4 -.global lbl_805A9B00 -lbl_805A9B00: +.global dspCmdList +dspCmdList: .skip 0x4 .global lbl_805A9B04 lbl_805A9B04: diff --git a/asm/musyx/seq.s b/asm/musyx/seq.s index f71128e6..135d5831 100644 --- a/asm/musyx/seq.s +++ b/asm/musyx/seq.s @@ -1,5 +1,11 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F2F88 +lbl_803F2F88: + .incbin "baserom.dol", 0x3EFF88, 0x50 + .section .text, "ax" .global seqGetPrivateId @@ -37,13 +43,13 @@ lbl_80394D88: /* 80394D90 00391CF0 38 60 FF FF */ li r3, -1 /* 80394D94 00391CF4 4E 80 00 20 */ blr -.global sub_80394d98 -sub_80394d98: +.global seqStartPlay +seqStartPlay: /* 80394D98 00391CF8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80394D9C 00391CFC 7C 08 02 A6 */ mflr r0 /* 80394DA0 00391D00 90 01 00 44 */ stw r0, 0x44(r1) /* 80394DA4 00391D04 39 61 00 40 */ addi r11, r1, 0x40 -/* 80394DA8 00391D08 4B FF 4C B9 */ bl func_80389A60 +/* 80394DA8 00391D08 4B FF 4C B9 */ bl _savegpr_20 /* 80394DAC 00391D0C 83 6D AE 3C */ lwz r27, lbl_805A99FC@sda21(r13) /* 80394DB0 00391D10 7C BD 2B 78 */ mr r29, r5 /* 80394DB4 00391D14 7C DC 33 78 */ mr r28, r6 @@ -627,22 +633,22 @@ lbl_803955FC: /* 80395600 00392560 7F 45 D3 78 */ mr r5, r26 /* 80395604 00392564 57 84 06 3E */ clrlwi r4, r28, 0x18 /* 80395608 00392568 38 60 00 07 */ li r3, 7 -/* 8039560C 0039256C 48 01 BA E5 */ bl sub_803b10f0 +/* 8039560C 0039256C 48 01 BA E5 */ bl inpSetMidiCtrl /* 80395610 00392570 88 DD 00 06 */ lbz r6, 6(r29) /* 80395614 00392574 7F 45 D3 78 */ mr r5, r26 /* 80395618 00392578 57 84 06 3E */ clrlwi r4, r28, 0x18 /* 8039561C 0039257C 38 60 00 0A */ li r3, 0xa -/* 80395620 00392580 48 01 BA D1 */ bl sub_803b10f0 +/* 80395620 00392580 48 01 BA D1 */ bl inpSetMidiCtrl /* 80395624 00392584 88 DD 00 07 */ lbz r6, 7(r29) /* 80395628 00392588 7F 45 D3 78 */ mr r5, r26 /* 8039562C 0039258C 57 84 06 3E */ clrlwi r4, r28, 0x18 /* 80395630 00392590 38 60 00 5B */ li r3, 0x5b -/* 80395634 00392594 48 01 BA BD */ bl sub_803b10f0 +/* 80395634 00392594 48 01 BA BD */ bl inpSetMidiCtrl /* 80395638 00392598 88 DD 00 08 */ lbz r6, 8(r29) /* 8039563C 0039259C 7F 45 D3 78 */ mr r5, r26 /* 80395640 003925A0 57 84 06 3E */ clrlwi r4, r28, 0x18 /* 80395644 003925A4 38 60 00 5D */ li r3, 0x5d -/* 80395648 003925A8 48 01 BA A9 */ bl sub_803b10f0 +/* 80395648 003925A8 48 01 BA A9 */ bl inpSetMidiCtrl /* 8039564C 003925AC 3B 9C 00 01 */ addi r28, r28, 1 /* 80395650 003925B0 3B BD 00 05 */ addi r29, r29, 5 /* 80395654 003925B4 2C 1C 00 10 */ cmpwi r28, 0x10 @@ -1614,7 +1620,7 @@ seqCrossFade: /* 803962F4 00393254 7C 08 02 A6 */ mflr r0 /* 803962F8 00393258 90 01 00 54 */ stw r0, 0x54(r1) /* 803962FC 0039325C 39 61 00 50 */ addi r11, r1, 0x50 -/* 80396300 00393260 4B FF 37 75 */ bl func_80389A74 +/* 80396300 00393260 4B FF 37 75 */ bl _savegpr_25 /* 80396304 00393264 7C 7F 1B 78 */ mr r31, r3 /* 80396308 00393268 80 CD AE 44 */ lwz r6, lbl_805A9A04@sda21(r13) /* 8039630C 0039326C 80 E3 00 00 */ lwz r7, 0(r3) @@ -2600,13 +2606,13 @@ lbl_80397058: /* 80397058 00393FB8 38 60 00 00 */ li r3, 0 /* 8039705C 00393FBC 4E 80 00 20 */ blr -.global sub_80397060 -sub_80397060: +.global HandleEvent +HandleEvent: /* 80397060 00393FC0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80397064 00393FC4 7C 08 02 A6 */ mflr r0 /* 80397068 00393FC8 90 01 00 44 */ stw r0, 0x44(r1) /* 8039706C 00393FCC 39 61 00 40 */ addi r11, r1, 0x40 -/* 80397070 00393FD0 4B FF 2A 09 */ bl func_80389A78 +/* 80397070 00393FD0 4B FF 2A 09 */ bl _savegpr_26 /* 80397074 00393FD4 7C 7F 1B 78 */ mr r31, r3 /* 80397078 00393FD8 88 63 00 14 */ lbz r3, 0x14(r3) /* 8039707C 00393FDC 2C 03 00 02 */ cmpwi r3, 2 @@ -2836,7 +2842,7 @@ lbl_80397398: /* 803973A8 00394308 38 60 00 07 */ li r3, 7 /* 803973AC 0039430C 88 84 00 28 */ lbz r4, 0x28(r4) /* 803973B0 00394310 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 803973B4 00394314 48 01 9D 3D */ bl sub_803b10f0 +/* 803973B4 00394314 48 01 9D 3D */ bl inpSetMidiCtrl /* 803973B8 00394318 48 00 07 1C */ b lbl_80397AD4 lbl_803973BC: /* 803973BC 0039431C 80 FF 00 0C */ lwz r7, 0xc(r31) @@ -2911,7 +2917,7 @@ lbl_803974BC: /* 803974C4 00394424 7D 24 4B 78 */ mr r4, r9 /* 803974C8 00394428 38 60 00 82 */ li r3, 0x82 /* 803974CC 0039442C 54 A5 06 3E */ clrlwi r5, r5, 0x18 -/* 803974D0 00394430 48 01 9C 21 */ bl sub_803b10f0 +/* 803974D0 00394430 48 01 9C 21 */ bl inpSetMidiCtrl /* 803974D4 00394434 48 00 06 00 */ b lbl_80397AD4 lbl_803974D8: /* 803974D8 00394438 54 A3 06 30 */ rlwinm r3, r5, 0, 0x18, 0x18 @@ -3012,7 +3018,7 @@ lbl_80397638: /* 8039763C 0039459C 54 06 06 7E */ clrlwi r6, r0, 0x19 /* 80397640 003945A0 7D 24 4B 78 */ mr r4, r9 /* 80397644 003945A4 54 A5 06 3E */ clrlwi r5, r5, 0x18 -/* 80397648 003945A8 48 01 9A A9 */ bl sub_803b10f0 +/* 80397648 003945A8 48 01 9A A9 */ bl inpSetMidiCtrl /* 8039764C 003945AC 48 00 04 88 */ b lbl_80397AD4 lbl_80397650: /* 80397650 003945B0 88 7F 00 15 */ lbz r3, 0x15(r31) @@ -3475,7 +3481,7 @@ HandleTrackEvents: /* 80397C74 00394BD4 DB E1 00 50 */ stfd f31, 0x50(r1) /* 80397C78 00394BD8 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 80397C7C 00394BDC 39 61 00 50 */ addi r11, r1, 0x50 -/* 80397C80 00394BE0 4B FF 1D F5 */ bl func_80389A74 +/* 80397C80 00394BE0 4B FF 1D F5 */ bl _savegpr_25 /* 80397C84 00394BE4 7C 7A 1B 78 */ mr r26, r3 /* 80397C88 00394BE8 38 00 00 00 */ li r0, 0 /* 80397C8C 00394BEC 54 65 06 3E */ clrlwi r5, r3, 0x18 @@ -3741,7 +3747,7 @@ lbl_8039801C: lbl_8039802C: /* 8039802C 00394F8C 7F 44 D3 78 */ mr r4, r26 /* 80398030 00394F90 38 A1 00 08 */ addi r5, r1, 8 -/* 80398034 00394F94 4B FF F0 2D */ bl sub_80397060 +/* 80398034 00394F94 4B FF F0 2D */ bl HandleEvent /* 80398038 00394F98 28 03 00 00 */ cmplwi r3, 0 /* 8039803C 00394F9C 41 82 00 74 */ beq lbl_803980B0 /* 80398040 00394FA0 80 DC 00 1C */ lwz r6, 0x1c(r28) @@ -3821,7 +3827,7 @@ sub_80398104: /* 80398130 00395090 DB 61 00 50 */ stfd f27, 0x50(r1) /* 80398134 00395094 F3 61 00 58 */ psq_st f27, 88(r1), 0, qr0 /* 80398138 00395098 39 61 00 50 */ addi r11, r1, 0x50 -/* 8039813C 0039509C 4B FF 19 35 */ bl func_80389A70 +/* 8039813C 0039509C 4B FF 19 35 */ bl _savegpr_24 /* 80398140 003950A0 7C 7C 1B 79 */ or. r28, r3, r3 /* 80398144 003950A4 41 82 09 74 */ beq lbl_80398AB8 /* 80398148 003950A8 83 CD AE 44 */ lwz r30, lbl_805A9A04@sda21(r13) diff --git a/asm/musyx/snd3d.s b/asm/musyx/snd3d.s index a7cad2c8..f98f8273 100644 --- a/asm/musyx/snd3d.s +++ b/asm/musyx/snd3d.s @@ -10,7 +10,7 @@ sub_803ae800: /* 803AE80C 003AB76C DB E1 00 30 */ stfd f31, 0x30(r1) /* 803AE810 003AB770 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 803AE814 003AB774 39 61 00 30 */ addi r11, r1, 0x30 -/* 803AE818 003AB778 4B FD B2 61 */ bl func_80389A78 +/* 803AE818 003AB778 4B FD B2 61 */ bl _savegpr_26 /* 803AE81C 003AB77C 80 8D AF 74 */ lwz r4, lbl_805A9B34@sda21(r13) /* 803AE820 003AB780 38 60 00 00 */ li r3, 0 /* 803AE824 003AB784 48 00 00 0C */ b lbl_803AE830 @@ -360,7 +360,7 @@ CalcEmitter: /* 803AECD8 003ABC38 DB 81 00 60 */ stfd f28, 0x60(r1) /* 803AECDC 003ABC3C F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0 /* 803AECE0 003ABC40 39 61 00 60 */ addi r11, r1, 0x60 -/* 803AECE4 003ABC44 4B FD AD 8D */ bl func_80389A70 +/* 803AECE4 003ABC44 4B FD AD 8D */ bl _savegpr_24 /* 803AECE8 003ABC48 C3 E2 D6 08 */ lfs f31, lbl_805AF328@sda21(r2) /* 803AECEC 003ABC4C 7C 99 23 78 */ mr r25, r4 /* 803AECF0 003ABC50 C0 02 D6 2C */ lfs f0, lbl_805AF34C@sda21(r2) @@ -805,7 +805,7 @@ AddEmitter: /* 803AF33C 003AC29C DB A1 00 70 */ stfd f29, 0x70(r1) /* 803AF340 003AC2A0 F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 803AF344 003AC2A4 39 61 00 70 */ addi r11, r1, 0x70 -/* 803AF348 003AC2A8 4B FD A7 19 */ bl func_80389A60 +/* 803AF348 003AC2A8 4B FD A7 19 */ bl _savegpr_20 /* 803AF34C 003AC2AC FF C0 08 90 */ fmr f30, f1 /* 803AF350 003AC2B0 83 81 00 A8 */ lwz r28, 0xa8(r1) /* 803AF354 003AC2B4 FF A0 10 90 */ fmr f29, f2 @@ -1258,7 +1258,7 @@ sndUpdateListener: /* 803AF96C 003AC8CC 7C 08 02 A6 */ mflr r0 /* 803AF970 003AC8D0 90 01 00 64 */ stw r0, 0x64(r1) /* 803AF974 003AC8D4 39 61 00 60 */ addi r11, r1, 0x60 -/* 803AF978 003AC8D8 4B FD A0 FD */ bl func_80389A74 +/* 803AF978 003AC8D8 4B FD A0 FD */ bl _savegpr_25 /* 803AF97C 003AC8DC 88 0D AE 48 */ lbz r0, lbl_805A9A08@sda21(r13) /* 803AF980 003AC8E0 7C 7E 1B 78 */ mr r30, r3 /* 803AF984 003AC8E4 7C 99 23 78 */ mr r25, r4 @@ -1403,7 +1403,7 @@ sndAddListener: /* 803AFB88 003ACAE8 DB A1 00 60 */ stfd f29, 0x60(r1) /* 803AFB8C 003ACAEC F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 803AFB90 003ACAF0 39 61 00 60 */ addi r11, r1, 0x60 -/* 803AFB94 003ACAF4 4B FD 9E DD */ bl func_80389A70 +/* 803AFB94 003ACAF4 4B FD 9E DD */ bl _savegpr_24 /* 803AFB98 003ACAF8 88 0D AE 48 */ lbz r0, lbl_805A9A08@sda21(r13) /* 803AFB9C 003ACAFC FF A0 08 90 */ fmr f29, f1 /* 803AFBA0 003ACB00 FF C0 10 90 */ fmr f30, f2 diff --git a/asm/musyx/snd_init.s b/asm/musyx/snd_init.s index 08f1093d..cf0c2aaf 100644 --- a/asm/musyx/snd_init.s +++ b/asm/musyx/snd_init.s @@ -17,32 +17,32 @@ sndInit: /* 803B0BE8 003ADB48 93 A1 00 14 */ stw r29, 0x14(r1) /* 803B0BEC 003ADB4C 99 2D AE 48 */ stb r9, lbl_805A9A08@sda21(r13) /* 803B0BF0 003ADB50 41 81 00 14 */ bgt lbl_803B0C04 -/* 803B0BF4 003ADB54 3C E0 80 55 */ lis r7, lbl_80550050@ha -/* 803B0BF8 003ADB58 38 E7 00 50 */ addi r7, r7, lbl_80550050@l +/* 803B0BF4 003ADB54 3C E0 80 55 */ lis r7, synthInfo@ha +/* 803B0BF8 003ADB58 38 E7 00 50 */ addi r7, r7, synthInfo@l /* 803B0BFC 003ADB5C 98 67 02 10 */ stb r3, 0x210(r7) /* 803B0C00 003ADB60 48 00 00 14 */ b lbl_803B0C14 lbl_803B0C04: -/* 803B0C04 003ADB64 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803B0C04 003ADB64 3C 60 80 55 */ lis r3, synthInfo@ha /* 803B0C08 003ADB68 38 00 00 40 */ li r0, 0x40 -/* 803B0C0C 003ADB6C 38 63 00 50 */ addi r3, r3, lbl_80550050@l +/* 803B0C0C 003ADB6C 38 63 00 50 */ addi r3, r3, synthInfo@l /* 803B0C10 003ADB70 98 03 02 10 */ stb r0, 0x210(r3) lbl_803B0C14: /* 803B0C14 003ADB74 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 803B0C18 003ADB78 28 00 00 08 */ cmplwi r0, 8 /* 803B0C1C 003ADB7C 41 81 00 14 */ bgt lbl_803B0C30 -/* 803B0C20 003ADB80 3C 60 80 55 */ lis r3, lbl_80550050@ha -/* 803B0C24 003ADB84 38 63 00 50 */ addi r3, r3, lbl_80550050@l +/* 803B0C20 003ADB80 3C 60 80 55 */ lis r3, synthInfo@ha +/* 803B0C24 003ADB84 38 63 00 50 */ addi r3, r3, synthInfo@l /* 803B0C28 003ADB88 98 C3 02 13 */ stb r6, 0x213(r3) /* 803B0C2C 003ADB8C 48 00 00 14 */ b lbl_803B0C40 lbl_803B0C30: -/* 803B0C30 003ADB90 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803B0C30 003ADB90 3C 60 80 55 */ lis r3, synthInfo@ha /* 803B0C34 003ADB94 38 00 00 08 */ li r0, 8 -/* 803B0C38 003ADB98 38 63 00 50 */ addi r3, r3, lbl_80550050@l +/* 803B0C38 003ADB98 38 63 00 50 */ addi r3, r3, synthInfo@l /* 803B0C3C 003ADB9C 98 03 02 13 */ stb r0, 0x213(r3) lbl_803B0C40: -/* 803B0C40 003ADBA0 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803B0C40 003ADBA0 3C 60 80 55 */ lis r3, synthInfo@ha /* 803B0C44 003ADBA4 38 00 7D 00 */ li r0, 0x7d00 -/* 803B0C48 003ADBA8 3B A3 00 50 */ addi r29, r3, lbl_80550050@l +/* 803B0C48 003ADBA8 3B A3 00 50 */ addi r29, r3, synthInfo@l /* 803B0C4C 003ADBAC 90 01 00 08 */ stw r0, 8(r1) /* 803B0C50 003ADBB0 7F C6 F3 78 */ mr r6, r30 /* 803B0C54 003ADBB4 38 61 00 08 */ addi r3, r1, 8 diff --git a/asm/musyx/snd_midictrl.s b/asm/musyx/snd_midictrl.s index b75cac05..1e7296da 100644 --- a/asm/musyx/snd_midictrl.s +++ b/asm/musyx/snd_midictrl.s @@ -1,5 +1,32 @@ .include "macros.inc" +.section .data, "wa" + +.global lbl_803F41E8 +lbl_803F41E8: + .incbin "baserom.dol", 0x3F11E8, 0x10 + +lbl_803F41F8: + .incbin "baserom.dol", 0x3F11F8, 0x10 + +lbl_803F4208: + .incbin "baserom.dol", 0x3F1208, 0x24 + +lbl_803F422C: + .incbin "baserom.dol", 0x3F122C, 0x24 + +lbl_803F4250: + .4byte lbl_803B2C2C + .4byte lbl_803B2C34 + .4byte lbl_803B2C3C + .4byte lbl_803B2C44 + .4byte lbl_803B2C4C + .4byte lbl_803B2C54 + .4byte lbl_803B2C5C + .4byte lbl_803B2C64 + .4byte lbl_803B2C6C +.skip 4 + .section .text, "ax" .global inpSetGlobalMIDIDirtyFlag @@ -14,13 +41,13 @@ inpSetGlobalMIDIDirtyFlag: /* 803B10E8 003AE048 7C 04 19 2E */ stwx r0, r4, r3 /* 803B10EC 003AE04C 4E 80 00 20 */ blr -.global sub_803b10f0 -sub_803b10f0: +.global inpSetMidiCtrl +inpSetMidiCtrl: /* 803B10F0 003AE050 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803B10F4 003AE054 7C 08 02 A6 */ mflr r0 /* 803B10F8 003AE058 90 01 00 34 */ stw r0, 0x34(r1) /* 803B10FC 003AE05C 39 61 00 30 */ addi r11, r1, 0x30 -/* 803B1100 003AE060 4B FD 89 75 */ bl func_80389A74 +/* 803B1100 003AE060 4B FD 89 75 */ bl _savegpr_25 /* 803B1104 003AE064 54 87 06 3E */ clrlwi r7, r4, 0x18 /* 803B1108 003AE068 3D 00 80 56 */ lis r8, lbl_80560790@ha /* 803B110C 003AE06C 28 07 00 FF */ cmplwi r7, 0xff @@ -65,12 +92,12 @@ lbl_803B1198: /* 803B1198 003AE0F8 54 00 20 36 */ slwi r0, r0, 4 /* 803B119C 003AE0FC 39 80 00 00 */ li r12, 0 /* 803B11A0 003AE100 39 3F 45 00 */ addi r9, r31, 0x4500 -/* 803B11A4 003AE104 3D 00 80 55 */ lis r8, lbl_80550050@ha +/* 803B11A4 003AE104 3D 00 80 55 */ lis r8, synthInfo@ha /* 803B11A8 003AE108 7C 00 3A 14 */ add r0, r0, r7 /* 803B11AC 003AE10C 7D 9A 63 78 */ mr r26, r12 /* 803B11B0 003AE110 7D 49 01 AE */ stbx r10, r9, r0 /* 803B11B4 003AE114 55 4B 06 3E */ clrlwi r11, r10, 0x18 -/* 803B11B8 003AE118 39 48 00 50 */ addi r10, r8, lbl_80550050@l +/* 803B11B8 003AE118 39 48 00 50 */ addi r10, r8, synthInfo@l /* 803B11BC 003AE11C 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803B11C0 003AE120 54 88 06 3E */ clrlwi r8, r4, 0x18 /* 803B11C4 003AE124 48 00 00 3C */ b lbl_803B1200 @@ -118,10 +145,10 @@ lbl_803B123C: /* 803B1258 003AE1B8 54 0B 06 3E */ clrlwi r11, r0, 0x18 lbl_803B125C: /* 803B125C 003AE1BC 39 80 00 00 */ li r12, 0 -/* 803B1260 003AE1C0 3C E0 80 55 */ lis r7, lbl_80550050@ha +/* 803B1260 003AE1C0 3C E0 80 55 */ lis r7, synthInfo@ha /* 803B1264 003AE1C4 7D 68 49 AE */ stbx r11, r8, r9 /* 803B1268 003AE1C8 7D 9A 63 78 */ mr r26, r12 -/* 803B126C 003AE1CC 39 47 00 50 */ addi r10, r7, lbl_80550050@l +/* 803B126C 003AE1CC 39 47 00 50 */ addi r10, r7, synthInfo@l /* 803B1270 003AE1D0 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803B1274 003AE1D4 54 88 06 3E */ clrlwi r8, r4, 0x18 /* 803B1278 003AE1D8 48 00 00 3C */ b lbl_803B12B4 @@ -169,10 +196,10 @@ lbl_803B12F0: /* 803B130C 003AE26C 54 0B 06 3E */ clrlwi r11, r0, 0x18 lbl_803B1310: /* 803B1310 003AE270 39 80 00 00 */ li r12, 0 -/* 803B1314 003AE274 3C E0 80 55 */ lis r7, lbl_80550050@ha +/* 803B1314 003AE274 3C E0 80 55 */ lis r7, synthInfo@ha /* 803B1318 003AE278 7D 68 49 AE */ stbx r11, r8, r9 /* 803B131C 003AE27C 7D 9A 63 78 */ mr r26, r12 -/* 803B1320 003AE280 39 47 00 50 */ addi r10, r7, lbl_80550050@l +/* 803B1320 003AE280 39 47 00 50 */ addi r10, r7, synthInfo@l /* 803B1324 003AE284 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803B1328 003AE288 54 88 06 3E */ clrlwi r8, r4, 0x18 /* 803B132C 003AE28C 48 00 00 3C */ b lbl_803B1368 @@ -200,12 +227,12 @@ lbl_803B1374: /* 803B1374 003AE2D4 54 BD 06 3E */ clrlwi r29, r5, 0x18 /* 803B1378 003AE2D8 54 9E 06 3E */ clrlwi r30, r4, 0x18 /* 803B137C 003AE2DC 1C FD 08 60 */ mulli r7, r29, 0x860 -/* 803B1380 003AE2E0 3C 80 80 55 */ lis r4, lbl_80550050@ha +/* 803B1380 003AE2E0 3C 80 80 55 */ lis r4, synthInfo@ha /* 803B1384 003AE2E4 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803B1388 003AE2E8 54 C6 06 7E */ clrlwi r6, r6, 0x19 /* 803B138C 003AE2EC 1C 7E 00 86 */ mulli r3, r30, 0x86 /* 803B1390 003AE2F0 38 BF 02 00 */ addi r5, r31, 0x200 -/* 803B1394 003AE2F4 3B 44 00 50 */ addi r26, r4, lbl_80550050@l +/* 803B1394 003AE2F4 3B 44 00 50 */ addi r26, r4, synthInfo@l /* 803B1398 003AE2F8 3B 80 00 00 */ li r28, 0 /* 803B139C 003AE2FC 7C 67 1A 14 */ add r3, r7, r3 /* 803B13A0 003AE300 3B 20 00 00 */ li r25, 0 @@ -277,12 +304,12 @@ lbl_803B1488: /* 803B1488 003AE3E8 54 00 20 36 */ slwi r0, r0, 4 /* 803B148C 003AE3EC 39 80 00 00 */ li r12, 0 /* 803B1490 003AE3F0 39 3F 45 00 */ addi r9, r31, 0x4500 -/* 803B1494 003AE3F4 3D 00 80 55 */ lis r8, lbl_80550050@ha +/* 803B1494 003AE3F4 3D 00 80 55 */ lis r8, synthInfo@ha /* 803B1498 003AE3F8 7C 00 3A 14 */ add r0, r0, r7 /* 803B149C 003AE3FC 7D 99 63 78 */ mr r25, r12 /* 803B14A0 003AE400 7D 49 01 AE */ stbx r10, r9, r0 /* 803B14A4 003AE404 55 4B 06 3E */ clrlwi r11, r10, 0x18 -/* 803B14A8 003AE408 39 48 00 50 */ addi r10, r8, lbl_80550050@l +/* 803B14A8 003AE408 39 48 00 50 */ addi r10, r8, synthInfo@l /* 803B14AC 003AE40C 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803B14B0 003AE410 54 88 06 3E */ clrlwi r8, r4, 0x18 /* 803B14B4 003AE414 48 00 00 3C */ b lbl_803B14F0 @@ -330,10 +357,10 @@ lbl_803B152C: /* 803B1548 003AE4A8 54 0B 06 3E */ clrlwi r11, r0, 0x18 lbl_803B154C: /* 803B154C 003AE4AC 39 80 00 00 */ li r12, 0 -/* 803B1550 003AE4B0 3C E0 80 55 */ lis r7, lbl_80550050@ha +/* 803B1550 003AE4B0 3C E0 80 55 */ lis r7, synthInfo@ha /* 803B1554 003AE4B4 7D 68 49 AE */ stbx r11, r8, r9 /* 803B1558 003AE4B8 7D 99 63 78 */ mr r25, r12 -/* 803B155C 003AE4BC 39 47 00 50 */ addi r10, r7, lbl_80550050@l +/* 803B155C 003AE4BC 39 47 00 50 */ addi r10, r7, synthInfo@l /* 803B1560 003AE4C0 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803B1564 003AE4C4 54 88 06 3E */ clrlwi r8, r4, 0x18 /* 803B1568 003AE4C8 48 00 00 3C */ b lbl_803B15A4 @@ -381,10 +408,10 @@ lbl_803B15E0: /* 803B15FC 003AE55C 54 0B 06 3E */ clrlwi r11, r0, 0x18 lbl_803B1600: /* 803B1600 003AE560 39 80 00 00 */ li r12, 0 -/* 803B1604 003AE564 3C E0 80 55 */ lis r7, lbl_80550050@ha +/* 803B1604 003AE564 3C E0 80 55 */ lis r7, synthInfo@ha /* 803B1608 003AE568 7D 68 49 AE */ stbx r11, r8, r9 /* 803B160C 003AE56C 7D 99 63 78 */ mr r25, r12 -/* 803B1610 003AE570 39 47 00 50 */ addi r10, r7, lbl_80550050@l +/* 803B1610 003AE570 39 47 00 50 */ addi r10, r7, synthInfo@l /* 803B1614 003AE574 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803B1618 003AE578 54 88 06 3E */ clrlwi r8, r4, 0x18 /* 803B161C 003AE57C 48 00 00 3C */ b lbl_803B1658 @@ -413,12 +440,12 @@ lbl_803B1664: /* 803B1668 003AE5C8 3B A0 00 00 */ li r29, 0 /* 803B166C 003AE5CC 1C FB 00 86 */ mulli r7, r27, 0x86 /* 803B1670 003AE5D0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 803B1674 003AE5D4 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803B1674 003AE5D4 3C 60 80 55 */ lis r3, synthInfo@ha /* 803B1678 003AE5D8 54 C6 06 7E */ clrlwi r6, r6, 0x19 /* 803B167C 003AE5DC 38 9F 45 80 */ addi r4, r31, 0x4580 /* 803B1680 003AE5E0 7F B9 EB 78 */ mr r25, r29 /* 803B1684 003AE5E4 7C 07 02 14 */ add r0, r7, r0 -/* 803B1688 003AE5E8 3B E3 00 50 */ addi r31, r3, lbl_80550050@l +/* 803B1688 003AE5E8 3B E3 00 50 */ addi r31, r3, synthInfo@l /* 803B168C 003AE5EC 7C C4 01 AE */ stbx r6, r4, r0 /* 803B1690 003AE5F0 54 BE 06 3E */ clrlwi r30, r5, 0x18 /* 803B1694 003AE5F4 3B 80 1F FF */ li r28, 0x1fff @@ -472,13 +499,13 @@ inpSetMidiCtrl14: /* 803B1738 003AE698 54 DF 04 3E */ clrlwi r31, r6, 0x10 /* 803B173C 003AE69C 7F C3 F3 78 */ mr r3, r30 /* 803B1740 003AE6A0 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f -/* 803B1744 003AE6A4 4B FF F9 AD */ bl sub_803b10f0 +/* 803B1744 003AE6A4 4B FF F9 AD */ bl inpSetMidiCtrl /* 803B1748 003AE6A8 38 1E 00 20 */ addi r0, r30, 0x20 /* 803B174C 003AE6AC 57 E6 06 7E */ clrlwi r6, r31, 0x19 /* 803B1750 003AE6B0 7F 84 E3 78 */ mr r4, r28 /* 803B1754 003AE6B4 7F A5 EB 78 */ mr r5, r29 /* 803B1758 003AE6B8 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 803B175C 003AE6BC 4B FF F9 95 */ bl sub_803b10f0 +/* 803B175C 003AE6BC 4B FF F9 95 */ bl inpSetMidiCtrl /* 803B1760 003AE6C0 48 00 00 9C */ b lbl_803B17FC lbl_803B1764: /* 803B1764 003AE6C4 28 00 00 80 */ cmplwi r0, 0x80 @@ -492,13 +519,13 @@ lbl_803B1774: /* 803B1780 003AE6E0 7F 84 E3 78 */ mr r4, r28 /* 803B1784 003AE6E4 7F A5 EB 78 */ mr r5, r29 /* 803B1788 003AE6E8 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f -/* 803B178C 003AE6EC 4B FF F9 65 */ bl sub_803b10f0 +/* 803B178C 003AE6EC 4B FF F9 65 */ bl inpSetMidiCtrl /* 803B1790 003AE6F0 38 1F 00 01 */ addi r0, r31, 1 /* 803B1794 003AE6F4 57 C6 06 7E */ clrlwi r6, r30, 0x19 /* 803B1798 003AE6F8 7F 84 E3 78 */ mr r4, r28 /* 803B179C 003AE6FC 7F A5 EB 78 */ mr r5, r29 /* 803B17A0 003AE700 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 803B17A4 003AE704 4B FF F9 4D */ bl sub_803b10f0 +/* 803B17A4 003AE704 4B FF F9 4D */ bl inpSetMidiCtrl /* 803B17A8 003AE708 48 00 00 54 */ b lbl_803B17FC lbl_803B17AC: /* 803B17AC 003AE70C 28 00 00 84 */ cmplwi r0, 0x84 @@ -512,17 +539,17 @@ lbl_803B17BC: /* 803B17C8 003AE728 7F 84 E3 78 */ mr r4, r28 /* 803B17CC 003AE72C 7F A5 EB 78 */ mr r5, r29 /* 803B17D0 003AE730 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f -/* 803B17D4 003AE734 4B FF F9 1D */ bl sub_803b10f0 +/* 803B17D4 003AE734 4B FF F9 1D */ bl inpSetMidiCtrl /* 803B17D8 003AE738 38 1F 00 01 */ addi r0, r31, 1 /* 803B17DC 003AE73C 57 C6 06 7E */ clrlwi r6, r30, 0x19 /* 803B17E0 003AE740 7F 84 E3 78 */ mr r4, r28 /* 803B17E4 003AE744 7F A5 EB 78 */ mr r5, r29 /* 803B17E8 003AE748 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 803B17EC 003AE74C 4B FF F9 05 */ bl sub_803b10f0 +/* 803B17EC 003AE74C 4B FF F9 05 */ bl inpSetMidiCtrl /* 803B17F0 003AE750 48 00 00 0C */ b lbl_803B17FC lbl_803B17F4: /* 803B17F4 003AE754 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f -/* 803B17F8 003AE758 4B FF F8 F9 */ bl sub_803b10f0 +/* 803B17F8 003AE758 4B FF F8 F9 */ bl inpSetMidiCtrl lbl_803B17FC: /* 803B17FC 003AE75C 80 01 00 24 */ lwz r0, 0x24(r1) /* 803B1800 003AE760 83 E1 00 1C */ lwz r31, 0x1c(r1) @@ -1001,7 +1028,7 @@ _GetInputValue: /* 803B1E68 003AEDC8 7C 08 02 A6 */ mflr r0 /* 803B1E6C 003AEDCC 90 01 00 34 */ stw r0, 0x34(r1) /* 803B1E70 003AEDD0 39 61 00 30 */ addi r11, r1, 0x30 -/* 803B1E74 003AEDD4 4B FD 7B FD */ bl func_80389A70 +/* 803B1E74 003AEDD4 4B FD 7B FD */ bl _savegpr_24 /* 803B1E78 003AEDD8 7C 99 23 78 */ mr r25, r4 /* 803B1E7C 003AEDDC 7C 78 1B 78 */ mr r24, r3 /* 803B1E80 003AEDE0 7C BA 2B 78 */ mr r26, r5 @@ -2033,23 +2060,32 @@ lbl_803B2BFC: /* 803B2C1C 003AFB7C 38 A5 42 50 */ addi r5, r5, lbl_803F4250@l /* 803B2C20 003AFB80 7C 05 00 2E */ lwzx r0, r5, r0 /* 803B2C24 003AFB84 7C 09 03 A6 */ mtctr r0 -/* 803B2C28 003AFB88 4E 80 04 20 */ bctr +/* 803B2C28 003AFB88 4E 80 04 20 */ bctr +lbl_803B2C2C: /* 803B2C2C 003AFB8C 38 C0 00 80 */ li r6, 0x80 /* 803B2C30 003AFB90 48 00 00 40 */ b lbl_803B2C70 +lbl_803B2C34: /* 803B2C34 003AFB94 38 C0 00 82 */ li r6, 0x82 /* 803B2C38 003AFB98 48 00 00 38 */ b lbl_803B2C70 +lbl_803B2C3C: /* 803B2C3C 003AFB9C 38 C0 00 A0 */ li r6, 0xa0 /* 803B2C40 003AFBA0 48 00 00 30 */ b lbl_803B2C70 +lbl_803B2C44: /* 803B2C44 003AFBA4 38 C0 00 A1 */ li r6, 0xa1 /* 803B2C48 003AFBA8 48 00 00 28 */ b lbl_803B2C70 +lbl_803B2C4C: /* 803B2C4C 003AFBAC 38 C0 00 83 */ li r6, 0x83 /* 803B2C50 003AFBB0 48 00 00 20 */ b lbl_803B2C70 +lbl_803B2C54: /* 803B2C54 003AFBB4 38 C0 00 84 */ li r6, 0x84 /* 803B2C58 003AFBB8 48 00 00 18 */ b lbl_803B2C70 +lbl_803B2C5C: /* 803B2C5C 003AFBBC 38 C0 00 A2 */ li r6, 0xa2 /* 803B2C60 003AFBC0 48 00 00 10 */ b lbl_803B2C70 +lbl_803B2C64: /* 803B2C64 003AFBC4 38 C0 00 A3 */ li r6, 0xa3 /* 803B2C68 003AFBC8 48 00 00 08 */ b lbl_803B2C70 +lbl_803B2C6C: /* 803B2C6C 003AFBCC 38 C0 00 A4 */ li r6, 0xa4 lbl_803B2C70: /* 803B2C70 003AFBD0 54 C0 06 3E */ clrlwi r0, r6, 0x18 @@ -2072,13 +2108,13 @@ lbl_803B2C84: /* 803B2CB0 003AFC10 7F C5 F3 78 */ mr r5, r30 /* 803B2CB4 003AFC14 55 1F 04 3E */ clrlwi r31, r8, 0x10 /* 803B2CB8 003AFC18 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f -/* 803B2CBC 003AFC1C 4B FF E4 35 */ bl sub_803b10f0 +/* 803B2CBC 003AFC1C 4B FF E4 35 */ bl inpSetMidiCtrl /* 803B2CC0 003AFC20 38 1C 00 20 */ addi r0, r28, 0x20 /* 803B2CC4 003AFC24 57 E6 06 7E */ clrlwi r6, r31, 0x19 /* 803B2CC8 003AFC28 7F A4 EB 78 */ mr r4, r29 /* 803B2CCC 003AFC2C 7F C5 F3 78 */ mr r5, r30 /* 803B2CD0 003AFC30 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 803B2CD4 003AFC34 4B FF E4 1D */ bl sub_803b10f0 +/* 803B2CD4 003AFC34 4B FF E4 1D */ bl inpSetMidiCtrl /* 803B2CD8 003AFC38 48 00 00 A8 */ b lbl_803B2D80 lbl_803B2CDC: /* 803B2CDC 003AFC3C 28 00 00 80 */ cmplwi r0, 0x80 @@ -2092,13 +2128,13 @@ lbl_803B2CEC: /* 803B2CF8 003AFC58 7F C5 F3 78 */ mr r5, r30 /* 803B2CFC 003AFC5C 55 1F 04 3E */ clrlwi r31, r8, 0x10 /* 803B2D00 003AFC60 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f -/* 803B2D04 003AFC64 4B FF E3 ED */ bl sub_803b10f0 +/* 803B2D04 003AFC64 4B FF E3 ED */ bl inpSetMidiCtrl /* 803B2D08 003AFC68 38 1C 00 01 */ addi r0, r28, 1 /* 803B2D0C 003AFC6C 57 E6 06 7E */ clrlwi r6, r31, 0x19 /* 803B2D10 003AFC70 7F A4 EB 78 */ mr r4, r29 /* 803B2D14 003AFC74 7F C5 F3 78 */ mr r5, r30 /* 803B2D18 003AFC78 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 803B2D1C 003AFC7C 4B FF E3 D5 */ bl sub_803b10f0 +/* 803B2D1C 003AFC7C 4B FF E3 D5 */ bl inpSetMidiCtrl /* 803B2D20 003AFC80 48 00 00 60 */ b lbl_803B2D80 lbl_803B2D24: /* 803B2D24 003AFC84 28 00 00 84 */ cmplwi r0, 0x84 @@ -2112,20 +2148,20 @@ lbl_803B2D34: /* 803B2D40 003AFCA0 7F C5 F3 78 */ mr r5, r30 /* 803B2D44 003AFCA4 55 1F 04 3E */ clrlwi r31, r8, 0x10 /* 803B2D48 003AFCA8 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f -/* 803B2D4C 003AFCAC 4B FF E3 A5 */ bl sub_803b10f0 +/* 803B2D4C 003AFCAC 4B FF E3 A5 */ bl inpSetMidiCtrl /* 803B2D50 003AFCB0 38 1C 00 01 */ addi r0, r28, 1 /* 803B2D54 003AFCB4 57 E6 06 7E */ clrlwi r6, r31, 0x19 /* 803B2D58 003AFCB8 7F A4 EB 78 */ mr r4, r29 /* 803B2D5C 003AFCBC 7F C5 F3 78 */ mr r5, r30 /* 803B2D60 003AFCC0 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 803B2D64 003AFCC4 4B FF E3 8D */ bl sub_803b10f0 +/* 803B2D64 003AFCC4 4B FF E3 8D */ bl inpSetMidiCtrl /* 803B2D68 003AFCC8 48 00 00 18 */ b lbl_803B2D80 lbl_803B2D6C: /* 803B2D6C 003AFCCC 7C 83 23 78 */ mr r3, r4 /* 803B2D70 003AFCD0 7F A4 EB 78 */ mr r4, r29 /* 803B2D74 003AFCD4 7F C5 F3 78 */ mr r5, r30 /* 803B2D78 003AFCD8 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f -/* 803B2D7C 003AFCDC 4B FF E3 75 */ bl sub_803b10f0 +/* 803B2D7C 003AFCDC 4B FF E3 75 */ bl inpSetMidiCtrl lbl_803B2D80: /* 803B2D80 003AFCE0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803B2D84 003AFCE4 83 E1 00 1C */ lwz r31, 0x1c(r1) diff --git a/asm/musyx/snd_service.s b/asm/musyx/snd_service.s index 997a311e..92a78ac5 100644 --- a/asm/musyx/snd_service.s +++ b/asm/musyx/snd_service.s @@ -1,14 +1,90 @@ .include "macros.inc" +.section .data, "wa" + +.global sndSintab +sndSintab: + .2byte 0, 6, 12, 18, 25, 31, 37, 43, 50, 56, 62, 69, 75, 81, 87, 94 + .2byte 100, 106, 113, 119, 125, 131, 138, 144, 150, 157, 163, 169, 175, 182, 188, 194 + .2byte 200, 207, 213, 219, 226, 232, 238, 244, 251, 257, 263, 269, 276, 282, 288, 295 + .2byte 301, 307, 313, 320, 326, 332, 338, 345, 351, 357, 363, 370, 376, 382, 388, 395 + .2byte 401, 407, 413, 420, 426, 432, 438, 445, 451, 457, 463, 470, 476, 482, 488, 495 + .2byte 501, 507, 513, 520, 526, 532, 538, 545, 551, 557, 563, 569, 576, 582, 588, 594 + .2byte 601, 607, 613, 619, 625, 632, 638, 644, 650, 656, 663, 669, 675, 681, 687, 694 + .2byte 700, 706, 712, 718, 725, 731, 737, 743, 749, 755, 762, 768, 774, 780, 786, 792 + .2byte 799, 805, 811, 817, 823, 829, 836, 842, 848, 854, 860, 866, 872, 879, 885, 891 + .2byte 897, 903, 909, 915, 921, 928, 934, 940, 946, 952, 958, 964, 970, 976, 983, 989 + .2byte 995, 1001, 1007, 1013, 1019, 1025, 1031, 1037, 1043, 1050, 1056, 1062, 1068, 1074, 1080, 1086 + .2byte 1092, 1098, 1104, 1110, 1116, 1122, 1128, 1134, 1140, 1146, 1152, 1158, 1164, 1170, 1176, 1182 + .2byte 1189, 1195, 1201, 1207, 1213, 1219, 1225, 1231, 1237, 1243, 1248, 1254, 1260, 1266, 1272, 1278 + .2byte 1284, 1290, 1296, 1302, 1308, 1314, 1320, 1326, 1332, 1338, 1344, 1350, 1356, 1362, 1368, 1373 + .2byte 1379, 1385, 1391, 1397, 1403, 1409, 1415, 1421, 1427, 1433, 1438, 1444, 1450, 1456, 1462, 1468 + .2byte 1474, 1479, 1485, 1491, 1497, 1503, 1509, 1515, 1520, 1526, 1532, 1538, 1544, 1550, 1555, 1561 + .2byte 1567, 1573, 1579, 1584, 1590, 1596, 1602, 1608, 1613, 1619, 1625, 1631, 1636, 1642, 1648, 1654 + .2byte 1659, 1665, 1671, 1677, 1682, 1688, 1694, 1699, 1705, 1711, 1717, 1722, 1728, 1734, 1739, 1745 + .2byte 1751, 1756, 1762, 1768, 1773, 1779, 1785, 1790, 1796, 1802, 1807, 1813, 1819, 1824, 1830, 1835 + .2byte 1841, 1847, 1852, 1858, 1864, 1869, 1875, 1880, 1886, 1891, 1897, 1903, 1908, 1914, 1919, 1925 + .2byte 1930, 1936, 1941, 1947, 1952, 1958, 1964, 1969, 1975, 1980, 1986, 1991, 1997, 2002, 2007, 2013 + .2byte 2018, 2024, 2029, 2035, 2040, 2046, 2051, 2057, 2062, 2067, 2073, 2078, 2084, 2089, 2094, 2100 + .2byte 2105, 2111, 2116, 2121, 2127, 2132, 2138, 2143, 2148, 2154, 2159, 2164, 2170, 2175, 2180, 2186 + .2byte 2191, 2196, 2201, 2207, 2212, 2217, 2223, 2228, 2233, 2238, 2244, 2249, 2254, 2259, 2265, 2270 + .2byte 2275, 2280, 2286, 2291, 2296, 2301, 2306, 2312, 2317, 2322, 2327, 2332, 2337, 2343, 2348, 2353 + .2byte 2358, 2363, 2368, 2373, 2379, 2384, 2389, 2394, 2399, 2404, 2409, 2414, 2419, 2424, 2429, 2434 + .2byte 2439, 2445, 2450, 2455, 2460, 2465, 2470, 2475, 2480, 2485, 2490, 2495, 2500, 2505, 2510, 2515 + .2byte 2519, 2524, 2529, 2534, 2539, 2544, 2549, 2554, 2559, 2564, 2569, 2574, 2578, 2583, 2588, 2593 + .2byte 2598, 2603, 2608, 2613, 2617, 2622, 2627, 2632, 2637, 2641, 2646, 2651, 2656, 2661, 2665, 2670 + .2byte 2675, 2680, 2684, 2689, 2694, 2699, 2703, 2708, 2713, 2717, 2722, 2727, 2732, 2736, 2741, 2746 + .2byte 2750, 2755, 2760, 2764, 2769, 2773, 2778, 2783, 2787, 2792, 2796, 2801, 2806, 2810, 2815, 2819 + .2byte 2824, 2828, 2833, 2837, 2842, 2847, 2851, 2856, 2860, 2865, 2869, 2874, 2878, 2882, 2887, 2891 + .2byte 2896, 2900, 2905, 2909, 2914, 2918, 2922, 2927, 2931, 2936, 2940, 2944, 2949, 2953, 2957, 2962 + .2byte 2966, 2970, 2975, 2979, 2983, 2988, 2992, 2996, 3000, 3005, 3009, 3013, 3018, 3022, 3026, 3030 + .2byte 3034, 3039, 3043, 3047, 3051, 3055, 3060, 3064, 3068, 3072, 3076, 3080, 3085, 3089, 3093, 3097 + .2byte 3101, 3105, 3109, 3113, 3117, 3121, 3126, 3130, 3134, 3138, 3142, 3146, 3150, 3154, 3158, 3162 + .2byte 3166, 3170, 3174, 3178, 3182, 3186, 3190, 3193, 3197, 3201, 3205, 3209, 3213, 3217, 3221, 3225 + .2byte 3229, 3232, 3236, 3240, 3244, 3248, 3252, 3255, 3259, 3263, 3267, 3271, 3274, 3278, 3282, 3286 + .2byte 3289, 3293, 3297, 3301, 3304, 3308, 3312, 3315, 3319, 3323, 3326, 3330, 3334, 3337, 3341, 3345 + .2byte 3348, 3352, 3356, 3359, 3363, 3366, 3370, 3373, 3377, 3381, 3384, 3388, 3391, 3395, 3398, 3402 + .2byte 3405, 3409, 3412, 3416, 3419, 3423, 3426, 3429, 3433, 3436, 3440, 3443, 3447, 3450, 3453, 3457 + .2byte 3460, 3463, 3467, 3470, 3473, 3477, 3480, 3483, 3487, 3490, 3493, 3497, 3500, 3503, 3506, 3510 + .2byte 3513, 3516, 3519, 3522, 3526, 3529, 3532, 3535, 3538, 3541, 3545, 3548, 3551, 3554, 3557, 3560 + .2byte 3563, 3566, 3570, 3573, 3576, 3579, 3582, 3585, 3588, 3591, 3594, 3597, 3600, 3603, 3606, 3609 + .2byte 3612, 3615, 3618, 3621, 3624, 3627, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650, 3652, 3655 + .2byte 3658, 3661, 3664, 3667, 3669, 3672, 3675, 3678, 3680, 3683, 3686, 3689, 3691, 3694, 3697, 3700 + .2byte 3702, 3705, 3708, 3710, 3713, 3716, 3718, 3721, 3723, 3726, 3729, 3731, 3734, 3736, 3739, 3742 + .2byte 3744, 3747, 3749, 3752, 3754, 3757, 3759, 3762, 3764, 3767, 3769, 3772, 3774, 3776, 3779, 3781 + .2byte 3784, 3786, 3789, 3791, 3793, 3796, 3798, 3800, 3803, 3805, 3807, 3810, 3812, 3814, 3816, 3819 + .2byte 3821, 3823, 3826, 3828, 3830, 3832, 3834, 3837, 3839, 3841, 3843, 3845, 3848, 3850, 3852, 3854 + .2byte 3856, 3858, 3860, 3862, 3864, 3867, 3869, 3871, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3887 + .2byte 3889, 3891, 3893, 3895, 3897, 3899, 3900, 3902, 3904, 3906, 3908, 3910, 3912, 3914, 3915, 3917 + .2byte 3919, 3921, 3923, 3925, 3926, 3928, 3930, 3932, 3933, 3935, 3937, 3939, 3940, 3942, 3944, 3945 + .2byte 3947, 3949, 3950, 3952, 3954, 3955, 3957, 3959, 3960, 3962, 3963, 3965, 3967, 3968, 3970, 3971 + .2byte 3973, 3974, 3976, 3977, 3979, 3980, 3982, 3983, 3985, 3986, 3988, 3989, 3990, 3992, 3993, 3995 + .2byte 3996, 3997, 3999, 4000, 4001, 4003, 4004, 4005, 4007, 4008, 4009, 4011, 4012, 4013, 4014, 4016 + .2byte 4017, 4018, 4019, 4020, 4022, 4023, 4024, 4025, 4026, 4027, 4029, 4030, 4031, 4032, 4033, 4034 + .2byte 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4050 + .2byte 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4057, 4058, 4059, 4060, 4061, 4062, 4062, 4063, 4064 + .2byte 4065, 4065, 4066, 4067, 4068, 4068, 4069, 4070, 4071, 4071, 4072, 4073, 4073, 4074, 4075, 4075 + .2byte 4076, 4076, 4077, 4078, 4078, 4079, 4079, 4080, 4080, 4081, 4081, 4082, 4082, 4083, 4083, 4084 + .2byte 4084, 4085, 4085, 4086, 4086, 4087, 4087, 4087, 4088, 4088, 4089, 4089, 4089, 4090, 4090, 4090 + .2byte 4091, 4091, 4091, 4091, 4092, 4092, 4092, 4092, 4093, 4093, 4093, 4093, 4094, 4094, 4094, 4094 + .2byte 4094, 4094, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095, 4095 +.skip 8 + +.section .sdata, "wa" +.global last_rnd +last_rnd: + .4byte 1 + .skip 4 + .section .text, "ax" .global sndRand sndRand: /* 803B2DA0 003AFD00 3C 60 A8 35 */ lis r3, 0xA8351D63@ha -/* 803B2DA4 003AFD04 80 8D A0 10 */ lwz r4, lbl_805A8BD0@sda21(r13) +/* 803B2DA4 003AFD04 80 8D A0 10 */ lwz r4, last_rnd@sda21(r13) /* 803B2DA8 003AFD08 38 03 1D 63 */ addi r0, r3, 0xA8351D63@l /* 803B2DAC 003AFD0C 7C 04 01 D6 */ mullw r0, r4, r0 -/* 803B2DB0 003AFD10 90 0D A0 10 */ stw r0, lbl_805A8BD0@sda21(r13) +/* 803B2DB0 003AFD10 90 0D A0 10 */ stw r0, last_rnd@sda21(r13) /* 803B2DB4 003AFD14 54 03 D4 3E */ rlwinm r3, r0, 0x1a, 0x10, 0x1f /* 803B2DB8 003AFD18 4E 80 00 20 */ blr @@ -17,37 +93,37 @@ sndSin: /* 803B2DBC 003AFD1C 54 60 05 3E */ clrlwi r0, r3, 0x14 /* 803B2DC0 003AFD20 28 00 04 00 */ cmplwi r0, 0x400 /* 803B2DC4 003AFD24 40 80 00 18 */ bge lbl_803B2DDC -/* 803B2DC8 003AFD28 3C 60 80 3F */ lis r3, lbl_803F4278@ha +/* 803B2DC8 003AFD28 3C 60 80 3F */ lis r3, sndSintab@ha /* 803B2DCC 003AFD2C 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 803B2DD0 003AFD30 38 63 42 78 */ addi r3, r3, lbl_803F4278@l +/* 803B2DD0 003AFD30 38 63 42 78 */ addi r3, r3, sndSintab@l /* 803B2DD4 003AFD34 7C 63 02 AE */ lhax r3, r3, r0 /* 803B2DD8 003AFD38 4E 80 00 20 */ blr lbl_803B2DDC: /* 803B2DDC 003AFD3C 28 00 08 00 */ cmplwi r0, 0x800 /* 803B2DE0 003AFD40 40 80 00 20 */ bge lbl_803B2E00 /* 803B2DE4 003AFD44 54 00 05 BE */ clrlwi r0, r0, 0x16 -/* 803B2DE8 003AFD48 3C 60 80 3F */ lis r3, lbl_803F4278@ha +/* 803B2DE8 003AFD48 3C 60 80 3F */ lis r3, sndSintab@ha /* 803B2DEC 003AFD4C 20 00 03 FF */ subfic r0, r0, 0x3ff /* 803B2DF0 003AFD50 54 00 08 3C */ slwi r0, r0, 1 -/* 803B2DF4 003AFD54 38 63 42 78 */ addi r3, r3, lbl_803F4278@l +/* 803B2DF4 003AFD54 38 63 42 78 */ addi r3, r3, sndSintab@l /* 803B2DF8 003AFD58 7C 63 02 AE */ lhax r3, r3, r0 /* 803B2DFC 003AFD5C 4E 80 00 20 */ blr lbl_803B2E00: /* 803B2E00 003AFD60 28 00 0C 00 */ cmplwi r0, 0xc00 /* 803B2E04 003AFD64 40 80 00 20 */ bge lbl_803B2E24 -/* 803B2E08 003AFD68 3C 60 80 3F */ lis r3, lbl_803F4278@ha +/* 803B2E08 003AFD68 3C 60 80 3F */ lis r3, sndSintab@ha /* 803B2E0C 003AFD6C 54 00 0D 7C */ rlwinm r0, r0, 1, 0x15, 0x1e -/* 803B2E10 003AFD70 38 63 42 78 */ addi r3, r3, lbl_803F4278@l +/* 803B2E10 003AFD70 38 63 42 78 */ addi r3, r3, sndSintab@l /* 803B2E14 003AFD74 7C 03 02 AE */ lhax r0, r3, r0 /* 803B2E18 003AFD78 7C 00 00 D0 */ neg r0, r0 /* 803B2E1C 003AFD7C 7C 03 07 34 */ extsh r3, r0 /* 803B2E20 003AFD80 4E 80 00 20 */ blr lbl_803B2E24: /* 803B2E24 003AFD84 54 00 05 BE */ clrlwi r0, r0, 0x16 -/* 803B2E28 003AFD88 3C 60 80 3F */ lis r3, lbl_803F4278@ha +/* 803B2E28 003AFD88 3C 60 80 3F */ lis r3, sndSintab@ha /* 803B2E2C 003AFD8C 20 00 03 FF */ subfic r0, r0, 0x3ff /* 803B2E30 003AFD90 54 00 08 3C */ slwi r0, r0, 1 -/* 803B2E34 003AFD94 38 63 42 78 */ addi r3, r3, lbl_803F4278@l +/* 803B2E34 003AFD94 38 63 42 78 */ addi r3, r3, sndSintab@l /* 803B2E38 003AFD98 7C 03 02 AE */ lhax r0, r3, r0 /* 803B2E3C 003AFD9C 7C 00 00 D0 */ neg r0, r0 /* 803B2E40 003AFDA0 7C 03 07 34 */ extsh r3, r0 @@ -59,7 +135,7 @@ sndBSearch: /* 803B2E4C 003AFDAC 7C 08 02 A6 */ mflr r0 /* 803B2E50 003AFDB0 90 01 00 34 */ stw r0, 0x34(r1) /* 803B2E54 003AFDB4 39 61 00 30 */ addi r11, r1, 0x30 -/* 803B2E58 003AFDB8 4B FD 6C 19 */ bl func_80389A70 +/* 803B2E58 003AFDB8 4B FD 6C 19 */ bl _savegpr_24 /* 803B2E5C 003AFDBC 2C 05 00 00 */ cmpwi r5, 0 /* 803B2E60 003AFDC0 7C 78 1B 78 */ mr r24, r3 /* 803B2E64 003AFDC4 7C 99 23 78 */ mr r25, r4 @@ -103,8 +179,8 @@ lbl_803B2ED4: /* 803B2EE4 003AFE44 38 21 00 30 */ addi r1, r1, 0x30 /* 803B2EE8 003AFE48 4E 80 00 20 */ blr -.global dGeomDisable -dGeomDisable: +.global sndConvertMs +sndConvertMs: /* 803B2EEC 003AFE4C 80 03 00 00 */ lwz r0, 0(r3) /* 803B2EF0 003AFE50 54 00 40 2E */ slwi r0, r0, 8 /* 803B2EF4 003AFE54 90 03 00 00 */ stw r0, 0(r3) @@ -131,7 +207,7 @@ sndConvertTicks: /* 803B2F3C 003AFE9C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B2F40 003AFEA0 4E 80 00 20 */ blr -.global sub_803b2f44 -sub_803b2f44: +.global sndConvert2Ms +sndConvert2Ms: /* 803B2F44 003AFEA4 54 63 C2 3E */ srwi r3, r3, 8 /* 803B2F48 003AFEA8 4E 80 00 20 */ blr diff --git a/asm/musyx/snd_synthapi.s b/asm/musyx/snd_synthapi.s index 23023561..e85a94b2 100644 --- a/asm/musyx/snd_synthapi.s +++ b/asm/musyx/snd_synthapi.s @@ -241,9 +241,9 @@ lbl_8039C4C4: /* 8039C4C4 00399424 80 0D AE 74 */ lwz r0, lbl_805A9A34@sda21(r13) /* 8039C4C8 00399428 7C 1F 00 40 */ cmplw r31, r0 /* 8039C4CC 0039942C 41 82 00 54 */ beq lbl_8039C520 -/* 8039C4D0 00399430 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039C4D0 00399430 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039C4D4 00399434 38 E0 00 00 */ li r7, 0 -/* 8039C4D8 00399438 38 A3 00 50 */ addi r5, r3, lbl_80550050@l +/* 8039C4D8 00399438 38 A3 00 50 */ addi r5, r3, synthInfo@l /* 8039C4DC 0039943C 38 C0 00 00 */ li r6, 0 /* 8039C4E0 00399440 48 00 00 30 */ b lbl_8039C510 lbl_8039C4E4: @@ -416,8 +416,8 @@ sub_8039c734: /* 8039C740 003996A0 39 61 00 20 */ addi r11, r1, 0x20 /* 8039C744 003996A4 4B FE D3 39 */ bl sub_80389a7c /* 8039C748 003996A8 7C 7F 1B 78 */ mr r31, r3 -/* 8039C74C 003996AC 3C 60 80 55 */ lis r3, lbl_80550050@ha -/* 8039C750 003996B0 3B A3 00 50 */ addi r29, r3, lbl_80550050@l +/* 8039C74C 003996AC 3C 60 80 55 */ lis r3, synthInfo@ha +/* 8039C750 003996B0 3B A3 00 50 */ addi r29, r3, synthInfo@l /* 8039C754 003996B4 3B 60 00 00 */ li r27, 0 /* 8039C758 003996B8 57 FE 06 3E */ clrlwi r30, r31, 0x18 /* 8039C75C 003996BC 3B 80 00 00 */ li r28, 0 diff --git a/asm/musyx/stream.s b/asm/musyx/stream.s index 2cd7d7e7..d498736b 100644 --- a/asm/musyx/stream.s +++ b/asm/musyx/stream.s @@ -4,9 +4,9 @@ .global streamInit streamInit: -/* 8039C864 003997C4 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039C864 003997C4 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039C868 003997C8 38 A0 00 00 */ li r5, 0 -/* 8039C86C 003997CC 38 83 00 50 */ addi r4, r3, lbl_80550050@l +/* 8039C86C 003997CC 38 83 00 50 */ addi r4, r3, synthInfo@l /* 8039C870 003997D0 38 00 00 03 */ li r0, 3 /* 8039C874 003997D4 88 64 02 10 */ lbz r3, 0x210(r4) /* 8039C878 003997D8 38 E0 00 00 */ li r7, 0 @@ -111,10 +111,10 @@ lbl_8039C9D8: /* 8039C9D8 00399938 88 8D AE 94 */ lbz r4, lbl_805A9A54@sda21(r13) /* 8039C9DC 0039993C 3C 60 80 55 */ lis r3, lbl_805513F8@ha /* 8039C9E0 00399940 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l -/* 8039C9E4 00399944 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039C9E4 00399944 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039C9E8 00399948 98 8D AE 95 */ stb r4, lbl_805A9A55@sda21(r13) /* 8039C9EC 0039994C 7C 1C 03 78 */ mr r28, r0 -/* 8039C9F0 00399950 3B E3 00 50 */ addi r31, r3, lbl_80550050@l +/* 8039C9F0 00399950 3B E3 00 50 */ addi r31, r3, synthInfo@l /* 8039C9F4 00399954 3B A0 00 00 */ li r29, 0 /* 8039C9F8 00399958 48 00 08 3C */ b lbl_8039D234 lbl_8039C9FC: @@ -176,9 +176,9 @@ lbl_8039CA98: /* 8039CAC8 00399A28 48 01 67 11 */ bl hwInitSamplePlayback /* 8039CACC 00399A2C 80 BC 00 54 */ lwz r5, 0x54(r28) /* 8039CAD0 00399A30 3C 80 43 30 */ lis r4, 0x4330 -/* 8039CAD4 00399A34 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039CAD4 00399A34 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039CAD8 00399A38 90 81 00 28 */ stw r4, 0x28(r1) -/* 8039CADC 00399A3C 80 03 00 50 */ lwz r0, lbl_80550050@l(r3) +/* 8039CADC 00399A3C 80 03 00 50 */ lwz r0, synthInfo@l(r3) /* 8039CAE0 00399A40 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8039CAE4 00399A44 C8 42 D5 58 */ lfd f2, lbl_805AF278@sda21(r2) /* 8039CAE8 00399A48 C8 01 00 28 */ lfd f0, 0x28(r1) @@ -835,7 +835,7 @@ sndStreamARAMUpdate: /* 8039D444 0039A3A4 7C 08 02 A6 */ mflr r0 /* 8039D448 0039A3A8 90 01 00 24 */ stw r0, 0x24(r1) /* 8039D44C 0039A3AC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8039D450 0039A3B0 4B FE C6 29 */ bl func_80389A78 +/* 8039D450 0039A3B0 4B FE C6 29 */ bl _savegpr_26 /* 8039D454 0039A3B4 7C 7E 1B 78 */ mr r30, r3 /* 8039D458 0039A3B8 7C 9A 23 78 */ mr r26, r4 /* 8039D45C 0039A3BC 7C BB 2B 78 */ mr r27, r5 @@ -1082,10 +1082,10 @@ streamOutputModeChanged: /* 8039D7B0 0039A710 93 A1 00 24 */ stw r29, 0x24(r1) /* 8039D7B4 0039A714 48 01 79 09 */ bl hwDisableIrq /* 8039D7B8 0039A718 3C 80 80 55 */ lis r4, lbl_805513F8@ha -/* 8039D7BC 0039A71C 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039D7BC 0039A71C 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039D7C0 0039A720 3B C4 13 F8 */ addi r30, r4, lbl_805513F8@l /* 8039D7C4 0039A724 3B A0 00 00 */ li r29, 0 -/* 8039D7C8 0039A728 3B E3 00 50 */ addi r31, r3, lbl_80550050@l +/* 8039D7C8 0039A728 3B E3 00 50 */ addi r31, r3, synthInfo@l /* 8039D7CC 0039A72C 48 00 00 D4 */ b lbl_8039D8A0 lbl_8039D7D0: /* 8039D7D0 0039A730 88 1E 00 0C */ lbz r0, 0xc(r30) @@ -1683,7 +1683,7 @@ sndStreamADPCMParameter: /* 8039E02C 0039AF8C 7C 08 02 A6 */ mflr r0 /* 8039E030 0039AF90 90 01 00 24 */ stw r0, 0x24(r1) /* 8039E034 0039AF94 39 61 00 20 */ addi r11, r1, 0x20 -/* 8039E038 0039AF98 4B FE BA 41 */ bl func_80389A78 +/* 8039E038 0039AF98 4B FE BA 41 */ bl _savegpr_26 /* 8039E03C 0039AF9C 7C 7A 1B 78 */ mr r26, r3 /* 8039E040 0039AFA0 7C 9B 23 78 */ mr r27, r4 /* 8039E044 0039AFA4 48 01 70 79 */ bl hwDisableIrq @@ -2167,7 +2167,7 @@ sndStreamMixParameter: /* 8039E728 0039B688 7C 08 02 A6 */ mflr r0 /* 8039E72C 0039B68C 90 01 00 44 */ stw r0, 0x44(r1) /* 8039E730 0039B690 39 61 00 40 */ addi r11, r1, 0x40 -/* 8039E734 0039B694 4B FE B3 45 */ bl func_80389A78 +/* 8039E734 0039B694 4B FE B3 45 */ bl _savegpr_26 /* 8039E738 0039B698 7C 7F 1B 78 */ mr r31, r3 /* 8039E73C 0039B69C 7C 9A 23 78 */ mr r26, r4 /* 8039E740 0039B6A0 7C BB 2B 78 */ mr r27, r5 @@ -2518,7 +2518,7 @@ sndStreamMixParameterEx: /* 8039EC34 0039BB94 7C 08 02 A6 */ mflr r0 /* 8039EC38 0039BB98 90 01 00 54 */ stw r0, 0x54(r1) /* 8039EC3C 0039BB9C 39 61 00 50 */ addi r11, r1, 0x50 -/* 8039EC40 0039BBA0 4B FE AE 31 */ bl func_80389A70 +/* 8039EC40 0039BBA0 4B FE AE 31 */ bl _savegpr_24 /* 8039EC44 0039BBA4 7C 7D 1B 78 */ mr r29, r3 /* 8039EC48 0039BBA8 7C 98 23 78 */ mr r24, r4 /* 8039EC4C 0039BBAC 7C B9 2B 78 */ mr r25, r5 @@ -2999,9 +2999,9 @@ lbl_8039F2EC: /* 8039F314 0039C274 28 00 00 02 */ cmplwi r0, 2 /* 8039F318 0039C278 40 82 00 58 */ bne lbl_8039F370 /* 8039F31C 0039C27C 3C 80 43 30 */ lis r4, 0x4330 -/* 8039F320 0039C280 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039F320 0039C280 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039F324 0039C284 93 81 00 0C */ stw r28, 0xc(r1) -/* 8039F328 0039C288 80 03 00 50 */ lwz r0, lbl_80550050@l(r3) +/* 8039F328 0039C288 80 03 00 50 */ lwz r0, synthInfo@l(r3) /* 8039F32C 0039C28C 7C 65 DA 14 */ add r3, r5, r27 /* 8039F330 0039C290 90 81 00 08 */ stw r4, 8(r1) /* 8039F334 0039C294 C8 42 D5 58 */ lfd f2, lbl_805AF278@sda21(r2) @@ -3124,9 +3124,9 @@ lbl_8039F4C4: /* 8039F4DC 0039C43C 28 00 00 02 */ cmplwi r0, 2 /* 8039F4E0 0039C440 40 82 00 60 */ bne lbl_8039F540 /* 8039F4E4 0039C444 3C 80 43 30 */ lis r4, 0x4330 -/* 8039F4E8 0039C448 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039F4E8 0039C448 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039F4EC 0039C44C 93 81 00 1C */ stw r28, 0x1c(r1) -/* 8039F4F0 0039C450 80 03 00 50 */ lwz r0, lbl_80550050@l(r3) +/* 8039F4F0 0039C450 80 03 00 50 */ lwz r0, synthInfo@l(r3) /* 8039F4F4 0039C454 3C 60 80 55 */ lis r3, lbl_805513F8@ha /* 8039F4F8 0039C458 90 81 00 18 */ stw r4, 0x18(r1) /* 8039F4FC 0039C45C 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l @@ -3250,9 +3250,9 @@ lbl_8039F690: /* 8039F6A8 0039C608 28 00 00 02 */ cmplwi r0, 2 /* 8039F6AC 0039C60C 40 82 00 60 */ bne lbl_8039F70C /* 8039F6B0 0039C610 3C 80 43 30 */ lis r4, 0x4330 -/* 8039F6B4 0039C614 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039F6B4 0039C614 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039F6B8 0039C618 93 81 00 1C */ stw r28, 0x1c(r1) -/* 8039F6BC 0039C61C 80 03 00 50 */ lwz r0, lbl_80550050@l(r3) +/* 8039F6BC 0039C61C 80 03 00 50 */ lwz r0, synthInfo@l(r3) /* 8039F6C0 0039C620 3C 60 80 55 */ lis r3, lbl_805513F8@ha /* 8039F6C4 0039C624 90 81 00 18 */ stw r4, 0x18(r1) /* 8039F6C8 0039C628 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l @@ -3291,9 +3291,9 @@ lbl_8039F70C: /* 8039F748 0039C6A8 28 00 00 02 */ cmplwi r0, 2 /* 8039F74C 0039C6AC 40 82 00 60 */ bne lbl_8039F7AC /* 8039F750 0039C6B0 3C 80 43 30 */ lis r4, 0x4330 -/* 8039F754 0039C6B4 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 8039F754 0039C6B4 3C 60 80 55 */ lis r3, synthInfo@ha /* 8039F758 0039C6B8 93 81 00 1C */ stw r28, 0x1c(r1) -/* 8039F75C 0039C6BC 80 03 00 50 */ lwz r0, lbl_80550050@l(r3) +/* 8039F75C 0039C6BC 80 03 00 50 */ lwz r0, synthInfo@l(r3) /* 8039F760 0039C6C0 3C 60 80 55 */ lis r3, lbl_805513F8@ha /* 8039F764 0039C6C4 90 81 00 18 */ stw r4, 0x18(r1) /* 8039F768 0039C6C8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l @@ -3343,7 +3343,7 @@ sndStreamFree: /* 8039F7F8 0039C758 7C 08 02 A6 */ mflr r0 /* 8039F7FC 0039C75C 90 01 00 34 */ stw r0, 0x34(r1) /* 8039F800 0039C760 39 61 00 30 */ addi r11, r1, 0x30 -/* 8039F804 0039C764 4B FE A2 71 */ bl func_80389A74 +/* 8039F804 0039C764 4B FE A2 71 */ bl _savegpr_25 /* 8039F808 0039C768 7C 79 1B 78 */ mr r25, r3 /* 8039F80C 0039C76C 48 01 58 B1 */ bl hwDisableIrq /* 8039F810 0039C770 3C 60 80 55 */ lis r3, lbl_805513F8@ha diff --git a/asm/musyx/synth.s b/asm/musyx/synth.s index 59cc1027..85be0a01 100644 --- a/asm/musyx/synth.s +++ b/asm/musyx/synth.s @@ -1,5 +1,6 @@ .include "macros.inc" + .section .text, "ax" .global synthSetBpm @@ -84,14 +85,14 @@ do_voice_portamento: /* 80398D9C 00395CFC 39 61 00 40 */ addi r11, r1, 0x40 /* 80398DA0 00395D00 4B FF 0C B9 */ bl func_80389A58 /* 80398DA4 00395D04 7C 72 1B 78 */ mr r18, r3 -/* 80398DA8 00395D08 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 80398DA8 00395D08 3C 60 80 55 */ lis r3, synthInfo@ha /* 80398DAC 00395D0C 83 2D AE 78 */ lwz r25, lbl_805A9A38@sda21(r13) /* 80398DB0 00395D10 7C 93 23 78 */ mr r19, r4 /* 80398DB4 00395D14 7C B4 2B 78 */ mr r20, r5 /* 80398DB8 00395D18 7C D5 33 78 */ mr r21, r6 /* 80398DBC 00395D1C 7C F6 3B 78 */ mr r22, r7 /* 80398DC0 00395D20 56 5D 06 3E */ clrlwi r29, r18, 0x18 -/* 80398DC4 00395D24 3B E3 00 50 */ addi r31, r3, lbl_80550050@l +/* 80398DC4 00395D24 3B E3 00 50 */ addi r31, r3, synthInfo@l /* 80398DC8 00395D28 3A E0 00 00 */ li r23, 0 /* 80398DCC 00395D2C 3B 60 FF FF */ li r27, -1 /* 80398DD0 00395D30 3B 80 00 00 */ li r28, 0 @@ -2155,7 +2156,7 @@ synthHandle: /* 8039AB0C 00397A6C 7C 08 02 A6 */ mflr r0 /* 8039AB10 00397A70 90 01 00 54 */ stw r0, 0x54(r1) /* 8039AB14 00397A74 39 61 00 50 */ addi r11, r1, 0x50 -/* 8039AB18 00397A78 4B FE EF 49 */ bl func_80389A60 +/* 8039AB18 00397A78 4B FE EF 49 */ bl _savegpr_20 /* 8039AB1C 00397A7C 3C 80 80 55 */ lis r4, lbl_8054FE10@ha /* 8039AB20 00397A80 7C 79 1B 78 */ mr r25, r3 /* 8039AB24 00397A84 3B E4 FE 10 */ addi r31, r4, lbl_8054FE10@l @@ -2613,13 +2614,13 @@ lbl_8039B144: /* 8039B188 003980E8 88 A7 02 0B */ lbz r5, 0x20b(r7) /* 8039B18C 003980EC 7F C3 F3 78 */ mr r3, r30 /* 8039B190 003980F0 7F E6 FB 78 */ mr r6, r31 -/* 8039B194 003980F4 48 01 5F 5D */ bl sub_803b10f0 +/* 8039B194 003980F4 48 01 5F 5D */ bl inpSetMidiCtrl /* 8039B198 003980F8 48 00 00 14 */ b lbl_8039B1AC lbl_8039B19C: /* 8039B19C 003980FC 88 A7 01 22 */ lbz r5, 0x122(r7) /* 8039B1A0 00398100 7F C3 F3 78 */ mr r3, r30 /* 8039B1A4 00398104 7F E6 FB 78 */ mr r6, r31 -/* 8039B1A8 00398108 48 01 5F 49 */ bl sub_803b10f0 +/* 8039B1A8 00398108 48 01 5F 49 */ bl inpSetMidiCtrl lbl_8039B1AC: /* 8039B1AC 0039810C 80 6D AE 78 */ lwz r3, lbl_805A9A38@sda21(r13) /* 8039B1B0 00398110 38 1D 00 EC */ addi r0, r29, 0xec @@ -2804,7 +2805,7 @@ synthVolume: /* 8039B418 00398378 90 01 00 08 */ stw r0, 8(r1) /* 8039B41C 0039837C 41 82 00 0C */ beq lbl_8039B428 /* 8039B420 00398380 38 61 00 08 */ addi r3, r1, 8 -/* 8039B424 00398384 48 01 7A C9 */ bl dGeomDisable +/* 8039B424 00398384 48 01 7A C9 */ bl sndConvertMs lbl_8039B428: /* 8039B428 00398388 57 BF 06 3E */ clrlwi r31, r29, 0x18 /* 8039B42C 0039838C 2C 1F 00 FD */ cmpwi r31, 0xfd diff --git a/asm/musyx/synth_ac.s b/asm/musyx/synth_ac.s index 4598cb25..65ef7e4a 100644 --- a/asm/musyx/synth_ac.s +++ b/asm/musyx/synth_ac.s @@ -70,10 +70,10 @@ lbl_803A91B8: /* 803A91D0 003A6130 EC 00 08 28 */ fsubs f0, f0, f1 lbl_803A91D4: /* 803A91D4 003A6134 3C 00 43 30 */ lis r0, 0x4330 -/* 803A91D8 003A6138 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803A91D8 003A6138 3C 60 80 55 */ lis r3, synthInfo@ha /* 803A91DC 003A613C 90 01 00 18 */ stw r0, 0x18(r1) /* 803A91E0 003A6140 EC 42 00 32 */ fmuls f2, f2, f0 -/* 803A91E4 003A6144 80 03 00 50 */ lwz r0, lbl_80550050@l(r3) +/* 803A91E4 003A6144 80 03 00 50 */ lwz r0, synthInfo@l(r3) /* 803A91E8 003A6148 C8 22 D5 98 */ lfd f1, lbl_805AF2B8@sda21(r2) /* 803A91EC 003A614C 90 01 00 1C */ stw r0, 0x1c(r1) /* 803A91F0 003A6150 C8 01 00 18 */ lfd f0, 0x18(r1) diff --git a/asm/musyx/synthdata.s b/asm/musyx/synthdata.s index d7fb09c4..f5df3037 100644 --- a/asm/musyx/synthdata.s +++ b/asm/musyx/synthdata.s @@ -1,5 +1,43 @@ .include "macros.inc" +.section .data, "wa" +.global lbl_803F2FD8 +lbl_803F2FD8: + .incbin "baserom.dol", 0x3EFFD8, 0x1C +.global lbl_803F2FF4 +lbl_803F2FF4: + .incbin "baserom.dol", 0x3EFFF4, 0x204 +.global lbl_803F31F8 +lbl_803F31F8: + .incbin "baserom.dol", 0x3F01F8, 0x20 +.global lbl_803F3218 +lbl_803F3218: + .incbin "baserom.dol", 0x3F0218, 0x10 +.global lbl_803F3228 +lbl_803F3228: + .incbin "baserom.dol", 0x3F0228, 0x20 +.global lbl_803F3248 +lbl_803F3248: + .incbin "baserom.dol", 0x3F0248, 0x10 +.global lbl_803F3258 +lbl_803F3258: + .incbin "baserom.dol", 0x3F0258, 0x1C8 +.global lbl_803F3420 +lbl_803F3420: + .incbin "baserom.dol", 0x3F0420, 0x200 +.global lbl_803F3620 +lbl_803F3620: + .incbin "baserom.dol", 0x3F0620, 0x200 +.global lbl_803F3820 +lbl_803F3820: + .incbin "baserom.dol", 0x3F0820, 0x184 +.global lbl_803F39A4 +lbl_803F39A4: + .incbin "baserom.dol", 0x3F09A4, 0x400 +.global lbl_803F3DA4 +lbl_803F3DA4: + .incbin "baserom.dol", 0x3F0DA4, 0x204 + .section .text, "ax" .global dataInsertKeymap diff --git a/asm/musyx/synthmacros.s b/asm/musyx/synthmacros.s index 292d4af2..57cc5cba 100644 --- a/asm/musyx/synthmacros.s +++ b/asm/musyx/synthmacros.s @@ -1,5 +1,7 @@ .include "macros.inc" + + .section .text, "ax" .global mcmdWait @@ -113,7 +115,7 @@ lbl_803A2B3C: /* 803A2B4C 0039FAAC 54 1C C7 FF */ rlwinm. r28, r0, 0x18, 0x1f, 0x1f /* 803A2B50 0039FAB0 41 82 00 10 */ beq lbl_803A2B60 /* 803A2B54 0039FAB4 38 61 00 08 */ addi r3, r1, 8 -/* 803A2B58 0039FAB8 48 01 03 95 */ bl dGeomDisable +/* 803A2B58 0039FAB8 48 01 03 95 */ bl sndConvertMs /* 803A2B5C 0039FABC 48 00 00 10 */ b lbl_803A2B6C lbl_803A2B60: /* 803A2B60 0039FAC0 7F C4 F3 78 */ mr r4, r30 @@ -708,7 +710,7 @@ lbl_803A3390: /* 803A33A0 003A0300 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f /* 803A33A4 003A0304 41 82 00 10 */ beq lbl_803A33B4 /* 803A33A8 003A0308 38 61 00 08 */ addi r3, r1, 8 -/* 803A33AC 003A030C 48 00 FB 41 */ bl dGeomDisable +/* 803A33AC 003A030C 48 00 FB 41 */ bl sndConvertMs /* 803A33B0 003A0310 48 00 00 10 */ b lbl_803A33C0 lbl_803A33B4: /* 803A33B4 003A0314 7F C4 F3 78 */ mr r4, r30 @@ -1321,7 +1323,7 @@ sub_803a3c54: /* 803A3C78 003A0BD8 80 04 00 00 */ lwz r0, 0(r4) /* 803A3C7C 003A0BDC 54 1F 84 3E */ srwi r31, r0, 0x10 /* 803A3C80 003A0BE0 93 FD 01 88 */ stw r31, 0x188(r29) -/* 803A3C84 003A0BE4 48 00 F2 69 */ bl dGeomDisable +/* 803A3C84 003A0BE4 48 00 F2 69 */ bl sndConvertMs /* 803A3C88 003A0BE8 80 1E 00 00 */ lwz r0, 0(r30) /* 803A3C8C 003A0BEC 80 7E 00 04 */ lwz r3, 4(r30) /* 803A3C90 003A0BF0 54 00 42 1E */ rlwinm r0, r0, 8, 8, 0xf @@ -1365,7 +1367,7 @@ mcmdSetPanning: /* 803A3D14 003A0C74 80 04 00 00 */ lwz r0, 0(r4) /* 803A3D18 003A0C78 54 1F 84 3E */ srwi r31, r0, 0x10 /* 803A3D1C 003A0C7C 93 FD 01 8C */ stw r31, 0x18c(r29) -/* 803A3D20 003A0C80 48 00 F1 CD */ bl dGeomDisable +/* 803A3D20 003A0C80 48 00 F1 CD */ bl sndConvertMs /* 803A3D24 003A0C84 80 1E 00 00 */ lwz r0, 0(r30) /* 803A3D28 003A0C88 80 7E 00 04 */ lwz r3, 4(r30) /* 803A3D2C 003A0C8C 54 00 42 1E */ rlwinm r0, r0, 8, 8, 0xf @@ -1497,7 +1499,7 @@ mcmdEnvelope: /* 803A3EF0 003A0E50 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f /* 803A3EF4 003A0E54 41 82 00 10 */ beq lbl_803A3F04 /* 803A3EF8 003A0E58 38 61 00 08 */ addi r3, r1, 8 -/* 803A3EFC 003A0E5C 48 00 EF F1 */ bl dGeomDisable +/* 803A3EFC 003A0E5C 48 00 EF F1 */ bl sndConvertMs /* 803A3F00 003A0E60 48 00 00 10 */ b lbl_803A3F10 lbl_803A3F04: /* 803A3F04 003A0E64 7F A4 EB 78 */ mr r4, r29 @@ -1505,7 +1507,7 @@ lbl_803A3F04: /* 803A3F0C 003A0E6C 48 00 EF F1 */ bl sndConvertTicks lbl_803A3F10: /* 803A3F10 003A0E70 80 61 00 08 */ lwz r3, 8(r1) -/* 803A3F14 003A0E74 48 00 F0 31 */ bl sub_803b2f44 +/* 803A3F14 003A0E74 48 00 F0 31 */ bl sndConvert2Ms /* 803A3F18 003A0E78 7C 7F 1B 79 */ or. r31, r3, r3 /* 803A3F1C 003A0E7C 40 82 00 08 */ bne lbl_803A3F24 /* 803A3F20 003A0E80 3B E0 00 01 */ li r31, 1 @@ -1583,7 +1585,7 @@ mcmdFadeIn: /* 803A4024 003A0F84 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f /* 803A4028 003A0F88 41 82 00 10 */ beq lbl_803A4038 /* 803A402C 003A0F8C 38 61 00 08 */ addi r3, r1, 8 -/* 803A4030 003A0F90 48 00 EE BD */ bl dGeomDisable +/* 803A4030 003A0F90 48 00 EE BD */ bl sndConvertMs /* 803A4034 003A0F94 48 00 00 10 */ b lbl_803A4044 lbl_803A4038: /* 803A4038 003A0F98 7F E4 FB 78 */ mr r4, r31 @@ -1591,7 +1593,7 @@ lbl_803A4038: /* 803A4040 003A0FA0 48 00 EE BD */ bl sndConvertTicks lbl_803A4044: /* 803A4044 003A0FA4 80 61 00 08 */ lwz r3, 8(r1) -/* 803A4048 003A0FA8 48 00 EE FD */ bl sub_803b2f44 +/* 803A4048 003A0FA8 48 00 EE FD */ bl sndConvert2Ms /* 803A404C 003A0FAC 7C 7E 1B 79 */ or. r30, r3, r3 /* 803A4050 003A0FB0 40 82 00 08 */ bne lbl_803A4058 /* 803A4054 003A0FB4 3B C0 00 01 */ li r30, 1 @@ -2931,7 +2933,7 @@ mcmdPortamento: /* 803A532C 003A228C 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f /* 803A5330 003A2290 41 82 00 10 */ beq lbl_803A5340 /* 803A5334 003A2294 38 61 00 08 */ addi r3, r1, 8 -/* 803A5338 003A2298 48 00 DB B5 */ bl dGeomDisable +/* 803A5338 003A2298 48 00 DB B5 */ bl sndConvertMs /* 803A533C 003A229C 48 00 00 10 */ b lbl_803A534C lbl_803A5340: /* 803A5340 003A22A0 7F E4 FB 78 */ mr r4, r31 @@ -2959,7 +2961,7 @@ lbl_803A5380: /* 803A538C 003A22EC 88 BF 01 22 */ lbz r5, 0x122(r31) /* 803A5390 003A22F0 38 60 00 41 */ li r3, 0x41 /* 803A5394 003A22F4 38 C0 00 00 */ li r6, 0 -/* 803A5398 003A22F8 48 00 BD 59 */ bl sub_803b10f0 +/* 803A5398 003A22F8 48 00 BD 59 */ bl inpSetMidiCtrl lbl_803A539C: /* 803A539C 003A22FC 80 BF 01 18 */ lwz r5, 0x118(r31) /* 803A53A0 003A2300 38 00 FB FF */ li r0, -1025 @@ -2977,7 +2979,7 @@ lbl_803A53C0: /* 803A53CC 003A232C 88 BF 01 22 */ lbz r5, 0x122(r31) /* 803A53D0 003A2330 38 60 00 41 */ li r3, 0x41 /* 803A53D4 003A2334 38 C0 00 7F */ li r6, 0x7f -/* 803A53D8 003A2338 48 00 BD 19 */ bl sub_803b10f0 +/* 803A53D8 003A2338 48 00 BD 19 */ bl inpSetMidiCtrl lbl_803A53DC: /* 803A53DC 003A233C 80 1F 01 14 */ lwz r0, 0x114(r31) /* 803A53E0 003A2340 38 80 00 00 */ li r4, 0 @@ -3336,9 +3338,9 @@ lbl_803A587C: /* 803A5888 003A27E8 54 9E 84 3E */ srwi r30, r4, 0x10 /* 803A588C 003A27EC 28 1E FF FF */ cmplwi r30, 0xffff /* 803A5890 003A27F0 41 82 00 E4 */ beq lbl_803A5974 -/* 803A5894 003A27F4 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803A5894 003A27F4 3C 60 80 55 */ lis r3, synthInfo@ha /* 803A5898 003A27F8 3B 80 00 00 */ li r28, 0 -/* 803A589C 003A27FC 3B E3 00 50 */ addi r31, r3, lbl_80550050@l +/* 803A589C 003A27FC 3B E3 00 50 */ addi r31, r3, synthInfo@l /* 803A58A0 003A2800 48 00 00 C0 */ b lbl_803A5960 lbl_803A58A4: /* 803A58A4 003A2804 57 80 06 3E */ clrlwi r0, r28, 0x18 @@ -3508,7 +3510,7 @@ mcmdSetKeyGroup: /* 803A5AF4 003A2A54 7C 08 02 A6 */ mflr r0 /* 803A5AF8 003A2A58 90 01 00 24 */ stw r0, 0x24(r1) /* 803A5AFC 003A2A5C 39 61 00 20 */ addi r11, r1, 0x20 -/* 803A5B00 003A2A60 4B FE 3F 79 */ bl func_80389A78 +/* 803A5B00 003A2A60 4B FE 3F 79 */ bl _savegpr_26 /* 803A5B04 003A2A64 3B C0 00 00 */ li r30, 0 /* 803A5B08 003A2A68 7C 7A 1B 78 */ mr r26, r3 /* 803A5B0C 003A2A6C 9B C3 01 04 */ stb r30, 0x104(r3) @@ -3519,9 +3521,9 @@ mcmdSetKeyGroup: /* 803A5B20 003A2A80 7C 00 1B 78 */ or r0, r0, r3 /* 803A5B24 003A2A84 54 1B 0F FE */ srwi r27, r0, 0x1f /* 803A5B28 003A2A88 41 82 00 8C */ beq lbl_803A5BB4 -/* 803A5B2C 003A2A8C 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803A5B2C 003A2A8C 3C 60 80 55 */ lis r3, synthInfo@ha /* 803A5B30 003A2A90 3B A0 00 00 */ li r29, 0 -/* 803A5B34 003A2A94 3B E3 00 50 */ addi r31, r3, lbl_80550050@l +/* 803A5B34 003A2A94 3B E3 00 50 */ addi r31, r3, synthInfo@l /* 803A5B38 003A2A98 48 00 00 6C */ b lbl_803A5BA4 lbl_803A5B3C: /* 803A5B3C 003A2A9C 80 0D AE 78 */ lwz r0, lbl_805A9A38@sda21(r13) @@ -3571,7 +3573,7 @@ sub_803a5bcc: /* 803A5BD0 003A2B30 7C 08 02 A6 */ mflr r0 /* 803A5BD4 003A2B34 90 01 00 34 */ stw r0, 0x34(r1) /* 803A5BD8 003A2B38 39 61 00 30 */ addi r11, r1, 0x30 -/* 803A5BDC 003A2B3C 4B FE 3E 99 */ bl func_80389A74 +/* 803A5BDC 003A2B3C 4B FE 3E 99 */ bl _savegpr_25 /* 803A5BE0 003A2B40 80 E3 01 18 */ lwz r7, 0x118(r3) /* 803A5BE4 003A2B44 38 00 00 03 */ li r0, 3 /* 803A5BE8 003A2B48 80 C3 01 14 */ lwz r6, 0x114(r3) @@ -3724,9 +3726,9 @@ lbl_803A5D40: /* 803A5E20 003A2D80 4B FF 4C 19 */ bl synthStartSynthJobHandling lbl_803A5E24: /* 803A5E24 003A2D84 38 00 00 00 */ li r0, 0 -/* 803A5E28 003A2D88 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803A5E28 003A2D88 3C 60 80 55 */ lis r3, synthInfo@ha /* 803A5E2C 003A2D8C 98 0D AE F8 */ stb r0, lbl_805A9AB8@sda21(r13) -/* 803A5E30 003A2D90 3B A3 00 50 */ addi r29, r3, lbl_80550050@l +/* 803A5E30 003A2D90 3B A3 00 50 */ addi r29, r3, synthInfo@l /* 803A5E34 003A2D94 3B 8D AE E0 */ addi r28, r13, lbl_805A9AA0@sda21 lbl_803A5E38: /* 803A5E38 003A2D98 88 6D AE F8 */ lbz r3, lbl_805A9AB8@sda21(r13) @@ -4478,7 +4480,7 @@ lbl_803A6854: /* 803A6968 003A38C8 57 40 84 3E */ srwi r0, r26, 0x10 /* 803A696C 003A38CC 38 61 00 08 */ addi r3, r1, 8 /* 803A6970 003A38D0 90 01 00 08 */ stw r0, 8(r1) -/* 803A6974 003A38D4 48 00 C5 79 */ bl dGeomDisable +/* 803A6974 003A38D4 48 00 C5 79 */ bl sndConvertMs /* 803A6978 003A38D8 57 40 C6 3E */ rlwinm r0, r26, 0x18, 0x18, 0x1f /* 803A697C 003A38DC 1C 00 00 0C */ mulli r0, r0, 0xc /* 803A6980 003A38E0 7F 3F 02 14 */ add r25, r31, r0 @@ -4489,7 +4491,7 @@ lbl_803A6854: /* 803A6994 003A38F4 38 61 00 0C */ addi r3, r1, 0xc /* 803A6998 003A38F8 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 803A699C 003A38FC 90 01 00 0C */ stw r0, 0xc(r1) -/* 803A69A0 003A3900 48 00 C5 4D */ bl dGeomDisable +/* 803A69A0 003A3900 48 00 C5 4D */ bl sndConvertMs /* 803A69A4 003A3904 80 01 00 0C */ lwz r0, 0xc(r1) /* 803A69A8 003A3908 90 19 01 BC */ stw r0, 0x1bc(r25) lbl_803A69AC: @@ -4598,7 +4600,7 @@ sub_803a6b24: /* 803A6B28 003A3A88 7C 08 02 A6 */ mflr r0 /* 803A6B2C 003A3A8C 90 01 00 24 */ stw r0, 0x24(r1) /* 803A6B30 003A3A90 39 61 00 20 */ addi r11, r1, 0x20 -/* 803A6B34 003A3A94 4B FE 2F 45 */ bl func_80389A78 +/* 803A6B34 003A3A94 4B FE 2F 45 */ bl _savegpr_26 /* 803A6B38 003A3A98 83 6D AE F0 */ lwz r27, lbl_805A9AB0@sda21(r13) /* 803A6B3C 003A3A9C 7C 7E 1B 78 */ mr r30, r3 /* 803A6B40 003A3AA0 48 00 00 1C */ b lbl_803A6B5C @@ -5374,10 +5376,10 @@ lbl_803A75E0: .global macInit macInit: /* 803A75F8 003A4558 39 00 00 00 */ li r8, 0 -/* 803A75FC 003A455C 3C 60 80 55 */ lis r3, lbl_80550050@ha +/* 803A75FC 003A455C 3C 60 80 55 */ lis r3, synthInfo@ha /* 803A7600 003A4560 91 0D AE F4 */ stw r8, lbl_805A9AB4@sda21(r13) /* 803A7604 003A4564 7D 09 43 78 */ mr r9, r8 -/* 803A7608 003A4568 38 E3 00 50 */ addi r7, r3, lbl_80550050@l +/* 803A7608 003A4568 38 E3 00 50 */ addi r7, r3, synthInfo@l /* 803A760C 003A456C 39 40 00 00 */ li r10, 0 /* 803A7610 003A4570 91 0D AE F0 */ stw r8, lbl_805A9AB0@sda21(r13) /* 803A7614 003A4574 38 A0 00 02 */ li r5, 2 diff --git a/asm/musyx/synthvoice.s b/asm/musyx/synthvoice.s index d10e505a..e55dfd7f 100644 --- a/asm/musyx/synthvoice.s +++ b/asm/musyx/synthvoice.s @@ -609,9 +609,9 @@ sub_803a7e44: /* 803A7E68 003A4DC8 40 82 04 20 */ bne lbl_803A8288 /* 803A7E6C 003A4DCC 54 C0 06 3F */ clrlwi. r0, r6, 0x18 /* 803A7E70 003A4DD0 41 82 00 44 */ beq lbl_803A7EB4 -/* 803A7E74 003A4DD4 3C E0 80 55 */ lis r7, lbl_80550050@ha +/* 803A7E74 003A4DD4 3C E0 80 55 */ lis r7, synthInfo@ha /* 803A7E78 003A4DD8 88 0D AF 0F */ lbz r0, lbl_805A9ACF@sda21(r13) -/* 803A7E7C 003A4DDC 38 E7 00 50 */ addi r7, r7, lbl_80550050@l +/* 803A7E7C 003A4DDC 38 E7 00 50 */ addi r7, r7, synthInfo@l /* 803A7E80 003A4DE0 39 20 00 00 */ li r9, 0 /* 803A7E84 003A4DE4 89 47 02 12 */ lbz r10, 0x212(r7) /* 803A7E88 003A4DE8 7C 00 50 40 */ cmplw r0, r10 @@ -627,9 +627,9 @@ lbl_803A7EA0: /* 803A7EAC 003A4E0C 40 81 01 BC */ ble lbl_803A8068 /* 803A7EB0 003A4E10 48 00 00 40 */ b lbl_803A7EF0 lbl_803A7EB4: -/* 803A7EB4 003A4E14 3C E0 80 55 */ lis r7, lbl_80550050@ha +/* 803A7EB4 003A4E14 3C E0 80 55 */ lis r7, synthInfo@ha /* 803A7EB8 003A4E18 88 0D AF 0E */ lbz r0, lbl_805A9ACE@sda21(r13) -/* 803A7EBC 003A4E1C 38 E7 00 50 */ addi r7, r7, lbl_80550050@l +/* 803A7EBC 003A4E1C 38 E7 00 50 */ addi r7, r7, synthInfo@l /* 803A7EC0 003A4E20 39 20 00 00 */ li r9, 0 /* 803A7EC4 003A4E24 89 47 02 11 */ lbz r10, 0x211(r7) /* 803A7EC8 003A4E28 7C 00 50 40 */ cmplw r0, r10 @@ -1050,8 +1050,8 @@ lbl_803A8448: .global synthInitAllocationAids synthInitAllocationAids: /* 803A8468 003A53C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803A846C 003A53CC 3C 60 80 55 */ lis r3, lbl_80550050@ha -/* 803A8470 003A53D0 39 83 00 50 */ addi r12, r3, lbl_80550050@l +/* 803A846C 003A53CC 3C 60 80 55 */ lis r3, synthInfo@ha +/* 803A8470 003A53D0 39 83 00 50 */ addi r12, r3, synthInfo@l /* 803A8474 003A53D4 3C 80 80 56 */ lis r4, lbl_8055D350@ha /* 803A8478 003A53D8 93 E1 00 0C */ stw r31, 0xc(r1) /* 803A847C 003A53DC 3B E0 00 00 */ li r31, 0 @@ -1671,10 +1671,10 @@ synthKillVoicesByMacroReferences: /* 803A8D18 003A5C78 7C 08 02 A6 */ mflr r0 /* 803A8D1C 003A5C7C 90 01 00 24 */ stw r0, 0x24(r1) /* 803A8D20 003A5C80 39 61 00 20 */ addi r11, r1, 0x20 -/* 803A8D24 003A5C84 4B FE 0D 55 */ bl func_80389A78 -/* 803A8D28 003A5C88 3C 80 80 55 */ lis r4, lbl_80550050@ha +/* 803A8D24 003A5C84 4B FE 0D 55 */ bl _savegpr_26 +/* 803A8D28 003A5C88 3C 80 80 55 */ lis r4, synthInfo@ha /* 803A8D2C 003A5C8C 7C 7E 1B 78 */ mr r30, r3 -/* 803A8D30 003A5C90 3B E4 00 50 */ addi r31, r4, lbl_80550050@l +/* 803A8D30 003A5C90 3B E4 00 50 */ addi r31, r4, synthInfo@l /* 803A8D34 003A5C94 3B 60 00 00 */ li r27, 0 /* 803A8D38 003A5C98 3B A0 00 00 */ li r29, 0 /* 803A8D3C 003A5C9C 48 00 00 34 */ b lbl_803A8D70 diff --git a/asm/os/__ppc_eabi_init_text.s b/asm/os/__ppc_eabi_init_text.s index e19b5c0c..dbaa08dd 100644 --- a/asm/os/__ppc_eabi_init_text.s +++ b/asm/os/__ppc_eabi_init_text.s @@ -2,6 +2,7 @@ .section .text, "ax" +.if 1 .global __init_user __init_user: /* 80385824 00382784 7C 08 02 A6 */ mflr r0 @@ -12,6 +13,7 @@ __init_user: /* 80385838 00382798 38 21 00 08 */ addi r1, r1, 8 /* 8038583C 0038279C 7C 08 03 A6 */ mtlr r0 /* 80385840 003827A0 4E 80 00 20 */ blr +.endif .global __init_cpp __init_cpp: diff --git a/asm/sbss.s b/asm/sbss.s index 9f6fb9dd..36118f16 100644 --- a/asm/sbss.s +++ b/asm/sbss.s @@ -2253,8 +2253,8 @@ lbl_805A9888: .global lbl_805A988C lbl_805A988C: .skip 0x4 -.global lbl_805A9890 -lbl_805A9890: +.global AreWeInitialized +AreWeInitialized: .skip 0x4 .global lbl_805A9894 lbl_805A9894: diff --git a/asm/sdata.s b/asm/sdata.s index 04b79b5a..eb500882 100644 --- a/asm/sdata.s +++ b/asm/sdata.s @@ -5765,31 +5765,5 @@ lbl_805A8BC0: .global lbl_805A8BC8 lbl_805A8BC8: .incbin "baserom.dol", 0x3F6568, 0x8 -.global lbl_805A8BD0 -lbl_805A8BD0: - .incbin "baserom.dol", 0x3F6570, 0x8 -.global lbl_805A8BD8 -lbl_805A8BD8: - .incbin "baserom.dol", 0x3F6578, 0x8 -.global lbl_805A8BE0 -lbl_805A8BE0: - .incbin "baserom.dol", 0x3F6580, 0x8 -.global lbl_805A8BE8 -lbl_805A8BE8: - .incbin "baserom.dol", 0x3F6588, 0x8 -.global lbl_805A8BF0 -lbl_805A8BF0: - .incbin "baserom.dol", 0x3F6590, 0x8 -.global lbl_805A8BF8 -lbl_805A8BF8: - .incbin "baserom.dol", 0x3F6598, 0x8 -.global lbl_805A8C00 -lbl_805A8C00: - .incbin "baserom.dol", 0x3F65A0, 0x8 -.global lbl_805A8C08 -lbl_805A8C08: - .incbin "baserom.dol", 0x3F65A8, 0x8 -.global lbl_805A8C10 -lbl_805A8C10: - .incbin "baserom.dol", 0x3F65B0, 0x8 + diff --git a/asm/sdata2.s b/asm/sdata2.s index aea3e388..fc843968 100644 --- a/asm/sdata2.s +++ b/asm/sdata2.s @@ -14030,24 +14030,7 @@ lbl_805AF42C: .global lbl_805AF430 lbl_805AF430: .incbin "baserom.dol", 0x3FBCD0, 0x8 -.global lbl_805AF438 -lbl_805AF438: - .incbin "baserom.dol", 0x3FBCD8, 0x8 -.global lbl_805AF440 -lbl_805AF440: - .incbin "baserom.dol", 0x3FBCE0, 0x8 -.global lbl_805AF448 -lbl_805AF448: - .incbin "baserom.dol", 0x3FBCE8, 0x4 -.global lbl_805AF44C -lbl_805AF44C: - .incbin "baserom.dol", 0x3FBCEC, 0x4 -.global lbl_805AF450 -lbl_805AF450: - .incbin "baserom.dol", 0x3FBCF0, 0x4 -.global lbl_805AF454 -lbl_805AF454: - .incbin "baserom.dol", 0x3FBCF4, 0x4 -.global lbl_805AF458 -lbl_805AF458: - .incbin "baserom.dol", 0x3FBCF8, 0x4 +.global i2fMagic +i2fMagic: + .double 4.503601774854144E15 + diff --git a/asm/text.s.REMOVED.git-id b/asm/text.s.REMOVED.git-id index 62bf7134..872417ef 100644 --- a/asm/text.s.REMOVED.git-id +++ b/asm/text.s.REMOVED.git-id @@ -1 +1 @@ -fd3086efccdd937ebc04635a1e18228ed5d65ceb \ No newline at end of file +c9b5ce26587ee0622946aeba52654b8237be17d5 \ No newline at end of file diff --git a/obj_files.mk b/obj_files.mk index bfe1e440..dbfcb18c 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1,6 +1,6 @@ INIT_O_FILES :=\ $(BUILD_DIR)/src/os/__start.o\ - $(BUILD_DIR)/asm/os/__ppc_eabi_init.o\ + $(BUILD_DIR)/src/os/__ppc_eabi_init.o\ $(BUILD_DIR)/asm/Runtime/PPCEABI/H/__mem.o KYOTO_CWD :=\ @@ -178,6 +178,7 @@ MUSYX_FILES :=\ $(BUILD_DIR)/asm/musyx/snd_service.o\ $(BUILD_DIR)/asm/musyx/hardware.o\ $(BUILD_DIR)/asm/musyx/hw_aramdma.o\ + $(BUILD_DIR)/asm/musyx/iram_image.o\ $(BUILD_DIR)/asm/musyx/hw_dolphin.o\ $(BUILD_DIR)/asm/musyx/hw_memory.o\ $(BUILD_DIR)/asm/musyx/creverb_fx.o\ diff --git a/src/os/__start.c b/src/os/__start.c index 094043bb..7bd8d345 100644 --- a/src/os/__start.c +++ b/src/os/__start.c @@ -1,7 +1,5 @@ #include "Dolphin/__start.h" -#pragma section code_type ".init" - void __check_pad3(void) { if ((Pad3Button & 0x0eef) == 0x0eef) {