Editing User talk:Kozarovv

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 3: Line 3:
==psfour2pstwo==
==psfour2pstwo==


====vu0====
====gs====
For JAK emu. Todo: Exec from VIF0 seems to always run program for 0x7FFFFFFF cycles...
 
void __fastcall Vu0MicroExec()
* --gs-kernel-cl="DarkCloud2"
  {
* --gs-kernel-cl="fantavision"
  run_vu0(vu0_functions_ptr, 256LL, 0LL);
 
                                                // run vu for 256 cycles.
Special case kernel plugins?
                                                // This kill whole sync idea. We have 256 cycles run already on first run.
 
                                                // Games like SST/ARR/TM:HEAD-ON are alredy broken before we even started.  
====possible speed/comp hacks====
 
* --detect-idle-vif
* --detect-idle-ee
* --detect-idle-iop
* --detect-idle-intc
* --detect-idle-chcr
 
====Sound - SPU2 behavior====
 
* --spu2-update-deferral
* --spu2-reverb
* --spu2-c0-memin-to-bgm
* --spu2-c1-memin-to-bgm
* --spu2Trace
 
 
==PSPHD==
 
===LUA===
 
====basic====
 
*axInsnReplace (mem, org opcode, new opcode) - Replace allegrex memory
*axFuncReplace - Replace allegrex function
 
 
====hooks/registers====
 
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
 
Media Engine 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 psp===
 
Desc: https://pastebin.com/CXRpVLdd
<br>1,0 is done by true/false commands.  
 
*--boot [disc0:/PSP_GAME/SYSDIR/BOOT.BIN - path (no loaders support like on PS3? vide ct2, psc)]
*--notrophies
*--texsave
*--texmissingsave
*--samplesave
*--texreplace
*--samplereplace
*--replacementalpha [true]
*--parappaalphahack
*--locorocomeshsmooth
*--replacementfilter
*--gputhread
*--antialias [MSAA4x, SSAA4x]
*--texcachemode [drawbounds, drawboundsloco]
*--texclutmode [filter, full]
*--texloadmode [launch, ondemand_lz4]
*--parappajapanesefonthack
*--parappareplacecolor [%08x (rgb?)]
*--volume [ ? (Adjusting volume level to %d%%)]
*--image [umd0 ,disc0]
*--addon
*--host [host0, flash0]
 
====Standard: ====
 
*patches/
*_patches.lua
*feature_data/
*_features.lua
*tooling/
*_tooling.lua
*trophy_data/
*_trophies.lua
 
====other====
 
*_config.txt
*--vms
*--autoresampler [true]
 
*videos/
*.mp4
*videos/%08x.mp4
*audio/%08x.ogg
*--texswitch [original, replacement]
 
Paths:
 
*/app0/
*/download0/
*/savedata
*/host/
*/hostapp/
*/data/
 
====sample====
 
<pre>; PS4 configuration file for PSPHD
; Game Image
--image="data/USER_L0.IMG"
; Redirect host0: to a specific directory (uncomment to enable).
; By default it's mapped to either "/hostapp/" if available, or "/app0/" if "/hostapp/" is not available.
;--host="/hostapp/"
; To dump the original video in PMF format, uncomment the --dumpvideos line
; For example, with the current setting, it will save them in a "videos" directory inside the File Serving Directory
;--dumpvideos="host0:videos"
; To dump the original audio in Atrac3 format, uncomment the --dumpaudio line
; For example, with the current setting, it will save them in a "audio" directory inside the File Serving Directory
;--dumpaudio="host0:audio"
; To replace atrac3 audio samples, use this.
--samplereplace="host0:samplereplace"
; To save the in-game textures as the game runs, uncomment the --texsave line
; For example, with the current setting, it will save them in a "texdump" directory inside the File Serving Directory
;--texsave="host0:texdump"
;--texmissingsave="host0:texdump"
; To replace specific textures as the game runs, uncomment the --texreplace line
; For example, with the current setting, it will load them from the "texreplace" directory inside the File Serving Directory
--texreplace="host0:texreplace"
; This forces alpha blending to on for replaced textures. (uncomment to enable)
; With this we can freely make use of a normal alpha channel on replacement textures
--replacementalpha=true
; This enables bilinear filtering on replaced textures. (uncomment to enable)
--replacementfilter=true
; Antialiasing mode. SSAA4x looks best, MSAA4x only smooths edges.
; Choices: off, SSAA4x, MSAA4x
--antialias=SSAA4x
; Enable switching between original and replacement textures at runtime using the L3 button on a DS4 or the 'T' key on Windows
;--texswitch=true
; Turns on the auto-resampler. Assumes textures in texreplace are at 8x resolution and resamples them at load
--autoresampler=true
   
   
  if (is_vu0_running())                         // if still running (no ebit, no mbit)
; Parappa Alpha Hack
  {
--parappaalphahack=true
    v0 = ee_sched_stru;
    v1 = 0LL;
; Adjust overall volume level (does not include pad speaker volume). Range from 0.0 (min) to 1.0 (max)
    v2 = *(ee_core_regs_base + 0x378) - *(ee_core_regs_base + 0x370) + 512LL;
--volume="0.25"
                                                // passed cycles + 512
                                                // terrible idea, we are falling behind ee here.
; 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!!!!!
                                                // There is usually no point to run behind ee if we failed to do this at start.
                                                // This break games like Ratchet/Rayman.
; If you're reading this message, congratulations! you win !!!
    sched_Vu0MicroExec.delta = v2;
; we love you so much. you’ve made hacking great again.</pre>
    if ( ee_sched_stru )
 
    {
===NIDs in HLE,  without.. NIDs :( ===
      while ( 1 )
 
      {
=====HLEInterruptManager=====
        v3 = v0;
 
        if ( v0[2] >= v2 )                      // if delta from scheduler higher than from v0
*sceKernelRegisterSubIntrHandler
          break;
*sceKernelReleaseSubIntrHandler
        v0 = *v0;
*sceKernelEnableSubIntr
        v1 = v3;
 
        if ( !*v3 )                            // schedule next run...
=====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=====


====todo====
*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


seems to be like internal threads, not real threads. Emu print with that.
=====HLEsceSuspendForUser=====
<pre>_____________________________________________________________________________
| Emotion Engine:      | Input Output Processor (iop)  | x Extra?          |
|-----------------------|-------------------------------|-------------------|
| e-dbg                | i-fw                          | x-stdlib          |
| e-r59                | i-debug                      | x-emu            |
| e-mem                | i-cdvd                        | x-lpnr            |
| e-dmac                | i-dmac                        | x-cdvd            |
| e-timer              | i-gmif                        | x-isofs          |
| e-sio                | i-intc                        | x-log            |
| e-dramc              | i-mem                        | x-mcd            |
| e-intc                | i-memcard                    | x-replay          |
| e-sif                | i-mtap                        | x-rtc            |
| e-gif                | i-pad                        | x-save            |
| e-vif0                | i-pif                        | x-osd            |
| e-vif1                | i-sched                      | x-snap            |
| e-ipu                | i-sif                        | x-host            |
| e-jit                | i-sio2                        | x-trphy          |
| e-hook                | i-timer                      | x-audio          |
| e-Lua                | i-usb                        | x-pad            |
| e-gs                  | i-spu2                        | x-srvc            |
| e-sched              | i-EndSlice                    | x-dialog          |
|                      | i-r30                        | x-dlc            |
|                      | i-jit                        | x-stream          |
|                      | i-Lua                        | x-mem            |
|                      | i-thread                      | x-core            |
|-----------------------|-------------------------------|-------------------|</pre>


==Shaders==
*sceKernelPowerTick
*sceKernelPowerLock
*sceKernelPowerUnlock
*sceKernelVolatileMemTryLock
*sceKernelVolatileMemUnlock
*sceKernelVolatileMemLock


===SB header===
=====HLEsceUmdUser=====
{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"
|- bgcolor="#cccccc"
! Offset !! Size !! Description !! Example
|-
| 0x00 || 2 bytes || SB Version || 00 04 (00.04)
|-
| 0x02 || 2 bytes || Compiler Version || F9 F1 (63985)
|-
| 0x04 || 8 bytes || Association Hash || B2 09 E0 A5 00 00 00 00
|-
| 0x0C || 1 byte || Shader Type || 02
|-
| 0x0D || 1 byte || Code Type || 01
|-
| 0x0E || 1 byte || UseShaderResourceTable || 00/01 (true/false)
|-
| 0x0F || 1 byte || Compiler Type || 03
|-
| 0x10 || 4 bytes || Code Size || E8 00 00 00 (232)
|-
| 0x14 || 4 bytes || ? || 00 00 00 00
|-
| 0x18 || 12 bytes? || System Attribute Info - Num Threads || 40 00 01 00  01 00 00 00  00 00 00 00
|-
|}
<pre>
'''Shader Type'''


*(unknown)            0
*sceUmdActivate
*kShaderTypeVsShader  1
*sceUmdGetDriveStat
*kShaderTypeFsShader  2
*sceUmdCheckMedium
*kShaderTypeCsShader  3
*sceUmdRegisterUMDCallback
*kShaderTypeGsShader  4
*sceUmdUnRegisterUMDCallBack
*kShaderTypeHsShader  5
*sceUmdWaitDriveStat
*kShaderTypeDsShader  6
*sceUmdWaitDriveStatWithTimer
*sceUmdWaitDriveStatCB
*sceUmdCancelWaitDriveStat
*_UmdWaitDriveTimeout


=====HLEsceUtility=====


'''Code type'''
*sceUtilityLoadModule
*sceUtilityUnloadModule
*sceUtilityLoadNetModule
*sceUtilityUnloadNetModule
*sceUtilityLoadAvModule
*sceUtilityUnloadAvModule
*sceUtilityGetSystemParamInt
*sceUtilityGetSystemParamString
*sceUtilitySavedataGetStatus
*sceUtilitySavedataShutdownStart
*sceUtilitySavedataInitStart
*sceUtilitySavedataUpdate
*sceUtilityMsgDialogGetStatus
*sceUtilityMsgDialogShutdownStart
*sceUtilityMsgDialogInitStart
*sceUtilityMsgDialogUpdate
*sceUtilityMsgDialogAbort
*sceUtilityOskGetStatus
*sceUtilityOskShutdownStart
*sceUtilityOskInitStart
*sceUtilityOskUpdate
*saveDataUpdateCallback
*oskUpdateCallback


*kCodeTypeIl  0
=====HLEsceWlanDrv=====
*kCodeTypeIsa  1
*kCodeTypeScu  2


*sceWlanGetSwitchState
*sceWlanGetEtherAddr


'''UseShaderResourceTable'''
=====HLESysMemUserForUser=====


*false  0
*sceKernelMaxFreeMemSize
*true  1
*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=====


'''Compiler Type'''
*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=====
*kCompilerTypeUnspecified 0
 
*kCompilerTypeOrbisPsslc  1
*sceKernelIcacheInvalidateRange
*kCompilerTypeOrbisEsslc  2
 
*kCompilerTypeOrbisWave  3
=====HLEUtilsForUser=====
*kCompilerTypeOrbisCuAs  4</pre>
 
*sceKernelIcacheInvalidateRange
*sceKernelDcacheInvalidateRange
*sceKernelDcacheWritebackInvalidateRange
*sceKernelDcacheWritebackAll
*sceKernelDcacheWritebackRange
*sceKernelDcacheWritebackInvalidateAll
*sceKernelSetGPO
*sceKernelGetGPI
*sceKernelLibcClock
*sceKernelLibcTime
*sceKernelLibcGettimeofday


===GNM Header===
===Unimplemented functions?===


{| border="1" cellspacing="0" cellpadding="5" border="#999" class="wikitable" style="border:1px solid #999; border-collapse: collapse;"
*sceIoChdir() unimplemented, ignoring
|- bgcolor="#cccccc"
*sceIoChstat unimplemented, ignoring
! Offset !! Size !! Description !! Example
*sceKernelExitGame() unimplemented
|-
*sceKernelStopUnloadSelfModule() unimplemented
| 0x00 || 4 bytes || Magic || 72 64 68 53 Shdr
*sceKernelStopUnloadSelfModuleWithStatus() unimplemented
|-
*sceGeGetMtx() unimplemented
| 0x04 || 4 bytes || Version || 00 07 00 02 (0007.0002)
*sceGeListDeQueue() unimplemented
|-
*sceGeBreak unimplemented
| 0x08 || 1 byte || Shader type || 04 (Compute)
*sceGeContinue unimplemented
|-
*sceNetInetGetsockopt() unimplemented
| 0x09 || 1 byte || Shader header size in DW || 0D (13)  
*sceNetInetSetsockopt() unimplemented
|-
*sceNetInetGetErrno() unimplemented
| 0x0A || 1 byte || Has shader aux data || 00/01 ? 
*sceWlanGetEtherAddr unimplemented
|-
*sceKernelQueryMemoryInfo() unimplemented
| 0x0B || 1 byte || Target GPU types || 03 (Base|NEO)
*sceKernelGetPTRIG() unimplemented
|-
*sceKernelSetPTRIG() unimplemented
| 0x0C || 4 bytes || padding || 00 00 00 00
*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
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)