Compare commits

...

2 Commits

Author SHA1 Message Date
Reonu
281d7f4d8c
Merge fc9aad1fc3 into 4abd0fe720 2024-06-21 08:12:22 -07:00
Anghelo Carvajal
4abd0fe720
Update N64ModernRuntime and add debug game thread naming (#408) 2024-06-21 15:40:06 +02:00
3 changed files with 100 additions and 2 deletions

1
.gitignore vendored
View File

@ -57,6 +57,7 @@ node_modules/
# Recompiler Linux binary
N64Recomp
RSPRecomp
.DS_Store
# Controller mappings file

@ -1 +1 @@
Subproject commit 0c1811ca6f8291c6608f1d6626a73e863902ece9
Subproject commit ce68e96c171f7f036e29f539e22a604da04af824

View File

@ -340,6 +340,89 @@ std::vector<recomp::GameEntry> supported_games = {
},
};
// TODO: move somewhere else
namespace zelda64 {
std::string get_game_thread_name(const OSThread* t) {
std::string name = "[Game] ";
switch (t->id) {
case 0:
switch (t->priority) {
case 150:
name += "PIMGR";
break;
case 254:
name += "VIMGR";
break;
default:
name += std::to_string(t->id);
break;
}
break;
case 1:
name += "IDLE";
break;
case 2:
switch (t->priority) {
case 5:
name += "SLOWLY";
break;
case 127:
name += "FAULT";
break;
default:
name += std::to_string(t->id);
break;
}
break;
case 3:
name += "MAIN";
break;
case 4:
name += "GRAPH";
break;
case 5:
name += "SCHED";
break;
case 7:
name += "PADMGR";
break;
case 10:
name += "AUDIOMGR";
break;
case 13:
name += "FLASHROM";
break;
case 18:
name += "DMAMGR";
break;
case 19:
name += "IRQMGR";
break;
default:
name += std::to_string(t->id);
break;
}
return name;
}
}
int main(int argc, char** argv) {
@ -424,7 +507,21 @@ int main(int argc, char** argv) {
.message_box = recompui::message_box,
};
recomp::start({}, rsp_callbacks, renderer_callbacks, audio_callbacks, input_callbacks, gfx_callbacks, thread_callbacks, error_handling_callbacks);
ultramodern::threads::callbacks_t threads_callbacks{
.get_game_thread_name = zelda64::get_game_thread_name,
};
recomp::start(
{},
rsp_callbacks,
renderer_callbacks,
audio_callbacks,
input_callbacks,
gfx_callbacks,
thread_callbacks,
error_handling_callbacks,
threads_callbacks
);
NFD_Quit();