core1/code_8C50

This commit is contained in:
Banjo Kazooie
2024-09-04 20:12:37 -05:00
parent 06e1330e71
commit 5593309d99
4 changed files with 67 additions and 21 deletions

View File

@@ -160,8 +160,8 @@ segments:
- [0xF44940, c, code_7090] - [0xF44940, c, code_7090]
- [0xF44b60, c, code_72B0] - [0xF44b60, c, code_72B0]
- [0xF45810, c, code_7F60] - [0xF45810, c, code_7F60]
- [0xF46500, bin, untouched] - [0xF46500, c, code_8C50]
# # - [0xF21EA0, c, code_8C50] #DONE - [0xF475C0, bin, untouched]
# # - [0xF22F80, c, code_9D30] #DONE # # - [0xF22F80, c, code_9D30] #DONE
# # - [0xF23E00, c, code_ABB0] #DONE # # - [0xF23E00, c, code_ABB0] #DONE
# # - [0xF260B0, c, code_CE60] #DONE # # - [0xF260B0, c, code_CE60] #DONE
@@ -358,9 +358,9 @@ segments:
# # - [0xF4DCD0, c, io/epirawread] #DONE # # - [0xF4DCD0, c, io/epirawread] #DONE
# # - [0xF4DD20, c, os/setglobalintmask] #DONE # # - [0xF4DD20, c, os/setglobalintmask] #DONE
# # - [0xF4DD70, c, os/yieldthread] #DONE # # - [0xF4DD70, c, os/yieldthread] #DONE
# # - [0xF4DDC0, bin, n_aspMain_text] - [0xF71750, bin, n_aspMain_text]
# # - [0xF4EA20, bin, gSPF3DEX_fifo_text] - [0xF723B0, bin, gSPF3DEX_fifo_text]
# # - [0xF4FE50, bin, gSPL3DEX_fifo_text] - [0xF737E0, bin, gSPL3DEX_fifo_text]
- [0xF747D0, linker_offset, DATA_START] #data Section - [0xF747D0, linker_offset, DATA_START] #data Section
- [0xF747D0, .data, code_0] - [0xF747D0, .data, code_0]
- [0xF74830, .data, code_660] - [0xF74830, .data, code_660]
@@ -373,8 +373,8 @@ segments:
- [0xF74AA0, .data, code_7090] - [0xF74AA0, .data, code_7090]
- [0xF74AB0, bin, data_37ED0] #unreferenced - [0xF74AB0, bin, data_37ED0] #unreferenced
- [0xF74AC0, .data, code_7F60] - [0xF74AC0, .data, code_7F60]
- [0xF74AD0, bin, remain_core1_data] - [0xF74AD0, .data, code_8C50]
# # - [0xF51140, .data, code_8C50] - [0xF74C60, bin, remain_core1_data]
# # - [0xF51280, .data, code_9D30] # # - [0xF51280, .data, code_9D30]
# # - [0xF51430, .data, code_ABB0] # # - [0xF51430, .data, code_ABB0]
# # - [0xF51440, .data, code_CE60] # # - [0xF51440, .data, code_CE60]
@@ -453,9 +453,9 @@ segments:
# # - [0xF54600, .rodata, io/devmgr] # # - [0xF54600, .rodata, io/devmgr]
# # - [0xF54620, .rodata, audio/env] # # - [0xF54620, .rodata, audio/env]
# # - [0xF54670, .rodata, audio/resample] # # - [0xF54670, .rodata, audio/resample]
# # - [0xF546B0, bin, n_aspMain_data] - [0xF77F20, bin, n_aspMain_data]
# # - [0xF54960, bin, gSPF3DEX_fifo_data] - [0xF781D0, bin, gSPF3DEX_fifo_data]
# # - [0xF55160, bin, gSPL3DEX_fifo_data] - [0xF789D0, bin, gSPL3DEX_fifo_data]
- [0xF791D0, .bss, code_0] - [0xF791D0, .bss, code_0]
- [0xF791D0, .bss, code_660] - [0xF791D0, .bss, code_660]
- [0xF791D0, .bss, inflate] - [0xF791D0, .bss, inflate]
@@ -466,7 +466,7 @@ segments:
- [0xF791D0, .bss, code_5650] - [0xF791D0, .bss, code_5650]
- [0xF791D0, .bss, code_7090] - [0xF791D0, .bss, code_7090]
- [0xF791D0, .bss, code_72B0] - [0xF791D0, .bss, code_72B0]
# # - [0xF791D0, .bss, code_8C50] - [0xF791D0, .bss, code_8C50]
# # - [0xF791D0, .bss, code_ABB0] # # - [0xF791D0, .bss, code_ABB0]
# # - [0xF791D0, .bss, code_CE60] # # - [0xF791D0, .bss, code_CE60]
# # - [0xF791D0, .bss, code_E360] # # - [0xF791D0, .bss, code_E360]

View File

@@ -1,5 +1,4 @@
/* Microcode renames to match ucode.h names */ /* Microcode renames to match ucode.h names */
/*
n_aspMainTextStart = _binary_bin_core1_n_aspMain_text_bin_start; n_aspMainTextStart = _binary_bin_core1_n_aspMain_text_bin_start;
n_aspMainTextEnd = _binary_bin_core1_n_aspMain_text_bin_end; n_aspMainTextEnd = _binary_bin_core1_n_aspMain_text_bin_end;
gSPF3DEX_fifoTextStart = _binary_bin_core1_gSPF3DEX_fifo_text_bin_start; gSPF3DEX_fifoTextStart = _binary_bin_core1_gSPF3DEX_fifo_text_bin_start;
@@ -12,9 +11,9 @@ gSPF3DEX_fifoDataStart = _binary_bin_core1_gSPF3DEX_fifo_data_bin_start;
gSPF3DEX_fifoDataEnd = _binary_bin_core1_gSPF3DEX_fifo_data_bin_end; gSPF3DEX_fifoDataEnd = _binary_bin_core1_gSPF3DEX_fifo_data_bin_end;
gSPL3DEX_fifoDataStart = _binary_bin_core1_gSPL3DEX_fifo_data_bin_start; gSPL3DEX_fifoDataStart = _binary_bin_core1_gSPL3DEX_fifo_data_bin_start;
gSPL3DEX_fifoDataEnd = _binary_bin_core1_gSPL3DEX_fifo_data_bin_end; gSPL3DEX_fifoDataEnd = _binary_bin_core1_gSPL3DEX_fifo_data_bin_end;
*/
/* Fixed-address buffers */ /* Fixed-address buffers */
D_80000300 = 0x80000300;
D_8000E800 = 0x8000E800; D_8000E800 = 0x8000E800;
D_8002D500 = 0x8002D500; D_8002D500 = 0x8002D500;
D_8023DA00 = 0x8023DA00; /* confirm */ D_8023DA00 = 0x8023DA00; /* confirm */
@@ -34,8 +33,9 @@ boot_gOverlayTable = gOverlayTable;
boot_func_8023DA20 = func_8023DA20; boot_func_8023DA20 = func_8023DA20;
/* Temporary Correct*/ /* Temporary Correct*/
D_80000300 = 0x80000300; func_8024BDAC = 0x8024ba3c;
func_8024BE30 = 0x8024BAC0; func_8024BE30 = 0x8024BAC0;
func_8024BFAC = 0x8024bc18;
func_8024C428 = 0x8024C078; func_8024C428 = 0x8024C078;
viewport_get_position_vec3f = 0x8024c21c; viewport_get_position_vec3f = 0x8024c21c;
veiwport_get_position_vec3w = 0x8024c240; veiwport_get_position_vec3w = 0x8024c240;
@@ -43,10 +43,12 @@ viewport_get_rotation_vec3f = 0x8024c3b4;
func_8024E71C = 0x8024e36c; func_8024E71C = 0x8024e36c;
pfsManager_update = 0x8024e418; pfsManager_update = 0x8024e418;
pfsManager_init = 0x8024ecac; pfsManager_init = 0x8024ecac;
pfsManager_getStartReadData = 0x8024ee00;
musicInstruments_init = 0x8024f130; musicInstruments_init = 0x8024f130;
func_80250650 = 0x802502a0; func_80250650 = 0x802502a0;
rumbleManager_80250C08 = 0x80250858; rumbleManager_80250C08 = 0x80250858;
rumbleManager_init = 0x802508d4; rumbleManager_init = 0x802508d4;
rumbleManager_80250FC0 = 0x80250c10;
overlayManagerloadCore2 = 0x80250f58; overlayManagerloadCore2 = 0x80250f58;
func_802535A8 = 0x802531f8; func_802535A8 = 0x802531f8;
func_80254008 = 0x80253c58; func_80254008 = 0x80253c58;
@@ -61,6 +63,7 @@ func_80255ACC = 0x8025571c;
write_file_blocks = 0x80255780; write_file_blocks = 0x80255780;
func_80255C30 = 0x80255880; func_80255C30 = 0x80255880;
func_80255CD8 = 0x80255928; func_80255CD8 = 0x80255928;
func_80255D0C = 0x8025595c;
func_80255D44 = 0x80255994; func_80255D44 = 0x80255994;
ml_dotProduct_vec3f = 0x80255c84; ml_dotProduct_vec3f = 0x80255c84;
ml_distance_vec3f = 0x80255cb4; ml_distance_vec3f = 0x80255cb4;
@@ -76,7 +79,9 @@ ml_vec3f_diff_copy = 0x80258810;
ml_vec3f_diff = 0x80258844; ml_vec3f_diff = 0x80258844;
ml_vec3f_add = 0x80258898; ml_vec3f_add = 0x80258898;
func_8025AFB0 = 0x8025AC00; func_8025AFB0 = 0x8025AC00;
func_8025AFB8 = 0x8025ac08;
sns_find_and_parse_payload = 0x8025ae30; sns_find_and_parse_payload = 0x8025ae30;
___osGetSR = 0x8025ac30;
sns_write_payload_over_heap = 0x8025b350; sns_write_payload_over_heap = 0x8025b350;
DEBUG_use_special_bootmap = 0x8025b460; DEBUG_use_special_bootmap = 0x8025b460;
n_alInit = 0x8025bf70; n_alInit = 0x8025bf70;
@@ -98,7 +103,6 @@ osWriteBackDCacheAll = 0x80263830;
__osInitialize_common = 0x80263860; __osInitialize_common = 0x80263860;
osCreateThread = 0x80263b50; osCreateThread = 0x80263b50;
sinf = 0x80263ca0; sinf = 0x80263ca0;
guMtxIdentF = 0x80264e30;
alCents2Ratio = 0x80263e60; alCents2Ratio = 0x80263e60;
alHeapInit = 0x80263eb0; alHeapInit = 0x80263eb0;
osCreateMesgQueue = 0x80263ef0; osCreateMesgQueue = 0x80263ef0;
@@ -120,13 +124,27 @@ osDestroyThread = 0x80264a00;
osSendMesg = 0x80264b00; osSendMesg = 0x80264b00;
osSetThreadPri = 0x80264c50; osSetThreadPri = 0x80264c50;
guMtxF2L = 0x80264d30; guMtxF2L = 0x80264d30;
guMtxIdentF = 0x80264e30;
gu_sqrtf = 0x80264fa0; gu_sqrtf = 0x80264fa0;
cosf = 0x80264fb0; cosf = 0x80264fb0;
osSetIntMask = 0x80265120; osSetIntMask = 0x80265120;
osDpSetStatus = 0x802651c0;
osSpTaskLoad = 0x802652ec;
osSpTaskStartGo = 0x8026547c;
osDpGetStatus = 0x802654c0;
osViGetCurrentFramebuffer = 0x802654d0;
osStopTimer = 0x80265510;
osSetTimer = 0x80265600;
__d_to_ull = 0x80265718;
__ull_to_d = 0x80265884;
osSpTaskYielded = 0x802658f0;
osSpTaskYield = 0x80265970;
osViSetMode = 0x80265990;
osSetEventMesg = 0x80265a00;
framebuffer_width = 0x802762d8; framebuffer_width = 0x802762d8;
framebuffer_height = 0x802762dc; framebuffer_height = 0x802762dc;
n_syn = 0x80276bd4; n_syn = 0x80276bd4;
osClockRate = 0x80276e70;
osViClock = 0x80276e78; osViClock = 0x80276e78;
core2_TEXT_START = 0x80286db0; core2_TEXT_START = 0x80286db0;

View File

@@ -292,9 +292,8 @@ void audioManager_init(void){
if(osTvType != OS_TV_NTSC) if(osTvType != OS_TV_NTSC)
osViClock = 0x2e6025c; osViClock = 0x2e6025c;
#elif VERSION == VERSION_PAL #elif VERSION == VERSION_PAL
PAL_EXCLUSIVE(
osViClock = 0x2f5b2d2; osViClock = 0x2f5b2d2;
) #endif
audioManager_create(); audioManager_create();
sfxInstruments_init(); sfxInstruments_init();
musicInstruments_init(); musicInstruments_init();
@@ -610,6 +609,7 @@ void func_802403F0(void) {
void *audioManager_getThread_PAL(void){ void *audioManager_getThread_PAL(void){
return &audioManager.thread; return &audioManager.thread;
} }
#endif
void audioManager_stopThread(void){ void audioManager_stopThread(void){
if(D_80275774){ if(D_80275774){

View File

@@ -1,7 +1,7 @@
#include <ultra64.h> #include <ultra64.h>
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
#include "version.h"
typedef struct { typedef struct {
s32 unk0; s32 unk0;
@@ -283,7 +283,11 @@ void func_80246D78(void){
if(D_802806D0){ if(D_802806D0){
osStopTimer(&D_802806B0); osStopTimer(&D_802806B0);
#if VERSION == VERSION_USA_1_0
osSetTimer(&D_802806B0, ((osClockRate / 60)* 2) / 3, 0, &D_8027FB60, CORE1_8C50_EVENT_CONT_TIMER); osSetTimer(&D_802806B0, ((osClockRate / 60)* 2) / 3, 0, &D_8027FB60, CORE1_8C50_EVENT_CONT_TIMER);
#elif VERSION == VERSION_PAL
osSetTimer(&D_802806B0, ((osClockRate / 60.0)* 2) / 3, 0, &D_8027FB60, CORE1_8C50_EVENT_CONT_TIMER);
#endif
} }
} }
@@ -389,16 +393,40 @@ void func_8024730C(void){
{640, 1024, 0x2501FF, 0xE0204, 2} {640, 1024, 0x2501FF, 0xE0204, 2}
} }
}; };
#if VERSION == VERSION_PAL
static OSViMode D_80275A48 = {
OS_VI_PAL_LPN1, /* type */
{
VI_CTRL_TYPE_16 | VI_CTRL_GAMMA_DITHER_ON | VI_CTRL_GAMMA_ON | 0x3200, /*ctrl*/
320, /*width*/
0x404233A, /*burst*/
0x271, /*vSync*/
0x150C69, /* hSync*/
0xC6F0C6E, /* leap*/
0x800300, /* hStart*/
0, /* xScale*/
0, /* vCurrent*/
},
{
{640, 1024, 0x5F0239, 0x9026B, 2},
{640, 1024, 0x5F0239, 0x9026B, 2}
}
};
#endif
static s32 D_802806D4; static s32 D_802806D4;
if(!D_802806D4){ if(!D_802806D4){
D_802806D4 = TRUE; D_802806D4 = TRUE;
#if VERSION == VERSION_USA_1_0
if(osTvType != OS_TV_NTSC){ if(osTvType != OS_TV_NTSC){
osViSetMode(&D_802759A8); osViSetMode(&D_802759A8);
} else { } else {
osViSetMode(&D_802759F8); osViSetMode(&D_802759F8);
} }
#elif VERSION == VERSION_PAL
// if(&D_802759A8){}
osViSetMode(&D_80275A48);
#endif
rumbleManager_80250FC0(); //stop controller motors rumbleManager_80250FC0(); //stop controller motors
do{ do{
osDpSetStatus(DPC_STATUS_FLUSH); osDpSetStatus(DPC_STATUS_FLUSH);