VitaMonoLoader
VitaMonoLoader copied to clipboard
Standalone mono loader for PS Vita
VitaMonoLoader
Standalone mono loader for PS Vita
WIP
Usage
Only Windows is supported for host. VDS (SCE SDK) and vitasdk are supported for PSP2.
Installation (host side)
- Download and install latest Mono for Windows
- Download
UnitySetup-Playstation-Vita-Support-for-Editor-2018.3.0a2.exe, open it as archive and extract$INSTDIR$_59_folder - Add following to your PATH enviroment variable:
<MonoInstallPath>/bin(where mono.exe is located)<UnitySupportExtractPath>/Tools(where mono-xcompiler.exe is located)
- Add Mono
headersfrom this repository to your SDK installation
Installation (PSP2 side)
- Download and install CapUnlocker plugin
- Copy
Mediafolder from extracted Unity support installer toapp0: - Copy
machine.configfrom extracted Unity support installer toapp0:Media/Managed/mono/2.0 - Copy modules from current release to
app0:Media/Modules
Compiling C# code
- Compile your C# code to managed .dll by executing:
mcs -sdk:2 -target:library -out:<MyDllName>.dll <MySrcName>.cs - Compile your managed .dll to AOT assembly .s by executing:
mono-xcompiler.exe --aot=full,asmonly,nodebug,static <MyDllName>.dll - Add AOT assembly .s files as compile targets in your Vita app project
- Your PSP2 application must be compiled in ARM mode:
- For VDS (SCE SDK): use -Xthumb=0 (can also be set in project settings)
- For vitasdk: compile with -marm
Using AOT assembly on PSP2
- Copy managed .dll file to
app0:Media/Managed - Add AOT assembly .s file as compilation target in your PSP2 self project
- To load AOT assembly on PSP2, call:
extern void** mono_aot_module_<MyDllName>_info;
VMLRegisterAssembly(mono_aot_module_<MyDllName>_info);