XorTroll / mint

Simple ecosystem for creating and compiling Visual Studio C# projects as Nintendo Switch homebrew, via Bridge.NET and QuickJS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mint

Simple ecosystem for creating and compiling Visual Studio C# projects as Nintendo Switch homebrew, via Bridge.NET and QuickJS

IMPORTANT! This project is a work-in-progress, so it isn't completely ready to be used by anyone yet.

Parts

mintc

mintc is the base command-line tool for this project. It has two main functions:

  • Creating new mint Visual Studio projects/solutions (mintc create)

  • Assembling a certain project (^) into an executable homebrew NRO (mintc assemble)

libmint

Standard libraries, for the internal JavaScript core, plus its C# bindings via Bridge.NET.

Example: console.isInitialized() function is exported to JS via native code, and it's defined as Switch.Console.IsInitialized() in C#, wrapping the JS function.

quickjs++

QuickJS C JavaScript engine plus some nice C++ wrappers using template and macro magic. THis libraries can easily be used on other projects, and are used for the internal JS core.

target

The base project NRO, which executes the JS "layout" in it's RomFs. Assembling a project consists on modifying this NRO's icon, NACP and RomFs.

Procedure

mintc's create verb creates a Visual Studio solution, which consists on a manually modified version of the propject which would be generated by using bridge new.

Requisites

  • devkitPro (switch-dev package on dkp-pacman)

  • Bridge utility

  • Any C# IDE which supports C# *.sln solutions and *.csproj project files (Visual Studio Community is highly recommended)

Credits

About

Simple ecosystem for creating and compiling Visual Studio C# projects as Nintendo Switch homebrew, via Bridge.NET and QuickJS

License:MIT License


Languages

Language:C 72.8%Language:C++ 25.8%Language:C# 0.9%Language:Makefile 0.4%Language:PowerShell 0.1%