VitaMonoLoader: Difference between revisions
From GameBrew
More actions
m HydeWing moved page Vitamonoloader Vita to VitaMonoLoader without leaving a redirect |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{#seo: | {{#seo: | ||
|title=Vita Homebrew PC Tools (Developments) - GameBrew | |title=Vita Homebrew PC Tools (Developments) - GameBrew | ||
|title_mode=append | |title_mode=append | ||
|image= | |image=vitamonoloader2.png | ||
|image_alt=VitaMonoLoader | |image_alt=VitaMonoLoader | ||
}} | }} | ||
{{Infobox Vita Homebrews | {{Infobox Vita Homebrews | ||
|title=VitaMonoLoader | |title=VitaMonoLoader | ||
|image= | |image=vitamonoloader2.png | ||
|description=Standalone Mono (C#) execution on PS Vita. | |description=Standalone Mono (C#) execution on PS Vita. | ||
|author=GrapheneCt | |author=GrapheneCt | ||
| Line 15: | Line 14: | ||
|version=1.0 | |version=1.0 | ||
|license=MIT | |license=MIT | ||
|download=https://dlhb.gamebrew.org/vitahomebrews/ | |download=https://dlhb.gamebrew.org/vitahomebrews/vitamonoloader.7z | ||
|website=https://github.com/GrapheneCt/VitaMonoLoader | |website=https://github.com/GrapheneCt/VitaMonoLoader | ||
|source=https://github.com/GrapheneCt/VitaMonoLoader | |source=https://github.com/GrapheneCt/VitaMonoLoader | ||
| Line 24: | Line 23: | ||
==User guide== | ==User guide== | ||
Installation (host side): | '''Installation (host side):''' | ||
*Download and install latest [https://www.mono-project.com/download/stable/ Mono for Windows]. | *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 | *Download <code>UnitySetup-Playstation-Vita-Support-for-Editor-2018.3.0a2.exe</code>, open it as archive and extract <code>$INSTDIR$_59_</code> folder | ||
| Line 31: | Line 30: | ||
*<code><UnitySupportExtractPath>/Tools</code> (where mono-xcompiler.exe is located). | *<code><UnitySupportExtractPath>/Tools</code> (where mono-xcompiler.exe is located). | ||
Installation (PSP2 side): | '''Installation (PSP2 side):''' | ||
*Download and install [[CapUnlocker_Vita|CapUnlocker plugin]]. | *Download and install [[CapUnlocker_Vita|CapUnlocker plugin]]. | ||
*Copy <code>Media</code> folder from extracted Unity support installer to <code>app0</code> | *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 <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>. | *Copy modules from current release to <code>app0:Media/Modules</code>. | ||
Compiling C# 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 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> | *Compile your managed .dll to AOT assembly .s by executing: <code>mono-xcompiler.exe --aot=full,asmonly,nodebug,static <MyDllName>.dll</code> | ||
| Line 45: | Line 44: | ||
**For vitasdk: compile with -marm | **For vitasdk: compile with -marm | ||
Using AOT assembly on PSP2: | '''Using AOT assembly on PSP2:''' | ||
*Copy managed .dll file to <code>app0:Media/Managed</code>. | *Copy managed .dll file to <code>app0:Media/Managed</code>. | ||
*Add AOT assembly .s file as compilation target in your PSP2 self project. | *Add AOT assembly .s file as compilation target in your PSP2 self project. | ||
| Line 52: | Line 51: | ||
VMLRegisterAssembly(mono_aot_module_<MyDllName>_info); | VMLRegisterAssembly(mono_aot_module_<MyDllName>_info); | ||
==Changelog== | |||
'''v1.0''' | |||
*Upload core assemblies. | |||
== External links == | == External links == | ||
* GitHub - https://github.com/GrapheneCt/VitaMonoLoader | * GitHub - https://github.com/GrapheneCt/VitaMonoLoader | ||
* Reddit - https://www.reddit.com/r/vitahacks/comments/v73coz/release_vitamonoloader_standalone_mono_c/ | * Reddit - https://www.reddit.com/r/vitahacks/comments/v73coz/release_vitamonoloader_standalone_mono_c/ | ||
Latest revision as of 02:45, 19 January 2023
| VitaMonoLoader | |
|---|---|
| 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);
Changelog
v1.0
- Upload core assemblies.