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

VitaMonoLoader

From GameBrew
Revision as of 02:42, 19 Ocak 2023 by HydeWing (talk | contribs)
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: