2 Commits

2 changed files with 6 additions and 1 deletions

View File

@@ -297,7 +297,8 @@ bool process_instruction(GeneratorType& generator, const N64Recomp::Context& con
}
else {
uint32_t target_section = func.section_index;
if (has_reloc) {
// If this instruction has a reloc and the target section is a normal section, use the section of the reloc when searching for a matching target function.
if (has_reloc && reloc_section < 65500) {
target_section = reloc_section;
}
JalResolutionResult jal_result = resolve_jal(context, target_section, target_func_vram, matched_func_index);

View File

@@ -94,6 +94,7 @@ const std::unordered_set<std::string> N64Recomp::reimplemented_funcs {
"osSetEventMesg",
// Timer functions
"osGetTime",
"osSetTime",
"osSetTimer",
"osStopTimer",
// Voice functions
@@ -114,6 +115,7 @@ const std::unordered_set<std::string> N64Recomp::reimplemented_funcs {
"osVirtualToPhysical",
// Coprocessor 0/1 functions
"osGetCount",
"osSetCount",
"__osSetFpcCsr",
// Cache funcs
"osInvalDCache",
@@ -329,6 +331,7 @@ const std::unordered_set<std::string> N64Recomp::ignored_funcs {
"osSetTimer",
"osStopTimer",
"osGetTime",
"osSetTime",
"__osInsertTimer",
"__osTimerInterrupt",
"__osTimerServicesInit",
@@ -391,6 +394,7 @@ const std::unordered_set<std::string> N64Recomp::ignored_funcs {
// Coprocessor 0/1 functions
"__osSetCount",
"osGetCount",
"osSetCount",
"__osSetSR",
"__osGetSR",
"__osSetCause",