Link JASDriverIF.cpp

This commit is contained in:
HeartPiece 2023-12-31 01:46:22 +11:00
parent 620f02d18d
commit fc857e8e65
8 changed files with 136 additions and 980 deletions

View File

@ -1,445 +0,0 @@
.include "macros.inc"
.section .ctors, "wa" # 0x80472F00 - 0x804732C0
lbl_constructor:
.4byte __sinit_JASDriverIF_cpp
.section .rodata # 0x804732E0 - 0x8049E220
.balign 8
.obj C5BASE_PITCHTABLE__9JASDriver, local
.float 0.03125
.float 0.033108
.float 0.035077
.float 0.037162
.float 0.039372
.float 0.041713
.float 0.044194
.float 0.046822
.float 0.049606
.float 0.052556
.float 0.055681
.float 0.058992
.float 0.0625
.float 0.066216
.float 0.070154
.float 0.074325
.float 0.078745
.float 0.083427
.float 0.088388
.float 0.093644
.float 0.099213
.float 0.105112
.float 0.111362
.float 0.117984
.float 0.125
.float 0.132433
.float 0.140308
.float 0.148651
.float 0.15749
.float 0.166855
.float 0.176777
.float 0.187288
.float 0.198425
.float 0.210224
.float 0.222725
.float 0.235969
.float 0.25
.float 0.264866
.float 0.280616
.float 0.297302
.float 0.31498
.float 0.33371
.float 0.353553
.float 0.374577
.float 0.39685
.float 0.420448
.float 0.445449
.float 0.471937
.float 0.5
.float 0.529732
.float 0.561231
.float 0.594604
.float 0.629961
.float 0.66742
.float 0.707107
.float 0.749154
.float 0.793701
.float 0.840897
.float 0.890899
.float 0.943875
.float 1.0
.float 1.059463
.float 1.122462
.float 1.189207
.float 1.259921
.float 1.33484
.float 1.414214
.float 1.498307
.float 1.587401
.float 1.681793
.float 1.781798
.float 1.887749
.float 2.0
.float 2.118926
.float 2.244924
.float 2.378414
.float 2.519842
.float 2.66968
.float 2.828428
.float 2.996615
.float 3.174803
.float 3.363586
.float 3.563596
.float 3.775498
.float 4.0
.float 4.237853
.float 4.489849
.float 4.756829
.float 5.039685
.float 5.33936
.float 5.656855
.float 5.993229
.float 6.349606
.float 6.727173
.float 7.127192
.float 7.550996
.float 8.0
.float 8.475705
.float 8.979697
.float 9.513658
.float 10.07937
.float 10.67872
.float 11.31371
.float 11.986459
.float 12.699211
.float 13.454346
.float 14.254383
.float 15.101993
.float 16.0
.float 16.95141
.float 17.959394
.float 19.027315
.float 20.15874
.float 21.35744
.float 22.62742
.float 23.972918
.float 25.398422
.float 26.908691
.float 28.508766
.float 30.203985
.float 32.0
.float 33.90282
.float 35.91879
.float 38.05463
.float 40.31748
.float 42.71488
.float 45.25484
.float 47.945835
.endobj C5BASE_PITCHTABLE__9JASDriver
.section .bss # 0x804EFC20 - 0x8051467C
.lcomm sDspSyncCallback__9JASDriver, 0x80, 4
.lcomm sSubFrameCallback__9JASDriver, 0x80, 4
.lcomm sUpdateDacCallback__9JASDriver, 0x80, 4
.section .sdata, "wa" # 0x80514680 - 0x80514D80
.balign 8
.obj MAX_MIXERLEVEL__9JASDriver, local
.2byte 0x2ee0
.endobj MAX_MIXERLEVEL__9JASDriver
.obj MAX_AUTOMIXERLEVEL__9JASDriver, local
.2byte 0x2ee0
.endobj MAX_AUTOMIXERLEVEL__9JASDriver
.balign 4
.obj JAS_SYSTEM_OUTPUT_MODE__9JASDriver, local
.4byte 1
.endobj JAS_SYSTEM_OUTPUT_MODE__9JASDriver
.section .sdata2, "a" # 0x80516360 - 0x80520E40
.balign 8
.obj lbl_80516E50, local
.float 16383.5
.endobj lbl_80516E50
.balign 8
.obj lbl_80516E58, local
.8byte 0x4330000000000000
.endobj lbl_80516E58
.section .text, "ax" # 0x800056C0 - 0x80472F00
.fn key2pitch_c5__9JASDriverFi, global
/* 800A47D8 000A1718 2C 03 00 00 */ cmpwi r3, 0
/* 800A47DC 000A171C 40 80 00 0C */ bge .L_800A47E8
/* 800A47E0 000A1720 38 60 00 00 */ li r3, 0
/* 800A47E4 000A1724 48 00 00 10 */ b .L_800A47F4
.L_800A47E8:
/* 800A47E8 000A1728 2C 03 00 7F */ cmpwi r3, 0x7f
/* 800A47EC 000A172C 40 81 00 08 */ ble .L_800A47F4
/* 800A47F0 000A1730 38 60 00 7F */ li r3, 0x7f
.L_800A47F4:
/* 800A47F4 000A1734 3C 80 80 48 */ lis r4, C5BASE_PITCHTABLE__9JASDriver@ha
/* 800A47F8 000A1738 54 60 10 3A */ slwi r0, r3, 2
/* 800A47FC 000A173C 38 64 8E 70 */ addi r3, r4, C5BASE_PITCHTABLE__9JASDriver@l
/* 800A4800 000A1740 7C 23 04 2E */ lfsx f1, r3, r0
/* 800A4804 000A1744 4E 80 00 20 */ blr
.endfn key2pitch_c5__9JASDriverFi
.fn setLevel__9JASDriverFfff, global
/* 800A4808 000A1748 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A480C 000A174C 7C 08 02 A6 */ mflr r0
/* 800A4810 000A1750 C0 02 8A F0 */ lfs f0, lbl_80516E50@sda21(r2)
/* 800A4814 000A1754 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A4818 000A1758 EC 80 00 72 */ fmuls f4, f0, f1
/* 800A481C 000A175C EC 00 00 B2 */ fmuls f0, f0, f2
/* 800A4820 000A1760 FC 20 18 90 */ fmr f1, f3
/* 800A4824 000A1764 FC 40 20 1E */ fctiwz f2, f4
/* 800A4828 000A1768 FC 00 00 1E */ fctiwz f0, f0
/* 800A482C 000A176C D8 41 00 08 */ stfd f2, 8(r1)
/* 800A4830 000A1770 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 800A4834 000A1774 80 61 00 0C */ lwz r3, 0xc(r1)
/* 800A4838 000A1778 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A483C 000A177C B0 6D 81 10 */ sth r3, MAX_MIXERLEVEL__9JASDriver@sda21(r13)
/* 800A4840 000A1780 B0 0D 81 12 */ sth r0, MAX_AUTOMIXERLEVEL__9JASDriver@sda21(r13)
/* 800A4844 000A1784 48 00 0B 79 */ bl setDSPMixerLevel__6JASDspFf
/* 800A4848 000A1788 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A484C 000A178C 7C 08 03 A6 */ mtlr r0
/* 800A4850 000A1790 38 21 00 20 */ addi r1, r1, 0x20
/* 800A4854 000A1794 4E 80 00 20 */ blr
.endfn setLevel__9JASDriverFfff
.fn setMixerLevel__9JASDriverFff, global
/* 800A4858 000A1798 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A485C 000A179C 7C 08 02 A6 */ mflr r0
/* 800A4860 000A17A0 C0 02 8A F0 */ lfs f0, lbl_80516E50@sda21(r2)
/* 800A4864 000A17A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4868 000A17A8 EC 00 00 72 */ fmuls f0, f0, f1
/* 800A486C 000A17AC FC 20 10 90 */ fmr f1, f2
/* 800A4870 000A17B0 FC 00 00 1E */ fctiwz f0, f0
/* 800A4874 000A17B4 D8 01 00 08 */ stfd f0, 8(r1)
/* 800A4878 000A17B8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 800A487C 000A17BC B0 0D 81 10 */ sth r0, MAX_MIXERLEVEL__9JASDriver@sda21(r13)
/* 800A4880 000A17C0 48 00 0B 3D */ bl setDSPMixerLevel__6JASDspFf
/* 800A4884 000A17C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4888 000A17C8 7C 08 03 A6 */ mtlr r0
/* 800A488C 000A17CC 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4890 000A17D0 4E 80 00 20 */ blr
.endfn setMixerLevel__9JASDriverFff
.fn setAutoLevel__9JASDriverFf, global
/* 800A4894 000A17D4 C0 02 8A F0 */ lfs f0, lbl_80516E50@sda21(r2)
/* 800A4898 000A17D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A489C 000A17DC EC 00 00 72 */ fmuls f0, f0, f1
/* 800A48A0 000A17E0 FC 00 00 1E */ fctiwz f0, f0
/* 800A48A4 000A17E4 D8 01 00 08 */ stfd f0, 8(r1)
/* 800A48A8 000A17E8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 800A48AC 000A17EC B0 0D 81 12 */ sth r0, MAX_AUTOMIXERLEVEL__9JASDriver@sda21(r13)
/* 800A48B0 000A17F0 38 21 00 10 */ addi r1, r1, 0x10
/* 800A48B4 000A17F4 4E 80 00 20 */ blr
.endfn setAutoLevel__9JASDriverFf
.fn setDSPLevel__9JASDriverFf, global
/* 800A48B8 000A17F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A48BC 000A17FC 7C 08 02 A6 */ mflr r0
/* 800A48C0 000A1800 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A48C4 000A1804 48 00 0A F9 */ bl setDSPMixerLevel__6JASDspFf
/* 800A48C8 000A1808 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A48CC 000A180C 7C 08 03 A6 */ mtlr r0
/* 800A48D0 000A1810 38 21 00 10 */ addi r1, r1, 0x10
/* 800A48D4 000A1814 4E 80 00 20 */ blr
.endfn setDSPLevel__9JASDriverFf
.fn getChannelLevel__9JASDriverFv, global
/* 800A48D8 000A1818 A0 6D 81 10 */ lhz r3, MAX_MIXERLEVEL__9JASDriver@sda21(r13)
/* 800A48DC 000A181C 4E 80 00 20 */ blr
.endfn getChannelLevel__9JASDriverFv
.fn getAutoLevel__9JASDriverFv, global
/* 800A48E0 000A1820 A0 6D 81 12 */ lhz r3, MAX_AUTOMIXERLEVEL__9JASDriver@sda21(r13)
/* 800A48E4 000A1824 4E 80 00 20 */ blr
.endfn getAutoLevel__9JASDriverFv
.fn getAutoLevel_f32__9JASDriverFv, global
/* 800A48E8 000A1828 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A48EC 000A182C 3C 00 43 30 */ lis r0, 0x4330
/* 800A48F0 000A1830 C8 42 8A F8 */ lfd f2, lbl_80516E58@sda21(r2)
/* 800A48F4 000A1834 A0 6D 81 12 */ lhz r3, MAX_AUTOMIXERLEVEL__9JASDriver@sda21(r13)
/* 800A48F8 000A1838 90 01 00 08 */ stw r0, 8(r1)
/* 800A48FC 000A183C C0 02 8A F0 */ lfs f0, lbl_80516E50@sda21(r2)
/* 800A4900 000A1840 90 61 00 0C */ stw r3, 0xc(r1)
/* 800A4904 000A1844 C8 21 00 08 */ lfd f1, 8(r1)
/* 800A4908 000A1848 EC 21 10 28 */ fsubs f1, f1, f2
/* 800A490C 000A184C EC 21 00 24 */ fdivs f1, f1, f0
/* 800A4910 000A1850 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4914 000A1854 4E 80 00 20 */ blr
.endfn getAutoLevel_f32__9JASDriverFv
.fn getDSPLevel_f32__9JASDriverFv, global
/* 800A4918 000A1858 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A491C 000A185C 7C 08 02 A6 */ mflr r0
/* 800A4920 000A1860 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4924 000A1864 48 00 0A BD */ bl getDSPMixerLevel__6JASDspFv
/* 800A4928 000A1868 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A492C 000A186C 7C 08 03 A6 */ mtlr r0
/* 800A4930 000A1870 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4934 000A1874 4E 80 00 20 */ blr
.endfn getDSPLevel_f32__9JASDriverFv
.fn setOutputMode__9JASDriverFUl, global
/* 800A4938 000A1878 90 6D 81 14 */ stw r3, JAS_SYSTEM_OUTPUT_MODE__9JASDriver@sda21(r13)
/* 800A493C 000A187C 4E 80 00 20 */ blr
.endfn setOutputMode__9JASDriverFUl
.fn getOutputMode__9JASDriverFv, global
/* 800A4940 000A1880 80 6D 81 14 */ lwz r3, JAS_SYSTEM_OUTPUT_MODE__9JASDriver@sda21(r13)
/* 800A4944 000A1884 4E 80 00 20 */ blr
.endfn getOutputMode__9JASDriverFv
.fn rejectCallback__9JASDriverFPFPv_lPv, global
/* 800A4948 000A1888 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A494C 000A188C 7C 08 02 A6 */ mflr r0
/* 800A4950 000A1890 3C A0 80 4F */ lis r5, sDspSyncCallback__9JASDriver@ha
/* 800A4954 000A1894 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A4958 000A1898 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800A495C 000A189C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800A4960 000A18A0 3B C5 05 68 */ addi r30, r5, sDspSyncCallback__9JASDriver@l
/* 800A4964 000A18A4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800A4968 000A18A8 7C 9D 23 78 */ mr r29, r4
/* 800A496C 000A18AC 7F A5 EB 78 */ mr r5, r29
/* 800A4970 000A18B0 93 81 00 10 */ stw r28, 0x10(r1)
/* 800A4974 000A18B4 7C 7C 1B 78 */ mr r28, r3
/* 800A4978 000A18B8 7F 84 E3 78 */ mr r4, r28
/* 800A497C 000A18BC 38 7E 00 00 */ addi r3, r30, 0
/* 800A4980 000A18C0 48 00 1C 1D */ bl reject__14JASCallbackMgrFPFPv_lPv
/* 800A4984 000A18C4 7C 7F 1B 78 */ mr r31, r3
/* 800A4988 000A18C8 7F 84 E3 78 */ mr r4, r28
/* 800A498C 000A18CC 7F A5 EB 78 */ mr r5, r29
/* 800A4990 000A18D0 38 7E 00 80 */ addi r3, r30, 0x80
/* 800A4994 000A18D4 48 00 1C 09 */ bl reject__14JASCallbackMgrFPFPv_lPv
/* 800A4998 000A18D8 7F E0 1B 78 */ or r0, r31, r3
/* 800A499C 000A18DC 7F 84 E3 78 */ mr r4, r28
/* 800A49A0 000A18E0 7F A5 EB 78 */ mr r5, r29
/* 800A49A4 000A18E4 38 7E 01 00 */ addi r3, r30, 0x100
/* 800A49A8 000A18E8 54 1E 06 3E */ clrlwi r30, r0, 0x18
/* 800A49AC 000A18EC 48 00 1B F1 */ bl reject__14JASCallbackMgrFPFPv_lPv
/* 800A49B0 000A18F0 7F C0 1B 78 */ or r0, r30, r3
/* 800A49B4 000A18F4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800A49B8 000A18F8 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 800A49BC 000A18FC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A49C0 000A1900 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800A49C4 000A1904 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800A49C8 000A1908 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800A49CC 000A190C 7C 08 03 A6 */ mtlr r0
/* 800A49D0 000A1910 38 21 00 20 */ addi r1, r1, 0x20
/* 800A49D4 000A1914 4E 80 00 20 */ blr
.endfn rejectCallback__9JASDriverFPFPv_lPv
.fn registerDspSyncCallback__9JASDriverFPFPv_lPv, global
/* 800A49D8 000A1918 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A49DC 000A191C 7C 08 02 A6 */ mflr r0
/* 800A49E0 000A1920 3C A0 80 4F */ lis r5, sDspSyncCallback__9JASDriver@ha
/* 800A49E4 000A1924 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A49E8 000A1928 7C 60 1B 78 */ mr r0, r3
/* 800A49EC 000A192C 38 65 05 68 */ addi r3, r5, sDspSyncCallback__9JASDriver@l
/* 800A49F0 000A1930 7C 85 23 78 */ mr r5, r4
/* 800A49F4 000A1934 7C 04 03 78 */ mr r4, r0
/* 800A49F8 000A1938 48 00 1B 09 */ bl regist__14JASCallbackMgrFPFPv_lPv
/* 800A49FC 000A193C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4A00 000A1940 7C 08 03 A6 */ mtlr r0
/* 800A4A04 000A1944 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4A08 000A1948 4E 80 00 20 */ blr
.endfn registerDspSyncCallback__9JASDriverFPFPv_lPv
.fn registerSubFrameCallback__9JASDriverFPFPv_lPv, global
/* 800A4A0C 000A194C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4A10 000A1950 7C 08 02 A6 */ mflr r0
/* 800A4A14 000A1954 3C A0 80 4F */ lis r5, sSubFrameCallback__9JASDriver@ha
/* 800A4A18 000A1958 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4A1C 000A195C 7C 60 1B 78 */ mr r0, r3
/* 800A4A20 000A1960 38 65 05 E8 */ addi r3, r5, sSubFrameCallback__9JASDriver@l
/* 800A4A24 000A1964 7C 85 23 78 */ mr r5, r4
/* 800A4A28 000A1968 7C 04 03 78 */ mr r4, r0
/* 800A4A2C 000A196C 48 00 1A D5 */ bl regist__14JASCallbackMgrFPFPv_lPv
/* 800A4A30 000A1970 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4A34 000A1974 7C 08 03 A6 */ mtlr r0
/* 800A4A38 000A1978 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4A3C 000A197C 4E 80 00 20 */ blr
.endfn registerSubFrameCallback__9JASDriverFPFPv_lPv
.fn subframeCallback__9JASDriverFv, global
/* 800A4A40 000A1980 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4A44 000A1984 7C 08 02 A6 */ mflr r0
/* 800A4A48 000A1988 3C 60 80 4F */ lis r3, sSubFrameCallback__9JASDriver@ha
/* 800A4A4C 000A198C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4A50 000A1990 38 63 05 E8 */ addi r3, r3, sSubFrameCallback__9JASDriver@l
/* 800A4A54 000A1994 48 00 1C 59 */ bl callback__14JASCallbackMgrFv
/* 800A4A58 000A1998 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4A5C 000A199C 7C 08 03 A6 */ mtlr r0
/* 800A4A60 000A19A0 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4A64 000A19A4 4E 80 00 20 */ blr
.endfn subframeCallback__9JASDriverFv
.fn DSPSyncCallback__9JASDriverFv, global
/* 800A4A68 000A19A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4A6C 000A19AC 7C 08 02 A6 */ mflr r0
/* 800A4A70 000A19B0 3C 60 80 4F */ lis r3, sDspSyncCallback__9JASDriver@ha
/* 800A4A74 000A19B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4A78 000A19B8 38 63 05 68 */ addi r3, r3, sDspSyncCallback__9JASDriver@l
/* 800A4A7C 000A19BC 48 00 1C 31 */ bl callback__14JASCallbackMgrFv
/* 800A4A80 000A19C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4A84 000A19C4 7C 08 03 A6 */ mtlr r0
/* 800A4A88 000A19C8 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4A8C 000A19CC 4E 80 00 20 */ blr
.endfn DSPSyncCallback__9JASDriverFv
.fn updateDacCallback__9JASDriverFv, global
/* 800A4A90 000A19D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4A94 000A19D4 7C 08 02 A6 */ mflr r0
/* 800A4A98 000A19D8 3C 60 80 4F */ lis r3, sUpdateDacCallback__9JASDriver@ha
/* 800A4A9C 000A19DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4AA0 000A19E0 38 63 06 68 */ addi r3, r3, sUpdateDacCallback__9JASDriver@l
/* 800A4AA4 000A19E4 48 00 1C 09 */ bl callback__14JASCallbackMgrFv
/* 800A4AA8 000A19E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4AAC 000A19EC 7C 08 03 A6 */ mtlr r0
/* 800A4AB0 000A19F0 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4AB4 000A19F4 4E 80 00 20 */ blr
.endfn updateDacCallback__9JASDriverFv
.fn __sinit_JASDriverIF_cpp, local
/* 800A4AB8 000A19F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4ABC 000A19FC 7C 08 02 A6 */ mflr r0
/* 800A4AC0 000A1A00 3C 80 80 4F */ lis r4, sDspSyncCallback__9JASDriver@ha
/* 800A4AC4 000A1A04 3C 60 80 0A */ lis r3, __ct__Q214JASCallbackMgr9TCallbackFv@ha
/* 800A4AC8 000A1A08 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4ACC 000A1A0C 38 A0 00 00 */ li r5, 0
/* 800A4AD0 000A1A10 38 C0 00 08 */ li r6, 8
/* 800A4AD4 000A1A14 38 E0 00 10 */ li r7, 0x10
/* 800A4AD8 000A1A18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A4ADC 000A1A1C 3B E4 05 68 */ addi r31, r4, sDspSyncCallback__9JASDriver@l
/* 800A4AE0 000A1A20 38 83 4B 38 */ addi r4, r3, __ct__Q214JASCallbackMgr9TCallbackFv@l
/* 800A4AE4 000A1A24 38 7F 00 00 */ addi r3, r31, 0
/* 800A4AE8 000A1A28 48 01 CD 55 */ bl __construct_array
/* 800A4AEC 000A1A2C 3C 80 80 0A */ lis r4, __ct__Q214JASCallbackMgr9TCallbackFv@ha
/* 800A4AF0 000A1A30 38 7F 00 80 */ addi r3, r31, 0x80
/* 800A4AF4 000A1A34 38 84 4B 38 */ addi r4, r4, __ct__Q214JASCallbackMgr9TCallbackFv@l
/* 800A4AF8 000A1A38 38 A0 00 00 */ li r5, 0
/* 800A4AFC 000A1A3C 38 C0 00 08 */ li r6, 8
/* 800A4B00 000A1A40 38 E0 00 10 */ li r7, 0x10
/* 800A4B04 000A1A44 48 01 CD 39 */ bl __construct_array
/* 800A4B08 000A1A48 3C 80 80 0A */ lis r4, __ct__Q214JASCallbackMgr9TCallbackFv@ha
/* 800A4B0C 000A1A4C 38 7F 01 00 */ addi r3, r31, 0x100
/* 800A4B10 000A1A50 38 84 4B 38 */ addi r4, r4, __ct__Q214JASCallbackMgr9TCallbackFv@l
/* 800A4B14 000A1A54 38 A0 00 00 */ li r5, 0
/* 800A4B18 000A1A58 38 C0 00 08 */ li r6, 8
/* 800A4B1C 000A1A5C 38 E0 00 10 */ li r7, 0x10
/* 800A4B20 000A1A60 48 01 CD 1D */ bl __construct_array
/* 800A4B24 000A1A64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4B28 000A1A68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A4B2C 000A1A6C 7C 08 03 A6 */ mtlr r0
/* 800A4B30 000A1A70 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4B34 000A1A74 4E 80 00 20 */ blr
.endfn __sinit_JASDriverIF_cpp
.fn __ct__Q214JASCallbackMgr9TCallbackFv, weak
/* 800A4B38 000A1A78 38 00 00 00 */ li r0, 0
/* 800A4B3C 000A1A7C 90 03 00 00 */ stw r0, 0(r3)
/* 800A4B40 000A1A80 90 03 00 04 */ stw r0, 4(r3)
/* 800A4B44 000A1A84 4E 80 00 20 */ blr
.endfn __ct__Q214JASCallbackMgr9TCallbackFv

View File

@ -329,7 +329,7 @@ LIBS = [
["JSystem/JAudio/JAS/JASTrackInterrupt", True],
["JSystem/JAudio/JAS/JASOscillator", False],
["JSystem/JAudio/JAS/JASChannel", False],
["JSystem/JAudio/JAS/JASDriverIF", False],
["JSystem/JAudio/JAS/JASDriverIF", True],
["JSystem/JAudio/JAS/JASDSPChannel", False],
["JSystem/JAudio/JAS/JASDSPInterface", False],
["JSystem/JAudio/JAS/JASAudioThread", True],

View File

@ -35,45 +35,45 @@
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/control.cpp">JMessage/control.cpp</a> | 6416 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DJointTree.cpp">J3D/J3DJointTree.cpp</a> | 6840 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASBasicWaveBank.cpp">JAudio//JAS/JASBasicWaveBank.cpp</a> | 7537 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-math.cpp">JStudio/jstudio-math.cpp</a> | 8148 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTevs.cpp">J2D/J2DTevs.cpp</a> | 8222 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIBankWave.cpp">JAudio//JAI/JAIBankWave.cpp</a> | 8683 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASDriverIF.cpp">JAudio//JAS/JASDriverIF.cpp</a> | 9426 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DDrawBuffer.cpp">J3D/J3DDrawBuffer.cpp</a> | 9825 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAResourceLoader.cpp">JParticle/JPAResourceLoader.cpp</a> | 9869 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-control.cpp">JStudio/jstudio-control.cpp</a> | 10213 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAMath.cpp">JParticle/JPAMath.cpp</a> | 10306 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAEmitterManager.cpp">JParticle/JPAEmitterManager.cpp</a> | 10538 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIObject.cpp">JAudio//JAI/JAIObject.cpp</a> | 11254 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-light.cpp">JStudio_JStage/object-light.cpp</a> | 11408 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASDSPChannel.cpp">JAudio//JAS/JASDSPChannel.cpp</a> | 12096 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIInitData.cpp">JAudio//JAI/JAIInitData.cpp</a> | 12734 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASTaskThread.cpp">JAudio//JAS/JASTaskThread.cpp</a> | 13136 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASWSParser.cpp">JAudio//JAS/JASWSParser.cpp</a> | 13462 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASPlayer_impl.cpp">JAudio//JAS/JASPlayer_impl.cpp</a> | 14134 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISequenceHeap.cpp">JAudio//JAI/JAISequenceHeap.cpp</a> | 14530 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DDrawBuffer.cpp">J3D/J3DDrawBuffer.cpp</a> | 9825 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAResourceLoader.cpp">JParticle/JPAResourceLoader.cpp</a> | 9869 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-control.cpp">JStudio/jstudio-control.cpp</a> | 10213 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAMath.cpp">JParticle/JPAMath.cpp</a> | 10306 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAEmitterManager.cpp">JParticle/JPAEmitterManager.cpp</a> | 10538 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIObject.cpp">JAudio//JAI/JAIObject.cpp</a> | 11254 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-light.cpp">JStudio_JStage/object-light.cpp</a> | 11408 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASDSPChannel.cpp">JAudio//JAS/JASDSPChannel.cpp</a> | 12096 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIInitData.cpp">JAudio//JAI/JAIInitData.cpp</a> | 12734 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASTaskThread.cpp">JAudio//JAS/JASTaskThread.cpp</a> | 13136 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASWSParser.cpp">JAudio//JAS/JASWSParser.cpp</a> | 13462 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASPlayer_impl.cpp">JAudio//JAS/JASPlayer_impl.cpp</a> | 14134 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASAiCtrl.cpp">JAudio//JAS/JASAiCtrl.cpp</a> | 14267 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISequenceHeap.cpp">JAudio//JAI/JAISequenceHeap.cpp</a> | 14530 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASOscillator.cpp">JAudio//JAS/JASOscillator.cpp</a> | 14813 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JGadget/std-vector.cpp">JGadget/std-vector.cpp</a> | 15951 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/stb.cpp">JStudio/stb.cpp</a> | 16172 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JParticle/object-particle.cpp">JStudio_JParticle/object-particle.cpp</a> | 16538 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-camera.cpp">JStudio_JStage/object-camera.cpp</a> | 17755 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DCluster.cpp">J3D/J3DCluster.cpp</a> | 18124 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASAiCtrl.cpp">JAudio//JAS/JASAiCtrl.cpp</a> | 18517 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISystemInterface.cpp">JAudio//JAI/JAISystemInterface.cpp</a> | 18900 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShape.cpp">J3D/J3DShape.cpp</a> | 19462 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DTransform.cpp">J3D/J3DTransform.cpp</a> | 19873 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JAudio/object-sound.cpp">JStudio_JAudio/object-sound.cpp</a> | 20083 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/resource.cpp">JMessage/resource.cpp</a> | 20331 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelLoaderCalcSize.cpp">J3D/J3DModelLoaderCalcSize.cpp</a> | 21239 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASHeapCtrl.cpp">JAudio//JAS/JASHeapCtrl.cpp</a> | 21414 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASBNKParser.cpp">JAudio//JAS/JASBNKParser.cpp</a> | 21657 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DWindow.cpp">J2D/J2DWindow.cpp</a> | 22735 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3DU/J3DUMotion.cpp">J3DU/J3DUMotion.cpp</a> | 23337 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DJoint.cpp">J3D/J3DJoint.cpp</a> | 23493 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DMaterial.cpp">J2D/J2DMaterial.cpp</a> | 23586 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKernel/JKRHeap.cpp">JKernel/JKRHeap.cpp</a> | 23801 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMtxBuffer.cpp">J3D/J3DMtxBuffer.cpp</a> | 23904 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPADynamicsBlock.cpp">JParticle/JPADynamicsBlock.cpp</a> | 24229 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTextBoxEx.cpp">J2D/J2DTextBoxEx.cpp</a> | 24399 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DPacket.cpp">J3D/J3DPacket.cpp</a> | 24689 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIAnimation.cpp">JAudio//JAI/JAIAnimation.cpp</a> | 24968 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPane.cpp">J2D/J2DPane.cpp</a> | 26908 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModel.cpp">J3D/J3DModel.cpp</a> | 28915 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterial.cpp">J3D/J3DMaterial.cpp</a> | 29170 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialAttach.cpp">J3D/J3DMaterialAttach.cpp</a> | 29947 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIBasic.cpp">JAudio//JAI/JAIBasic.cpp</a> | 31236 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASDSPInterface.cpp">JAudio//JAS/JASDSPInterface.cpp</a> | 33820 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-actor.cpp">JStudio_JStage/object-actor.cpp</a> | 35160 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DScreen.cpp">J2D/J2DScreen.cpp</a> | 37227 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/fvb.cpp">JStudio/fvb.cpp</a> | 37460 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPrint.cpp">J2D/J2DPrint.cpp</a> | 38968 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAParticle.cpp">JParticle/JPAParticle.cpp</a> | 39432 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASChannel.cpp">JAudio//JAS/JASChannel.cpp</a> | 39709 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DMaterialFactory.cpp">J2D/J2DMaterialFactory.cpp</a> | 39928 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASAramStream.cpp">JAudio//JAS/JASAramStream.cpp</a> | 40025 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialFactory_v21.cpp">J3D/J3DMaterialFactory_v21.cpp</a> | 41204 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShapeMtx.cpp">J3D/J3DShapeMtx.cpp</a> | 42377 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DTevs.cpp">J3D/J3DTevs.cpp</a> | 44120 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelLoader.cpp">J3D/J3DModelLoader.cpp</a> | 47976 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/processor.cpp">JMessage/processor.cpp</a> | 49155 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUtility/JUTGamePad.cpp">JUtility/JUTGamePad.cpp</a> | 52288 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIStreamMgr.cpp">JAudio//JAI/JAIStreamMgr.cpp</a> | 62627 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DAnimation.cpp">J3D/J3DAnimation.cpp</a> | 65959 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISeMgr.cpp">JAudio//JAI/JAISeMgr.cpp</a> | 68579 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASSeqParser.cpp">JAudio//JAS/JASSeqParser.cpp</a> | 68829 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAFieldBlock.cpp">JParticle/JPAFieldBlock.cpp</a> | 69307 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DWindowEx.cpp">J2D/J2DWindowEx.cpp</a> | 72267 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISound.cpp">JAudio//JAI/JAISound.cpp</a> | 79855 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DGD.cpp">J3D/J3DGD.cpp</a> | 81004 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAResource.cpp">JParticle/JPAResource.cpp</a> | 81389 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialFactory.cpp">J3D/J3DMaterialFactory.cpp</a> | 83566 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISequenceMgr.cpp">JAudio//JAI/JAISequenceMgr.cpp</a> | 88860 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPicture.cpp">J2D/J2DPicture.cpp</a> | 92735 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASTrack.cpp">JAudio//JAS/JASTrack.cpp</a> | 96254 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPABaseShape.cpp">JParticle/JPABaseShape.cpp</a> | 105587 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/functionvalue.cpp">JStudio/functionvalue.cpp</a> | 109415 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPictureEx.cpp">J2D/J2DPictureEx.cpp</a> | 111006 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DMatBlock.cpp">J2D/J2DMatBlock.cpp</a> | 116686 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-object.cpp">JStudio/jstudio-object.cpp</a> | 144108 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMatBlock.cpp">J3D/J3DMatBlock.cpp</a> | 311971 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISystemInterface.cpp">JAudio//JAI/JAISystemInterface.cpp</a> | 18900 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShape.cpp">J3D/J3DShape.cpp</a> | 19462 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DTransform.cpp">J3D/J3DTransform.cpp</a> | 19873 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JAudio/object-sound.cpp">JStudio_JAudio/object-sound.cpp</a> | 20083 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/resource.cpp">JMessage/resource.cpp</a> | 20331 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelLoaderCalcSize.cpp">J3D/J3DModelLoaderCalcSize.cpp</a> | 21239 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASHeapCtrl.cpp">JAudio//JAS/JASHeapCtrl.cpp</a> | 21414 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASBNKParser.cpp">JAudio//JAS/JASBNKParser.cpp</a> | 21657 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DWindow.cpp">J2D/J2DWindow.cpp</a> | 22735 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3DU/J3DUMotion.cpp">J3DU/J3DUMotion.cpp</a> | 23337 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DJoint.cpp">J3D/J3DJoint.cpp</a> | 23493 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DMaterial.cpp">J2D/J2DMaterial.cpp</a> | 23586 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JKernel/JKRHeap.cpp">JKernel/JKRHeap.cpp</a> | 23801 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMtxBuffer.cpp">J3D/J3DMtxBuffer.cpp</a> | 23904 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPADynamicsBlock.cpp">JParticle/JPADynamicsBlock.cpp</a> | 24229 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTextBoxEx.cpp">J2D/J2DTextBoxEx.cpp</a> | 24399 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DPacket.cpp">J3D/J3DPacket.cpp</a> | 24689 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIAnimation.cpp">JAudio//JAI/JAIAnimation.cpp</a> | 24968 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPane.cpp">J2D/J2DPane.cpp</a> | 26908 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModel.cpp">J3D/J3DModel.cpp</a> | 28915 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterial.cpp">J3D/J3DMaterial.cpp</a> | 29170 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialAttach.cpp">J3D/J3DMaterialAttach.cpp</a> | 29947 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIBasic.cpp">JAudio//JAI/JAIBasic.cpp</a> | 31236 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASDSPInterface.cpp">JAudio//JAS/JASDSPInterface.cpp</a> | 33820 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-actor.cpp">JStudio_JStage/object-actor.cpp</a> | 35160 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DScreen.cpp">J2D/J2DScreen.cpp</a> | 37227 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/fvb.cpp">JStudio/fvb.cpp</a> | 37460 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPrint.cpp">J2D/J2DPrint.cpp</a> | 38968 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAParticle.cpp">JParticle/JPAParticle.cpp</a> | 39432 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASChannel.cpp">JAudio//JAS/JASChannel.cpp</a> | 39709 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DMaterialFactory.cpp">J2D/J2DMaterialFactory.cpp</a> | 39928 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASAramStream.cpp">JAudio//JAS/JASAramStream.cpp</a> | 40025 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialFactory_v21.cpp">J3D/J3DMaterialFactory_v21.cpp</a> | 41204 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShapeMtx.cpp">J3D/J3DShapeMtx.cpp</a> | 42377 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DTevs.cpp">J3D/J3DTevs.cpp</a> | 44120 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelLoader.cpp">J3D/J3DModelLoader.cpp</a> | 47976 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/processor.cpp">JMessage/processor.cpp</a> | 49155 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JUtility/JUTGamePad.cpp">JUtility/JUTGamePad.cpp</a> | 52288 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIStreamMgr.cpp">JAudio//JAI/JAIStreamMgr.cpp</a> | 62627 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DAnimation.cpp">J3D/J3DAnimation.cpp</a> | 65959 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISeMgr.cpp">JAudio//JAI/JAISeMgr.cpp</a> | 68579 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASSeqParser.cpp">JAudio//JAS/JASSeqParser.cpp</a> | 68829 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAFieldBlock.cpp">JParticle/JPAFieldBlock.cpp</a> | 69307 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DWindowEx.cpp">J2D/J2DWindowEx.cpp</a> | 72267 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISound.cpp">JAudio//JAI/JAISound.cpp</a> | 79855 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DGD.cpp">J3D/J3DGD.cpp</a> | 81004 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPAResource.cpp">JParticle/JPAResource.cpp</a> | 81389 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterialFactory.cpp">J3D/J3DMaterialFactory.cpp</a> | 83566 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISequenceMgr.cpp">JAudio//JAI/JAISequenceMgr.cpp</a> | 88860 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPicture.cpp">J2D/J2DPicture.cpp</a> | 92735 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASTrack.cpp">JAudio//JAS/JASTrack.cpp</a> | 96254 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPABaseShape.cpp">JParticle/JPABaseShape.cpp</a> | 105587 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/functionvalue.cpp">JStudio/functionvalue.cpp</a> | 109415 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DPictureEx.cpp">J2D/J2DPictureEx.cpp</a> | 111006 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DMatBlock.cpp">J2D/J2DMatBlock.cpp</a> | 116686 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/jstudio-object.cpp">JStudio/jstudio-object.cpp</a> | 144108 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMatBlock.cpp">J3D/J3DMatBlock.cpp</a> | 311971 | | |
### <section id="plugProjectEbisawaU">plugProjectEbisawaU</section>
| File | Size (bytes) | File | Size (bytes) |

View File

@ -73,12 +73,6 @@ extern u16 MAX_MIXERLEVEL;
extern u16 MAX_AUTOMIXERLEVEL;
extern u32 JAS_SYSTEM_OUTPUT_MODE;
extern const f32 C5BASE_PITCHTABLE[0x80];
extern JASCallbackMgr sDspSyncCallback;
extern JASCallbackMgr sSubFrameCallback;
extern JASCallbackMgr sUpdateDacCallback;
} // namespace JASDriver
#endif

View File

@ -492,298 +492,89 @@ static int getFrameSamples() { return sSubFrames * 0x50; }
* @note Address: 0x800A8218
* @note Size: 0xC0
*/
static void mixMonoTrack(s16* p1, u32 p2, MixCallback callback)
static void mixMonoTrack(s16* dest, u32 size, MixCallback callback)
{
JASKernel::probeStart(5, "MONO-MIX");
s16* cbResult = callback(p2);
if (cbResult != nullptr) {
JASKernel::probeFinish(5);
for (u32 i = p2; i != 0; i--) {
p1[0] = JASCalc::clamp<s16, s32>(p1[0] + *cbResult);
p1[1] = JASCalc::clamp<s16, s32>(p1[1] + *cbResult);
p1 += 2;
cbResult++;
}
s16* src = callback(size);
if (!src) {
return;
}
JASKernel::probeFinish(5);
s16* destPtr = dest;
for (u32 i = size; i != 0; i--) {
destPtr[0] = JASCalc::clamp<s16, s32>(destPtr[0] + *src);
destPtr[1] = JASCalc::clamp<s16, s32>(destPtr[1] + *src);
destPtr += 2;
src++;
}
/*
stwu r1, -0x20(r1)
mflr r0
lis r6, lbl_80479624@ha
stw r0, 0x24(r1)
addi r0, r6, lbl_80479624@l
stw r31, 0x1c(r1)
stw r30, 0x18(r1)
mr r30, r3
li r3, 5
stw r29, 0x14(r1)
mr r29, r5
stw r28, 0x10(r1)
mr r28, r4
mr r4, r0
bl probeStart__9JASKernelFlPc
mr r12, r29
mr r3, r28
mtctr r12
bctrl
or. r31, r3, r3
beq lbl_800A82B8
li r3, 5
bl probeFinish__9JASKernelFl
mr r29, r28
b lbl_800A82B0
lbl_800A827C:
lha r3, 0(r30)
lha r0, 0(r31)
add r3, r3, r0
bl "clamp<s,l>__7JASCalcFl"
sth r3, 0(r30)
lha r3, 2(r30)
lha r0, 0(r31)
add r3, r3, r0
bl "clamp<s,l>__7JASCalcFl"
sth r3, 2(r30)
addi r30, r30, 4
addi r31, r31, 2
addi r29, r29, -1
lbl_800A82B0:
cmplwi r29, 0
bne lbl_800A827C
lbl_800A82B8:
lwz r0, 0x24(r1)
lwz r31, 0x1c(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r28, 0x10(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/**
* @note Address: 0x800A82D8
* @note Size: 0xC0
*/
void mixMonoTrackWide(s16* p1, u32 p2, MixCallback callback)
void mixMonoTrackWide(s16* dest, u32 size, MixCallback callback)
{
JASKernel::probeStart(5, "MONO(W)-MIX");
s16* cbResult = callback(p2);
if (!cbResult) {
s16* src = callback(size);
if (!src) {
return;
}
JASKernel::probeFinish(5);
for (u32 i = p2; i != 0; i--) {
p1[0] = JASCalc::clamp<s16, s32>(p1[0] + *cbResult);
p1[1] = JASCalc::clamp<s16, s32>(p1[1] - *cbResult);
p1 += 2;
cbResult++;
s16* destPtr = dest;
for (u32 i = size; i != 0; i--) {
s32 val = destPtr[0] + src[0];
destPtr[0] = JASCalc::clamp<s16, s32>(val);
val = destPtr[1];
val -= src[0];
destPtr[1] = JASCalc::clamp<s16, s32>(val);
destPtr += 2;
src++;
}
/*
stwu r1, -0x20(r1)
mflr r0
lis r6, lbl_80479630@ha
stw r0, 0x24(r1)
addi r0, r6, lbl_80479630@l
stw r31, 0x1c(r1)
stw r30, 0x18(r1)
mr r30, r3
li r3, 5
stw r29, 0x14(r1)
mr r29, r5
stw r28, 0x10(r1)
mr r28, r4
mr r4, r0
bl probeStart__9JASKernelFlPc
mr r12, r29
mr r3, r28
mtctr r12
bctrl
or. r31, r3, r3
beq lbl_800A8378
li r3, 5
bl probeFinish__9JASKernelFl
mr r29, r28
b lbl_800A8370
lbl_800A833C:
lha r3, 0(r30)
lha r0, 0(r31)
add r3, r3, r0
bl "clamp<s,l>__7JASCalcFl"
sth r3, 0(r30)
lha r3, 2(r30)
lha r0, 0(r31)
subf r3, r0, r3
bl "clamp<s,l>__7JASCalcFl"
sth r3, 2(r30)
addi r30, r30, 4
addi r31, r31, 2
addi r29, r29, -1
lbl_800A8370:
cmplwi r29, 0
bne lbl_800A833C
lbl_800A8378:
lwz r0, 0x24(r1)
lwz r31, 0x1c(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r28, 0x10(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/**
* @note Address: 0x800A8398
* @note Size: 0xE0
*/
void mixExtraTrack(s16* p1, u32 p2, MixCallback callback)
void mixExtraTrack(s16* dest, u32 size, MixCallback callback)
{
JASKernel::probeStart(5, "DSPMIX");
s16* r31 = callback(p2);
if (!r31) {
s16* src1 = callback(size);
if (!src1) {
return;
}
JASKernel::probeFinish(5);
JASKernel::probeStart(6, "MIXING");
s16* r29 = r31 + getFrameSamples();
for (u32 i = p2; i != 0; i--) {
p1[0] = JASCalc::clamp<s16, s32>(p1[0] + r29[0]);
p1[1] = JASCalc::clamp<s16, s32>(p1[1] + r31[0]);
p1 += 2;
r29++;
r31++;
s16* destPtr = dest;
s16* src2 = src1 + getFrameSamples();
for (u32 i = size; i != 0; i--) {
destPtr[0] = JASCalc::clamp<s16, s32>(destPtr[0] + src2[0]);
destPtr[1] = JASCalc::clamp<s16, s32>(destPtr[1] + src1[0]);
destPtr += 2;
src2++;
src1++;
}
JASKernel::probeFinish(6);
/*
stwu r1, -0x20(r1)
mflr r0
stw r0, 0x24(r1)
stw r31, 0x1c(r1)
stw r30, 0x18(r1)
mr r30, r3
li r3, 5
stw r29, 0x14(r1)
mr r29, r4
addi r4, r2, lbl_80516E90@sda21
stw r28, 0x10(r1)
mr r28, r5
bl probeStart__9JASKernelFlPc
mr r12, r28
mr r3, r29
mtctr r12
bctrl
or. r31, r3, r3
beq lbl_800A8458
li r3, 5
bl probeFinish__9JASKernelFl
li r3, 6
addi r4, r2, lbl_80516E98@sda21
bl probeStart__9JASKernelFlPc
lwz r0, sSubFrames__9JASDriver@sda21(r13)
mr r28, r29
mulli r0, r0, 0x50
slwi r0, r0, 1
add r29, r31, r0
b lbl_800A8448
lbl_800A8410:
lha r3, 0(r30)
lha r0, 0(r29)
add r3, r3, r0
bl "clamp<s,l>__7JASCalcFl"
sth r3, 0(r30)
lha r3, 2(r30)
lha r0, 0(r31)
add r3, r3, r0
bl "clamp<s,l>__7JASCalcFl"
sth r3, 2(r30)
addi r30, r30, 4
addi r29, r29, 2
addi r31, r31, 2
addi r28, r28, -1
lbl_800A8448:
cmplwi r28, 0
bne lbl_800A8410
li r3, 6
bl probeFinish__9JASKernelFl
lbl_800A8458:
lwz r0, 0x24(r1)
lwz r31, 0x1c(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r28, 0x10(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/**
* @note Address: 0x800A8478
* @note Size: 0x8C
*/
void mixInterleaveTrack(s16* p1, u32 p2, MixCallback callback)
void mixInterleaveTrack(s16* dest, u32 size, MixCallback callback)
{
s16* r31 = callback(p2);
if (r31) {
for (u32 i = p2 * 2; i != 0; i--) {
p1[0] = JASCalc::clamp<s16, s32>(p1[0] + r31[0]);
p1 += 1;
r31++;
}
s16* src = callback(size);
if (!src) {
return;
}
s16* destPtr = dest;
s16* srcPtr = src;
for (u32 i = size * 2; i != 0; i--) {
destPtr[0] = JASCalc::clamp<s16, s32>(destPtr[0] + srcPtr[0]);
destPtr += 1;
srcPtr++;
}
/*
stwu r1, -0x20(r1)
mflr r0
mr r12, r5
stw r0, 0x24(r1)
stw r31, 0x1c(r1)
stw r30, 0x18(r1)
mr r30, r3
stw r29, 0x14(r1)
mr r29, r4
mr r3, r29
mtctr r12
bctrl
cmplwi r3, 0
beq lbl_800A84E8
mr r31, r30
mr r30, r3
slwi r29, r29, 1
b lbl_800A84E0
lbl_800A84C0:
lha r3, 0(r31)
lha r0, 0(r30)
add r3, r3, r0
bl "clamp<s,l>__7JASCalcFl"
sth r3, 0(r31)
addi r31, r31, 2
addi r30, r30, 2
addi r29, r29, -1
lbl_800A84E0:
cmplwi r29, 0
bne lbl_800A84C0
lbl_800A84E8:
lwz r0, 0x24(r1)
lwz r31, 0x1c(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
} // namespace JASDriver

View File

@ -3,179 +3,42 @@
#include "JSystem/JAudio/JAS/JASDsp.h"
#include "types.h"
/*
Generated from dpostproc
namespace JASDriver {
.section .ctors, "wa" # 0x80472F00 - 0x804732C0
.4byte __sinit_JASDriverIF_cpp
static JASCallbackMgr sDspSyncCallback;
static JASCallbackMgr sSubFrameCallback;
static JASCallbackMgr sUpdateDacCallback;
.section .rodata # 0x804732E0 - 0x8049E220
.global C5BASE_PITCHTABLE__9JASDriver
C5BASE_PITCHTABLE__9JASDriver:
.float 0.03125
.float 0.033108
.float 0.035077
.float 0.037162
.4byte 0x3D214489
.4byte 0x3D2ADB40
.4byte 0x3D3504C5
.4byte 0x3D3FC86D
.4byte 0x3D4B2FA9
.4byte 0x3D5744F6
.4byte 0x3D6411C3
.4byte 0x3D71A198
.4byte 0x3D800000
.4byte 0x3D879C41
.4byte 0x3D8FACE6
.4byte 0x3D9837B5
.4byte 0x3DA1450F
.4byte 0x3DAADBC6
.4byte 0x3DB504C5
.4byte 0x3DBFC86D
.4byte 0x3DCB302F
.4byte 0x3DD744F6
.4byte 0x3DE411C3
.4byte 0x3DF1A198
.float 0.125
.4byte 0x3E079C84
.4byte 0x3E0FACE6
.4byte 0x3E1837F8
.4byte 0x3E21450F
.4byte 0x3E2ADC0A
.4byte 0x3E350508
.4byte 0x3E3FC86D
.4byte 0x3E4B2FEC
.4byte 0x3E5744F6
.4byte 0x3E641206
.4byte 0x3E71A1DC
.float 0.25
.4byte 0x3E879C84
.4byte 0x3E8FACE6
.4byte 0x3E9837F8
.4byte 0x3EA1450F
.4byte 0x3EAADC0A
.4byte 0x3EB504E6
.4byte 0x3EBFC88E
.float 0.39685
.4byte 0x3ED744F6
.4byte 0x3EE411E4
.4byte 0x3EF1A1BA
.float 0.5
.4byte 0x3F079C84
.4byte 0x3F0FACD6
.4byte 0x3F1837F8
.4byte 0x3F214520
.4byte 0x3F2ADC0A
.4byte 0x3F3504F7
.4byte 0x3F3FC88E
.4byte 0x3F4B2FFD
.4byte 0x3F574507
.4byte 0x3F6411F5
.4byte 0x3F71A1CB
.float 1.0
.4byte 0x3F879C7C
.4byte 0x3F8FACD6
.4byte 0x3F9837EF
.4byte 0x3FA14517
.4byte 0x3FAADC0A
.4byte 0x3FB504F7
.4byte 0x3FBFC886
.4byte 0x3FCB2FF5
.4byte 0x3FD744FE
.4byte 0x3FE411F5
.4byte 0x3FF1A1C2
.4byte 0x40000000
.4byte 0x40079C7C
.4byte 0x400FACD6
.4byte 0x401837EF
.4byte 0x40214517
.4byte 0x402ADC0A
.4byte 0x403504F7
.4byte 0x403FC88A
.4byte 0x404B2FF9
.4byte 0x405744FE
.4byte 0x406411F5
.4byte 0x4071A1C2
.4byte 0x40800000
.4byte 0x40879C7E
.4byte 0x408FACD8
.4byte 0x409837F1
.4byte 0x40A14519
.4byte 0x40AADC0A
.4byte 0x40B504F5
.4byte 0x40BFC888
.4byte 0x40CB2FF9
.4byte 0x40D74500
.4byte 0x40E411F5
.4byte 0x40F1A1C2
.4byte 0x41000000
.4byte 0x41079C7D
.4byte 0x410FACD7
.4byte 0x411837F1
.4byte 0x41214519
.4byte 0x412ADC0A
.4byte 0x413504F5
.4byte 0x413FC889
.4byte 0x414B2FF8
.4byte 0x41574500
.4byte 0x416411F4
.4byte 0x4171A1C3
.4byte 0x41800000
.4byte 0x41879C7D
.4byte 0x418FACD7
.4byte 0x419837F1
.4byte 0x41A14519
.4byte 0x41AADC0A
.4byte 0x41B504F5
.4byte 0x41BFC889
.4byte 0x41CB2FF8
.4byte 0x41D74500
.4byte 0x41E411F4
.4byte 0x41F1A1C3
.4byte 0x42000000
.4byte 0x42079C7D
.4byte 0x420FACD7
.4byte 0x421837F1
.4byte 0x42214519
.4byte 0x422ADC0A
.4byte 0x423504F5
.4byte 0x423FC889
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
.4byte 0x00000000
// clang-format off
static const f32 C5BASE_PITCHTABLE[] = {
0.0312500f, 0.0331080f, 0.0350770f, 0.0371620f, 0.0393720f, 0.0417130f, 0.0441940f, 0.0468220f,
0.0496060f, 0.0525560f, 0.0556810f, 0.0589920f, 0.0625000f, 0.0662160f, 0.0701540f, 0.0743250f,
0.0787450f, 0.0834270f, 0.0883880f, 0.0936440f, 0.0992130f, 0.1051120f, 0.1113620f, 0.1179840f,
0.1250000f, 0.1324330f, 0.1403080f, 0.1486510f, 0.1574900f, 0.1668550f, 0.1767770f, 0.1872880f,
0.1984250f, 0.2102240f, 0.2227250f, 0.2359690f, 0.2500000f, 0.2648660f, 0.2806160f, 0.2973020f,
0.3149800f, 0.3337100f, 0.3535530f, 0.3745770f, 0.3968500f, 0.4204480f, 0.4454490f, 0.4719370f,
0.5000000f, 0.5297320f, 0.5612310f, 0.5946040f, 0.6299610f, 0.6674200f, 0.7071070f, 0.7491540f,
0.7937010f, 0.8408970f, 0.8908990f, 0.9438750f, 1.0000000f, 1.0594630f, 1.1224620f, 1.1892070f,
1.2599210f, 1.3348400f, 1.4142140f, 1.4983070f, 1.5874010f, 1.6817930f, 1.7817980f, 1.8877490f,
2.0000000f, 2.1189260f, 2.2449240f, 2.3784140f, 2.5198420f, 2.6696800f, 2.8284280f, 2.9966150f,
3.1748030f, 3.3635860f, 3.5635960f, 3.7754980f, 4.0000000f, 4.2378530f, 4.4898490f, 4.7568290f,
5.0396850f, 5.3393600f, 5.6568550f, 5.9932290f, 6.3496060f, 6.7271730f, 7.1271920f, 7.5509960f,
8.0000000f, 8.4757050f, 8.9796970f, 9.5136580f, 10.079370f, 10.678720f, 11.313710f, 11.986459f,
12.699211f, 13.454346f, 14.254383f, 15.101993f, 16.000000f, 16.951410f, 17.959394f, 19.027315f,
20.158740f, 21.357440f, 22.627420f, 23.972918f, 25.398422f, 26.908691f, 28.508766f, 30.203985f,
32.000000f, 33.902820f, 35.918790f, 38.054630f, 40.317480f, 42.714880f, 45.254840f, 47.945835f,
};
// clang-format on
.section .sdata, "wa" # 0x80514680 - 0x80514D80
.global MAX_MIXERLEVEL__9JASDriver
MAX_MIXERLEVEL__9JASDriver:
.2byte 0x2ee0
.global MAX_AUTOMIXERLEVEL__9JASDriver
MAX_AUTOMIXERLEVEL__9JASDriver:
.2byte 0x2ee0
.global JAS_SYSTEM_OUTPUT_MODE__9JASDriver
JAS_SYSTEM_OUTPUT_MODE__9JASDriver:
.4byte 1
.section .sdata2, "a" # 0x80516360 - 0x80520E40
.global lbl_80516E50
lbl_80516E50:
.4byte 0x467FFE00
.4byte 0x00000000
.global lbl_80516E58
lbl_80516E58:
.4byte 0x43300000
.4byte 0x00000000
*/
JASCallbackMgr JASDriver::sDspSyncCallback;
JASCallbackMgr JASDriver::sSubFrameCallback;
JASCallbackMgr JASDriver::sUpdateDacCallback;
static u16 MAX_MIXERLEVEL = 12000;
static u16 MAX_AUTOMIXERLEVEL = 12000;
static u32 JAS_SYSTEM_OUTPUT_MODE = 1;
/**
* @note Address: 0x800A47D8
* @note Size: 0x30
*/
f32 JASDriver::key2pitch_c5(int key)
f32 key2pitch_c5(int key)
{
if (key < 0) {
key = 0;
@ -189,7 +52,7 @@ f32 JASDriver::key2pitch_c5(int key)
* @note Address: 0x800A4808
* @note Size: 0x50
*/
void JASDriver::setLevel(f32 channelLevel, f32 autoMixerLevel, f32 dspMixerLevel)
void setLevel(f32 channelLevel, f32 autoMixerLevel, f32 dspMixerLevel)
{
MAX_MIXERLEVEL = channelLevel * 16383.5f;
MAX_AUTOMIXERLEVEL = autoMixerLevel * 16383.5f;
@ -200,7 +63,7 @@ void JASDriver::setLevel(f32 channelLevel, f32 autoMixerLevel, f32 dspMixerLevel
* @note Address: 0x800A4858
* @note Size: 0x3C
*/
void JASDriver::setMixerLevel(f32 channelLevel, f32 dspMixerLevel)
void setMixerLevel(f32 channelLevel, f32 dspMixerLevel)
{
MAX_MIXERLEVEL = channelLevel * 16383.5f;
JASDsp::setDSPMixerLevel(dspMixerLevel);
@ -210,7 +73,7 @@ void JASDriver::setMixerLevel(f32 channelLevel, f32 dspMixerLevel)
* @note Address: N/A
* @note Size: 0x24
*/
void JASDriver::setChannelLevel(f32 channelLevel)
void setChannelLevel(f32 channelLevel)
{
// UNUSED FUNCTION
MAX_MIXERLEVEL = channelLevel * 16383.5f;
@ -220,31 +83,31 @@ void JASDriver::setChannelLevel(f32 channelLevel)
* @note Address: 0x800A4894
* @note Size: 0x24
*/
void JASDriver::setAutoLevel(f32 autoMixerLevel) { MAX_AUTOMIXERLEVEL = autoMixerLevel * 16383.5f; }
void setAutoLevel(f32 autoMixerLevel) { MAX_AUTOMIXERLEVEL = autoMixerLevel * 16383.5f; }
/**
* @note Address: 0x800A48B8
* @note Size: 0x20
*/
void JASDriver::setDSPLevel(f32 dspMixerLevel) { JASDsp::setDSPMixerLevel(dspMixerLevel); }
void setDSPLevel(f32 dspMixerLevel) { JASDsp::setDSPMixerLevel(dspMixerLevel); }
/**
* @note Address: 0x800A48D8
* @note Size: 0x8
*/
u16 JASDriver::getChannelLevel() { return MAX_MIXERLEVEL; }
u16 getChannelLevel() { return MAX_MIXERLEVEL; }
/**
* @note Address: 0x800A48E0
* @note Size: 0x8
*/
u16 JASDriver::getAutoLevel() { return MAX_AUTOMIXERLEVEL; }
u16 getAutoLevel() { return MAX_AUTOMIXERLEVEL; }
/**
* @note Address: N/A
* @note Size: 0x34
*/
s16 JASDriver::getDSPLevel()
s16 getDSPLevel()
{
// UNUSED FUNCTION
}
@ -253,7 +116,7 @@ s16 JASDriver::getDSPLevel()
* @note Address: N/A
* @note Size: 0x30
*/
f32 JASDriver::getChannelLevel_f32()
f32 getChannelLevel_f32()
{
// UNUSED FUNCTION
return MAX_MIXERLEVEL / 16383.5f;
@ -263,94 +126,55 @@ f32 JASDriver::getChannelLevel_f32()
* @note Address: 0x800A48E8
* @note Size: 0x30
*/
f32 JASDriver::getAutoLevel_f32() { return MAX_AUTOMIXERLEVEL / 16383.5f; }
f32 getAutoLevel_f32() { return MAX_AUTOMIXERLEVEL / 16383.5f; }
/**
* @note Address: 0x800A4918
* @note Size: 0x20
*/
f32 JASDriver::getDSPLevel_f32() { return JASDsp::getDSPMixerLevel(); }
f32 getDSPLevel_f32() { return JASDsp::getDSPMixerLevel(); }
/**
* @note Address: 0x800A4938
* @note Size: 0x8
*/
void JASDriver::setOutputMode(u32 outputMode) { JAS_SYSTEM_OUTPUT_MODE = outputMode; }
void setOutputMode(u32 outputMode) { JAS_SYSTEM_OUTPUT_MODE = outputMode; }
/**
* @note Address: 0x800A4940
* @note Size: 0x8
*/
u32 JASDriver::getOutputMode() { return JAS_SYSTEM_OUTPUT_MODE; }
u32 getOutputMode() { return JAS_SYSTEM_OUTPUT_MODE; }
/**
* @note Address: 0x800A4948
* @note Size: 0x90
*/
bool JASDriver::rejectCallback(s32 (*callback)(void*), void* p2)
bool rejectCallback(s32 (*callback)(void*), void* p2)
{
bool v1 = false;
v1 |= sDspSyncCallback.reject(callback, p2);
bool v1 = sDspSyncCallback.reject(callback, p2);
v1 |= sSubFrameCallback.reject(callback, p2);
v1 |= sUpdateDacCallback.reject(callback, p2);
return v1;
/*
stwu r1, -0x20(r1)
mflr r0
lis r5, sDspSyncCallback__9JASDriver@ha
stw r0, 0x24(r1)
stw r31, 0x1c(r1)
stw r30, 0x18(r1)
addi r30, r5, sDspSyncCallback__9JASDriver@l
stw r29, 0x14(r1)
mr r29, r4
mr r5, r29
stw r28, 0x10(r1)
mr r28, r3
mr r4, r28
addi r3, r30, 0
bl reject__14JASCallbackMgrFPFPv_lPv
mr r31, r3
mr r4, r28
mr r5, r29
addi r3, r30, 0x80
bl reject__14JASCallbackMgrFPFPv_lPv
or r0, r31, r3
mr r4, r28
mr r5, r29
addi r3, r30, 0x100
clrlwi r30, r0, 0x18
bl reject__14JASCallbackMgrFPFPv_lPv
or r0, r30, r3
lwz r31, 0x1c(r1)
clrlwi r3, r0, 0x18
lwz r0, 0x24(r1)
lwz r30, 0x18(r1)
lwz r29, 0x14(r1)
lwz r28, 0x10(r1)
mtlr r0
addi r1, r1, 0x20
blr
*/
}
/**
* @note Address: 0x800A49D8
* @note Size: 0x34
*/
bool JASDriver::registerDspSyncCallback(s32 (*callback)(void*), void* p2) { return sDspSyncCallback.regist(callback, p2); }
bool registerDspSyncCallback(s32 (*callback)(void*), void* p2) { return sDspSyncCallback.regist(callback, p2); }
/**
* @note Address: 0x800A4A0C
* @note Size: 0x34
*/
bool JASDriver::registerSubFrameCallback(s32 (*callback)(void*), void* p2) { return sSubFrameCallback.regist(callback, p2); }
bool registerSubFrameCallback(s32 (*callback)(void*), void* p2) { return sSubFrameCallback.regist(callback, p2); }
/**
* @note Address: N/A
* @note Size: 0x34
*/
bool JASDriver::registerUpdateDacCallback(s32 (*callback)(void*), void* p2)
bool registerUpdateDacCallback(s32 (*callback)(void*), void* p2)
{
// UNUSED FUNCTION
return sUpdateDacCallback.regist(callback, p2);
@ -360,28 +184,18 @@ bool JASDriver::registerUpdateDacCallback(s32 (*callback)(void*), void* p2)
* @note Address: 0x800A4A40
* @note Size: 0x28
*/
void JASDriver::subframeCallback() { sSubFrameCallback.callback(); }
void subframeCallback() { sSubFrameCallback.callback(); }
/**
* @note Address: 0x800A4A68
* @note Size: 0x28
*/
void JASDriver::DSPSyncCallback() { sDspSyncCallback.callback(); }
void DSPSyncCallback() { sDspSyncCallback.callback(); }
/**
* @note Address: 0x800A4A90
* @note Size: 0x28
*/
void JASDriver::updateDacCallback() { sUpdateDacCallback.callback(); }
void updateDacCallback() { sUpdateDacCallback.callback(); }
/**
* @note Address: 0x800A4AB8
* @note Size: 0x80
*/
// void __sinit_JASDriverIF_cpp() { }
/**
* @note Address: 0x800A4B38
* @note Size: 0x10
*/
// JASCallbackMgr::TCallback::TCallback() { }
} // namespace JASDriver

View File

@ -24,7 +24,7 @@ JAUDIO_JAS_FILES:=\
$(BUILD_DIR)/src/JSystem/JAudio/JAS/JASTrackInterrupt.o\
$(BUILD_DIR)/asm/JSystem/JAudio/JAS/JASOscillator.o\
$(BUILD_DIR)/asm/JSystem/JAudio/JAS/JASChannel.o\
$(BUILD_DIR)/asm/JSystem/JAudio/JAS/JASDriverIF.o\
$(BUILD_DIR)/src/JSystem/JAudio/JAS/JASDriverIF.o\
$(BUILD_DIR)/asm/JSystem/JAudio/JAS/JASDSPChannel.o\
$(BUILD_DIR)/asm/JSystem/JAudio/JAS/JASDSPInterface.o\
$(BUILD_DIR)/src/JSystem/JAudio/JAS/JASAudioThread.o\

View File

@ -839,3 +839,5 @@ You have 3755 out of 10000 Pokos and 94 out of 201 treasures.",2023-12-26 12:52:
You have 3762 out of 10000 Pokos and 94 out of 201 treasures.",2023-12-28 20:21:48.046528
3769,1753540,0.37691473044172064,94,336711,0.47234083742018024,"
You have 3769 out of 10000 Pokos and 94 out of 201 treasures.",2023-12-30 11:56:53.474176
3771,1754420,0.3771038820794299,95,337627,0.4736258094201353,"
You have 3771 out of 10000 Pokos and 95 out of 201 treasures.",2023-12-31 01:45:33.639207

1 code_count_in_pokos code_completion_in_bytes code_completion_in_percentage data_count_in_treasures data_completion_in_bytes data_completion_in_percentage sentence created_at
839
840
841
842
843