Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

VitaMonoLoader: Difference between revisions

From GameBrew
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
}}
}}
Standalone Mono (C#) execution on PS Vita.
VitaMonoLoader is a simple Mono library for developing C# applications mostly used on Linux.


==Media==
Currently only Windows is supported for host. VDS (SCE SDK) and vitasdk are supported for PSP2.
<youtube>RIaJHh60hQY</youtube>


==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).


==Screenshots==
Installation (PSP2 side):
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-01.jpg
*Download and install [[CapUnlocker_Vita|CapUnlocker plugin]].
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-02.jpg
*Copy <code>Media</code> folder from extracted Unity support installer to <code>app0</code>:.
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-03.jpg
*Copy <code>machine.config</code> from extracted Unity support installer to <code>app0:Media/Managed/mono/2.0</code>.
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-04.jpg
*Copy modules from current release to <code>app0:Media/Modules</code>.
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-05.jpg
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-06.jpg
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-07.jpg
https://dlhb.gamebrew.org/vitahomebrews/vitamonoloadervita-08.jpg


==Changelogs==
Compiling C# code:
'''(v.1.0)'''
*Compile your C# code to managed .dll by executing: <code>mcs -sdk:2 -target:library -out:<MyDllName>.dll <MySrcName>.cs</code>
* First Release.
*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 ==
* Official Website - https://github.com/GrapheneCt/VitaMonoLoader
* 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/
* VitaDB -
* Gbatemp -
* Google Source -
* Reddit -
* Gitlab -

Revision as of 02:42, 19 Ocak 2023

VitaMonoLoader
File:Vitamonoloadervita.jpg
General
AuthorGrapheneCt
TypeDevelopments
Version1.0
LicenseMIT License
Last Updated2022/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 to app0:.
  • Copy machine.config from extracted Unity support installer to app0: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);

External links

Advertising: