jaudio_NES/sample.c

Co-authored-by: SwareJonge <41187958+SwareJonge@users.noreply.github.com>
This commit is contained in:
Cuyler36
2024-06-03 13:50:57 -04:00
committed by Cuyler36
parent 5914ad6698
commit 94858cd9fe
9 changed files with 636 additions and 298 deletions
+4
View File
@@ -447,6 +447,9 @@ JAUDIO_BASE = CFLAGS + [
"-enum int",
"-common on"
] + DOL_DEFINES
JAUDIO_SAMPLE = [
"-func_align 32"
]
JSYSTEM_CFLAGS = ' '.join(JSYSTEM_BASE + LOCAL_CFLAGS)
JSYSTEM_JGADGET_CFLAGS = ' '.join(JSYSTEM_JGADGET_BASE + LOCAL_CFLAGS)
@@ -464,6 +467,7 @@ EXTERNAL_REL_CFLAGS = ' '.join(BASE_REL_CFLAGS)
PREPROCESS_CFLAGS = ' '.join(PREPROCESSOR_CFLAGS)
FAMICOM_CLFAGS = ' '.join(FAMICOM_BASE + LOCAL_CFLAGS)
JAUDIO_CFLAGS = ' '.join(JAUDIO_BASE + LOCAL_CFLAGS)
JAUDIO_SAMPLE_CFLAGS = ' '.join(JAUDIO_BASE + JAUDIO_SAMPLE + LOCAL_CFLAGS)
DOL_LDFLAGS = ' '.join([
"-maxerrors 1",
+1
View File
@@ -4,6 +4,7 @@ blocked_pointers:
blocked_targets:
- 0x800A97E0 # boot.c local static const tbl, also start of .rodata
- 0x80008000
- 0x80018800
- 0x801F6C7C # tcs_bad
- 0x801F6C7D # ics_bad
- 0x800a9a90
+1
View File
@@ -1,6 +1,7 @@
trim_ctors: true
symbol_aligns:
0x80018920: 32
0x80207458: 8 # align RunQueue to 0x001251d8
0x800b9140: 32 # align gam_win_moji1_tex to 32 bytes
0x801f71c0: 32 # align texture_buffer_data to 32 bytes
+299 -297
View File
@@ -1,297 +1,299 @@
ctors.s:
.ctors: [0x800a97b4, 0x800a97c0] # remove trailing 0s from ctor area
#dolphin/os/__start.c:
# .init: [0x80003100, 0x80003354]
dolphin/__ppc_eabi_init.cpp:
.init: [0x80003354, 0x800033a8]
.text: [0x8007fdfc, 0x8007fe90]
runtime/__mem.c:
.init: [0x800033a8, 0x800034e0]
TRK/init/mem_TRK.c:
.init: [0x800034e0, 0x80003534]
asm/__exception.s:
.init: [0x80003534, 0x80005468]
boot.c:
.text: [0x800056c0, 0x8000663c]
.rodata: [0x800a97e0, 0x800a97e8]
.data: [0x800af860, 0x800afe50]
.bss: [0x800e2280, 0x800e2318]
jsyswrap.cpp:
.text: [0x8000663c, 0x80007188]
.ctors: [0x800a9784, 0x800a9788]
.data: [0x800afe50, 0x800b05e8]
.bss: [0x800e2318, 0x800e2640]
version.c:
.data: [0x800b05e8, 0x800b0608]
initial_menu.c:
.text: [0x80007188, 0x80007e58]
.rodata: [0x800a97e8, 0x800a97f8]
.data: [0x800b0608, 0x800b0a60]
.bss: [0x800e2640, 0x800e2790]
dvderr.c:
.text: [0x80007e58, 0x800083f8]
.rodata: [0x800a97f8, 0x800a9838]
.data: [0x800b0a60, 0x800b9140]
.bss: [0x800e2790, 0x800e2b88]
bootdata/gam_win1.c:
.data: [0x800b9140, 0x800bb500]
bootdata/gam_win2.c:
.data: [0x800bb500, 0x800bd820]
bootdata/gam_win3.c:
.data: [0x800bd820, 0x800be460]
bootdata/logo_nin.c:
.data: [0x800be460, 0x800c3140]
nintendo_hi_0.c:
.data: [0x800c3140, 0x800cca40]
jaudio_NES/dummyprobe.c:
.text: [0x800083f8, 0x80008400]
# jaudio_NES/game64.c: # TODO: finish
# .rodata: [0x800a9938, 0x800a9b98]
#jaudio_NES/verysimple.c:
# .text: [0x80008400, 0x80008480]
# .sdata: [0x80217b80, 0x80217b88]
Famicom/famicom.cpp:
.text: [0x80041614, 0x80046888] # TODO: get ~J2DOrthoGraph's dtor in here somehow? 0x800468fc, also add in JUTGamePad::getPortStatus when JUTGamePad is linked?
.rodata: [0x800aa9a8, 0x800aaa30]
.data: [0x800d8778, 0x800d99a0]
.bss: [0x801ef540, 0x801f6bd8]
Famicom/famicom_nesinfo.cpp:
.text: [0x800468fc, 0x80047e40]
.rodata: [0x800aaa30, 0x800aab60]
.data: [0x800d99a0, 0x800da9c8]
.bss: [0x801f6bd8, 0x801f6c80]
GBA2/JoyBoot.c:
.text: [0x80049788, 0x8004ae00]
.data: [0x800daa08, 0x800daaa0]
.bss: [0x801f7180, 0x801f71c0]
libforest/osreport.c:
.text: [0x8005a654, 0x8005a92c]
.data: [0x800dc6d8, 0x800dc738]
.bss: [0x80206f08, 0x80206f20]
.sbss: [0x80218618, 0x80218628]
libforest/fault.c:
.text: [0x8005a92c, 0x8005adac]
.data: [0x800dc738, 0x800dc7c8]
.bss: [0x80206f20, 0x80206f30]
.sbss: [0x80218628, 0x80218630]
libforest/ReconfigBATs.c:
.text: [0x8005adac, 0x8005aed4]
libu64/debug.c:
.text: [0x8005aed4, 0x8005af30]
.data: [0x800dc7c8, 0x800dc7f0]
libu64/gfxprint.c:
.text: [0x8005af30, 0x8005b9a8]
.data: [0x800dc7f0, 0x800dc810]
.sbss: [0x80218630, 0x80218638]
libu64/gfxprint_data.c:
.data: [0x800dc810, 0x800dd090]
libu64/pad.c:
.text: [0x8005b9a8, 0x8005ba2c]
libc64/aprintf.c:
.text: [0x8005cbdc, 0x8005cc14]
libc64/math64.c:
.text: [0x8005cc14, 0x8005cccc]
.sdata2: [0x80219118, 0x80219130]
libc64/qrand.c:
.text: [0x8005cccc, 0x8005cd64]
.sdata: [0x80217de8, 0x80217df0]
.sbss: [0x80218640, 0x80218648]
.sdata2: [0x80219130, 0x80219138]
libc64/sprintf.c:
.text: [0x8005ce18, 0x8005cf08]
libc64/malloc.c:
.text: [0x8005cf08, 0x8005d01c]
.bss: [0x80206F30, 0x80206F60]
libultra/ultra.c:
.text: [0x8005d01c, 0x8005d15c]
.bss: [0x80206f60, 0x80206fa0]
#libultra/gu/scale.c:
# .text: [0x8005e7d4, 0x8005e860]
# .sdata2: [0x80219208, 0x80219210]
#libultra/gu/translate.c:
# .text: [0x8005e8ac, 0x8005e918]
libultra/gu/sins.c:
.text: [0x8005e860, 0x8005e8ac]
.data: [0x800dd360, 0x800ddb60]
#libultra/xldtob.c:
# .text: [0x8005e918, 0x8005f2a0]
# .rodata: [0x800ab110, 0x800ab158]
# .sdata: [0x80217df8, 0x80217e08]
# .sdata2: [0x80219210, 0x80219230]
#libultra/xlitob.c:
# .text: [0x8005f2a0, 0x8005f4cc]
# .data: [0x800ddb60, 0x800ddb88]
#libultra/xprintf.c:
# .text: [0x8005f4cc, 0x8005ff74]
# .rodata: [0x800ab158, 0x800ab170]
# .data: [0x800ddb88, 0x800ddd20]
# .sdata: [0x80217e08, 0x80217e10]
# .sdata2: [0x80219230, 0x80219238]
JSystem/JKernel/JKRHeap.cpp:
.text: [0x80063748, 0x80064028]
.data: [0x800ddf20, 0x800ddf98]
.sdata: [0x80217e58, 0x80217e80]
.sbss: [0x802186d8, 0x80218700]
JSystem/JKernel/JKRExpHeap.cpp:
.text: [0x80064028, 0x80065aa0]
.data: [0x800ddf98, 0x800de3a8]
.sdata: [0x80217e80, 0x80217ec0]
.sbss: [0x80218700, 0x80218720]
.sdata2: [0x80219278, 0x80219288]
JSystem/JKernel/JKRDisposer.cpp:
.text: [0x80065aa0, 0x80065b8c]
.data: [0x800de3a8, 0x800de3c0]
.sdata: [0x80217ec0, 0x80217ec8]
JSystem/JKernel/JKRThread.cpp:
.text: [0x80065b8c, 0x80065ef0]
.ctors: [0x800a978c, 0x800a9790]
.data: [0x800de3c0, 0x800de3f8]
.bss: [0x80207008, 0x80207020]
.sdata: [0x80217ec8, 0x80217ed8]
JSystem/JKernel/JKRAram.cpp:
.text: [0x80065ef8, 0x80066e84]
.ctors: [0x800a9790, 0x800a9794]
.data: [0x800de3f8, 0x800de4c0]
.bss: [0x80207020, 0x80207038]
.sdata: [0x80217ed8, 0x80217ef8]
.sbss: [0x80218720, 0x80218758]
JSystem/JKernel/JKRAramHeap.cpp:
.text: [0x80066e84, 0x80067258]
.ctors: [0x800a9794, 0x800a9798]
.data: [0x800de4c0, 0x800de4f0]
.bss: [0x80207038, 0x80207050]
.sdata: [0x80217ef8, 0x80217f08]
JSystem/JKernel/JKRAramBlock.cpp:
.text: [0x80067258, 0x800674c8]
.data: [0x800de4f0, 0x800de510]
.sdata: [0x80217f08, 0x80217f10]
JSystem/JKernel/JKRAramPiece.cpp:
.text: [0x800674c8, 0x80067a88]
.ctors: [0x800a9798, 0x800a979c]
.data: [0x800de510, 0x800de568]
.bss: [0x80207050, 0x80207080]
.sdata: [0x80217f10, 0x80217f18]
JSystem/JKernel/JKRAramStream.cpp:
.text: [0x80067a88, 0x80067ff4]
.data: [0x800de568, 0x800de608]
.sdata: [0x80217f18, 0x80217f38]
.sbss: [0x80218758, 0x80218768]
JSystem/JKernel/JKRFileLoader.cpp:
.text: [0x80067ff4, 0x800685b0]
.ctors: [0x800a979c, 0x800a97a0]
.data: [0x800de608, 0x800de670]
.bss: [0x80207080, 0x80207098]
.sdata: [0x80217f38, 0x80217f50]
.sbss: [0x80218768, 0x80218770]
JSystem/JKernel/JKRFileFinder.cpp:
.text: [0x800685b0, 0x80068744]
.data: [0x800de670, 0x800de6b0]
.sdata: [0x80217f50, 0x80217f60]
JSystem/JKernel/JKRArchivePub.cpp:
.text: [0x80068744, 0x80068ed0]
.data: [0x800de6b0, 0x800de740]
.sdata: [0x80217f60, 0x80217f78]
JSystem/JKernel/JKRArchivePri.cpp:
.text: [0x80068ed0, 0x80069530]
.sbss: [0x80218770, 0x80218778]
JSystem/JKernel/JKRMemArchive.cpp:
.text: [0x80069530, 0x80069a28]
.data: [0x800de740, 0x800de828]
.sdata: [0x80217f78, 0x80217f98]
JSystem/JKernel/JKRAramArchive.cpp:
.text: [0x80069a28, 0x8006a4fc]
.data: [0x800de828, 0x800de938]
.sdata: [0x80217f98, 0x80217fc8]
JSystem/JKernel/JKRDvdArchive.cpp:
.text: [0x8006a4fc, 0x8006add0]
.data: [0x800de938, 0x800dea70]
.sdata: [0x80217fc8, 0x80217fe8]
JSystem/JKernel/JKRCompArchive.cpp:
.text: [0x8006add0, 0x8006b8a4]
.data: [0x800dea70, 0x800deba8]
.sdata: [0x80217fe8, 0x80218008]
JSystem/JKernel/JKRDvdFile.cpp:
.text: [0x8006b8a4, 0x8006be0c]
.ctors: [0x800a97a0, 0x800a97a4]
.data: [0x800deba8, 0x800dec30]
.bss: [0x80207098, 0x802070b0]
.sdata: [0x80218008, 0x80218028]
JSystem/JKernel/JKRDvdRipper.cpp:
.text: [0x8006be0c, 0x8006c8fc]
.ctors: [0x800a97a4, 0x800a97a8]
.data: [0x800dec30, 0x800dec90]
.bss: [0x802070b0, 0x802070c8]
.sdata: [0x80218028, 0x80218030]
.sbss: [0x80218778, 0x802187a8]
JSystem/JKernel/JKRDvdAramRipper.cpp:
.text: [0x8006c8fc, 0x8006d608]
.ctors: [0x800a97a8, 0x800a97ac]
.bss: [0x802070c8, 0x802070e0]
.sdata: [0x80218030, 0x80218038]
.sbss: [0x802187a8, 0x802187e8]
JSystem/JKernel/JKRDecomp.cpp:
.text: [0x8006d608, 0x8006dd58]
.data: [0x800dec90, 0x800ded18]
.sdata: [0x80218038, 0x80218050]
.sbss: [0x802187e8, 0x802187f0]
JSystem/JSupport/JSUInputStream.cpp:
.text: [0x8006e168, 0x8006e3e4]
.data: [0x800ded18, 0x800dedb8]
.sdata: [0x80218050, 0x80218068]
#JSystem/JSupport/JSUFileStream.cpp: # JSUFileStream linkage disabled until we can resolve order of RTTI strings in .data
# .text: [0x8006e3e4, 0x8006e604]
# .data: [0x800dedb8, 0x800dee60]
# .sdata: [0x80218068, 0x80218088]
JSystem/JGadget/linklist.cpp:
.text: [0x8006e604, 0x8006e800]
JSystem/JUtility/JUTGamePad.cpp:
.text: [0x80070274, 0x800713b0]
.ctors: [0x800a97ac, 0x800a97b0]
.rodata: [0x800ab240, 0x800ab260]
.data: [0x800def60, 0x800defa0]
.bss: [0x802070e0, 0x80207268]
.sdata: [0x802180b8, 0x802180d0]
.sbss: [0x80218808, 0x80218838]
.sdata2: [0x802192c0, 0x80219300]
dolphin/BASE/ppcarch.c:
.text: [0x8007867c, 0x80078718]
dolphin/os/OSArena.c:
.text: [0x8007988c, 0x800798ac]
.sdata: [0x80218178, 0x80218180]
.sbss: [0x802188f8, 0x80218900]
#dolphin/os/OSCache.c:
# .text: [0x80079b40, 0x8007a01c]
# .data: [0x800dfa00, 0x800dfc30]
#dolphin/os/OSDisableInterrupts.c:
# .text: [0x8007ac24, 0x8007ac38]
dolphin/os/OSEnableInterrupts.c:
.text: [0x8007ac38, 0x8007ac4c]
dolphin/os/OSRestoreInterrupts.c:
.text: [0x8007ac4c, 0x8007ac70]
dolphin/os/OSRtc.c:
.text: [0x8007d050, 0x8007db20]
.bss: [0x80207400, 0x80207458]
MSL_C/rand.c:
.text: [0x8009f46c, 0x8009f494]
.sdata: [0x80218260, 0x80218268]
TRK/mainloop.c:
.text: [0x800A1FF4, 0x800A20EC]
TRK/nubevent.c:
.text: [0x800A20EC, 0x800A2314]
.bss: [0x802095C8, 0x802095F0]
#TRK/nubinit.c: #things break, fix later
# .text: [0x800A2314, 0x800A2494]
# .rodata: [0x800AF750, 0x800AF770]
# .bss: [0x802095F0, 0x802095F8]
#TRK/usr_put.c:
# .text: [0x800A3468, 0x800A34F4]
#TRK/dispatch.c:
# .text: [0x800A34F4, 0x800A3590]
# .data: [0x800E2128, 0x800E21B0]
# .bss: [0x8020AFC0, 0x8020AFC8]
dolphin/odenotstub/odenotstub.c:
.text: [0x800a9770, 0x800a9780]
dolphin/amcstubs/AmcExi2Stubs.c:
.text: [0x800a8cc0, 0x800a8cf0]
dolphin/gx/GXStubs.c:
.text: [0x800998d4, 0x800998d8]
ctors.s:
.ctors: [0x800a97b4, 0x800a97c0] # remove trailing 0s from ctor area
#dolphin/os/__start.c:
# .init: [0x80003100, 0x80003354]
runtime/__mem.c:
.init: [0x800033a8, 0x800034e0]
TRK/init/mem_TRK.c:
.init: [0x800034e0, 0x80003534]
asm/__exception.s:
.init: [0x80003534, 0x80005468]
boot.c:
.text: [0x800056c0, 0x8000663c]
.rodata: [0x800a97e0, 0x800a97e8]
.data: [0x800af860, 0x800afe50]
.bss: [0x800e2280, 0x800e2318]
jsyswrap.cpp:
.text: [0x8000663c, 0x80007188]
.ctors: [0x800a9784, 0x800a9788]
.data: [0x800afe50, 0x800b05e8]
.bss: [0x800e2318, 0x800e2640]
initial_menu.c:
.text: [0x80007188, 0x80007e58]
.rodata: [0x800a97e8, 0x800a97f8]
.data: [0x800b0608, 0x800b0a60]
.bss: [0x800e2640, 0x800e2790]
dvderr.c:
.text: [0x80007e58, 0x800083f8]
.rodata: [0x800a97f8, 0x800a9838]
.data: [0x800b0a60, 0x800b9140]
.bss: [0x800e2790, 0x800e2b88]
jaudio_NES/dummyprobe.c:
.text: [0x800083f8, 0x80008400]
jaudio_NES/sample.c:
.text: [0x80018640, 0x80018920]
# jaudio_NES/game64.c: # TODO: finish
# .rodata: [0x800a9938, 0x800a9b98]
#jaudio_NES/verysimple.c:
# .text: [0x80008400, 0x80008480]
# .sdata: [0x80217b80, 0x80217b88]
Famicom/famicom.cpp:
.text: [0x80041614, 0x80046888] # TODO: get ~J2DOrthoGraph's dtor in here somehow? 0x800468fc, also add in JUTGamePad::getPortStatus when JUTGamePad is linked?
.rodata: [0x800aa9a8, 0x800aaa30]
.data: [0x800d8778, 0x800d99a0]
.bss: [0x801ef540, 0x801f6bd8]
Famicom/famicom_nesinfo.cpp:
.text: [0x800468fc, 0x80047e40]
.rodata: [0x800aaa30, 0x800aab60]
.data: [0x800d99a0, 0x800da9c8]
.bss: [0x801f6bd8, 0x801f6c80]
GBA2/JoyBoot.c:
.text: [0x80049788, 0x8004ae00]
.data: [0x800daa08, 0x800daaa0]
.bss: [0x801f7180, 0x801f71c0]
libforest/osreport.c:
.text: [0x8005a654, 0x8005a92c]
.data: [0x800dc6d8, 0x800dc738]
.bss: [0x80206f08, 0x80206f20]
.sbss: [0x80218618, 0x80218628]
libforest/fault.c:
.text: [0x8005a92c, 0x8005adac]
.data: [0x800dc738, 0x800dc7c8]
.bss: [0x80206f20, 0x80206f30]
.sbss: [0x80218628, 0x80218630]
libforest/ReconfigBATs.c:
.text: [0x8005adac, 0x8005aed4]
libu64/debug.c:
.text: [0x8005aed4, 0x8005af30]
.data: [0x800dc7c8, 0x800dc7f0]
libu64/gfxprint.c:
.text: [0x8005af30, 0x8005b9a8]
.data: [0x800dc7f0, 0x800dc810]
.sbss: [0x80218630, 0x80218638]
libu64/pad.c:
.text: [0x8005b9a8, 0x8005ba2c]
libc64/aprintf.c:
.text: [0x8005cbdc, 0x8005cc14]
libc64/math64.c:
.text: [0x8005cc14, 0x8005cccc]
.sdata2: [0x80219118, 0x80219130]
libc64/qrand.c:
.text: [0x8005cccc, 0x8005cd64]
.sdata: [0x80217de8, 0x80217df0]
.sbss: [0x80218640, 0x80218648]
.sdata2: [0x80219130, 0x80219138]
libc64/sprintf.c:
.text: [0x8005ce18, 0x8005cf08]
libc64/malloc.c:
.text: [0x8005cf08, 0x8005d01c]
.bss: [0x80206F30, 0x80206F60]
libultra/ultra.c:
.text: [0x8005d01c, 0x8005d15c]
.bss: [0x80206f60, 0x80206fa0]
#libultra/gu/scale.c:
# .text: [0x8005e7d4, 0x8005e860]
# .sdata2: [0x80219208, 0x80219210]
#libultra/gu/translate.c:
# .text: [0x8005e8ac, 0x8005e918]
libultra/gu/sins.c:
.text: [0x8005e860, 0x8005e8ac]
.data: [0x800dd360, 0x800ddb60]
#libultra/xldtob.c:
# .text: [0x8005e918, 0x8005f2a0]
# .rodata: [0x800ab110, 0x800ab158]
# .sdata: [0x80217df8, 0x80217e08]
# .sdata2: [0x80219210, 0x80219230]
#libultra/xlitob.c:
# .text: [0x8005f2a0, 0x8005f4cc]
# .data: [0x800ddb60, 0x800ddb88]
#libultra/xprintf.c:
# .text: [0x8005f4cc, 0x8005ff74]
# .rodata: [0x800ab158, 0x800ab170]
# .data: [0x800ddb88, 0x800ddd20]
# .sdata: [0x80217e08, 0x80217e10]
# .sdata2: [0x80219230, 0x80219238]
JSystem/JKernel/JKRHeap.cpp:
.text: [0x80063748, 0x80064028]
.data: [0x800ddf20, 0x800ddf98]
.sdata: [0x80217e58, 0x80217e80]
.sbss: [0x802186d8, 0x80218700]
JSystem/JKernel/JKRExpHeap.cpp:
.text: [0x80064028, 0x80065aa0]
.data: [0x800ddf98, 0x800de3a8]
.sdata: [0x80217e80, 0x80217ec0]
.sbss: [0x80218700, 0x80218720]
.sdata2: [0x80219278, 0x80219288]
JSystem/JKernel/JKRDisposer.cpp:
.text: [0x80065aa0, 0x80065b8c]
.data: [0x800de3a8, 0x800de3c0]
.sdata: [0x80217ec0, 0x80217ec8]
JSystem/JKernel/JKRThread.cpp:
.text: [0x80065b8c, 0x80065ef0]
.ctors: [0x800a978c, 0x800a9790]
.data: [0x800de3c0, 0x800de3f8]
.bss: [0x80207008, 0x80207020]
.sdata: [0x80217ec8, 0x80217ed8]
JSystem/JKernel/JKRAram.cpp:
.text: [0x80065ef8, 0x80066e84]
.ctors: [0x800a9790, 0x800a9794]
.data: [0x800de3f8, 0x800de4c0]
.bss: [0x80207020, 0x80207038]
.sdata: [0x80217ed8, 0x80217ef8]
.sbss: [0x80218720, 0x80218758]
JSystem/JKernel/JKRAramHeap.cpp:
.text: [0x80066e84, 0x80067258]
.ctors: [0x800a9794, 0x800a9798]
.data: [0x800de4c0, 0x800de4f0]
.bss: [0x80207038, 0x80207050]
.sdata: [0x80217ef8, 0x80217f08]
JSystem/JKernel/JKRAramBlock.cpp:
.text: [0x80067258, 0x800674c8]
.data: [0x800de4f0, 0x800de510]
.sdata: [0x80217f08, 0x80217f10]
JSystem/JKernel/JKRAramPiece.cpp:
.text: [0x800674c8, 0x80067a88]
.ctors: [0x800a9798, 0x800a979c]
.data: [0x800de510, 0x800de568]
.bss: [0x80207050, 0x80207080]
.sdata: [0x80217f10, 0x80217f18]
JSystem/JKernel/JKRAramStream.cpp:
.text: [0x80067a88, 0x80067ff4]
.data: [0x800de568, 0x800de608]
.sdata: [0x80217f18, 0x80217f38]
.sbss: [0x80218758, 0x80218768]
JSystem/JKernel/JKRFileLoader.cpp:
.text: [0x80067ff4, 0x800685b0]
.ctors: [0x800a979c, 0x800a97a0]
.data: [0x800de608, 0x800de670]
.bss: [0x80207080, 0x80207098]
.sdata: [0x80217f38, 0x80217f50]
.sbss: [0x80218768, 0x80218770]
JSystem/JKernel/JKRFileFinder.cpp:
.text: [0x800685b0, 0x80068744]
.data: [0x800de670, 0x800de6b0]
.sdata: [0x80217f50, 0x80217f60]
JSystem/JKernel/JKRArchivePub.cpp:
.text: [0x80068744, 0x80068ed0]
.data: [0x800de6b0, 0x800de740]
.sdata: [0x80217f60, 0x80217f78]
JSystem/JKernel/JKRArchivePri.cpp:
.text: [0x80068ed0, 0x80069530]
.sbss: [0x80218770, 0x80218778]
JSystem/JKernel/JKRMemArchive.cpp:
.text: [0x80069530, 0x80069a28]
.data: [0x800de740, 0x800de828]
.sdata: [0x80217f78, 0x80217f98]
JSystem/JKernel/JKRAramArchive.cpp:
.text: [0x80069a28, 0x8006a4fc]
.data: [0x800de828, 0x800de938]
.sdata: [0x80217f98, 0x80217fc8]
JSystem/JKernel/JKRDvdArchive.cpp:
.text: [0x8006a4fc, 0x8006add0]
.data: [0x800de938, 0x800dea70]
.sdata: [0x80217fc8, 0x80217fe8]
JSystem/JKernel/JKRCompArchive.cpp:
.text: [0x8006add0, 0x8006b8a4]
.data: [0x800dea70, 0x800deba8]
.sdata: [0x80217fe8, 0x80218008]
JSystem/JKernel/JKRDvdFile.cpp:
.text: [0x8006b8a4, 0x8006be0c]
.ctors: [0x800a97a0, 0x800a97a4]
.data: [0x800deba8, 0x800dec30]
.bss: [0x80207098, 0x802070b0]
.sdata: [0x80218008, 0x80218028]
JSystem/JKernel/JKRDvdRipper.cpp:
.text: [0x8006be0c, 0x8006c8fc]
.ctors: [0x800a97a4, 0x800a97a8]
.data: [0x800dec30, 0x800dec90]
.bss: [0x802070b0, 0x802070c8]
.sdata: [0x80218028, 0x80218030]
.sbss: [0x80218778, 0x802187a8]
JSystem/JKernel/JKRDvdAramRipper.cpp:
.text: [0x8006c8fc, 0x8006d608]
.ctors: [0x800a97a8, 0x800a97ac]
.bss: [0x802070c8, 0x802070e0]
.sdata: [0x80218030, 0x80218038]
.sbss: [0x802187a8, 0x802187e8]
JSystem/JKernel/JKRDecomp.cpp:
.text: [0x8006d608, 0x8006dd58]
.data: [0x800dec90, 0x800ded18]
.sdata: [0x80218038, 0x80218050]
.sbss: [0x802187e8, 0x802187f0]
JSystem/JSupport/JSUInputStream.cpp:
.text: [0x8006e168, 0x8006e3e4]
.data: [0x800ded18, 0x800dedb8]
.sdata: [0x80218050, 0x80218068]
#JSystem/JSupport/JSUFileStream.cpp: # JSUFileStream linkage disabled until we can resolve order of RTTI strings in .data
# .text: [0x8006e3e4, 0x8006e604]
# .data: [0x800dedb8, 0x800dee60]
# .sdata: [0x80218068, 0x80218088]
JSystem/JGadget/linklist.cpp:
.text: [0x8006e604, 0x8006e800]
JSystem/JUtility/JUTGamePad.cpp:
.text: [0x80070274, 0x800713b0]
.ctors: [0x800a97ac, 0x800a97b0]
.rodata: [0x800ab240, 0x800ab260]
.data: [0x800def60, 0x800defa0]
.bss: [0x802070e0, 0x80207268]
.sdata: [0x802180b8, 0x802180d0]
.sbss: [0x80218808, 0x80218838]
.sdata2: [0x802192c0, 0x80219300]
dolphin/BASE/ppcarch.c:
.text: [0x8007867c, 0x80078718]
dolphin/os/OSArena.c:
.text: [0x8007988c, 0x800798ac]
.sdata: [0x80218178, 0x80218180]
.sbss: [0x802188f8, 0x80218900]
#dolphin/os/OSCache.c:
# .text: [0x80079b40, 0x8007a01c]
# .data: [0x800dfa00, 0x800dfc30]
#dolphin/os/OSDisableInterrupts.c:
# .text: [0x8007ac24, 0x8007ac38]
dolphin/os/OSEnableInterrupts.c:
.text: [0x8007ac38, 0x8007ac4c]
dolphin/os/OSRestoreInterrupts.c:
.text: [0x8007ac4c, 0x8007ac70]
dolphin/os/OSRtc.c:
.text: [0x8007d050, 0x8007db20]
.bss: [0x80207400, 0x80207458]
dolphin/__ppc_eabi_init.cpp:
.init: [0x80003354, 0x800033a8]
.text: [0x8007fdfc, 0x8007fe90]
dolphin/gx/GXStubs.c:
.text: [0x800998d4, 0x800998d8]
MSL_C/rand.c:
.text: [0x8009f46c, 0x8009f494]
.sdata: [0x80218260, 0x80218268]
TRK/mainloop.c:
.text: [0x800A1FF4, 0x800A20EC]
TRK/nubevent.c:
.text: [0x800A20EC, 0x800A2314]
.bss: [0x802095C8, 0x802095F0]
dolphin/amcstubs/AmcExi2Stubs.c:
.text: [0x800a8cc0, 0x800a8cf0]
#TRK/nubinit.c: #things break, fix later
# .text: [0x800A2314, 0x800A2494]
# .rodata: [0x800AF750, 0x800AF770]
# .bss: [0x802095F0, 0x802095F8]
#TRK/usr_put.c:
# .text: [0x800A3468, 0x800A34F4]
#TRK/dispatch.c:
# .text: [0x800A34F4, 0x800A3590]
# .data: [0x800E2128, 0x800E21B0]
# .bss: [0x8020AFC0, 0x8020AFC8]
dolphin/odenotstub/odenotstub.c:
.text: [0x800a9770, 0x800a9780]
version.c:
.data: [0x800b05e8, 0x800b0608]
bootdata/gam_win1.c:
.data: [0x800b9140, 0x800bb500]
bootdata/gam_win2.c:
.data: [0x800bb500, 0x800bd820]
bootdata/gam_win3.c:
.data: [0x800bd820, 0x800be460]
bootdata/logo_nin.c:
.data: [0x800be460, 0x800c3140]
nintendo_hi_0.c:
.data: [0x800c3140, 0x800cca40]
libu64/gfxprint_data.c:
.data: [0x800dc810, 0x800dd090]
+4 -1
View File
@@ -630,7 +630,10 @@ class CSource(Source):
self.cflags = c.SDK_FLAGS
self.cc = c.OCC
elif path.startswith("src/static/jaudio_NES/"):
self.cflags = c.JAUDIO_CFLAGS
if path.startswith("src/static/jaudio_NES/sample.c"):
self.cflags = c.JAUDIO_SAMPLE_CFLAGS
else:
self.cflags = c.JAUDIO_CFLAGS
self.cc = c.CC
elif path.startswith("src/static/JSystem/JGadget/"):
self.cflags = c.JSYSTEM_JGADGET_CFLAGS
+185
View File
@@ -0,0 +1,185 @@
#ifndef AUDIOSTRUCT_H
#define AUDIOSTRUCT_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct chnode_ chnode;
typedef struct link_ link;
/* sizeof(struct link_) == 0x10 */
struct link_ {
/* 0x00 */ link* next;
/* 0x04 */ link* prev;
union {
/* 0x08 */ int numAfter; /* when link is head */
/* 0x08 */ void* pData; /* when link is node */
};
/* 0x0C */ chnode* pNode;
};
/* sizeof(struct chnode_) == 0x40 */
struct chnode_ {
/* 0x00 */ link globalUse;
/* 0x10 */ link globalFree;
/* 0x20 */ link globalRelease;
/* 0x30 */ link globalReleaseWait;
};
/* sizeof(struct AudioPort_) == 0x8 */
typedef struct AudioPort_ {
/* 0x00 */ u8 cmd;
/* 0x01 */ u8 groupID;
/* 0x02 */ u8 subtrackID;
/* 0x03 */ u8 _03;
/* 0x04 */ u32 param;
} AudioPort;
/* sizeof(Acmd) == 0x4*/
typedef union Acmd {
struct {
/* 0x00 */ u8 p0;
/* 0x01 */ u8 p1;
/* 0x02 */ u8 p2;
/* 0x03 */ u8 p3;
};
/* 0x00 */ u32 uint32;
} Acmd;
/* sizeof(ALHeap) == 0x14 */
typedef struct ALHeap {
/* 0x00 */ u8* base;
/* 0x04 */ u8* current;
/* 0x08 */ int length;
/* 0x0C */ u32 count;
/* 0x10 */ u8* last;
} ALHeap;
/* sizeof(ArcHeader) == 0x10 */
typedef struct ArcHeader_ {
/* 0x00 */ s16 numEntries;
/* 0x02 */ u16 _02;
/* 0x04 */ u8* pData;
/* 0x08 */ u8 copy;
} ArcHeader ATTRIBUTE_ALIGN(8);
/* sizeof(AutoHeapstrc) == 0xC */
typedef struct AutoHeapstrc_ {
/* 0x00 */ int seqLen;
/* 0x04 */ int bankLen;
/* 0x08 */ int waveLen;
} AutoHeapstrc;
/* sizeof(DataHeapstrc) == 0x8 */
typedef struct DataHeapstrc_ {
/* 0x00 */ int dataLen;
/* 0x04 */ int autoLen;
} DataHeapstrc;
/* sizeof(delay) == 0x30 */
typedef struct delay_ {
/* 0x00 */ u8 _00[0x30 - 0x00]; /* TODO */
} delay;
/* sizeof(commonch) == 0x20 */
typedef struct commonch_ {
/* 0x00 */ u8 _00;
/* 0x01 */ u8 _01;
/* 0x02 */ u8 _02;
/* 0x03 */ u8 _03;
/* 0x04 */ u8 _04;
/* 0x05 */ u8 _05;
/* 0x06 */ u8 _06;
/* 0x07 */ u8 _07;
/* 0x08 */ u16 _08;
/* 0x0A */ u16 _0A;
/* 0x0C */ u16 _0C;
/* 0x0E */ u16 _0E;
/* 0x10 */ void* _10;
/* 0x14 */ int _14;
/* 0x18 */ u8 _18;
/* 0x19 */ u8 _19;
/* 0x1A */ u8 _1A;
/* 0x1B */ u8 _1B[4];
} commonch;
/* sizeof(driverch) == 0x18 */
typedef struct driverch_ {
/* 0x00 */ u8 _00;
/* 0x01 */ u8 _01;
/* 0x02 */ u8 _02;
/* 0x03 */ u8 _03;
/* 0x04 */ u8 _04;
/* 0x05 */ u8 _05;
/* 0x06 */ u8 _06;
/* 0x07 */ u8 _07;
/* 0x08 */ u16 _08;
/* 0x0A */ u16 _0A;
/* 0x0C */ u32 _0C;
/* 0x10 */ u8* _10;
/* 0x14 */ s16 _14;
/* 0x16 */ s16 _16;
} driverch;
/* sizeof(phase) == 0x01 */
typedef struct phase_ {
/* 0x00 */ u8 _00;
} phase;
/* sizeof(drvparam) == 0x1C */
typedef struct drvparam_ {
/* 0x00 */ u8 _00;
/* 0x01 */ u8 _01;
/* 0x02 */ u8 _02;
/* 0x03 */ u8 _03;
/* 0x04 */ phase phase;
/* 0x08 */ f32 pitch;
/* 0x0C */ f32 volume;
/* 0x10 */ int _10;
/* 0x14 */ int _14;
/* 0x18 */ u8 _18;
/* 0x19 */ u8 _19;
/* 0x1A */ u16 _1A;
} drvparam;
/* sizeof(envdat) == 0x04 */
typedef struct envdat_ {
/* 0x00 */ s16 key;
/* 0x02 */ s16 value;
} envdat;
/* sizeof(envp) == 0x20 */
typedef struct envp_ {
/* 0x00 */ u8 state;
/* 0x01 */ u8 envelope_table_row;
/* 0x02 */ s16 key;
/* 0x04 */ f32 min_vol;
/* 0x08 */ f32 attack;
/* 0x0C */ f32 decay_release;
/* 0x10 */ f32 volume;
/* 0x14 */ f32 target_volume;
/* 0x18 */ f32 _18;
/* 0x1C */ envdat* pEnvData;
} envp;
typedef union SOUNDID_ {
struct {
u8 wave_id;
u8 inst_id;
u8 _02;
u8 _03;
};
u32 uint32;
} SOUNDID;
typedef struct note_ note;
#ifdef __cplusplus
}
#endif
#endif
+14
View File
@@ -0,0 +1,14 @@
#ifndef AUDIOWORK_H
#define AUDIOWORK_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif
+12
View File
@@ -0,0 +1,12 @@
#ifndef SAMPLE_H
#define SAMPLE_H
#include "types.h"
extern void Jac_imixcopy(s16* ta, s16* tb, s16* td, s32 s);
extern void Jac_bcopyfast(u32* src, u32* dest, u32 size);
extern void Jac_bcopy(void* src, void* dest, s32 size);
extern void Jac_bzerofast(u32* dest, u32 size);
extern void Jac_bzero(void* dest, s32 size);
#endif
+116
View File
@@ -0,0 +1,116 @@
#include "jaudio_NES/sample.h"
#include "dolphin/os/OSCache.h"
extern void Jac_imixcopy(s16* ta, s16* tb, s16* td, s32 s) {
for (s; s > 0; s--) {
*td++ = *ta++;
*td++ = *tb++;
}
}
extern void Jac_bcopyfast(u32* src, u32* dest, u32 size) {
u32 copy1, copy2, copy3, copy4;
for (size = size / (4 * sizeof(u32)); size != 0; size--) {
copy1 = *src++;
copy2 = *src++;
copy3 = *src++;
copy4 = *src++;
*dest++ = copy1;
*dest++ = copy2;
*dest++ = copy3;
*dest++ = copy4;
}
}
extern void Jac_bcopy(void* src, void* dest, s32 size) {
u8 alignedSrc, alignedDst;
u32* usrc;
u32* udest;
u8* bsrc = (u8*)src;
u8* bdest = (u8*)dest;
alignedSrc = (reinterpret_cast<u32>(bsrc) & 0x03);
alignedDst = (reinterpret_cast<u32>(bdest) & 0x03);
if ((alignedSrc) == (alignedDst) && (size & 0x0f) == 0) {
Jac_bcopyfast((u32*)src, (u32*)dest, size);
} else if ((alignedSrc) == (alignedDst) && (size >= 16)) {
if ((alignedSrc) != 0) {
for (alignedSrc = 4 - alignedSrc; (alignedSrc) != 0; alignedSrc--) {
*bdest++ = (u32) * (bsrc)++;
size--;
}
}
udest = (u32*)bdest;
usrc = (u32*)bsrc;
for (; size >= 4; size -= 4) {
*udest++ = *usrc++;
}
if (size != 0) {
bdest = (u8*)udest;
bsrc = (u8*)usrc;
for (; size > 0; size--) {
*bdest++ = (u32)*bsrc++;
}
}
} else {
for (; size > 0; size--) {
*bdest++ = (u32)*bsrc++;
}
}
}
extern void Jac_bzerofast(u32* dest, u32 size) {
for (size = size / (4 * sizeof(u32)); size != 0; size--) {
*dest++ = 0;
*dest++ = 0;
*dest++ = 0;
*dest++ = 0;
}
}
extern void Jac_bzero(void* dest, s32 size) {
u32* udest;
u8* bdest = (u8*)dest;
u8 alignedbitsDst = reinterpret_cast<u32>(bdest) & 0x3;
if (alignedbitsDst == 0) {
if ((size & 0x1f) == 0) {
DCZeroRange(dest, size);
return;
}
if ((size & 0xf) == 0) {
Jac_bzerofast((u32*)dest, size);
return;
}
}
if (size >= 16) {
if (alignedbitsDst != 0) {
for (alignedbitsDst = 4 - alignedbitsDst; alignedbitsDst != 0; alignedbitsDst--) {
*bdest++ = 0;
size--;
}
}
udest = (u32*)bdest;
for (; size >= 4; size -= 4) {
*udest++ = 0;
}
if (size != 0) {
bdest = (u8*)udest;
for (; size > 0; size--) {
*bdest++ = 0;
}
}
} else {
for (; size > 0; size--) {
*bdest++ = 0;
}
}
}