psOff_public/modules
2024-04-11 15:42:51 +03:00
..
libkernel Implement sceKernelGettimezone 2024-04-10 15:14:41 +03:00
libkernel_ps2emu More stubs 2024-04-08 12:09:23 +03:00
libkernel_unity boost as seperate prj, sdl polling on vblank 2024-03-11 16:24:52 +01:00
libSceAjm + logging 2024-03-01 15:09:01 +01:00
libSceAppContent Fix formatting 2024-03-12 05:50:09 +03:00
libSceAudioIn + logging 2024-03-01 15:09:01 +01:00
libSceAudioOut Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceAvPlayer Formatting adjustments 2024-03-12 08:25:16 +03:00
libSceCamera No tabs here 2024-04-03 15:54:50 +03:00
libSceCommonDialog + logging 2024-03-01 15:09:01 +01:00
libSceCoredump boost as seperate prj, sdl polling on vblank 2024-03-11 16:24:52 +01:00
libSceDiscMap sceDiscMap| return err 2024-03-26 11:59:26 +01:00
libSceErrorDialog More dialog stubs 2024-03-20 06:07:48 +03:00
libSceGameLiveStreaming More stubs and libScePngDec fix 2024-04-08 10:28:27 +03:00
libSceGraphicsDriver NpToolkit2, NpParty, Voice stubs 2024-04-11 15:42:51 +03:00
libSceHttp + logging 2024-03-01 15:09:01 +01:00
libSceHttp2 feature -> work, wrap logging (func), default verbosity 1 2024-03-18 13:21:22 +01:00
libSceIme Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceImeDialog More dialog stubs 2024-03-20 06:07:48 +03:00
libSceJson2 Fix formatting 2024-04-08 10:30:34 +03:00
libSceLibcInternal Rework GameReport a bit 2024-04-10 09:50:41 +03:00
libSceLibcInternalExt + runtimeExport, libSceLibc 2024-03-03 15:27:53 +01:00
libSceMouse Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceMove + logging 2024-03-01 15:09:01 +01:00
libSceMsgDialog Formatting fix 2024-04-03 23:30:08 +03:00
libSceNet Implementation attempt: sceNetEpoll things 2024-04-06 09:01:20 +03:00
libSceNetCtl + logging 2024-03-01 15:09:01 +01:00
libSceNgs2 Another minor fixes to beloved libSceNgs2 2024-04-10 10:45:26 +03:00
libSceNpAuth Stub sceNpAuthGetIdTokenA 2024-03-20 02:46:35 +03:00
libSceNpCommerce More dialog stubs 2024-03-20 06:07:48 +03:00
libSceNpGameIntent More stubs 2024-04-08 09:52:09 +03:00
libSceNpManager Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceNpManagerForToolkit + logging 2024-03-01 15:09:01 +01:00
libSceNpParty NpToolkit2, NpParty, Voice stubs 2024-04-11 15:42:51 +03:00
libSceNpProfileDialog More dialog stubs 2024-03-20 06:07:48 +03:00
libSceNpScore Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceNpToolkit2 NpToolkit2, NpParty, Voice stubs 2024-04-11 15:42:51 +03:00
libSceNpTrophy Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceNpWebApi + logging 2024-03-01 15:09:01 +01:00
libSceNpWebApi2 More stubs 2024-04-08 09:52:09 +03:00
libScePad Merge pull request #67 from SysRay/work 2024-04-08 13:40:38 +02:00
libScePlayGo More stubs and libScePngDec fix 2024-04-08 10:28:27 +03:00
libScePngDec Fix formatting 2024-04-09 19:58:25 +03:00
libScePosix Retype vararg thing 2024-04-01 15:49:42 +03:00
libSceRemoteplay + logging 2024-03-01 15:09:01 +01:00
libSceRtc boost as seperate prj, sdl polling on vblank 2024-03-11 16:24:52 +01:00
libSceSaveData libSceSaveData| fix sceSaveDataSetupSaveDataMemory2 option 2024-04-07 21:40:57 +02:00
libSceSaveDataDialog Fix formatting 2024-03-12 05:50:09 +03:00
libSceScreenShot + logging 2024-03-01 15:09:01 +01:00
libSceSharePlay Fixed formatting 2024-03-30 18:59:50 -05:00
libSceSigninDialog More dialog stubs 2024-03-20 06:07:48 +03:00
libSceSsl + logging 2024-03-01 15:09:01 +01:00
libSceSysmodule + logging 2024-03-01 15:09:01 +01:00
libSceSystemGesture Clang format 2024-03-22 08:43:41 +03:00
libSceSystemService sceSystemServiceParamGetString 2024-04-06 00:33:55 +03:00
libSceSystemServicePs2Emu More stubs 2024-04-08 12:09:23 +03:00
libSceUserService + logging 2024-03-01 15:09:01 +01:00
libSceVideoOut Cleanup and sceNgs2 things 2024-04-03 23:27:25 +03:00
libSceVideoRecording More stubs and libScePngDec fix 2024-04-08 10:28:27 +03:00
libSceVoice NpToolkit2, NpParty, Voice stubs 2024-04-11 15:42:51 +03:00
libSceVoiceQoS Stub libSceVrTracker 2024-04-03 14:51:23 +03:00
libSceVrTracker sceCameraOpen+sceCamera close stubs 2024-04-03 15:53:40 +03:00
template + logging 2024-03-01 15:09:01 +01:00
CMakeLists.txt move dll2nids to public 2024-03-10 14:30:22 +01:00
readme.md move semaphre to kernel 2024-03-06 14:40:30 +01:00
setupModule.cmake dump every sce symbol in the project 2024-03-15 18:03:40 +01:00

Overview

Each target library is created separately as a shared library in the modules folder. This allows NIDs generation at build time and a clean code separation.

The Emulator loads the libraries on demand and resolves the symbols etc. A library does only communicate with the emulator. If it should need information/calls from other libraries, a separate top class should be used. The library can link against it and access the interface.

Planned is a core library for such cases and for the interfaces currently in the emulator.

Create a new module

  • duplicate the template folder
  • replace the folder with the identical name of the target library.
  • inside CMakeLists.txt, replace template in "set(libName template)" with the library name
  • inside entry.cpp, replace "libSce" both in LOG_DEFINE_MODULE() and MODULE_NAME = ""

All exported function are placed inside the provided extern "C" scope and should start with "EXPORT SYSV_ABI", since those functions are called directly by the emulated application (Linux).

After a new CMake config, the new library should be picked up and built.

Build: dll2Nids may print an error. Just add a dummy function with a long name (11 + extra space).
Normally, only names starting with sce or _sce are converted. Use one of the following macro, defined in common.h, for everything else:
__NID(func) : converts the function name
__NID_HEX(hexId) : If the function name is unknown, use the hexId instead