More actions
m (Text replacement - "GameBrew!" to "GameBrew") |
No edit summary |
||
Line 19: | Line 19: | ||
|source=https://github.com/GrapheneCt/VitaMonoLoader | |source=https://github.com/GrapheneCt/VitaMonoLoader | ||
}} | }} | ||
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 [https://www.mono-project.com/download/stable/ Mono for Windows]. | |||
*Download <code>UnitySetup-Playstation-Vita-Support-for-Editor-2018.3.0a2.exe</code>, open it as archive and extract <code>$INSTDIR$_59_</code> folder | |||
*Add following to your PATH enviroment variable: | |||
*<code><MonoInstallPath>/bin</code> (where mono.exe is located). | |||
*<code><UnitySupportExtractPath>/Tools</code> (where mono-xcompiler.exe is located). | |||
Installation (PSP2 side): | |||
*Download and install [[CapUnlocker_Vita|CapUnlocker plugin]]. | |||
*Copy <code>Media</code> folder from extracted Unity support installer to <code>app0</code>:. | |||
*Copy <code>machine.config</code> from extracted Unity support installer to <code>app0:Media/Managed/mono/2.0</code>. | |||
*Copy modules from current release to <code>app0:Media/Modules</code>. | |||
= | Compiling C# code: | ||
*Compile your C# code to managed .dll by executing: <code>mcs -sdk:2 -target:library -out:<MyDllName>.dll <MySrcName>.cs</code> | |||
* | *Compile your managed .dll to AOT assembly .s by executing: <code>mono-xcompiler.exe --aot=full,asmonly,nodebug,static <MyDllName>.dll</code> | ||
*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 <code>app0:Media/Managed</code>. | |||
*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); | |||
== External links == | == External links == | ||
* | * GitHub - https://github.com/GrapheneCt/VitaMonoLoader | ||
* | * Reddit - https://www.reddit.com/r/vitahacks/comments/v73coz/release_vitamonoloader_standalone_mono_c/ | ||
Revision as of 02:42, 19 Ocak 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
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
.
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);