All Projects → mirage-rs → Mirage

mirage-rs / Mirage

Licence: Unknown and 2 other licenses found Licenses found Unknown LICENSE Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Reimplementation of the Nintendo Switch firmware

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Mirage

Sunriseos
Horizon/NX kernel reimplementation
Stars: ✭ 157 (+292.5%)
Mutual labels:  nintendo, kernel, osdev, nintendo-switch
Hydrosphere
Ocean beyond the Horizon
Stars: ✭ 17 (-57.5%)
Mutual labels:  nintendo, switch, nintendo-switch
sys-clk-Overlay
Editor for your sys-clk configuration using ovl-loader!
Stars: ✭ 53 (+32.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Ghidra Switch Loader
Nintendo Switch loader for Ghidra
Stars: ✭ 146 (+265%)
Mutual labels:  nintendo, switch, nintendo-switch
Nintendo Switch Eshop
Crawler for Nintendo Switch eShop
Stars: ✭ 463 (+1057.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Deepsea
The new All-in-One CFW package for the Nintendo Switch.
Stars: ✭ 488 (+1120%)
Mutual labels:  nintendo, switch, nintendo-switch
Splatoon 2 Meme Mod
Splatoon 2 mod about memes.
Stars: ✭ 11 (-72.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Nintendo-Switch-JoyCon-Hack
Hardwiring a push button in a JoyCon to grant bootloader access
Stars: ✭ 44 (+10%)
Mutual labels:  nintendo, switch, nintendo-switch
Sdsetup
The Ninite for your Nintendo Switch.
Stars: ✭ 234 (+485%)
Mutual labels:  nintendo, switch, nintendo-switch
Switch-Screenshots
Script to organize Nintendo Switch screenshots by directory instead of date.
Stars: ✭ 50 (+25%)
Mutual labels:  nintendo, switch, nintendo-switch
nx
Userland library for Nintendo Switch homebrew (and other potential purposes), written in pure Rust and some assembly bits
Stars: ✭ 67 (+67.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Rekado
Payload launcher and serial number checker for Nintendo Switch
Stars: ✭ 455 (+1037.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Road To Yuzu Without Switch
This Repo explains how to install the Yuzu Switch Emulator without a Switch
Stars: ✭ 267 (+567.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Nx Shell
A multi-purpose file manager for the Nintendo Switch.
Stars: ✭ 639 (+1497.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Goldleaf
🍂 Multipurpose homebrew tool for Nintendo Switch
Stars: ✭ 2,026 (+4965%)
Mutual labels:  nintendo, switch, nintendo-switch
Vba M Nx
WIP full featured port of VBA-M for Nintendo Switch
Stars: ✭ 11 (-72.5%)
Mutual labels:  nintendo, switch, nintendo-switch
Homebrew-Guide
Guide for getting CFW setup on your Nintendo Switch (And Wii U)
Stars: ✭ 104 (+160%)
Mutual labels:  nintendo, switch, nintendo-switch
reboot to rcm
A small app to reboot 1.0 Switches into RCM mode
Stars: ✭ 32 (-20%)
Mutual labels:  nintendo, nintendo-hacking, nintendo-switch
ShallowSea
ShallowSea - The AIO CFW package for the Nintendo Switch with Atmosphere
Stars: ✭ 513 (+1182.5%)
Mutual labels:  nintendo, nintendo-hacking, nintendo-switch
switch-cmake
CMake toolchain for Nintendo Switch homebrew development
Stars: ✭ 38 (-5%)
Mutual labels:  nintendo, switch, nintendo-switch

Mirage

Rust Discord License FOSSA Status Built with cargo-make

Mirage is a reimplementation of the Nintendo Switch firmware, based on reverse-engineering results. It (obviously) targets the Switch itself.

Components

  • bootstrap: The initial first-stage bootloader

  • libtegra: Low-level hardware access library for the Switch

  • linker-scripts: Various linker scripts used for the build

  • mmio: Memory-Mapped I/O abstractions for Rust

  • targets: Rust target specifications for the Switch

Support

If something isn't working as expected or you have questions, feel free to open an issue.

If you're looking for a more direct way to contact the developers, we have a Discord server right here.

Compiling

If you want to compile individual components of Mirage, please take a look at the README files in the respective directories for more specific instructions.

For a full build of Mirage, cargo-make is required. It takes care of all the build dependencies.

Install it with:

cargo install --force cargo-make

Then you can build Mirage:

cargo make --profile production

Debug builds (default profile) aren't recommended here, please consider building the individual components respectively.

Roadmap

Mirage is very young and under heavy development. You can view development items and their progress state in the Mirage project boards.

Contributing

Coming soon.

FAQ

There are some frequently asked questions that come up every now and then. This section is dedicated to answering those.

Where does it differ from CFW projects, such as Atmosphère or ReiNX?

The aim of these projects is to patch and customize the behavior of Horizon OS, to make the platform more open and allow for unsigned code execution. Ideally speaking, these projects are similar to a Jailbreak on your iDevice.

Mirage, on the other hand, aims for a fully-featured reimplementation of the entire Operating System, without depending on Nintendo's firmware, however providing the same functionality.

Why are you doing this?

Fun, research, and as a tribute to the wonderful and modern architecture of Horizon.

Some milestones for the far future:

  • Very accurate reflection of the actual Horizon OS.

  • Getting commercial games and homebrew applications to boot

    • Providing a Rust toolchain for application development
  • Providing build options for purposefully including Horizon's flaws

    • Eases up research and exploit development, due to the open platform.
  • Getting Mirage to run on other architectures, such as x86

    • Why not?

License

Mirage is distributed under the terms of either the Apache License (Version 2.0) or the MIT license, at the user's choice.

See LICENSE-APACHE and LICENSE-MIT for details.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].