Editing PSP Emulation
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== | ==PSPHD== | ||
=== | ===LUA=== | ||
====basic==== | |||
*axInsnReplace (mem, org opcode, new opcode) - Replace allegrex memory | |||
*axFuncReplace - Replace allegrex function. Known implemented functions are: I3dVecSet, I3dRender__ReserveTrashQwc, I3dVecAdd, I3dVecScaleXYZ, I3dGuSetMatrix_PSP, patapon_memcpy | |||
====hooks/registers==== | |||
Hooks, and registers that can be called in lua api. | |||
Allegrex (usage - remove AX_): | |||
*AX_GetPC | |||
*AX_SetPC | |||
*AX_GetHi | |||
*AX_SetHi | |||
*AX_GetLo | |||
*AX_SetLo | |||
*AX_GetReg | |||
*AX_SetReg | |||
*AX_GetFpr | |||
*AX_SetFpr | |||
*AX_ReadMem8 | |||
*AX_ReadMem16 | |||
*AX_ReadMem32 | |||
*AX_ReadMemFloat | |||
*AX_ReadMemString | |||
*AX_WriteMem8 | |||
*AX_WriteMem16 | |||
*AX_WriteMem32 | |||
*AX_WriteMemFloat | |||
*AX_WriteMemString | |||
*AX_WriteMemStringZ | |||
*AX_AddHook | |||
*AX_RemoveHook | |||
*AX_Overlay | |||
*AX_InsnReplace | |||
*AX_FuncReplace | |||
Emulator (usage - remove EM_): | |||
*EM_SetTextureHashMode | |||
*EM_SetTextureScaleOffset | |||
*EM_SetTextureSaveSubdir | |||
*EM_SetSampleTitle | |||
*EM_SetDrawEDRam | |||
*EM_ToggleTextures | |||
*EM_PadRead | |||
*EM_PadReadPitch | |||
*EM_PadReadRoll | |||
*EM_PadVibrate | |||
*EM_PadRegisterSamples | |||
*EM_PadSetButtonsMode | |||
*EM_AddVsyncHook | |||
*EM_RemoveVsyncHook | |||
*EM_ThrottleMax | |||
*EM_ThrottleNormal | |||
*EM_Log | |||
*EM_GetLanguage | |||
*EM_GetNativeLanguage | |||
*EM_DisplayManual | |||
*EM_LoadConfig | |||
*EM_SaveConfig | |||
*EM_LoadMIDI | |||
*EM_GetMIDINotesAtTick | |||
*EM_LoadSlideshow | |||
*EM_StartSlideshow | |||
*EM_LoadState | |||
*EM_SaveState | |||
=== config-emu-ps4.txt commands === | |||
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;" | {| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;" | ||
! Command !! Values !! Notes !! Usage | ! Command !! Values !! Notes !! Usage | ||
|- | |- | ||
| -- | | --boot || || [disc0:/PSP_GAME/SYSDIR/BOOT.BIN - path (no loaders support like on PS3? vide ct2, psc)] || | ||
|- | |- | ||
| -- | | --notrophies || || || | ||
|- | |- | ||
| -- | | --volume || || ? (Adjusting volume level to %d%%) || | ||
|- | |- | ||
| --image || umd0 ,disc0 || | | --image || umd0 ,disc0 || || | ||
|- | |- | ||
| --addon || || || | | --addon || || || | ||
|- | |- | ||
| --host || | | --host || host0, flash0 || || | ||
|- | |- | ||
| --texsave || || || | | --texsave || || || | ||
Line 214: | Line 95: | ||
| --texmissingsave || || || | | --texmissingsave || || || | ||
|- | |- | ||
| -- | | --samplesave || || || | ||
|- | |- | ||
| -- | | --vramcopyback || 45, Value ? || || --vramcopyback=45 | ||
|- | |- | ||
| -- | | --texreplace || || || | ||
|- | |- | ||
| -- | | --samplereplace || || || | ||
|- | |- | ||
| | | --spu2Trace || true || || --spu2Trace=true | ||
|- | |- | ||
| | | --spu2-c1-memin-to-bgm || true || || --spu2-c1-memin-to-bgm=true | ||
|- | |- | ||
| | | --replacementalpha || true || || --replacementalpha=true | ||
|- | |- | ||
| | | --parappaalphahack || true || || --parappaalphahack=true | ||
|- | |- | ||
| | | --locorocomeshsmooth || true || || --locorocomeshsmooth=true | ||
|- | |- | ||
| | | --locorocomeshsmoothnonindexed || true || ||--locorocomeshsmoothnonindexed=true | ||
|- | |- | ||
| | | --replacementfilter || || || | ||
|- | |- | ||
| | | --gputhread || true || || | ||
|- | |- | ||
| | | --antialias || off, MSAA4x, SSAA4x|| || | ||
|- | |- | ||
| | | --texcachemode || patchworkheroes drawbounds, drawboundsloco, patchworkheroes, locoroco2, rondo || || --texcachemode=patchworkheroes | ||
|- | |- | ||
| | | --texclutmode || filter, full || || --texclutmode=full | ||
|- | |- | ||
| | | --texloadmode || launch, ondemand_lz4 || || | ||
|- | |- | ||
| | | --depthscalehack || true || ||--depthscalehack=true | ||
|- | |- | ||
| | | --forcenobilinear || true || ||--forcenobilinear=true | ||
|- | |- | ||
| | | --texloadcores || 2, 12? || || texloadcores=2 | ||
|- | |- | ||
| | | --smoothlevel || 0, 6? || ||--smoothlevel=0 | ||
|- | |- | ||
| --parappajapanesefonthack || true? || || | |||
|- | |||
| | |||
|- | |- | ||
| --parappareplacecolor || %08x || (rgb?) || | |||
|} | |} | ||
==== | === Speedhacks === | ||
{| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;" | {| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;" | ||
! | ! Command !! Values !! Notes !! Usage | ||
|- | |- | ||
| | | --antialias || off || Turning Anti-Alias Off Improves Performance||--antialias=off | ||
|- | |||
|-- | |||
|- | |- | ||
| | | --texclutmode || filter, full || ||--texclutmode=full | ||
|- | |- | ||
| | | --texloadcores || 2, 12?|| ||--texloadcores=12 | ||
|- | |- | ||
| | | --smoothlevel || 0,12 ?|| ||--smoothlevel=0 | ||
|- | |- | ||
| | | --texcachemode || patchworkheroes drawbounds, drawboundsloco, patchworkheroes, locoroco2, rondo || ||--texcachemode=patchworkheroes | ||
|- | |- | ||
| | | --present || vblankstart, setframebuf, drawsync|| ||--present=setframebuf | ||
|- | |- | ||
| --texrecent || true || ||--texrecent=true | |||
|- | |||
| | |||
|- | |||
|- | |- | ||
| --umddelay || true || ||--umddelay=true | |||
|} | |} | ||
====Standard: ==== | |||
*patches/ | |||
*_patches.lua | |||
*feature_data/ | |||
*_features.lua | |||
*tooling/ | |||
*_tooling.lua | |||
*trophy_data/ | |||
*_trophies.lua | |||
= | ====other==== | ||
*XXXXYYYYY_config.txt | |||
*--vms | |||
*--autoresampler [true] | |||
*videos/ | |||
*.mp4 | |||
*videos/%08x.mp4 | |||
*audio/%08x.ogg | |||
*--texswitch [original, replacement] | |||
videos/ | |||
.mp4 | |||
videos/%08x.mp4 | |||
audio/%08x.ogg | |||
Paths: | Paths: | ||
/app0/ | */app0/ | ||
/download0/ | */download0/ | ||
/savedata | */savedata | ||
/host/ | */host/ | ||
/hostapp/ | */hostapp/ | ||
/data/ | */data/ | ||
== | ====sample==== | ||
<pre>; PS4 configuration file for PSPHD | <pre>; PS4 configuration file for PSPHD | ||
Line 1,653: | Line 227: | ||
; With this we can freely make use of a normal alpha channel on replacement textures | ; With this we can freely make use of a normal alpha channel on replacement textures | ||
--replacementalpha=true | --replacementalpha=true | ||
; This enables bilinear filtering on replaced textures. (uncomment to enable) | |||
--replacementfilter=true | |||
; Antialiasing mode. SSAA4x looks best, MSAA4x only smooths edges. | ; Antialiasing mode. SSAA4x looks best, MSAA4x only smooths edges. | ||
Line 1,666: | Line 243: | ||
; Parappa Alpha Hack | ; Parappa Alpha Hack | ||
--parappaalphahack=true | --parappaalphahack=true | ||
</pre> | |||
==NIDs in HLE== | ; Adjust overall volume level (does not include pad speaker volume). Range from 0.0 (min) to 1.0 (max) | ||
--volume="0.25" | |||
; Special thanks to Matsuura, Rodney, Allan and all the awesome people at Japan Studio! Also HUUUUGE thanks to Ernesto, Adam, Henrick, Taku, Tim, Nick, Mayene, Tyler, Dave Thach and Scott Rohde whose support made this project of love possible! PaRappa-4-Ever!!!!! | |||
; If you're reading this message, congratulations! you win !!! | |||
; we love you so much. you’ve made hacking great again.</pre> | |||
===NIDs in HLE=== | |||
=====HLEInterruptManager===== | |||
*sceKernelRegisterSubIntrHandler | |||
*sceKernelReleaseSubIntrHandler | |||
*sceKernelEnableSubIntr | |||
=====HLEStdioForUser===== | |||
*sceIoOpen | |||
*sceIoClose | |||
*sceIoRead | |||
*sceIoWrite | |||
*sceIoLseek | |||
*sceIoLseek32 | |||
*sceIoDopen | |||
*sceIoDread | |||
*sceIoDclose | |||
*sceIoChdir | |||
*sceIoGetstat | |||
*sceIoDevctl | |||
*sceIoRename | |||
*sceIoMkDir | |||
*sceIoChstat | |||
*sceIoRemove | |||
*sceIoRmdir | |||
*sceIoOpenAsync | |||
*sceIoReadAsync | |||
*sceIoIoctlAsync | |||
*sceIoWaitAsync | |||
*sceIoWaitAsyncCB | |||
*sceIoCloseAsync | |||
*sceIoSetAsyncCallback | |||
*sceIoPollAsync | |||
*sceIoLseekAsync | |||
*sceIoGetAsyncStat | |||
*asyncWaitTimerCallback | |||
*asyncCallbackTimerCallback | |||
*sceKernelStdin | |||
*sceKernelStdout | |||
*sceKernelStderr | |||
=====HLELoadExecForUser===== | |||
*sceKernelCpuSuspendIntr | |||
*sceKernelCpuResumeIntr | |||
*sceKernelIsCpuIntrEnable | |||
*sceKernelExitGame | |||
*sceKernelRegisterExitCallback | |||
*sceKernelLoadModule | |||
*sceKernelUnloadModule | |||
*sceKernelStartModule | |||
*sceKernelStopModule | |||
*sceKernelStopUnloadSelfModule | |||
*sceKernelGetModuleIdByAddress | |||
*sceKernelStopUnloadSelfModuleWithStatus | |||
*sceKernelGetModuleId | |||
=====HLEsceAtrac3plus===== | |||
*sceAtracReinit | |||
*sceAtracDecodeData | |||
*sceAtracGetNextDecodePosition | |||
*sceAtracSetHalfwayBufferAndGetID | |||
*sceAtracGetSoundSample | |||
*sceAtracGetStreamDataInfo | |||
*sceAtracGetRemainFrame | |||
*sceAtracSetLoopNum | |||
*sceAtracResetPlayPosition | |||
*sceAtracReleaseAtracID | |||
*sceAtracGetAtracID | |||
*sceAtracGetNextSample | |||
*sceAtracSetData | |||
*sceAtracAddStreamData | |||
=====HLEsceAudio===== | |||
*sceAudioChReserve | |||
*sceAudioChRelease | |||
*sceAudioOutputBlocking | |||
*sceAudioChangeChannelConfig | |||
*sceAudioGetChannelRestLength | |||
*sceAudioChangeChannelVolume | |||
*sceAudioSetChannelDataLen | |||
*sceAudioOutputPanned | |||
*sceAudioOutputPannedBlocking | |||
*sceAudioGetChannelRestLen | |||
*sceAudioOutput2Reserve | |||
*sceAudioOutput2OutputBlocking | |||
*sceAudioOutput2Release | |||
*outputCallback | |||
=====HLEsceCtrl===== | |||
*sceCtrlSetSamplingCycle | |||
*sceCtrlSetSamplingMode | |||
*sceCtrlReadBufferPositive | |||
*sceCtrlReadBufferNegative | |||
*sceCtrlPeekBufferPositive | |||
*sceCtrlPeekBufferNegative | |||
*sceCtrlGetIdleCancelThreshold | |||
*sceCtrlSetIdleCancelThreshold | |||
*sceCtrlReadLatch | |||
*sceCtrlPeekLatch | |||
*sampleControllerCallback | |||
*vibrationControllerCallback | |||
=====HLEsceDisplay===== | |||
*sceDisplaySetMode | |||
*sceDisplaySetFramebuf | |||
*sceDisplayGetFramebuf | |||
*sceDisplayGetVcount | |||
*sceDisplayWaitVblankStart | |||
*sceDisplayWaitVblankStartCB | |||
*sceDisplayGetCurrentHcount | |||
*sceDisplayGetAccumulatedHcount | |||
*sceDisplayGetFramePerSec | |||
*sceDisplayWaitVblank | |||
*sceDisplayWaitVblankCB | |||
*sceDisplayIsVblank | |||
*sceDisplaySetHoldMode | |||
*vblankStart | |||
*vblankEnd | |||
=====HLEsceGe_user===== | |||
*sceGeEdramGetAddr | |||
*sceGeEdramGetSize | |||
*sceGeGetCmd | |||
*sceGeGetMtx | |||
*sceGeListEnQueue | |||
*sceGeListEnQueueHead | |||
*sceGeListDeQueue | |||
*sceGeListSync | |||
*sceGeListUpdateStallAddr | |||
*sceGeDrawSync | |||
*sceGeSetCallback | |||
*sceGeUnsetCallback | |||
*sceGeBreak | |||
*sceGeContinue | |||
*interruptCallback | |||
=====HLEsceImpose===== | |||
*sceImposeGetLanguageMode | |||
*sceImposeSetLanguageMode | |||
*sceImposeSetUMDPopup | |||
=====HLEsceMpeg===== | |||
*sceMpegInit | |||
*sceMpegFinish | |||
*sceMpegCreate | |||
*sceMpegDelete | |||
*sceMpegQueryMemSize | |||
*sceMpegMallocAvcEsBuf | |||
*sceMpegFreeAvcEsBuf | |||
*sceMpegInitAu | |||
*sceMpegGetAvcAu | |||
*sceMpegGetAtracAu | |||
*sceMpegQueryAtracEsSize | |||
*sceMpegAtracDecode | |||
*sceMpegRingbufferQueryMemSize | |||
*sceMpegRingbufferConstruct | |||
*sceMpegRingbufferDestruct | |||
*sceMpegRingbufferPut | |||
*sceMpegRingbufferAvailableSize | |||
*sceMpegAvcCsc | |||
*sceMpegAvcDecodeMode | |||
*sceMpegAvcDecodeDetail | |||
*sceMpegAvcDecodeFlush | |||
*sceMpegAvcQueryYCbCrSize | |||
*sceMpegAvcInitYCbCr | |||
*sceMpegAvcDecodeYCbCr | |||
*sceMpegAvcDecodeStopYCbCr | |||
*sceMpegRegistStream | |||
*sceMpegUnRegistStream | |||
*sceMpegQueryStreamSize | |||
*sceMpegQueryStreamOffset | |||
*sceMpegFlushAllStream | |||
=====HLEsceNet===== | |||
*sceNetInit | |||
*sceNetInetGetsockopt | |||
*sceNetInetSetsockopt | |||
*sceNetInetGetErrno | |||
=====HLEscePower===== | |||
*scePowerRegisterCallback | |||
*scePowerUnregisterCallback | |||
*scePowerSetClockFrequency | |||
*scePowerSetCpuClockFrequency | |||
*scePowerSetBusClockFrequency | |||
=====HLEscePsmf===== | |||
*scePsmfVerifyPsmf | |||
*scePsmfSetPsmf | |||
*scePsmfSpecifyStreamWithStreamTypeNumber | |||
*scePsmfCheckEPmap | |||
*scePsmfGetVideoInfo | |||
*scePsmfGetNumberOfStreams | |||
*scePsmfGetNumberOfEPentries | |||
*scePsmfGetEPWithId | |||
*scePsmfGetPsmfVersion | |||
*scePsmfGetNumberOfSpecificStreams | |||
*scePsmfSpecifyStream | |||
*scePsmfGetCurrentStreamType | |||
=====HLEscePsmfPlayer===== | |||
*scePsmfPlayerCreate | |||
*scePsmfPlayerDelete | |||
*scePsmfPlayerSetPsmf | |||
*scePsmfPlayerReleasePsmf | |||
*scePsmfPlayerStart | |||
*scePsmfPlayerGetAudioOutSize | |||
*scePsmfPlayerStop | |||
*scePsmfPlayerUpdate | |||
*scePsmfPlayerGetVideoData | |||
*scePsmfPlayerGetAudioData | |||
*scePsmfPlayerGetCurrentStatus | |||
*scePsmfPlayerGetPsmfInfo | |||
*scePsmfPlayerConfigPlayer | |||
*scePsmfPlayerBreak | |||
*scePsmfPlayerChangePlayMode | |||
=====HLEsceRtc===== | |||
*sceRtcGetCurrentTick | |||
*sceRtcGetAccumulativeTime | |||
*sceRtcGetCurrentClockLocalTime | |||
=====HLEsceSasCore===== | |||
*sceSasInit | |||
*sceSasCore | |||
*sceSasCoreWithMix | |||
*sceSasGetEndFlag | |||
*sceSasGetPauseFlag | |||
*sceSasGetEnvelopeHeight | |||
*sceSasGetAllEnvelopeHeights | |||
*sceSasGetOutputMode | |||
*sceSasSetOutputMode | |||
*sceSasGetGrain | |||
*sceSasSetGrain | |||
*sceSasSetVoice | |||
*sceSasSetNoise | |||
*sceSasSetPitch | |||
*sceSasSetVolume | |||
*sceSasSetSimpleADSR | |||
*sceSasSetKeyOn | |||
*sceSasSetKeyOff | |||
*sceSasSetPause | |||
*sceSasSetSL | |||
*sceSasSetADSR | |||
*sceSasSetADSRMode | |||
*sceSasRevEVOL | |||
*sceSasRevType | |||
*sceSasRevParam | |||
*sceSasRevVON | |||
=====HLEsceSuspendForUser===== | |||
*sceKernelPowerTick | |||
*sceKernelPowerLock | |||
*sceKernelPowerUnlock | |||
*sceKernelVolatileMemTryLock | |||
*sceKernelVolatileMemUnlock | |||
*sceKernelVolatileMemLock | |||
=====HLEsceUmdUser===== | |||
*sceUmdActivate | |||
*sceUmdGetDriveStat | |||
*sceUmdCheckMedium | |||
*sceUmdRegisterUMDCallback | |||
*sceUmdUnRegisterUMDCallBack | |||
*sceUmdWaitDriveStat | |||
*sceUmdWaitDriveStatWithTimer | |||
*sceUmdWaitDriveStatCB | |||
*sceUmdCancelWaitDriveStat | |||
*_UmdWaitDriveTimeout | |||
=====HLEsceUtility===== | |||
*sceUtilityLoadModule | |||
*sceUtilityUnloadModule | |||
*sceUtilityLoadNetModule | |||
*sceUtilityUnloadNetModule | |||
*sceUtilityLoadAvModule | |||
*sceUtilityUnloadAvModule | |||
*sceUtilityGetSystemParamInt | |||
*sceUtilityGetSystemParamString | |||
*sceUtilitySavedataGetStatus | |||
*sceUtilitySavedataShutdownStart | |||
*sceUtilitySavedataInitStart | |||
*sceUtilitySavedataUpdate | |||
*sceUtilityMsgDialogGetStatus | |||
*sceUtilityMsgDialogShutdownStart | |||
*sceUtilityMsgDialogInitStart | |||
*sceUtilityMsgDialogUpdate | |||
*sceUtilityMsgDialogAbort | |||
*sceUtilityOskGetStatus | |||
*sceUtilityOskShutdownStart | |||
*sceUtilityOskInitStart | |||
*sceUtilityOskUpdate | |||
*saveDataUpdateCallback | |||
*oskUpdateCallback | |||
=====HLEsceWlanDrv===== | |||
*sceWlanGetSwitchState | |||
*sceWlanGetEtherAddr | |||
=====HLESysMemUserForUser===== | |||
*sceKernelMaxFreeMemSize | |||
*sceKernelTotalFreeMemSize | |||
*sceKernelQueryMemoryInfo | |||
*sceKernelDevkitVersion | |||
*sceKernelPrintf | |||
*sceKernelGetPTRIG | |||
*sceKernelSetPTRIG | |||
*sceKernelAllocPartitionMemory | |||
*sceKernelFreePartitionMemory | |||
*sceKernelGetBlockHeadAddr | |||
*sceKernelGetMemoryBlockAddr | |||
*sceKernelAllocMemoryBlock | |||
*sceKernelFreeMemoryBlock | |||
*sceKernelSetCompilerVersion | |||
*sceKernelGetCompiledSdkVersion | |||
*sceKernelSetCompiledSdkVersion | |||
*sceKernelSetCompiledSdkVersion370 | |||
*sceKernelSetCompiledSdkVersion380_390 | |||
*sceKernelSetCompiledSdkVersion395 | |||
*sceKernelSetCompiledSdkVersion401_402 | |||
*sceKernelSetCompiledSdkVersion500_505 | |||
*sceKernelSetCompiledSdkVersion507 | |||
*sceKernelSetCompiledSdkVersion600_602 | |||
*sceKernelSetCompiledSdkVersion603_605 | |||
*sceKernelSetCompiledSdkVersion606 | |||
*sceKernelSetUsersystemLibWork | |||
*sceKernelSysMemUserForUser_ACBD88CA | |||
*sceKernelSysMemUserForUser_D8DE5C1E | |||
*sceKernelSysMemUserForUser_945E45DA | |||
=====HLEThreadManForUser===== | |||
*sceKernelDelayThread | |||
*sceKernelDelayThreadCB | |||
*sceKernelCreateCallback | |||
*sceKernelDeleteCallback | |||
*sceKernelSleepThread | |||
*sceKernelSleepThreadCB | |||
*sceKernelWakeupThread | |||
*sceKernelCreateMsgPipe | |||
*sceKernelDeleteMsgPipe | |||
*sceKernelSendMsgPipe | |||
*sceKernelTrySendMsgPipe | |||
*sceKernelReceiveMsgPipe | |||
*sceKernelTryReceiveMsgPipe | |||
*sceKernelReferMsgPipeStatus | |||
*sceKernelCreateThread | |||
*sceKernelStartThread | |||
*sceKernelExitThread | |||
*sceKernelDeleteThread | |||
*sceKernelExitDeleteThread | |||
*sceKernelGetThreadExitStatus | |||
*sceKernelTerminateThread | |||
*sceKernelTerminateDeleteThread | |||
*sceKernelWaitThreadEnd | |||
*sceKernelWaitThreadEndCB | |||
*sceKernelRotateThreadReadyQueue | |||
*sceKernelReferThreadStatus | |||
*sceKernelSuspendDispatchThread | |||
*sceKernelResumeDispatchThread | |||
*sceKernelSuspendThread | |||
*sceKernelResumeThread | |||
*sceKernelCancelWakeupThread | |||
*sceKernelGetThreadStackFreeSize | |||
*sceKernelGetSystemTimeLow | |||
*sceKernelGetSystemTime | |||
*sceKernelGetSystemTimeWide | |||
*sceKernelGetThreadCurrentPriority | |||
*sceKernelChangeCurrentThreadAttr | |||
*sceKernelGetThreadId | |||
*sceKernelChangeThreadPriority | |||
*sceKernelReferThreadProfiler | |||
*sceKernelCheckCallback | |||
*sceKernelCancelSema | |||
*sceKernelCreateSema | |||
*sceKernelDeleteSema | |||
*sceKernelPollSema | |||
*sceKernelSignalSema | |||
*sceKernelReferSemaStatus | |||
*sceKernelWaitSema | |||
*sceKernelWaitSemaCB | |||
*sceKernelCreateFpl | |||
*sceKernelDeleteFpl | |||
*sceKernelAllocateFpl | |||
*sceKernelAllocateFplCB | |||
*sceKernelTryAllocateFpl | |||
*sceKernelFreeFpl | |||
*sceKernelCancelFpl | |||
*sceKernelReferFplStatus | |||
*sceKernelCreateVpl | |||
*sceKernelDeleteVpl | |||
*sceKernelAllocateVpl | |||
*sceKernelAllocateVplCB | |||
*sceKernelTryAllocateVpl | |||
*sceKernelFreeVpl | |||
*sceKernelCancelVpl | |||
*sceKernelReferVplStatus | |||
*sceKernelCreateEventFlag | |||
*sceKernelSetEventFlag | |||
*sceKernelDeleteEventFlag | |||
*sceKernelClearEventFlag | |||
*sceKernelWaitEventFlag | |||
*sceKernelWaitEventFlagCB | |||
*sceKernelPollEventFlag | |||
*sceKernelCancelEventFlag | |||
*sceKernelReferEventFlagStatus | |||
*sceKernelCreateMbx | |||
*sceKernelDeleteMbx | |||
*sceKernelSendMbx | |||
*sceKernelReceiveMbx | |||
*sceKernelReceiveMbxCB | |||
*sceKernelPollMbx | |||
*sceKernelCancelReceiveMbx | |||
*sceKernelReferMbxStatus | |||
*sceKernelCreateMutex | |||
*sceKernelDeleteMutex | |||
*sceKernelLockMutex | |||
*sceKernelLockMutexCB | |||
*sceKernelTryLockMutex | |||
*sceKernelUnlockMutex | |||
*sceKernelCancelMutex | |||
*sceKernelReferMutexStatus | |||
*_sceKernelDelayThreadCallback | |||
*_sceKernelWaitThreadEndTimeout | |||
*_sceKernelAllocateFplTimeout | |||
*_sceKernelAllocateVplTimeout | |||
*_sceKernelWaitEventFlagTimeout | |||
*_sceKernelMsgPipeTimeout | |||
*_sceKernelLockMutexTimeout | |||
=====HLEUtilsForKernel===== | |||
*sceKernelIcacheInvalidateRange | |||
=====HLEUtilsForUser===== | |||
*sceKernelIcacheInvalidateRange | |||
*sceKernelDcacheInvalidateRange | |||
*sceKernelDcacheWritebackInvalidateRange | |||
*sceKernelDcacheWritebackAll | |||
*sceKernelDcacheWritebackRange | |||
*sceKernelDcacheWritebackInvalidateAll | |||
*sceKernelSetGPO | |||
*sceKernelGetGPI | |||
*sceKernelLibcClock | |||
*sceKernelLibcTime | |||
*sceKernelLibcGettimeofday 0x71EC4271 | |||
===Unimplemented functions=== | |||
*sceIoChdir() unimplemented, ignoring | |||
*sceIoChstat unimplemented, ignoring | |||
*sceKernelExitGame() unimplemented | |||
*sceKernelStopUnloadSelfModule() unimplemented | |||
*sceKernelStopUnloadSelfModuleWithStatus() unimplemented | |||
*sceGeGetMtx() unimplemented | |||
*sceGeListDeQueue() unimplemented | |||
*sceGeBreak unimplemented | |||
*sceGeContinue unimplemented | |||
*sceNetInetGetsockopt() unimplemented | |||
*sceNetInetSetsockopt() unimplemented | |||
*sceNetInetGetErrno() unimplemented | |||
*sceWlanGetEtherAddr unimplemented | |||
*sceKernelQueryMemoryInfo() unimplemented | |||
*sceKernelGetPTRIG() unimplemented | |||
*sceKernelSetPTRIG() unimplemented | |||
*sceKernelSetCompiledSdkVersion401_402() unimplemented | |||
*sceKernelSetCompiledSdkVersion507() unimplemented | |||
*sceKernelSetCompiledSdkVersion600_602() unimplemented | |||
*sceKernelSetCompiledSdkVersion603_605() unimplemented | |||
*sceKernelSetUsersystemLibWork() unimplemented | |||
*sceKernelSysMemUserForUser_ACBD88CA() unimplemented | |||
*sceKernelSysMemUserForUser_D8DE5C1E() unimplemented -- sceKernelSafetyCheck0 | |||
*sceKernelSysMemUserForUser_945E45DA() unimplemented | |||
*sceKernelTerminateDeleteThread() unimplemented | |||
*sceKernelCancelSema unimplemented | |||
*sceKernelCancelFpl unimplemented | |||
*sceKernelReferFplStatus unimplemented | |||
*sceKernelCancelVpl unimplemented | |||
*sceKernelCreateMbx unimplemented | |||
*sceKernelDeleteMbx unimplemented | |||
*sceKernelSendMbx unimplemented | |||
*sceKernelReceiveMbx unimplemented | |||
*sceKernelReceiveMbxCB unimplemented | |||
*sceKernelPollMbx unimplemented | |||
*sceKernelCancelReceiveMbx unimplemented | |||
*sceKernelReferMbxStatus unimplemented | |||
===Partially Supported=== | ===Partially Supported=== | ||
'''sceIoIoctl''' | |||
supported: | supported: | ||
* 0x1010005 (UMD file seek set) | |||
* 0x1020006 (Get UMD file start sector) | |||
'''sceIoDevctl''' | |||
supported: | supported: | ||
* 0x1F100A4 (Prepare UMD data into cache) | |||
* 0x2415821 (MScmRegisterMSInsertEjectCallback) | |||
* 0x2415822 (MScmUnregisterMSInsertEjectCallback) | |||
* 0x2025806 (Check if the device is inserted (mscmhc0)) | |||
* 0x2425823 (Check if FAT enabled) | |||
* 0x2415823 (Set FAT as enabled), supported | |||
==Restricted== | ===Restricted=== | ||
*scePowerRegisterCallback - ignoring | |||
scePowerRegisterCallback - ignoring | *scePowerUnregisterCallback - ignoring | ||
scePowerUnregisterCallback - ignoring | *scePowerSetClockFrequency - ignoring | ||
scePowerSetClockFrequency - ignoring | *scePowerSetCpuClockFrequency(%d) - ignoring | ||
scePowerSetCpuClockFrequency(%d) - ignoring | *scePowerSetBusClockFrequency(%d) - ignoring | ||
scePowerSetBusClockFrequency(%d) - ignoring | *sceUtilityMsgDialogInitStart ignored | ||
sceUtilityMsgDialogInitStart ignored | |||
===More Information:=== | ===More Information:=== | ||
* https://gbatemp.net/threads/wip-psp-injection.503103/ | * https://gbatemp.net/threads/wip-psp-injection.503103/ | ||
* https://twitter.com/zordon605/status/993758941627772929 | * https://twitter.com/zordon605/status/993758941627772929 | ||
* https:// | ** https://pastebin.com/CXRpVLdd (by [[User:DarkElement]]) | ||
* https://twitter.com/notzecoxao/status/993950722600460296 | * https://twitter.com/notzecoxao/status/993950722600460296 | ||
* https://twitter.com/ZiL0G80/status/994112249810866176 | * https://twitter.com/ZiL0G80/status/994112249810866176 |