Decompile much of musyx
This commit is contained in:
parent
572a5e5a58
commit
36c41780cf
9 changed files with 100 additions and 22 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
[submodule "extern/musyx"]
|
||||
path = extern/musyx
|
||||
url = https://github.com/AxioDL/musyx
|
||||
|
|
@ -3151,8 +3151,8 @@ 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
|
||||
synthAddStudioInput = .text:0x800FA50C; // type:function size:0x20
|
||||
synthRemoveStudioInput = .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
|
||||
|
|
@ -5640,7 +5640,7 @@ 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
|
||||
seqMIDIPriority = .bss:0x801B9038; // type:object size:0x100 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
|
||||
|
|
|
|||
39
configure.py
39
configure.py
|
|
@ -150,9 +150,11 @@ cflags_base = [
|
|||
"-fp_contract on",
|
||||
"-str reuse",
|
||||
"-i include",
|
||||
"-i extern/musyx/include",
|
||||
f"-i build/{config.version}/include",
|
||||
"-multibyte",
|
||||
f"-DVERSION={version_num}",
|
||||
"-DMUSY_TARGET=MUSY_TARGET_DOLPHIN",
|
||||
]
|
||||
|
||||
# Debug flags
|
||||
|
|
@ -210,6 +212,7 @@ cflags_musyx = [
|
|||
"-nodefaults",
|
||||
"-nosyspath",
|
||||
"-i include",
|
||||
"-i extern/musyx/include",
|
||||
"-inline auto",
|
||||
"-O4,p",
|
||||
"-fp hard",
|
||||
|
|
@ -661,37 +664,37 @@ config.libs = [
|
|||
},
|
||||
MusyX(
|
||||
objects={
|
||||
Object(NonMatching, "musyx/runtime/seq.c"),
|
||||
Object(Matching, "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(Matching, "musyx/runtime/seq_api.c"),
|
||||
Object(Matching, "musyx/runtime/snd_synthapi.c"),
|
||||
Object(NonMatching, "musyx/runtime/stream.c"),
|
||||
Object(NonMatching, "musyx/runtime/synthdata.c"),
|
||||
Object(Matching, "musyx/runtime/synthdata.c"),
|
||||
Object(NonMatching, "musyx/runtime/synthmacros.c"),
|
||||
Object(NonMatching, "musyx/runtime/synthvoice.c"),
|
||||
Object(NonMatching, "musyx/runtime/synth_ac.c"),
|
||||
Object(NonMatching, "musyx/runtime/synth_dbtab.c"),
|
||||
Object(Matching, "musyx/runtime/synth_ac.c"),
|
||||
Object(Matching, "musyx/runtime/synth_dbtab.c"),
|
||||
Object(NonMatching, "musyx/runtime/synth_adsr.c"),
|
||||
Object(NonMatching, "musyx/runtime/synth_vsamples.c"),
|
||||
Object(NonMatching, "musyx/runtime/s_data.c"),
|
||||
Object(NonMatching, "musyx/runtime/hw_dspctrl.c"),
|
||||
Object(NonMatching, "musyx/runtime/hw_volconv.c"),
|
||||
Object(NonMatching, "musyx/runtime/snd3d.c"),
|
||||
Object(NonMatching, "musyx/runtime/snd_init.c"),
|
||||
Object(Matching, "musyx/runtime/hw_volconv.c"),
|
||||
Object(Matching, "musyx/runtime/snd3d.c"),
|
||||
Object(Matching, "musyx/runtime/snd_init.c"),
|
||||
Object(NonMatching, "musyx/runtime/snd_math.c"),
|
||||
Object(NonMatching, "musyx/runtime/snd_midictrl.c"),
|
||||
Object(NonMatching, "musyx/runtime/snd_service.c"),
|
||||
Object(NonMatching, "musyx/runtime/hardware.c"),
|
||||
Object(NonMatching, "musyx/runtime/dsp_import.c"),
|
||||
Object(NonMatching, "musyx/runtime/hw_aramdma.c"),
|
||||
Object(NonMatching, "musyx/runtime/hw_dolphin.c"),
|
||||
Object(NonMatching, "musyx/runtime/hw_memory.c"),
|
||||
Object(NonMatching, "musyx/runtime/CheapReverb/creverb_fx.c"),
|
||||
Object(Matching, "musyx/runtime/hardware.c"),
|
||||
Object(Matching, "musyx/runtime/dsp_import.c"),
|
||||
Object(Matching, "musyx/runtime/hw_aramdma.c"),
|
||||
Object(Matching, "musyx/runtime/hw_dolphin.c"),
|
||||
Object(Matching, "musyx/runtime/hw_memory.c"),
|
||||
Object(Matching, "musyx/runtime/CheapReverb/creverb_fx.c"),
|
||||
Object(NonMatching, "musyx/runtime/CheapReverb/creverb.c"),
|
||||
Object(NonMatching, "musyx/runtime/StdReverb/reverb_fx.c"),
|
||||
Object(Matching, "musyx/runtime/StdReverb/reverb_fx.c"),
|
||||
Object(NonMatching, "musyx/runtime/StdReverb/reverb.c"),
|
||||
Object(NonMatching, "musyx/runtime/Delay/delay_fx.c"),
|
||||
Object(NonMatching, "musyx/runtime/Chorus/chorus_fx.c"),
|
||||
Object(Matching, "musyx/runtime/Delay/delay_fx.c"),
|
||||
Object(Matching, "musyx/runtime/Chorus/chorus_fx.c"),
|
||||
}
|
||||
),
|
||||
{
|
||||
|
|
|
|||
1
extern/musyx
vendored
Submodule
1
extern/musyx
vendored
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit ddfad60c3e4fede55479c744a1c70081e0d6cd12
|
||||
18
include/float.h
Normal file
18
include/float.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#ifndef _FLOAT_H_
|
||||
#define _FLOAT_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define FLT_MAX 3.402823466e+38f
|
||||
#define FLT_EPSILON 1.192092896e-07f
|
||||
#define FLT_MIN 1.175494351e-38f
|
||||
|
||||
#define DBL_EPSILON 1.1920929e-07
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -3,6 +3,10 @@
|
|||
|
||||
#define M_PI 3.141592653589793
|
||||
|
||||
#ifndef _MATH_INLINE
|
||||
#define _MATH_INLINE static inline
|
||||
#endif
|
||||
|
||||
#ifdef MATH_EXPORT_CONST
|
||||
extern inline float sqrtf(float x)
|
||||
{
|
||||
|
|
@ -36,6 +40,7 @@ extern inline float sqrtf(float x)
|
|||
return x;
|
||||
}
|
||||
#endif
|
||||
|
||||
double atan(double x);
|
||||
double copysign(double x, double y);
|
||||
double cos(double x);
|
||||
|
|
@ -58,4 +63,14 @@ float acosf(float x);
|
|||
|
||||
#define abs(x) __abs(x)
|
||||
|
||||
_MATH_INLINE float fabsf(float x) { return (float)fabs((double)x); }
|
||||
_MATH_INLINE float sinf(float x) { return (float)sin((double)x); }
|
||||
_MATH_INLINE float cosf(float x) { return (float)cos((double)x); }
|
||||
_MATH_INLINE float atan2f(float y, float x) { return (float)atan2((double)y, (double)x); }
|
||||
_MATH_INLINE float fmodf(float x, float m) { return (float)fmod((double)x, (double)m); }
|
||||
|
||||
_MATH_INLINE float floorf(float x) { return floor(x); }
|
||||
|
||||
_MATH_INLINE float powf(float __x, float __y) { return pow(__x, __y); }
|
||||
|
||||
#endif
|
||||
|
|
|
|||
23
include/stddef.h
Normal file
23
include/stddef.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#ifndef _STDDEF_H_
|
||||
#define _STDDEF_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define offsetof(type, member) ((size_t) & (((type*)0)->member))
|
||||
|
||||
/* These break 1.2.5 */
|
||||
//typedef __typeof__(sizeof(0)) size_t;
|
||||
//typedef __typeof__((char*)0 - (char*)0) ptrdiff_t;
|
||||
typedef unsigned long size_t;
|
||||
typedef long ptrdiff_t;
|
||||
#ifndef NULL
|
||||
#define NULL 0L
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
14
include/stdint.h
Normal file
14
include/stdint.h
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#ifndef _STDINT_H_
|
||||
#define _STDINT_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef unsigned long int uintptr_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -509,11 +509,12 @@ def generate_build_ninja(config, build_config):
|
|||
|
||||
lib, obj = result
|
||||
lib_name = lib["lib"]
|
||||
src_dir = Path(lib.get("src_dir", config.src_dir))
|
||||
|
||||
options = obj.options
|
||||
completed = obj.completed
|
||||
|
||||
unit_src_path = config.src_dir / options["source"]
|
||||
unit_src_path = src_dir / options["source"]
|
||||
if not unit_src_path.exists():
|
||||
if config.warn_missing_source or completed:
|
||||
print(f"Missing source file {unit_src_path}")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue