| 333 | } |
| 334 | |
| 335 | void initVitaShell() { |
| 336 | // Set CPU to 444mhz |
| 337 | scePowerSetArmClockFrequency(444); |
| 338 | |
| 339 | // Init SceShellUtil events |
| 340 | sceShellUtilInitEvents(0); |
| 341 | |
| 342 | // Prevent automatic CMA connection |
| 343 | sceShellUtilLock(SCE_SHELL_UTIL_LOCK_TYPE_USB_CONNECTION); |
| 344 | |
| 345 | // Get titleid |
| 346 | memset(vitashell_titleid, 0, sizeof(vitashell_titleid)); |
| 347 | sceAppMgrAppParamGetString(sceKernelGetProcessId(), 12, vitashell_titleid, sizeof(vitashell_titleid)); |
| 348 | |
| 349 | // Allow writing to ux0:app/VITASHELL |
| 350 | sceAppMgrUmount("app0:"); |
| 351 | sceAppMgrUmount("savedata0:"); |
| 352 | |
| 353 | // Is safe mode |
| 354 | if (sceIoDevctl("ux0:", 0x3001, NULL, 0, NULL, 0) == 0x80010030) |
| 355 | is_safe_mode = 1; |
| 356 | |
| 357 | // Set sampling mode |
| 358 | sceCtrlSetSamplingMode(SCE_CTRL_MODE_ANALOG); |
| 359 | |
| 360 | // Load modules |
| 361 | sceSysmoduleLoadModule(SCE_SYSMODULE_VIDEO_EXPORT); |
| 362 | sceSysmoduleLoadModule(SCE_SYSMODULE_PGF); |
| 363 | sceSysmoduleLoadModule(SCE_SYSMODULE_MUSIC_EXPORT); |
| 364 | sceSysmoduleLoadModule(SCE_SYSMODULE_PHOTO_EXPORT); |
| 365 | sceSysmoduleLoadModule(SCE_SYSMODULE_NET); |
| 366 | sceSysmoduleLoadModule(SCE_SYSMODULE_HTTPS); |
| 367 | sceSysmoduleLoadModule(SCE_SYSMODULE_PSPNET_ADHOC); |
| 368 | sceSysmoduleLoadModule(SCE_SYSMODULE_SQLITE); |
| 369 | |
| 370 | // Init |
| 371 | vitaAudioInit(0x40); |
| 372 | initVita2dLib(); |
| 373 | initSceAppUtil(); |
| 374 | initNet(); |
| 375 | initQR(); |
| 376 | initSQLite(); |
| 377 | |
| 378 | // Init power tick thread |
| 379 | initPowerTickThread(); |
| 380 | |
| 381 | // Delete VitaShell updater if available |
| 382 | if (checkAppExist("VSUPDATER")) { |
| 383 | deleteApp("VSUPDATER"); |
| 384 | } |
| 385 | |
| 386 | // Install default files |
| 387 | installDefaultFiles(); |
| 388 | |
| 389 | // Load modules |
| 390 | int search_unk[2]; |
| 391 | SceUID search_modid; |
| 392 | search_modid = _vshKernelSearchModuleByName("VitaShellPatch", search_unk); |
no test coverage detected