From fa338dcb7e2a8194bc9a5847d40d3a5cf09a820c Mon Sep 17 00:00:00 2001 From: Antonio Date: Fri, 29 Oct 2021 21:03:14 -0700 Subject: [PATCH 1/2] Disabled broken NON_MATCHING functions. --- lib/src/libc/ll.c | 2 +- lib/src/libc/llcvt.c | 2 +- lib/src/mips1/al/alSynAllocFX.c | 2 +- src/camera.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/src/libc/ll.c b/lib/src/libc/ll.c index 14be7eb1..2d211582 100644 --- a/lib/src/libc/ll.c +++ b/lib/src/libc/ll.c @@ -4,7 +4,7 @@ #include "types.h" #include "macros.h" -#ifdef NON_MATCHING +#if 00 //Thse need to be compiled with -mips3, and linked differently unsigned long long __ull_rshift(unsigned long long a0, unsigned long long a1) { diff --git a/lib/src/libc/llcvt.c b/lib/src/libc/llcvt.c index 47138066..19914abb 100644 --- a/lib/src/libc/llcvt.c +++ b/lib/src/libc/llcvt.c @@ -1,7 +1,7 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x800C9B30 */ -#ifdef NON_MATCHING +#if 00 //This needs to be compiled with mips3, which isn't yet supported long long __d_to_ll(double d) { return d; diff --git a/lib/src/mips1/al/alSynAllocFX.c b/lib/src/mips1/al/alSynAllocFX.c index 2f4d1622..290aff0f 100644 --- a/lib/src/mips1/al/alSynAllocFX.c +++ b/lib/src/mips1/al/alSynAllocFX.c @@ -5,7 +5,7 @@ #include "macros.h" #include "audio_internal.h" -#ifdef NON_MATCHING +#if 00 void alFxNew(ALFx *r, ALSynConfig *c, ALHeap *hp); s32 alFxParam(void *filter, s32 paramID, void *param); s32 alMainBusParam(void *filter, s32 paramID, void *param); diff --git a/src/camera.c b/src/camera.c index eecdaeca..ba88c0ed 100644 --- a/src/camera.c +++ b/src/camera.c @@ -140,7 +140,7 @@ u8 D_80121150[16]; /******************************/ -#ifdef NON_MATCHING +#if 00 extern s32 D_B0000578; void func_80065EA0(void) { From 8addf34622efc0ba1037945fe2e5a5936c0f6ef4 Mon Sep 17 00:00:00 2001 From: Antonio Date: Sun, 31 Oct 2021 01:50:16 -0700 Subject: [PATCH 2/2] Fixed some broken NON_MATCHING functions. --- lib/src/libc/ll.c | 3 +-- lib/src/libc/llcvt.c | 3 +-- lib/src/mips1/al/alSynAllocFX.c | 10 +++++----- src/camera.c | 4 ++-- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/src/libc/ll.c b/lib/src/libc/ll.c index 2d211582..3dd1eb44 100644 --- a/lib/src/libc/ll.c +++ b/lib/src/libc/ll.c @@ -4,7 +4,7 @@ #include "types.h" #include "macros.h" -#if 00 +#if 0 //Thse need to be compiled with -mips3, and linked differently unsigned long long __ull_rshift(unsigned long long a0, unsigned long long a1) { @@ -49,7 +49,6 @@ long long __ll_mod(long long a0, long long a1) long long tmp = a0 % a1; if ((tmp < 0 && a1 > 0) || (tmp > 0 && a1 < 0)) { - tmp += a1; } return tmp; diff --git a/lib/src/libc/llcvt.c b/lib/src/libc/llcvt.c index 19914abb..5d7b6b52 100644 --- a/lib/src/libc/llcvt.c +++ b/lib/src/libc/llcvt.c @@ -1,7 +1,7 @@ /* The comment below is needed for this file to be picked up by generate_ld */ /* RAM_POS: 0x800C9B30 */ -#if 00 +#if 0 //This needs to be compiled with mips3, which isn't yet supported long long __d_to_ll(double d) { return d; @@ -30,7 +30,6 @@ float __ull_to_f(unsigned long long u) { #else #include "types.h" #include "macros.h" - GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA730/__d_to_ll.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA730/__f_to_ll.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA730/__ll_to_f.s") diff --git a/lib/src/mips1/al/alSynAllocFX.c b/lib/src/mips1/al/alSynAllocFX.c index 290aff0f..ba08be57 100644 --- a/lib/src/mips1/al/alSynAllocFX.c +++ b/lib/src/mips1/al/alSynAllocFX.c @@ -5,17 +5,17 @@ #include "macros.h" #include "audio_internal.h" -#if 00 -void alFxNew(ALFx *r, ALSynConfig *c, ALHeap *hp); +#ifdef NON_MATCHING +void alFxNew(ALFx *r, ALSynConfig *c, s16 bus); s32 alFxParam(void *filter, s32 paramID, void *param); s32 alMainBusParam(void *filter, s32 paramID, void *param); // This is very close to matching. ALFxRef *alSynAllocFX(ALSynth *s, s16 bus, ALSynConfig *c, ALHeap *hp) { - alFxNew(&s->auxBus[bus].fx[0], c, hp); - alFxParam(&s->auxBus[bus].fx[0], AL_FILTER_SET_SOURCE, + alFxNew(s->auxBus[bus].fx, c, bus); + alFxParam(s->auxBus[bus].fx, AL_FILTER_SET_SOURCE, &s->auxBus[bus]); - alMainBusParam(s->mainBus, AL_FILTER_ADD_SOURCE,&s->auxBus[bus].fx[0]); + alMainBusParam(s->mainBus, AL_FILTER_ADD_SOURCE, s->auxBus[bus].fx); return (ALFxRef)(&s->auxBus[bus].fx[0]); } diff --git a/src/camera.c b/src/camera.c index ba88c0ed..1fb24dd4 100644 --- a/src/camera.c +++ b/src/camera.c @@ -140,7 +140,7 @@ u8 D_80121150[16]; /******************************/ -#if 00 +#ifdef NON_MATCHING extern s32 D_B0000578; void func_80065EA0(void) { @@ -166,7 +166,7 @@ void func_80065EA0(void) { if ((D_B0000578 & 0xFFFF) != 0x8965) { D_800DD060 = 1; } - guPerspectiveF(D_80120EE0, perspNorm[5], CAMERA_DEFAULT_FOV, CAMERA_ASPECT, CAMERA_NEAR, CAMERA_FAR, CAMERA_SCALE); + guPerspectiveF(D_80120EE0, &perspNorm[5], CAMERA_DEFAULT_FOV, CAMERA_ASPECT, CAMERA_NEAR, CAMERA_FAR, CAMERA_SCALE); func_8006F870(D_80120EE0, D_80120FE0); gCurCamFOV = CAMERA_DEFAULT_FOV; }