VitaMonoLoader: Difference between revisions
From GameBrew
More actions
No edit summary |
m HydeWing moved page Vitamonoloader Vita to VitaMonoLoader without leaving a redirect |
(No difference)
| |
Revision as of 02:42, 19 January 2023
| This article may require cleanup to meet GameBrew's quality standards.
Reason: Needs cleanup |
| VitaMonoLoader | |
|---|---|
| File:Vitamonoloadervita.jpg | |
| General | |
| Author | GrapheneCt |
| Type | Developments |
| Version | 1.0 |
| License | MIT License |
| Last Updated | 2022/06/08 |
| Links | |
| Download | |
| Website | |
| Source | |
VitaMonoLoader is a simple Mono library for developing C# applications mostly used on Linux.
Currently only Windows is supported for host. VDS (SCE SDK) and vitasdk are supported for PSP2.
User guide
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).
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);