int LoadModules() { int result = sceUtilityLoadUsbModule(PSP_USB_MODULE_ACC); if (result < 0) { printf("Error 0x%08X loading usbacc.prx.\n", result); return result; } result = sceUtilityLoadUsbModule(PSP_USB_MODULE_CAM); if (result < 0) { printf("Error 0x%08X loading usbcam.prx.\n", result); return result; } result = sceUtilityLoadAvModule(PSP_AV_MODULE_AVCODEC); // For jpeg decoding if (result < 0) printf("Error 0x%08X loading avcodec.prx.\n", result); return result; }
static int load_util(int module) { #ifdef UTILITY_AV_AVCODEC_PATH SceUID ret; #endif dbg_printf("Loading 0x%08X\n", module); if (isImported(sceUtilityLoadModule)) return sceUtilityLoadModule(module); else if (module <= PSP_MODULE_NET_SSL && isImported(sceUtilityLoadNetModule)) return sceUtilityLoadNetModule(module + PSP_NET_MODULE_COMMON - PSP_MODULE_NET_COMMON); else if (module == PSP_MODULE_USB_PSPCM && isImported(sceUtilityLoadUsbModule)) return sceUtilityLoadUsbModule(PSP_USB_MODULE_PSPCM); else if (module <= PSP_MODULE_USB_GPS && isImported(sceUtilityLoadUsbModule)) return sceUtilityLoadUsbModule(module + PSP_USB_MODULE_MIC - PSP_MODULE_USB_MIC); else if (module <= PSP_MODULE_AV_G729 && isImported(sceUtilityLoadAvModule)) return sceUtilityLoadAvModule(module + PSP_MODULE_AV_AVCODEC - PSP_AV_MODULE_AVCODEC); else #ifdef UTILITY_AV_AVCODEC_PATH if (module == PSP_MODULE_AV_AVCODEC) { ret = sceKernelLoadModule(UTILITY_AV_AVCODEC_PATH, 0, NULL); return ret < 0 ? ret : sceKernelStartModule(ret, 0, NULL, NULL, NULL); } else #endif #ifdef UTILITY_AV_SASCORE_PATH if (module == PSP_MODULE_AV_SASCORE) { ret = sceKernelLoadModule(UTILITY_AV_SASCORE_PATH, 0, NULL); return ret < 0 ? ret : sceKernelStartModule(ret, 0, NULL, NULL, NULL); } else #endif #ifdef UTILITY_AV_ATRAC3PLUS_PATH if (module == PSP_MODULE_AV_ATRAC3PLUS) { ret = sceKernelLoadModule(UTILITY_AV_ATRAC3PLUS_PATH, 0, NULL); return ret < 0 ? ret : sceKernelStartModule(ret, 0, NULL, NULL, NULL); } else #endif #ifdef UTILITY_AV_MPEGBASE_PATH if (module == PSP_MODULE_AV_MPEGBASE) { ret = sceKernelLoadModule(UTILITY_AV_MPEGBASE_PATH, 0, NULL); return ret < 0 ? ret : sceKernelStartModule(ret, 0, NULL, NULL, NULL); } else #endif return SCE_KERNEL_ERROR_ERROR; }
void load_utils() { int ret; int module; unsigned i; if (isImported(sceUtilityLoadModule)) { // Load modules in order if (!globals->isEmu || sceNetIsImported) for(i = 0; i < sizeof(netModules) / sizeof(int); i++) { ret = sceUtilityLoadModule(netModules[i]); if (ret < 0) dbg_printf("%s: Loading 0x%08X failed 0x%08X\n", __func__, netModules[i], ret); } for(i = 0; i < sizeof(modules) / sizeof(int); i++) { ret = sceUtilityLoadModule(modules[i]); if (ret < 0) dbg_printf("%s: Loading 0x%08X failed 0x%08X\n", __func__, modules[i], ret); } ret = sceUtilityLoadModule(PSP_MODULE_AV_MP3); if (ret < 0) dbg_printf("%s: Loading 0x%08X failed 0x%08X\n", __func__, PSP_MODULE_AV_MP3, ret); } else { if (isImported(sceUtilityLoadNetModule)) for (module = 1; module <= 7; module++) { ret = sceUtilityLoadNetModule(module); if (ret < 0) dbg_printf("%s: Loading net module %d failed 0x%08X\n", __func__, module, ret); } if (isImported(sceUtilityLoadUsbModule)) for (module = 1; module <= 5; module++) { ret = sceUtilityLoadUsbModule(module); if (ret < 0) dbg_printf("%s: Loading USB module %d failed 0x%08X\n", __func__, module, ret); } if (isImported(sceUtilityLoadAvModule)) for (module = 1; module <= 7; module++) { ret = sceUtilityLoadAvModule(module); dbg_printf("%s: Loading AV module %d failed 0x%08X\n", __func__, module, ret); } else { #ifdef UTILITY_AV_AVCODEC_PATH avcodec_modid = sceKernelLoadModule(UTILITY_AV_AVCODEC_PATH, 0, NULL); sceKernelStartModule(avcodec_modid, 0, NULL, NULL, NULL); #endif #ifdef UTILITY_AV_SASCORE_PATH sascore_modid = sceKernelLoadModule(UTILITY_AV_SASCORE_PATH, 0, NULL); sceKernelStartModule(sascore_modid, 0, NULL, NULL, NULL); #endif #ifdef UTILITY_AV_ATRAC3PLUS_PATH atrac3plus_modid = sceKernelLoadModule(UTILITY_AV_ATRAC3PLUS_PATH, 0, NULL); sceKernelStartModule(atrac3plus_modid, 0, NULL, NULL, NULL); #endif #ifdef UTILITY_AV_MPEGBASE_PATH mpegbase_modid = sceKernelLoadModule(UTILITY_AV_MPEGBASE_PATH, 0, NULL); sceKernelStartModule(mpegbase_modid, 0, NULL, NULL, NULL); #endif } } }