mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-05 10:47:29 -04:00
jaudio_NES/sample.c
Co-authored-by: SwareJonge <41187958+SwareJonge@users.noreply.github.com>
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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,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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,14 @@
|
||||
#ifndef AUDIOWORK_H
|
||||
#define AUDIOWORK_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user