1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-16 04:44:44 +00:00

Audio WIP (#836)

* being code_800EC960

* wip

* wip

* more audio progress

* migrate data in code_800E11F0

* wip

* make ok

* remove asm

* wip

* move some variables outside of gAudioContext to the AudioContext structure due to the size used in func_800E3094

* more progress

* wip

* wip

* split code_800E11F0

* migrate rodata in code_800E11F0

* match functions that couldn't because of data issues

* move code_800E4FE0 asm files

* wip

* more wip

* fix global functions, and forward declarations

* wip

* wip

* wip

* ocarina wip

* match a couple functions

* some progress

* separate some bss

* match func_800EDA3C

* some matching

* more matches

* migrate audio rodata

* some matches

* more matchess

* start on synthesis

* work on synthesis

* fix function declaration

* Merge branch 'master' into audio

* match a few more functions

* wip

* wip

* more matching, rename Audio_SetBGM to Audio_QueueSeqCmd

* name several audio functions, and audiocontext members

* more naming, rename code_800E11F0 to audio_load, code_800DAAC0 to audio_synthesis

* audio wip

* match a few more functions.

* wip

* add missing NON_MATCHING directive

* wip

* some matching, data reogranization

* match cursed function

* wip

* wip

* formatting

* remove prefix from struct memebers

* missed function rename

* review

Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
krimtonz 2021-07-27 18:44:58 -05:00 committed by GitHub
parent cc9a04feb4
commit d1a5ea5110
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
429 changed files with 9047 additions and 17038 deletions

View file

@ -1,304 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .bss
.balign 16
glabel D_8016B6E0
.space 0x18
glabel D_8016B6F8
.space 0x40
glabel D_8016B738
.space 0x48
glabel D_8016B780
.space 0x20
glabel D_8016B7A0
.space 0x4
glabel D_8016B7A4
.space 0x4
glabel D_8016B7A8
.space 0x4
glabel D_8016B7AC
.space 0x4
glabel D_8016B7B0
.space 0x8
glabel D_8016B7B8
.space 0x10
glabel D_8016B7C8
.space 0x10
glabel D_8016B7D8
.space 0x4
glabel D_8016B7DC
.space 0x4
glabel D_8016B7E0
.space 0x8
glabel D_8016B7E8
.space 0x6
glabel D_8016B7EE
.space 0xC2
glabel D_8016B8B0
.space 0x1
glabel D_8016B8B1
.space 0x1
glabel D_8016B8B2
.space 0x1
glabel D_8016B8B3
.space 0x1
glabel D_8016B8B4
.space 0x4
glabel D_8016B8B8
.space 0xA
glabel D_8016B8C2
.space 0xF6
glabel D_8016B9B8
.space 0x20
glabel D_8016B9D8
.space 0x8
glabel D_8016B9E0
.space 0x12
glabel D_8016B9F2
.space 0x1
glabel D_8016B9F3
.space 0x1
glabel D_8016B9F4
.space 0x2
glabel D_8016B9F6
.space 0x2
glabel D_8016B9F8
.space 0x1
glabel D_8016B9F9
.space 0x3
glabel D_8016B9FC
.space 0x4
glabel D_8016BA00
.space 0x4
glabel D_8016BA04
.space 0x4
glabel D_8016BA08
.space 0x1
glabel D_8016BA09
.space 0x3
glabel D_8016BA0C
.space 0x4
glabel D_8016BA10
.space 0x4
glabel D_8016BA14
.space 0x4
glabel D_8016BA18
.space 0x8
glabel D_8016BA20
.space 0x8
glabel D_8016BA28
.space 0x1
glabel D_8016BA29
.space 0x1
glabel D_8016BA2A
.space 0x1
glabel D_8016BA2B
.space 0x1
glabel D_8016BA2C
.space 0x2
glabel D_8016BA2E
.space 0x2
glabel D_8016BA30
.space 0x20
glabel D_8016BA50
.space 0x20
glabel D_8016BA70
.space 0x20
glabel D_8016BA90
.space 0x10
glabel D_8016BAA0
.space 0x8
glabel D_8016BAA8
.space 0x4
glabel D_8016BAAC
.space 0x4
glabel D_8016BAB0
.space 0x4
glabel D_8016BAB4
.space 0x4
glabel D_8016BAB8
.space 0x4
glabel D_8016BABC
.space 0x4
glabel D_8016BAC0
.space 0x10
glabel D_8016BAD0
.space 0x1B0
glabel D_8016BC80
.space 0x240
glabel D_8016BEC0
.space 0x420
glabel D_8016C2E0
.space 0x3C0
glabel D_8016C6A0
.space 0x180
glabel D_8016C820
.space 0x90
glabel D_8016C8B0
.space 0xF0
glabel D_8016C9A0
.space 0x1800
glabel D_8016E1A0
.space 0x8
glabel D_8016E1A8
.space 0x8
glabel D_8016E1B0
.space 0x8
glabel D_8016E1B8
.space 0xA8
glabel D_8016E260
.space 0x4
glabel D_8016E264
.space 0xC
glabel D_8016E270
.space 0x70
glabel D_8016E2E0
.space 0x18
glabel D_8016E2F8
.space 0x18
glabel D_8016E310
.space 0x10
glabel D_8016E320
.space 0x28
glabel D_8016E348
.space 0x8
glabel D_8016E350
.space 0x400
glabel D_8016E750
.space 0x254
glabel D_8016E9A4
.space 0x4E7
glabel D_8016EE8B
.space 0x2F5
glabel gAudioContext
.space 0x5b98
glabel gNoteFreeLists
.space 0x10
glabel D_80174D28
.space 0x10
glabel D_80174D38
.space 0x10
glabel D_80174D48
.space 0x1C
glabel D_80174D64
.space 0x4
glabel D_80174D68
.space 0x8
glabel D_80174D70
.space 0x18
glabel D_80174D88
.space 0x18
glabel D_80174DA0
.space 0x18
glabel D_80174DB8
.space 0x4
glabel D_80174DBC
.space 0x4
glabel D_80174DC0
.space 0x810
glabel D_801755D0
.space 0x20

View file

@ -1,37 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel D_801304D0
.word osEPiStartDma
glabel D_801304D4
.incbin "baserom.z64", 0xBA7674, 0x4
glabel D_801304D8
.incbin "baserom.z64", 0xBA7678, 0x4
glabel D_801304DC
.incbin "baserom.z64", 0xBA767C, 0x4
glabel D_801304E0
.incbin "baserom.z64", 0xBA7680, 0x4
glabel D_801304E4
.incbin "baserom.z64", 0xBA7684, 0x4
glabel D_801304E8
.incbin "baserom.z64", 0xBA7688, 0x4
glabel D_801304EC
.incbin "baserom.z64", 0xBA768C, 0x4
glabel D_801304F0
.incbin "baserom.z64", 0xBA7690, 0x10

View file

@ -1,138 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80149420
.asciz "SUPERDMA"
.balign 4
glabel D_8014942C
.asciz "FastCopy"
.balign 4
glabel D_80149438
.asciz "FastCopy"
.balign 4
glabel D_80149444
.asciz "SLOWCOPY"
.balign 4
glabel D_80149450
.asciz "BGCOPY"
.balign 4
glabel jtbl_80149458
.word L800E2610
.word L800E2630
.word L800E2654
.word L800E2678
.word L800E2678
glabel jtbl_8014946C
.word L800E2E30
.word L800E2E5C
.word L800E2E80
.word L800E2EA4
.word L800E2EA4
glabel D_80149480
.float 20.03042
glabel D_80149484
.float 16.546
glabel D_80149488
.float 16.713
.balign 16 # file split?
glabel jtbl_80149490
.word L800E58AC
.word L800E58AC
.word L800E58AC
.word L800E593C
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E569C
.word L800E56B0
.word L800E5700
.word L800E57D8
.word L800E57F0
.word L800E5810
.word L800E5850
.word L800E5944
.word L800E5944
.word L800E5880
.word L800E5944
.word L800E589C
.word L800E5830
.word L800E5944
.word L800E58C8
glabel jtbl_8014950C
.word L800E55EC
.word L800E5600
.word L800E563C
.word L800E5944
.word L800E5624
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5944
.word L800E5860
glabel jtbl_8014954C
.word L800E6150
.word L800E62F8
.word L800E62F8
.word L800E62F8
.word L800E62F8
.word L800E61C4
.word L800E617C
.word L800E61B8
.word L800E6194
.word L800E61D8
.word L800E61F8
.word L800E6268
.word L800E62B8
.word L800E61AC
glabel jtbl_80149584
.word L800E6328
.word L800E6354
.word L800E6380
.word L800E63C8
.word L800E63F4
.word L800E640C
.word L800E63A4
.word L800E642C
.word L800E644C
.word L800E6458
.word L800E6470
.word L800E6488
.word L800E6494
.word L800E64A0

View file

@ -42,7 +42,7 @@ glabel D_801305CC
glabel D_801305D0
.incbin "baserom.z64", 0xBA7770, 0x10
glabel D_801305E0
glabel sPrevChargeLevel
.incbin "baserom.z64", 0xBA7780, 0x4
glabel D_801305E4
@ -132,34 +132,34 @@ glabel D_801306C8
glabel D_801306DC
.incbin "baserom.z64", 0xBA787C, 0x820
glabel D_80130EFC
glabel sOcarinaAllowedBtnMask
.incbin "baserom.z64", 0xBA809C, 0x4
glabel D_80130F00
glabel sOcarinaABtnMap
.incbin "baserom.z64", 0xBA80A0, 0x4
glabel D_80130F04
glabel sOcarinaCUPBtnMap
.incbin "baserom.z64", 0xBA80A4, 0x4
glabel D_80130F08
glabel sOcarinaCDownBtnMap
.incbin "baserom.z64", 0xBA80A8, 0x4
glabel D_80130F0C
glabel sOcarinaInpEnabled
.incbin "baserom.z64", 0xBA80AC, 0x4
glabel D_80130F10
.incbin "baserom.z64", 0xBA80B0, 0x4
glabel D_80130F14
glabel sCurOcarinaBtnVal
.incbin "baserom.z64", 0xBA80B4, 0x4
glabel D_80130F18
glabel sPrevOcarinaNoteVal
.incbin "baserom.z64", 0xBA80B8, 0x4
glabel D_80130F1C
glabel sCurOcarinaBtnIdx
.incbin "baserom.z64", 0xBA80BC, 0x4
glabel D_80130F20
glabel sLearnSongLastBtn
.incbin "baserom.z64", 0xBA80C0, 0x4
glabel D_80130F24
@ -177,7 +177,7 @@ glabel D_80130F30
glabel D_80130F34
.incbin "baserom.z64", 0xBA80D4, 0x4
glabel D_80130F38
glabel sPlaybackState
.incbin "baserom.z64", 0xBA80D8, 0x4
glabel D_80130F3C
@ -186,68 +186,56 @@ glabel D_80130F3C
glabel D_80130F3E
.incbin "baserom.z64", 0xBA80DE, 0x2
glabel D_80130F40
glabel sNotePlaybackTimer
.incbin "baserom.z64", 0xBA80E0, 0x4
glabel D_80130F44
glabel sPlaybackNotePos
.incbin "baserom.z64", 0xBA80E4, 0x4
glabel D_80130F48
glabel sStaffPlaybackPos
.incbin "baserom.z64", 0xBA80E8, 0x4
glabel D_80130F4C
.incbin "baserom.z64", 0xBA80EC, 0x4
glabel D_80130F50
glabel sDisplayedNoteValue
.incbin "baserom.z64", 0xBA80F0, 0x4
glabel D_80130F54
glabel sNotePlaybackVolume
.incbin "baserom.z64", 0xBA80F4, 0x4
glabel D_80130F58
glabel sNotePlaybackVibrato
.incbin "baserom.z64", 0xBA80F8, 0x4
glabel D_80130F5C
glabel sNotePlaybackTone
.incbin "baserom.z64", 0xBA80FC, 0x4
glabel D_80130F60
glabel sNormalizedNotePlaybackTone
.incbin "baserom.z64", 0xBA8100, 0x4
glabel D_80130F64
glabel sNormalizedNotePlaybackVolume
.incbin "baserom.z64", 0xBA8104, 0x4
glabel D_80130F68
.incbin "baserom.z64", 0xBA8108, 0x4
glabel D_80130F6C
glabel sOcarinaNoteValues
.incbin "baserom.z64", 0xBA810C, 0x8
glabel D_80130F74
glabel sOcaMinigameApndPos
.incbin "baserom.z64", 0xBA8114, 0x4
glabel D_80130F78
glabel sOcaMinigameEndPos
.incbin "baserom.z64", 0xBA8118, 0x4
glabel D_80130F7C
glabel sOcaMinigameNoteCnts
.incbin "baserom.z64", 0xBA811C, 0x4
glabel D_80130F80
.incbin "baserom.z64", 0xBA8120, 0x180
glabel sOcarinaSongs
.incbin "baserom.z64", 0xBA8120, 0x8C0
glabel D_80131100
.incbin "baserom.z64", 0xBA82A0, 0x600
glabel D_80131700
.incbin "baserom.z64", 0xBA88A0, 0xC
glabel D_8013170C
.incbin "baserom.z64", 0xBA88AC, 0x94
glabel D_801317A0
.incbin "baserom.z64", 0xBA8940, 0xA0
glabel D_80131840
.word D_80130F80
glabel sPlaybackSong
.word sOcarinaSongs
glabel D_80131844
.incbin "baserom.z64", 0xBA89E4, 0x10
@ -258,7 +246,7 @@ glabel gFrogsSongPtr
glabel D_80131858
.incbin "baserom.z64", 0xBA89F8, 0x4
glabel D_8013185C
glabel sRecordSongPos
.incbin "baserom.z64", 0xBA89FC, 0x4
glabel D_80131860
@ -288,25 +276,22 @@ glabel D_8013187C
glabel D_80131880
.incbin "baserom.z64", 0xBA8A20, 0x4
glabel D_80131884
.incbin "baserom.z64", 0xBA8A24, 0x8
glabel D_8013188C
.incbin "baserom.z64", 0xBA8A2C, 0x358
glabel sPierresSong
.incbin "baserom.z64", 0xBA8A24, 0x360
glabel gScarecrowCustomSongPtr
.word D_80131884
.word sPierresSong
glabel gScarecrowSpawnSongPtr
.word D_80131700
.word sOcarinaSongs+0x780
glabel D_80131BEC
.word D_801317A0
.word sOcarinaSongs+0x820
glabel D_80131BF0
glabel sNoteValueIndexMap
.incbin "baserom.z64", 0xBA8D90, 0x10
glabel D_80131C00
glabel gOcarinaSongNotes
.incbin "baserom.z64", 0xBA8DA0, 0x80
glabel D_80131C80
@ -497,4 +482,3 @@ glabel D_8013331C
.word D_80132FDC
.word D_801330FC
.word D_8013311C
.incbin "baserom.z64", 0xBAA4D8, 0x8

85
data/code_800F7260.bss.s Normal file
View file

@ -0,0 +1,85 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .bss
.balign 16
glabel D_8016BAD0
.space 0x1B0
glabel D_8016BC80
.space 0x240
glabel D_8016BEC0
.space 0x420
glabel D_8016C2E0
.space 0x3C0
glabel D_8016C6A0
.space 0x180
glabel D_8016C820
.space 0x90
glabel D_8016C8B0
.space 0xF0
glabel D_8016C9A0
.space 0x1800
glabel D_8016E1A0
.space 0x8
glabel D_8016E1A8
.space 0x8
glabel D_8016E1B0
.space 0x8
glabel D_8016E1B8
.space 0xA8
glabel D_8016E260
.space 0x4
glabel D_8016E264
.space 0xC
glabel D_8016E270
.space 0x70
glabel D_8016E2E0
.space 0x18
glabel D_8016E2F8
.space 0x18
glabel D_8016E310
.space 0x10
glabel D_8016E320
.space 0x28
glabel D_8016E348
.space 0x8
glabel sAudioSeqCmds
.space 0x400
glabel D_8016E750
.space 0x990
glabel D_8016F0E0 # unused?
.space 0xA0
glabel gAudioContext
.space 0x6450
glabel D_801755D0
.space 0x20

View file

@ -9,10 +9,10 @@
.balign 16
glabel D_80133400
glabel sSeqCmdWrPos
.incbin "baserom.z64", 0xBAA5A0, 0x4
glabel D_80133404
glabel sSeqCmdRdPos
.incbin "baserom.z64", 0xBAA5A4, 0x4
glabel D_80133408
@ -64,82 +64,41 @@ glabel D_80133738
.incbin "baserom.z64", 0xBAA8D8, 0x90
glabel gAudioSessionPresets
.incbin "baserom.z64", 0xBAA968, 0x5
glabel D_801337CD
.incbin "baserom.z64", 0xBAA96D, 0x1
glabel D_801337CE
.incbin "baserom.z64", 0xBAA96E, 0x6
glabel D_801337D4
.incbin "baserom.z64", 0xBAA968, 0xC
.word D_80133420
.incbin "baserom.z64", 0xBAA978, 0x34
glabel D_8013380C
.word D_80133468
.incbin "baserom.z64", 0xBAA9B0, 0x34
glabel D_80133844
.word D_801334B0
.incbin "baserom.z64", 0xBAA9E8, 0x34
glabel D_8013387C
.word D_80133540
.incbin "baserom.z64", 0xBAAA20, 0x34
glabel D_801338B4
.word D_80133588
.incbin "baserom.z64", 0xBAAA58, 0x34
glabel D_801338EC
.word D_801335D0
.incbin "baserom.z64", 0xBAAA90, 0x34
glabel D_80133924
.word D_80133618
.incbin "baserom.z64", 0xBAAAC8, 0x34
glabel D_8013395C
.word D_80133660
.incbin "baserom.z64", 0xBAAB00, 0x34
glabel D_80133994
.word D_801336A8
.incbin "baserom.z64", 0xBAAB38, 0x34
glabel D_801339CC
.word D_80133660
.incbin "baserom.z64", 0xBAAB70, 0x34
glabel D_80133A04
.word D_801336F0
.incbin "baserom.z64", 0xBAABA8, 0x34
glabel D_80133A3C
.word D_80133738
.incbin "baserom.z64", 0xBAABE0, 0x34
glabel D_80133A74
.word D_80133738
.incbin "baserom.z64", 0xBAAC18, 0x34
glabel D_80133AAC
.word D_80133420
.incbin "baserom.z64", 0xBAAC50, 0x34
glabel D_80133AE4
.word D_80133660
.incbin "baserom.z64", 0xBAAC88, 0x34
glabel D_80133B1C
.word D_80133420
.incbin "baserom.z64", 0xBAACC0, 0x34
glabel D_80133B54
.word D_80133420
.incbin "baserom.z64", 0xBAACF8, 0x34
glabel D_80133B8C
.word D_801334B0
.incbin "baserom.z64", 0xBAAD30, 0x30

View file

@ -1,62 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel jtbl_8014A640
.word L800F9588
.word L800F95F4
.word L800F9614
.word L800F97E4
.word L800F9940
.word L800F9A00
.word L800F9BD8
.word L800F9CE4
.word L800F9D20
.word L800F9DB4
.word L800F9DE8
.word L800F9E84
.word L800F9EB8
.word L800F9B00
.word L800F9F68
.word L800F9FB8
glabel jtbl_8014A680
.word L800FAAE4
.word L800FAB28
.word L800FAB48
.word L800FAB84
.word L800FABAC
.word L800FABD0
.word L800FAC18
.word L800FAAFC
.word L800FAC24
.word L800FAC84
.word L800FACA4
.word L800FACD4
.word L800FACD4
.word L800FACD4
.word L800FAC3C
.balign 16 # file split? const data below used in multiple files
glabel D_8014A6C0
.half 0x1C00
glabel gTatumsPerBeat
.half 0x0030
glabel D_8014A6C4
.word 0x37F00
glabel D_8014A6C8
.word 0xE0E0
glabel D_8014A6CC
.word 0xBCE0

View file

@ -9,16 +9,16 @@
.balign 16
glabel D_801550D0
glabel gAudioBankTable
.incbin "baserom.z64", 0xBCC270, 0x270
glabel D_80155340
.incbin "baserom.z64", 0xBCC4E0, 0x1C0
glabel D_80155500
glabel gSequenceTable
.incbin "baserom.z64", 0xBCC6A0, 0x6F0
glabel D_80155BF0
glabel gAudioTable
.incbin "baserom.z64", 0xBCCD90, 0x80
glabel D_80155C70