Generated by tools/progress.py on every push to main. Raw numbers: progress.json.
| Library | Implemented | Total | % |
|---|---|---|---|
| libc | 526 | 533 | 99% |
| libcohtml | 0 | 50 | 0% |
| libfmod | 136 | 136 | 100% |
| libfmodstudio | 97 | 97 | 100% |
| libkernel | 351 | 385 | 91% |
| libkernel_sys | 0 | 0 | - |
| libkernel_web | 0 | 0 | - |
| libReactNative.Modules.Vsh | 0 | 4 | 0% |
| libReactNative.Modules.Vsh.WebAppLauncher | 0 | 7 | 0% |
| libRenoirCore.PS5 | 0 | 23 | 0% |
| libSceAcm | 6 | 6 | 100% |
| libSceAgc | 162 | 223 | 73% |
| libSceAgcDriver | 18 | 49 | 37% |
| libSceAgcVsh | 0 | 0 | - |
| libSceAjm | 0 | 13 | 0% |
| libSceAjm.native | 20 | 33 | 61% |
| libSceAjmi | 0 | 13 | 0% |
| libSceAmpr | 29 | 73 | 40% |
| libSceAppContent | 6 | 8 | 75% |
| libSceAudio | 0 | 5 | 0% |
| libSceAudio3d | 0 | 7 | 0% |
| libSceAudiodec | 0 | 6 | 0% |
| libSceAudiodec.native | 0 | 6 | 0% |
| libSceAudioIn | 0 | 3 | 0% |
| libSceAudioOut | 28 | 35 | 80% |
| libSceAudioPropagation | 0 | 6 | 0% |
| libSceAvPlayer | 0 | 0 | - |
| libSceAvPlayer.native | 28 | 28 | 100% |
| libSceCesCs | 3 | 3 | 100% |
| libSceCommonDialog | 2 | 2 | 100% |
| libSceContentDelete | 2 | 3 | 67% |
| libSceContentExport | 2 | 6 | 33% |
| libSceContentSearch | 2 | 7 | 29% |
| libSceConvertKeycode | 2 | 2 | 100% |
| libSceErrorDialog | 0 | 6 | 0% |
| libSceFiber | 12 | 12 | 100% |
| libSceFont | 100 | 193 | 52% |
| libSceFont-module | 0 | 0 | - |
| libSceFont.native | 0 | 0 | - |
| libSceFontFt | 22 | 41 | 54% |
| libSceFontFt-module | 0 | 0 | - |
| libSceGameLiveStreaming | 2 | 2 | 100% |
| libSceGameUpdate | 6 | 7 | 86% |
| libSceHmd | 9 | 9 | 100% |
| libSceHttp | 39 | 39 | 100% |
| libSceHttp2 | 30 | 30 | 100% |
| libSceIme | 3 | 13 | 23% |
| libSceImeBackend | 0 | 0 | - |
| libSceImeDialog | 8 | 8 | 100% |
| libSceJpegEnc | 4 | 4 | 100% |
| libSceJson2 | 80 | 80 | 100% |
| libSceKeyboard | 6 | 6 | 100% |
| libSceLibcInternal | 2 | 2 | 100% |
| libSceLoginDialog | 0 | 7 | 0% |
| libSceMouse | 4 | 4 | 100% |
| libSceMsgDialog | 10 | 10 | 100% |
| libSceMsgDialog.native | 3 | 5 | 60% |
| libSceNet | 38 | 38 | 100% |
| libSceNetCtl | 10 | 10 | 100% |
| libSceNgs2 | 0 | 25 | 0% |
| libSceNgs2.native | 0 | 27 | 0% |
| libSceNpAuth | 0 | 8 | 0% |
| libSceNpCommerce | 7 | 9 | 78% |
| libSceNpCppWebApi | 106 | 157 | 68% |
| libSceNpEntitlementAccess | 4 | 9 | 44% |
| libSceNpGameIntent | 4 | 4 | 100% |
| libSceNpManager | 24 | 30 | 80% |
| libSceNpSessionSignaling | 8 | 8 | 100% |
| libSceNpTrophy2 | 15 | 15 | 100% |
| libSceNpUniversalDataSystem | 41 | 41 | 100% |
| libSceNpUtility | 0 | 5 | 0% |
| libSceNpWebApi2 | 24 | 24 | 100% |
| libScePad | 22 | 24 | 92% |
| libScePlayerInvitationDialog | 6 | 6 | 100% |
| libScePlayerSelectionDialog | 0 | 1 | 0% |
| libScePlayGo | 18 | 18 | 100% |
| libScePngDec | 5 | 5 | 100% |
| libScePngEnc | 0 | 4 | 0% |
| libScePosixForWebKit | 5 | 5 | 100% |
| libScePsml_debug | 0 | 13 | 0% |
| libSceRandom | 1 | 1 | 100% |
| libSceRazorCpu | 0 | 4 | 0% |
| libSceRemoteplay | 3 | 3 | 100% |
| libSceRtc | 28 | 28 | 100% |
| libSceRudp | 12 | 12 | 100% |
| libSceSaveData | 9 | 9 | 100% |
| libSceSaveData.native | 23 | 23 | 100% |
| libSceSaveDataDialog | 8 | 8 | 100% |
| libSceSaveDataDialog.native | 10 | 10 | 100% |
| libSceShare | 9 | 13 | 69% |
| libSceShare.native | 9 | 13 | 69% |
| libSceSharePlay | 2 | 2 | 100% |
| libSceSigninDialog | 0 | 7 | 0% |
| libSceSsl | 4 | 6 | 67% |
| libSceSysmodule | 5 | 5 | 100% |
| libSceSystemGesture | 9 | 22 | 41% |
| libSceSystemService | 9 | 15 | 60% |
| libSceUlt | 24 | 24 | 100% |
| libSceUserService | 15 | 16 | 94% |
| libSceVideodec2 | 10 | 10 | 100% |
| libSceVideoOut | 8 | 8 | 100% |
| libSceVideoRecordingP | 2 | 9 | 22% |
| libSceVoice | 15 | 16 | 94% |
| libSceVoiceChat | 8 | 8 | 100% |
| libSceVoiceQoS | 0 | 1 | 0% |
| libSceWebBrowserDialog | 3 | 6 | 50% |
| ulobjmgr | 0 | 2 | 0% |
| Total | 2323 | 3017 | 77.0% |
A function is implemented when it no longer calls NotImplemented_nid_no_patch. The total only includes functions already declared in core/libs/prx, not every function exported by the PS5 firmware.
| Encoding | Implemented | Total | % |
|---|---|---|---|
| DS | 54 | 123 | 44% |
| EXP | 1 | 1 | 100% |
| FLAT | 14 | 54 | 26% |
| GLOBAL | 14 | 57 | 25% |
| MIMG | 27 | 130 | 21% |
| MTBUF | 8 | 16 | 50% |
| MUBUF | 37 | 75 | 49% |
| SCRATCH | 14 | 22 | 64% |
| SMEM | 10 | 20 | 50% |
| SOP1 | 38 | 65 | 58% |
| SOP2 | 50 | 51 | 98% |
| SOPC | 18 | 18 | 100% |
| SOPK | 9 | 27 | 33% |
| SOPP | 19 | 37 | 51% |
| VINTRP | 3 | 3 | 100% |
| VOP1 | 54 | 81 | 67% |
| VOP2 | 43 | 51 | 84% |
| VOP3 | 76 | 116 | 66% |
| VOP3P | 21 | 29 | 72% |
| VOPC | 104 | 190 | 55% |
| Total | 614 | 1166 | 52.66% |
The total is the AMD RDNA 1 + RDNA 2 instruction list (tools/rdna_isa.txt). An instruction is implemented when the decoder recognizes it. Decoded opcodes not present in AMD's public list are not counted: VAddI32, VSubI32, VLshlB32, VLshrB32, VAshrI32, VMulLoI32, VSubrevI32, SCbranchCdbg.