Merge pull request #75 from gamemasterplc/main

Split TRK and part of MusyX
This commit is contained in:
gamemasterplc 2023-12-29 20:27:20 -06:00 committed by GitHub
commit f616cfcb21
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 403 additions and 196 deletions

View file

@ -1156,5 +1156,121 @@ MSL_C.PPCEABI.bare.H/w_pow.c:
MSL_C.PPCEABI.bare.H/math_ppc.c:
.text start:0x800EBB00 end:0x800EBBB4
TRK_MINNOW_DOLPHIN/mainloop.c:
.text start:0x800EBBB4 end:0x800EBCAC
TRK_MINNOW_DOLPHIN/nubevent.c:
.text start:0x800EBCAC end:0x800EBED4
.bss start:0x801A7730 end:0x801A7758
TRK_MINNOW_DOLPHIN/nubinit.c:
.text start:0x800EBED4 end:0x800EC054
.rodata start:0x8011EA50 end:0x8011EA70
.bss start:0x801A7758 end:0x801A7760
TRK_MINNOW_DOLPHIN/msg.c:
.text start:0x800EC054 end:0x800EC230
TRK_MINNOW_DOLPHIN/msgbuf.c:
.text start:0x800EC230 end:0x800ECC5C
.rodata start:0x8011EA70 end:0x8011EA90
.bss start:0x801A7760 end:0x801A9110
TRK_MINNOW_DOLPHIN/serpoll.c:
.text start:0x800ECC5C end:0x800ED028
.bss start:0x801A9110 end:0x801A9128
TRK_MINNOW_DOLPHIN/usrput.c:
.text start:0x800ED028 end:0x800ED0B4
TRK_MINNOW_DOLPHIN/dispatch.c:
.text start:0x800ED0B4 end:0x800ED150
.data start:0x8013E998 end:0x8013EA20
.bss start:0x801A9128 end:0x801A9130
TRK_MINNOW_DOLPHIN/msghndlr.c:
.text start:0x800ED150 end:0x800EF9B0
.data start:0x8013EA20 end:0x8013EA58
.bss start:0x801A9130 end:0x801A9138
TRK_MINNOW_DOLPHIN/support.c:
.text start:0x800EF9B0 end:0x800F0270
TRK_MINNOW_DOLPHIN/mutex_TRK.c:
.text start:0x800F0270 end:0x800F0288
TRK_MINNOW_DOLPHIN/notify.c:
.text start:0x800F0288 end:0x800F0360
TRK_MINNOW_DOLPHIN/flush_cache.c:
.text start:0x800F0360 end:0x800F0398
TRK_MINNOW_DOLPHIN/mem_TRK.c:
.init start:0x800034E0 end:0x80003534
.text start:0x800F0398 end:0x800F0454
TRK_MINNOW_DOLPHIN/targimpl.c:
.text start:0x800F0454 end:0x800F1CF0
.rodata start:0x8011EA90 end:0x8011EB18
.data start:0x8013EA58 end:0x8013EA88
.bss start:0x801A91E0 end:0x801A96B8
TRK_MINNOW_DOLPHIN/targsupp.c:
.text start:0x800F1CF0 end:0x800F1D10
TRK_MINNOW_DOLPHIN/dolphin_trk.c:
.text start:0x800F1D10 end:0x800F1E50
.data start:0x8013EA88 end:0x8013EAC8
.bss start:0x801A96B8 end:0x801A96C0
TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c:
.text start:0x800F1E50 end:0x800F21C8
TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c:
.text start:0x800F21C8 end:0x800F26B8
.rodata start:0x8011EB18 end:0x8011EB60
.data start:0x8013EAC8 end:0x8013EAE8
.bss start:0x801A96C8 end:0x801AB8F0
TRK_MINNOW_DOLPHIN/targcont.c:
.text start:0x800F26B8 end:0x800F26EC
TRK_MINNOW_DOLPHIN/target_options.c:
.text start:0x800F26EC end:0x800F2708
.bss start:0x801AB8F0 end:0x801AB8F8
TRK_MINNOW_DOLPHIN/mslsupp.c:
.text start:0x800F2708 end:0x800F2880
musyx/runtime/seq.c:
.text start:0x800F2880 end:0x800F67F0
.data start:0x8013EAE8 end:0x8013EB38
.bss start:0x801AB8F8 end:0x801B9138
.sbss start:0x801D4788 end:0x801D47A8
.sdata2 start:0x801D6988 end:0x801D69A8
musyx/runtime/synth.c:
.text start:0x800F67F0 end:0x800F9B4C
.bss start:0x801B9138 end:0x801BA720
.sbss start:0x801D47A8 end:0x801D47F0
.sdata2 start:0x801D69A8 end:0x801D69E8
musyx/runtime/seq_api.c:
.text start:0x800F9B4C end:0x800F9DCC
musyx/runtime/snd_synthapi.c:
.text start:0x800F9DCC end:0x800FA54C
musyx/runtime/stream.c:
.text start:0x800FA54C end:0x800FE0B8
.bss start:0x801BA720 end:0x801BC020
.sbss start:0x801D47F0 end:0x801D47F8
.sdata2 start:0x801D69E8 end:0x801D6A00
musyx/runtime/synthdata.c:
.text start:0x800FE0B8 end:0x800FFE48
.bss start:0x801BC020 end:0x801C6658
.sbss start:0x801D47F8 end:0x801D4840
game/kerent.c:
.text start:0x8011CCC4 end:0x8011DCA8

View file

@ -3087,118 +3087,118 @@ GetUseSerialIO = .text:0x800F26EC; // type:function size:0x10
SetUseSerialIO = .text:0x800F26FC; // type:function size:0xC
__TRK_write_console = .text:0x800F2708; // type:function size:0xBC
__read_console = .text:0x800F27C4; // type:function size:0xBC
fn_800F2880 = .text:0x800F2880; // type:function size:0x68
fn_800F28E8 = .text:0x800F28E8; // type:function size:0xAC4
fn_800F33AC = .text:0x800F33AC; // type:function size:0x64
fn_800F3410 = .text:0x800F3410; // type:function size:0x27C
fn_800F368C = .text:0x800F368C; // type:function size:0x2B0
fn_800F393C = .text:0x800F393C; // type:function size:0x90
fn_800F39CC = .text:0x800F39CC; // type:function size:0xE4
fn_800F3AB0 = .text:0x800F3AB0; // type:function size:0x108
fn_800F3BB8 = .text:0x800F3BB8; // type:function size:0xBC
fn_800F3C74 = .text:0x800F3C74; // type:function size:0x1CC
fn_800F3E40 = .text:0x800F3E40; // type:function size:0xB58
fn_800F4998 = .text:0x800F4998; // type:function size:0x218
fn_800F4BB0 = .text:0x800F4BB0; // type:function size:0xA94
fn_800F5644 = .text:0x800F5644; // type:function size:0x174
fn_800F57B8 = .text:0x800F57B8; // type:function size:0x49C
fn_800F5C54 = .text:0x800F5C54; // type:function size:0x9F4
fn_800F6648 = .text:0x800F6648; // type:function size:0x1A8
fn_800F67F0 = .text:0x800F67F0; // type:function size:0x44
fn_800F6834 = .text:0x800F6834; // type:function size:0x34
fn_800F6868 = .text:0x800F6868; // type:function size:0x78
fn_800F68E0 = .text:0x800F68E0; // type:function size:0x2A0
fn_800F6B80 = .text:0x800F6B80; // type:function size:0x3C0
fn_800F6F40 = .text:0x800F6F40; // type:function size:0x25C
fn_800F719C = .text:0x800F719C; // type:function size:0x45C
fn_800F75F8 = .text:0x800F75F8; // type:function size:0x744
fn_800F7D3C = .text:0x800F7D3C; // type:function size:0x6FC
fn_800F8438 = .text:0x800F8438; // type:function size:0x150
fn_800F8588 = .text:0x800F8588; // type:function size:0x64
fn_800F85EC = .text:0x800F85EC; // type:function size:0x44
fn_800F8630 = .text:0x800F8630; // type:function size:0x28
fn_800F8658 = .text:0x800F8658; // type:function size:0x510
fn_800F8B68 = .text:0x800F8B68; // type:function size:0x34
fn_800F8B9C = .text:0x800F8B9C; // type:function size:0xC8
fn_800F8C64 = .text:0x800F8C64; // type:function size:0xE4
fn_800F8D48 = .text:0x800F8D48; // type:function size:0xE4
fn_800F8E2C = .text:0x800F8E2C; // type:function size:0x84
fn_800F8EB0 = .text:0x800F8EB0; // type:function size:0x88
fn_800F8F38 = .text:0x800F8F38; // type:function size:0x530
fn_800F9468 = .text:0x800F9468; // type:function size:0x54
fn_800F94BC = .text:0x800F94BC; // type:function size:0x28
fn_800F94E4 = .text:0x800F94E4; // type:function size:0xD0
fn_800F95B4 = .text:0x800F95B4; // type:function size:0x574
fn_800F9B28 = .text:0x800F9B28; // type:function size:0x24
fn_800F9B4C = .text:0x800F9B4C; // type:function size:0x30
fn_800F9B7C = .text:0x800F9B7C; // type:function size:0x38
fn_800F9BB4 = .text:0x800F9BB4; // type:function size:0x38
fn_800F9BEC = .text:0x800F9BEC; // type:function size:0x48
fn_800F9C34 = .text:0x800F9C34; // type:function size:0x38
fn_800F9C6C = .text:0x800F9C6C; // type:function size:0x58
fn_800F9CC4 = .text:0x800F9CC4; // type:function size:0x68
fn_800F9D2C = .text:0x800F9D2C; // type:function size:0x84
fn_800F9DB0 = .text:0x800F9DB0; // type:function size:0x1C
fn_800F9DCC = .text:0x800F9DCC; // type:function size:0x60
fn_800F9E2C = .text:0x800F9E2C; // type:function size:0x60
fn_800F9E8C = .text:0x800F9E8C; // type:function size:0x40
fn_800F9ECC = .text:0x800F9ECC; // type:function size:0xE0
fn_800F9FAC = .text:0x800F9FAC; // type:function size:0x40
fn_800F9FEC = .text:0x800F9FEC; // type:function size:0x50
fn_800FA03C = .text:0x800FA03C; // type:function size:0x60
fn_800FA09C = .text:0x800FA09C; // type:function size:0x94
fn_800FA130 = .text:0x800FA130; // type:function size:0xEC
fn_800FA21C = .text:0x800FA21C; // type:function size:0x158
fn_800FA374 = .text:0x800FA374; // type:function size:0xA8
fn_800FA41C = .text:0x800FA41C; // type:function size:0xF0
fn_800FA50C = .text:0x800FA50C; // type:function size:0x20
fn_800FA52C = .text:0x800FA52C; // type:function size:0x20
fn_800FA54C = .text:0x800FA54C; // type:function size:0xBC
fn_800FA608 = .text:0x800FA608; // type:function size:0x8C
fn_800FA694 = .text:0x800FA694; // type:function size:0x8AC
fn_800FAF40 = .text:0x800FAF40; // type:function size:0x4
fn_800FAF44 = .text:0x800FAF44; // type:function size:0x84
fn_800FAFC8 = .text:0x800FAFC8; // type:function size:0x160
fn_800FB128 = .text:0x800FB128; // type:function size:0x2C4
fn_800FB3EC = .text:0x800FB3EC; // type:function size:0x34
fn_800FB420 = .text:0x800FB420; // type:function size:0x44
fn_800FB464 = .text:0x800FB464; // type:function size:0x130
fn_800FB594 = .text:0x800FB594; // type:function size:0x458
fn_800FB9EC = .text:0x800FB9EC; // type:function size:0x44
fn_800FBA30 = .text:0x800FBA30; // type:function size:0x6E8
fn_800FC118 = .text:0x800FC118; // type:function size:0x560
fn_800FC678 = .text:0x800FC678; // type:function size:0x654
fn_800FCCCC = .text:0x800FCCCC; // type:function size:0x6B8
fn_800FD384 = .text:0x800FD384; // type:function size:0x634
fn_800FD9B8 = .text:0x800FD9B8; // type:function size:0x700
fn_800FE0B8 = .text:0x800FE0B8; // type:function size:0x1F0
fn_800FE2A8 = .text:0x800FE2A8; // type:function size:0x17C
fn_800FE424 = .text:0x800FE424; // type:function size:0x248
fn_800FE66C = .text:0x800FE66C; // type:function size:0x1C4
fn_800FE830 = .text:0x800FE830; // type:function size:0x204
fn_800FEA34 = .text:0x800FEA34; // type:function size:0x17C
fn_800FEBB0 = .text:0x800FEBB0; // type:function size:0x188
fn_800FED38 = .text:0x800FED38; // type:function size:0x2C8
fn_800FF000 = .text:0x800FF000; // type:function size:0xD8
fn_800FF0D8 = .text:0x800FF0D8; // type:function size:0x98
fn_800FF170 = .text:0x800FF170; // type:function size:0x11C
fn_800FF28C = .text:0x800FF28C; // type:function size:0x15C
fn_800FF3E8 = .text:0x800FF3E8; // type:function size:0x304
fn_800FF6EC = .text:0x800FF6EC; // type:function size:0x284
fn_800FF970 = .text:0x800FF970; // type:function size:0x10
fn_800FF980 = .text:0x800FF980; // type:function size:0x8C
fn_800FFA0C = .text:0x800FFA0C; // type:function size:0x10
fn_800FFA1C = .text:0x800FFA1C; // type:function size:0x128
fn_800FFB44 = .text:0x800FFB44; // type:function size:0x10
fn_800FFB54 = .text:0x800FFB54; // type:function size:0x5C
fn_800FFBB0 = .text:0x800FFBB0; // type:function size:0x5C
fn_800FFC0C = .text:0x800FFC0C; // type:function size:0x10
fn_800FFC1C = .text:0x800FFC1C; // type:function size:0x7C
fn_800FFC98 = .text:0x800FFC98; // type:function size:0x10
fn_800FFCA8 = .text:0x800FFCA8; // type:function size:0x9C
fn_800FFD44 = .text:0x800FFD44; // type:function size:0xE4
fn_800FFE28 = .text:0x800FFE28; // type:function size:0x20
fn_800FFE48 = .text:0x800FFE48; // type:function size:0x2F0
seqGetPrivateId = .text:0x800F2880; // type:function size:0x68
seqStartPlay = .text:0x800F28E8; // type:function size:0xAC4
StartPause = .text:0x800F33AC; // type:function size:0x64
seqPause = .text:0x800F3410; // type:function size:0x27C
seqStop = .text:0x800F368C; // type:function size:0x2B0
seqKillInstancesByGroupID = .text:0x800F393C; // type:function size:0x90
seqSpeed = .text:0x800F39CC; // type:function size:0xE4
seqContinue = .text:0x800F3AB0; // type:function size:0x108
seqMute = .text:0x800F3BB8; // type:function size:0xBC
seqVolume = .text:0x800F3C74; // type:function size:0x1CC
seqCrossFade = .text:0x800F3E40; // type:function size:0xB58
GenerateNextTrackEvent = .text:0x800F4998; // type:function size:0x218 scope:local
HandleEvent = .text:0x800F4BB0; // type:function size:0xA94 scope:local
InitTrackEvents = .text:0x800F5644; // type:function size:0x174 scope:local
HandleTrackEvents = .text:0x800F57B8; // type:function size:0x49C scope:local
seqHandle = .text:0x800F5C54; // type:function size:0x9F4
seqInit = .text:0x800F6648; // type:function size:0x1A8
synthSetBpm = .text:0x800F67F0; // type:function size:0x44
synthGetTicksPerSecond = .text:0x800F6834; // type:function size:0x34
synthInitPortamento = .text:0x800F6868; // type:function size:0x78
do_voice_portamento = .text:0x800F68E0; // type:function size:0x2A0 scope:local
StartLayer = .text:0x800F6B80; // type:function size:0x3C0 scope:local
StartKeymap = .text:0x800F6F40; // type:function size:0x25C scope:local
synthStartSound = .text:0x800F719C; // type:function size:0x45C
LowPrecisionHandler = .text:0x800F75F8; // type:function size:0x744 scope:local
ZeroOffsetHandler = .text:0x800F7D3C; // type:function size:0x6FC scope:local
synthAddJob = .text:0x800F8438; // type:function size:0x150 scope:local
synthStartSynthJobHandling = .text:0x800F8588; // type:function size:0x64
synthForceLowPrecisionUpdate = .text:0x800F85EC; // type:function size:0x44
synthKeyStateUpdate = .text:0x800F8630; // type:function size:0x28
synthHandle = .text:0x800F8658; // type:function size:0x510
synthFXGetMaxVoices = .text:0x800F8B68; // type:function size:0x34
synthFXStart = .text:0x800F8B9C; // type:function size:0xC8
synthFXSetCtrl = .text:0x800F8C64; // type:function size:0xE4
synthFXSetCtrl14 = .text:0x800F8D48; // type:function size:0xE4
synthFXCloneMidiSetup = .text:0x800F8E2C; // type:function size:0x84
synthSendKeyOff = .text:0x800F8EB0; // type:function size:0x88
synthVolume = .text:0x800F8F38; // type:function size:0x530
synthIsFadeOutActive = .text:0x800F9468; // type:function size:0x54
synthSetMusicVolumeType = .text:0x800F94BC; // type:function size:0x28
synthHWMessageHandler = .text:0x800F94E4; // type:function size:0xD0
synthInit = .text:0x800F95B4; // type:function size:0x574
synthExit = .text:0x800F9B28; // type:function size:0x24
sndSeqGetValid = .text:0x800F9B4C; // type:function size:0x30
sndSeqPause = .text:0x800F9B7C; // type:function size:0x38
sndSeqStop = .text:0x800F9BB4; // type:function size:0x38
sndSeqSpeed = .text:0x800F9BEC; // type:function size:0x48
sndSeqContinue = .text:0x800F9C34; // type:function size:0x38
sndSeqMute = .text:0x800F9C6C; // type:function size:0x58
sndSeqVolume = .text:0x800F9CC4; // type:function size:0x68
sndSeqGetMidiCtrl = .text:0x800F9D2C; // type:function size:0x84
seqGetMIDIPriority = .text:0x800F9DB0; // type:function size:0x1C
sndFXCtrl = .text:0x800F9DCC; // type:function size:0x60
sndFXCtrl14 = .text:0x800F9E2C; // type:function size:0x60
sndFXKeyOff = .text:0x800F9E8C; // type:function size:0x40
sndFXStartParaInfo = .text:0x800F9ECC; // type:function size:0xE0
sndFXCheck = .text:0x800F9FAC; // type:function size:0x40
sndSendMessage = .text:0x800F9FEC; // type:function size:0x50
sndVolume = .text:0x800FA03C; // type:function size:0x60
sndMasterVolume = .text:0x800FA09C; // type:function size:0x94
sndOutputMode = .text:0x800FA130; // type:function size:0xEC
sndSetAuxProcessingCallbacks = .text:0x800FA21C; // type:function size:0x158
synthActivateStudio = .text:0x800FA374; // type:function size:0xA8
synthDeactivateStudio = .text:0x800FA41C; // type:function size:0xF0
synthChangeStudioMasterMix = .text:0x800FA50C; // type:function size:0x20
sndAddStudioInput = .text:0x800FA52C; // type:function size:0x20
streamInit = .text:0x800FA54C; // type:function size:0xBC
SetHWMix = .text:0x800FA608; // type:function size:0x8C scope:local
streamHandle = .text:0x800FA694; // type:function size:0x8AC
streamCorrectLoops = .text:0x800FAF40; // type:function size:0x4
streamKill = .text:0x800FAF44; // type:function size:0x84
GetPrivateIndex = .text:0x800FAFC8; // type:function size:0x160
sndStreamARAMUpdate = .text:0x800FB128; // type:function size:0x2C4
CheckOutputMode = .text:0x800FB3EC; // type:function size:0x34
SetupVolumeAndPan = .text:0x800FB420; // type:function size:0x44
streamOutputModeChanged = .text:0x800FB464; // type:function size:0x130
sndStreamAllocEx = .text:0x800FB594; // type:function size:0x458
sndStreamAllocLength = .text:0x800FB9EC; // type:function size:0x44
sndStreamADPCMParameter = .text:0x800FBA30; // type:function size:0x6E8
sndStreamMixParameterEx = .text:0x800FC118; // type:function size:0x560
sndStreamFrq = .text:0x800FC678; // type:function size:0x654
sndStreamFree = .text:0x800FCCCC; // type:function size:0x6B8
sndStreamActivate = .text:0x800FD384; // type:function size:0x634
sndStreamDeactivate = .text:0x800FD9B8; // type:function size:0x700
dataInsertKeymap = .text:0x800FE0B8; // type:function size:0x1F0
dataRemoveKeymap = .text:0x800FE2A8; // type:function size:0x17C
dataInsertLayer = .text:0x800FE424; // type:function size:0x248
dataRemoveLayer = .text:0x800FE66C; // type:function size:0x1C4
dataInsertCurve = .text:0x800FE830; // type:function size:0x204
dataRemoveCurve = .text:0x800FEA34; // type:function size:0x17C
dataInsertSDir = .text:0x800FEBB0; // type:function size:0x188
dataRemoveSDir = .text:0x800FED38; // type:function size:0x2C8
dataAddSampleReference = .text:0x800FF000; // type:function size:0xD8
dataRemoveSampleReference = .text:0x800FF0D8; // type:function size:0x98
dataInsertFX = .text:0x800FF170; // type:function size:0x11C
dataRemoveFX = .text:0x800FF28C; // type:function size:0x15C
dataInsertMacro = .text:0x800FF3E8; // type:function size:0x304
dataRemoveMacro = .text:0x800FF6EC; // type:function size:0x284
maccmp = .text:0x800FF970; // type:function size:0x10 scope:local
dataGetMacro = .text:0x800FF980; // type:function size:0x8C
smpcmp = .text:0x800FFA0C; // type:function size:0x10 scope:local
dataGetSample = .text:0x800FFA1C; // type:function size:0x128
curvecmp = .text:0x800FFB44; // type:function size:0x10 scope:local
dataGetCurve = .text:0x800FFB54; // type:function size:0x5C
dataGetKeymap = .text:0x800FFBB0; // type:function size:0x5C
layercmp = .text:0x800FFC0C; // type:function size:0x10 scope:local
dataGetLayer = .text:0x800FFC1C; // type:function size:0x7C
fxcmp = .text:0x800FFC98; // type:function size:0x10 scope:local
dataGetFX = .text:0x800FFCA8; // type:function size:0x9C
dataInit = .text:0x800FFD44; // type:function size:0xE4
dataExit = .text:0x800FFE28; // type:function size:0x20
mcmdWait = .text:0x800FFE48; // type:function size:0x2F0
fn_80100138 = .text:0x80100138; // type:function size:0xD0
fn_80100208 = .text:0x80100208; // type:function size:0x154
fn_8010035C = .text:0x8010035C; // type:function size:0x18C
@ -4680,7 +4680,7 @@ atanlo = .rodata:0x8011E9D8; // type:object size:0x20 scope:local
aT = .rodata:0x8011E9F8; // type:object size:0x58 scope:local
@62 = .rodata:0x8011EA50; // type:object size:0x1B scope:local data:string
lbl_8011EA70 = .rodata:0x8011EA70; // type:object size:0x20
lbl_8011EA90 = .rodata:0x8011EA90; // type:object size:0x10 data:4byte
gTRKMemMap = .rodata:0x8011EA90; // type:object size:0x10 data:4byte
lbl_8011EAA0 = .rodata:0x8011EAA0; // type:object size:0x28 data:4byte
lbl_8011EAC8 = .rodata:0x8011EAC8; // type:object size:0x28 data:4byte
lbl_8011EAF0 = .rodata:0x8011EAF0; // type:object size:0x28 data:4byte
@ -5368,13 +5368,13 @@ __lower_map = .data:0x8013E668; // type:object size:0x100
jumptable_8013E7EC = .data:0x8013E7EC; // type:object size:0x84 scope:local
jumptable_8013E870 = .data:0x8013E870; // type:object size:0xE0 scope:local
jumptable_8013E950 = .data:0x8013E950; // type:object size:0x44 scope:local
lbl_8013E998 = .data:0x8013E998; // type:object size:0x88
gTRKDispatchTable = .data:0x8013E998; // type:object size:0x84
jumptable_8013EA20 = .data:0x8013EA20; // type:object size:0x1C scope:local
jumptable_8013EA3C = .data:0x8013EA3C; // type:object size:0x1C scope:local
gTRKRestoreFlags = .data:0x8013EA58; // type:object size:0x9 scope:global data:byte
gTRKExceptionStatus = .data:0x8013EA64; // type:object size:0x10 scope:local data:4byte
TRK_ISR_OFFSETS = .data:0x8013EA74; // type:object size:0x14 data:4byte
lbl_8013EA88 = .data:0x8013EA88; // type:object size:0x40 data:4byte
gTRKStepStatus = .data:0x8013EA74; // type:object size:0x14 data:4byte
TRK_ISR_OFFSETS = .data:0x8013EA88; // type:object size:0x3C scope:local data:4byte
gDBCommTable = .data:0x8013EAC8; // type:object size:0x1C scope:global data:4byte
jumptable_8013EAE8 = .data:0x8013EAE8; // type:object size:0x50 scope:local
lbl_8013EB38 = .data:0x8013EB38; // type:object size:0x1C
@ -5619,49 +5619,50 @@ gTRKEventQueue = .bss:0x801A7730; // type:object size:0x28
gTRKBigEndian = .bss:0x801A7758; // type:object size:0x4 scope:global data:4byte
gTRKMsgBufs = .bss:0x801A7760; // type:object size:0x19B0
gTRKInputPendingPtr = .bss:0x801A9110; // type:object size:0x4 scope:global data:4byte
lbl_801A9114 = .bss:0x801A9114; // type:object size:0x14 data:4byte
lbl_801A9128 = .bss:0x801A9128; // type:object size:0x8 data:4byte
lbl_801A9130 = .bss:0x801A9130; // type:object size:0x8 data:4byte
gTRKFramingState = .bss:0x801A9114; // type:object size:0x14 scope:local data:4byte
gTRKDispatchTableSize = .bss:0x801A9128; // type:object size:0x4 data:4byte
IsTRKConnected = .bss:0x801A9130; // type:object size:0x4 scope:local data:4byte
TRK_saved_exceptionID = .bss:0x801A9138; // type:object size:0x2 scope:local data:2byte
gTRKState = .bss:0x801A913C; // type:object size:0xA4 scope:global data:4byte
gTRKCPUState = .bss:0x801A91E0; // type:object size:0x430 scope:global
gTRKSaveState = .bss:0x801A9610; // type:object size:0x94 scope:global data:4byte
lbl_801A96A4 = .bss:0x801A96A4; // type:object size:0x14
lbl_801A96B8 = .bss:0x801A96B8; // type:object size:0x8 data:4byte
TRKvalue128_temp = .bss:0x801A96A4; // type:object size:0x10
lc_base = .bss:0x801A96B8; // type:object size:0x4 scope:local data:4byte
TRK_mainError = .bss:0x801A96C0; // type:object size:0x4 scope:local data:4byte
lbl_801A96C8 = .bss:0x801A96C8; // type:object size:0x111C data:4byte
lbl_801AA7E4 = .bss:0x801AA7E4; // type:object size:0x110C
lbl_801AB8F0 = .bss:0x801AB8F0; // type:object size:0x8 data:byte
lbl_801AB8F8 = .bss:0x801AB8F8; // type:object size:0x1400 data:4byte
lbl_801ACCF8 = .bss:0x801ACCF8; // type:object size:0xC340
lbl_801B9038 = .bss:0x801B9038; // type:object size:0x100 data:2byte
lbl_801B9138 = .bss:0x801B9138; // type:object size:0x240
lbl_801B9378 = .bss:0x801B9378; // type:object size:0x214 data:4byte
lbl_801B958C = .bss:0x801B958C; // type:object size:0x600 data:float
lbl_801B9B8C = .bss:0x801B9B8C; // type:object size:0x40 data:byte
lbl_801B9BCC = .bss:0x801B9BCC; // type:object size:0x180
lbl_801B9D4C = .bss:0x801B9D4C; // type:object size:0x20 data:4byte
lbl_801B9D6C = .bss:0x801B9D6C; // type:object size:0x20 data:4byte
lbl_801B9D8C = .bss:0x801B9D8C; // type:object size:0x20 data:4byte
lbl_801B9DAC = .bss:0x801B9DAC; // type:object size:0x20 data:4byte
lbl_801B9DCC = .bss:0x801B9DCC; // type:object size:0x10 data:byte
lbl_801B9DDC = .bss:0x801B9DDC; // type:object size:0x40 data:4byte
lbl_801B9E1C = .bss:0x801B9E1C; // type:object size:0x480
lbl_801BA29C = .bss:0x801BA29C; // type:object size:0x484
lbl_801BA720 = .bss:0x801BA720; // type:object size:0x337
lbl_801BAA57 = .bss:0x801BAA57; // type:object size:0x15C9
lbl_801BC020 = .bss:0x801BC020; // type:object size:0x800
lbl_801BC820 = .bss:0x801BC820; // type:object size:0xC00
lbl_801BD420 = .bss:0x801BD420; // type:object size:0x4000
lbl_801C1420 = .bss:0x801C1420; // type:object size:0x600 data:4byte
lbl_801C1A20 = .bss:0x801C1A20; // type:object size:0x1EF
lbl_801C1C0F = .bss:0x801C1C0F; // type:object size:0x10
lbl_801C1C1F = .bss:0x801C1C1F; // type:object size:0x201
lbl_801C1E20 = .bss:0x801C1E20; // type:object size:0x800 data:2byte
lbl_801C2620 = .bss:0x801C2620; // type:object size:0x4000
lbl_801C6620 = .bss:0x801C6620; // type:object size:0x20 data:2byte
lbl_801C6640 = .bss:0x801C6640; // type:object size:0xC
lbl_801C664C = .bss:0x801C664C; // type:object size:0xC data:2byte
gWritePos = .bss:0x801A96C8; // type:object size:0x4 scope:local data:4byte
gReadPos = .bss:0x801A96CC; // type:object size:0x4 scope:local data:4byte
gReadCount = .bss:0x801A96D0; // type:object size:0x4 scope:local data:4byte
_MetroTRK_Has_Framing = .bss:0x801A96D4; // type:object size:0x4 data:4byte
gReadBuf = .bss:0x801A96D8; // type:object size:0x110A scope:local
gWriteBuf = .bss:0x801AA7E4; // type:object size:0x110A scope:local
bUseSerialIO = .bss:0x801AB8F0; // type:object size:0x1 scope:local data:byte
seqNote = .bss:0x801AB8F8; // type:object size:0x1400 scope:local data:4byte
seqInstance = .bss:0x801ACCF8; // type:object size:0xC340
seqMIDIPriority = .bss:0x801B9038; // type:object size:0x100 scope:local data:2byte
synthTicksPerSecond = .bss:0x801B9138; // type:object size:0x240 scope:local
synthInfo = .bss:0x801B9378; // type:object size:0x214 data:4byte
synthMasterFader = .bss:0x801B958C; // type:object size:0x600 data:float
synthTrackVolume = .bss:0x801B9B8C; // type:object size:0x40 data:byte
synthJobTable = .bss:0x801B9BCC; // type:object size:0x180 scope:local
synthAuxAUser = .bss:0x801B9D4C; // type:object size:0x20 data:4byte
synthAuxACallback = .bss:0x801B9D6C; // type:object size:0x20 data:4byte
synthAuxBUser = .bss:0x801B9D8C; // type:object size:0x20 data:4byte
synthAuxBCallback = .bss:0x801B9DAC; // type:object size:0x20 data:4byte
synthITDDefault = .bss:0x801B9DCC; // type:object size:0x10 data:byte
synthGlobalVariable = .bss:0x801B9DDC; // type:object size:0x40 data:4byte
inpAuxB = .bss:0x801B9E1C; // type:object size:0x480
inpAuxA = .bss:0x801BA29C; // type:object size:0x480
streamInfo = .bss:0x801BA720; // type:object size:0x1900 data:4byte
dataKeymapTab = .bss:0x801BC020; // type:object size:0x800 scope:local
dataLayerTab = .bss:0x801BC820; // type:object size:0xC00 scope:local
dataCurveTab = .bss:0x801BD420; // type:object size:0x4000 scope:local
dataSmpSDirs = .bss:0x801C1420; // type:object size:0x600 scope:local data:4byte
dataFXGroups = .bss:0x801C1A20; // type:object size:0x400 scope:local data:2byte
dataMacMainTab = .bss:0x801C1E20; // type:object size:0x800 scope:local data:2byte
dataMacSubTabmem = .bss:0x801C2620; // type:object size:0x4000 scope:local
key$787 = .bss:0x801C6620; // type:object size:0x20 scope:local data:2byte
key$836 = .bss:0x801C6640; // type:object size:0xC scope:local
key$850 = .bss:0x801C664C; // type:object size:0xA scope:local data:2byte
lbl_801C6658 = .bss:0x801C6658; // type:object size:0x20 data:4byte
lbl_801C6678 = .bss:0x801C6678; // type:object size:0xB4F
lbl_801C71C7 = .bss:0x801C71C7; // type:object size:0x3B1
@ -6752,48 +6753,47 @@ __console_exit = .sbss:0x801D476C; // type:object size:0x4 scope:global data:4by
init$193 = .sbss:0x801D4770; // type:object size:0x1 scope:local data:byte
errno = .sbss:0x801D4778; // type:object size:0x4 data:4byte
initialized$16 = .sbss:0x801D4780; // type:object size:0x4 scope:local data:4byte
lbl_801D4788 = .sbss:0x801D4788; // type:object size:0x4 data:4byte
lbl_801D478C = .sbss:0x801D478C; // type:object size:0x1 data:byte
lbl_801D4790 = .sbss:0x801D4790; // type:object size:0x4 data:4byte
lbl_801D4794 = .sbss:0x801D4794; // type:object size:0x4 data:4byte
lbl_801D4798 = .sbss:0x801D4798; // type:object size:0x4 data:4byte
lbl_801D479C = .sbss:0x801D479C; // type:object size:0x4 data:4byte
lbl_801D47A0 = .sbss:0x801D47A0; // type:object size:0x4 data:4byte
lbl_801D47A4 = .sbss:0x801D47A4; // type:object size:0x4 data:4byte
lbl_801D47A8 = .sbss:0x801D47A8; // type:object size:0x1 data:byte
lbl_801D47A9 = .sbss:0x801D47A9; // type:object size:0x1 data:byte
lbl_801D47AC = .sbss:0x801D47AC; // type:object size:0x8 data:byte
lbl_801D47B4 = .sbss:0x801D47B4; // type:object size:0x8 data:byte
lbl_801D47BC = .sbss:0x801D47BC; // type:object size:0x8 data:byte
lbl_801D47C4 = .sbss:0x801D47C4; // type:object size:0x8 data:byte
lbl_801D47CC = .sbss:0x801D47CC; // type:object size:0x4 data:4byte
lbl_801D47D0 = .sbss:0x801D47D0; // type:object size:0x4 data:4byte
lbl_801D47D4 = .sbss:0x801D47D4; // type:object size:0x4 data:4byte
lbl_801D47D8 = .sbss:0x801D47D8; // type:object size:0x4 data:4byte
lbl_801D47DC = .sbss:0x801D47DC; // type:object size:0x4 data:4byte
lbl_801D47E0 = .sbss:0x801D47E0; // type:object size:0x8 data:byte
lbl_801D47E8 = .sbss:0x801D47E8; // type:object size:0x4 data:4byte
lbl_801D47EC = .sbss:0x801D47EC; // type:object size:0x4 data:4byte
lbl_801D47F0 = .sbss:0x801D47F0; // type:object size:0x4 data:4byte
lbl_801D47F4 = .sbss:0x801D47F4; // type:object size:0x1 data:byte
lbl_801D47F5 = .sbss:0x801D47F5; // type:object size:0x1 data:byte
lbl_801D47F8 = .sbss:0x801D47F8; // type:object size:0x4 data:4byte
lbl_801D47FC = .sbss:0x801D47FC; // type:object size:0x4 data:4byte
lbl_801D4800 = .sbss:0x801D4800; // type:object size:0x8
lbl_801D4808 = .sbss:0x801D4808; // type:object size:0x4 data:4byte
lbl_801D480C = .sbss:0x801D480C; // type:object size:0x8
lbl_801D4814 = .sbss:0x801D4814; // type:object size:0x4 data:4byte
lbl_801D4818 = .sbss:0x801D4818; // type:object size:0x4 data:4byte
lbl_801D481C = .sbss:0x801D481C; // type:object size:0x4 data:4byte
lbl_801D4820 = .sbss:0x801D4820; // type:object size:0x8
lbl_801D4828 = .sbss:0x801D4828; // type:object size:0x4 data:4byte
lbl_801D482C = .sbss:0x801D482C; // type:object size:0x4 data:4byte
lbl_801D4830 = .sbss:0x801D4830; // type:object size:0x2 data:2byte
lbl_801D4832 = .sbss:0x801D4832; // type:object size:0x2 data:2byte
lbl_801D4834 = .sbss:0x801D4834; // type:object size:0x2 data:2byte
lbl_801D4836 = .sbss:0x801D4836; // type:object size:0x2 data:2byte
lbl_801D4838 = .sbss:0x801D4838; // type:object size:0x2 data:2byte
lbl_801D483A = .sbss:0x801D483A; // type:object size:0x6 data:2byte
seq_next_id = .sbss:0x801D4788; // type:object size:0x4 scope:local data:4byte
curFadeOutState = .sbss:0x801D478C; // type:object size:0x1 scope:local data:byte
curSeqId = .sbss:0x801D4790; // type:object size:0x4 scope:local data:4byte
noteFree = .sbss:0x801D4794; // type:object size:0x4 scope:local data:4byte
cseq = .sbss:0x801D4798; // type:object size:0x4 scope:local data:4byte
seqFreeRoot = .sbss:0x801D479C; // type:object size:0x4 data:4byte
seqPausedRoot = .sbss:0x801D47A0; // type:object size:0x4 data:4byte
seqActiveRoot = .sbss:0x801D47A4; // type:object size:0x4 data:4byte
sndActive = .sbss:0x801D47A8; // type:object size:0x1 data:byte
synthJobTableIndex = .sbss:0x801D47A9; // type:object size:0x1 scope:local data:byte
synthAuxBMIDISet = .sbss:0x801D47AC; // type:object size:0x8 data:byte
synthAuxBMIDI = .sbss:0x801D47B4; // type:object size:0x8 data:byte
synthAuxAMIDISet = .sbss:0x801D47BC; // type:object size:0x8 data:byte
synthAuxAMIDI = .sbss:0x801D47C4; // type:object size:0x8 data:byte
synthMasterFaderPauseActiveFlags = .sbss:0x801D47CC; // type:object size:0x4 data:4byte
synthMasterFaderActiveFlags = .sbss:0x801D47D0; // type:object size:0x4 data:4byte
synthFlags = .sbss:0x801D47D4; // type:object size:0x4 data:4byte
synthVoice = .sbss:0x801D47D8; // type:object size:0x4 data:4byte
synthMessageCallback = .sbss:0x801D47DC; // type:object size:0x4 data:4byte
synthIdleWaitActive = .sbss:0x801D47E0; // type:object size:0x1 data:byte
synthRealTime = .sbss:0x801D47E8; // type:object size:0x8 align:8 data:4byte
nextPublicID = .sbss:0x801D47F0; // type:object size:0x4 scope:local data:4byte
streamCallDelay = .sbss:0x801D47F4; // type:object size:0x1 scope:local data:byte
streamCallCnt = .sbss:0x801D47F5; // type:object size:0x1 scope:local data:byte
result$837 = .sbss:0x801D47F8; // type:object size:0x4 data:4byte
result$823 = .sbss:0x801D47FC; // type:object size:0x4 data:4byte
key$822 = .sbss:0x801D4800; // type:object size:0x8
result$815 = .sbss:0x801D4808; // type:object size:0x4 data:4byte
key$814 = .sbss:0x801D480C; // type:object size:0x8
sheader$789 = .sbss:0x801D4814; // type:object size:0x4 data:4byte
result$788 = .sbss:0x801D4818; // type:object size:0x4 data:4byte
result$770 = .sbss:0x801D481C; // type:object size:0x4 data:4byte
key$769 = .sbss:0x801D4820; // type:object size:0x8
main$768 = .sbss:0x801D4828; // type:object size:0x4 data:4byte
base$767 = .sbss:0x801D482C; // type:object size:0x4 data:4byte
dataFXGroupNum = .sbss:0x801D4830; // type:object size:0x2 data:2byte
dataMacTotal = .sbss:0x801D4832; // type:object size:0x2 data:2byte
dataLayerNum = .sbss:0x801D4834; // type:object size:0x2 data:2byte
dataKeymapNum = .sbss:0x801D4836; // type:object size:0x2 data:2byte
dataCurveNum = .sbss:0x801D4838; // type:object size:0x2 data:2byte
dataSmpSDirNum = .sbss:0x801D483A; // type:object size:0x2 data:2byte
lbl_801D4840 = .sbss:0x801D4840; // type:object size:0x8 data:4byte
lbl_801D4848 = .sbss:0x801D4848; // type:object size:0x4 data:4byte
lbl_801D484C = .sbss:0x801D484C; // type:object size:0x4 data:4byte

View file

@ -179,6 +179,32 @@ cflags_msl = [
"-inline auto,deferred",
]
# Metrowerks library flags
cflags_trk = [
*cflags_base,
"-use_lmw_stmw on",
"-str reuse,pool,readonly",
"-common off",
"-sdata 0",
"-sdata2 0",
"-inline auto,deferred",
]
cflags_musyx = [
"-proc gekko",
"-nodefaults",
"-nosyspath",
"-i include",
"-inline auto",
"-O4,p",
"-fp hard",
"-enum int",
"-Cpp_exceptions off",
"-str reuse,pool,readonly",
"-fp_contract off",
"-DMUSY_TARGET=MUSY_TARGET_DOLPHIN",
]
# REL flags
cflags_rel = [
*cflags_base,
@ -215,6 +241,21 @@ def DolphinLib(lib_name, objects):
"objects": objects,
}
def MusyX(objects, mw_version="GC/2.6", debug=False, major=2, minor=0, patch=0):
cflags = cflags_musyx if not debug else cflags_musyx_debug
return {
"lib": "musyx",
"mw_version": mw_version,
"src_dir": "extern/musyx/src",
"host": False,
"cflags": [
*cflags,
f"-DMUSY_VERSION_MAJOR={major}",
f"-DMUSY_VERSION_MINOR={minor}",
f"-DMUSY_VERSION_PATCH={patch}",
],
"objects": objects,
}
# Helper function for REL script objects
def Rel(lib_name, objects):
@ -559,6 +600,56 @@ config.libs = [
Object(NonMatching, "MSL_C.PPCEABI.bare.H/math_ppc.c"),
],
},
{
"lib": "TRK_MINNOW_DOLPHIN",
"mw_version": config.linker_version,
"cflags": cflags_trk,
"host": False,
"objects": [
Object(NonMatching, "TRK_MINNOW_DOLPHIN/mainloop.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/nubevent.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/nubinit.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/msg.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/msgbuf.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/serpoll.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/usrput.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/dispatch.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/msghndlr.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/support.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/mutex_TRK.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/notify.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/flush_cache.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/mem_TRK.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/targimpl.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/targsupp.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/dolphin_trk.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/mpc_7xx_603e.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/dolphin_trk_glue.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/targcont.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/target_options.c"),
Object(NonMatching, "TRK_MINNOW_DOLPHIN/mslsupp.c"),
],
},
MusyX(
objects={
Object(NonMatching, "musyx/runtime/seq.c"),
Object(NonMatching, "musyx/runtime/synth.c"),
Object(NonMatching, "musyx/runtime/seq_api.c"),
Object(NonMatching, "musyx/runtime/snd_synthapi.c"),
Object(NonMatching, "musyx/runtime/stream.c"),
Object(NonMatching, "musyx/runtime/synthdata.c"),
}
),
{
"lib": "musyx",
"mw_version": config.linker_version,
"cflags": cflags_rel,
"host": False,
"objects": [
Object(Matching, "REL/executor.c"),
Object(Matching, "REL/empty.c"), # Must be marked as matching
],
},
{
"lib": "REL",
"mw_version": config.linker_version,