relocator: Make sure to call the memory_mapping main() function at first

This commit is contained in:
Maschell 2020-05-30 22:00:17 +02:00
parent 8d46cf5303
commit ce14fc8a6e
1 changed files with 14 additions and 3 deletions

View File

@ -131,9 +131,20 @@ extern "C" void doStart(int argc, char **argv) {
}
for (int i = 0; i < gModuleData->number_used_modules; i++) {
DEBUG_FUNCTION_LINE("About to call %08X\n", gModuleData->module_data[i].entrypoint);
int ret = ((int (*)(int, char **)) (gModuleData->module_data[i].entrypoint))(argc, argv);
DEBUG_FUNCTION_LINE("return code was %d\n", ret);
if(strcmp(gModuleData->module_data[i].module_export_name, "homebrew_memorymapping") == 0){
DEBUG_FUNCTION_LINE("About to call memory mapping (%08X)\n", gModuleData->module_data[i].entrypoint);
int ret = ((int (*)(int, char **)) (gModuleData->module_data[i].entrypoint))(argc, argv);
DEBUG_FUNCTION_LINE("return code was %d\n", ret);
break;
}
}
for (int i = 0; i < gModuleData->number_used_modules; i++) {
if(strcmp(gModuleData->module_data[i].module_export_name, "homebrew_memorymapping") != 0) {
DEBUG_FUNCTION_LINE("About to call %08X\n", gModuleData->module_data[i].entrypoint);
int ret = ((int (*)(int, char **)) (gModuleData->module_data[i].entrypoint))(argc, argv);
DEBUG_FUNCTION_LINE("return code was %d\n", ret);
}
}
}