Standalone mono loader for PS Vita
WIP
Only Windows is supported for host. VDS (SCE SDK) and vitasdk are supported for PSP2.
- 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
headers
from this repository to your SDK installation
- Download and install CapUnlocker plugin
- Copy
Media
folder from extracted Unity support installer toapp0:
- Copy
machine.config
from extracted Unity support installer toapp0:Media/Managed/mono/2.0
- Copy modules from current release to
app0:Media/Modules
- 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
- 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);