diff --git a/README.md b/README.md index b934c4ec0..a227bd3c1 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,101 @@ Developed from the ground up, MeloNX is open-source and available on Github under the MIT license.
-## Compatibility +# Compatibility -MeloNX works on iPhone X and later and iPad 7th Gen and later. A lot of games work. +MeloNX works on iPhone X and later and iPad 7th Gen and later. Check out the Compatibility on the website. -## Usage +# Usage -To run MeloNX on your iOS device, at least 4GB of RAM is recommended to ensure stability. For full instructions, refer to our [Setup Guide](https://github.com/MeloNX-Emu/MeloNX/wiki/Setup-Guide). +## FAQ +- MeloNX is made for iOS 17+, iOS 15 - 16 is supported but will have issues. +- MeloNX needs Xcode or a Paid Apple Developer Account. SideStore support may come soon (SideStore Side Issue) +- MeloNX needs JIT +- Recommended Device: iPhone 15 Pro or newer. +- Low-End Recommended Device**: iPhone 13 Pro. +- Lowest Supported Device: iPhone XR + + +## How to install + +### Paid Developer Account + +1. **Sideload the App** + - Use any sideloading tool that supports Apple IDs. + +2. **Enable Entitlements** + - Visit [Apple Developer Identifiers](https://developer.apple.com/account/resources/identifiers). + - Locate **MeloNX** and enable the following entitlements: + - `Increased Memory Limit` + - `Increased Debugging Memory Limit` + +3. **Reinstall the App** + - Delete the existing installation. + - Sideload the app again with the updated entitlements. + +4. **Enable JIT** + - Use your preferred method to enable Just-In-Time (JIT) compilation. + +5. **Add Necessary Files** + - If needed, install firmware and keys from **Ryujinx Desktop**. + - Copy the **bis** and **system** folders if you encounter issues. + +### Xcode + +1. **Compile Guide** + - Visit the [guide here](https://git.743378673.xyz/MeloNX/MeloNX/src/branch/XC-ios-ht/Compile.md). + +2. **Add Necessary Files** + - If needed, install firmware and keys from **Ryujinx Desktop**. + - Copy the **bis** and **system** folders if you encounter issues. + +## Features + +- **Audio** + + Audio output is entirely supported, audio input (microphone) isn't supported. + We use C# wrappers for [OpenAL](https://openal-soft.org/), and [SDL2](https://www.libsdl.org/) & [libsoundio](http://libsound.io/) as fallbacks. + +- **CPU** + + The CPU emulator, ARMeilleure, emulates an ARMv8 CPU and currently has support for most 64-bit ARMv8 and some of the ARMv7 (and older) instructions, including partial 32-bit support. + It translates the ARM code to a custom IR, performs a few optimizations, and turns that into x86 code. + There are three memory manager options available depending on the user's preference, leveraging both software-based (slower) and host-mapped modes (much faster). + The fastest option (host, unchecked) is set by default. + Ryujinx also features an optional Profiled Persistent Translation Cache, which essentially caches translated functions so that they do not need to be translated every time the game loads. + The net result is a significant reduction in load times (the amount of time between launching a game and arriving at the title screen) for nearly every game. + NOTE: This feature is enabled by default, You must launch the game at least twice to the title screen or beyond before performance improvements are unlocked on the third launch! + These improvements are permanent and do not require any extra launches going forward. + +- **GPU** + + The GPU emulator emulates the Switch's Maxwell GPU using Metal (via MoltenVK) APIs through a custom build of OpenTK or Silk.NET respectively. + +- **Input** + + We currently have support for keyboard, touch input, JoyCon input support, and nearly all controllers. + Motion controls are natively supported in most cases; for dual-JoyCon motion support, DS4Windows or BetterJoy are currently required. + In all scenarios, you can set up everything inside the input configuration menu. + +- **DLC & Modifications** + + MeloNX does not support add-on content/downloadable content. + Mods (romfs, exefs, and runtime mods such as cheats) are supported; + +- **Configuration** + + The emulator has settings for enabling or disabling some logging, remapping controllers, and more. + +## License + +This software is licensed under the terms of the [MIT license](LICENSE.txt). +This project makes use of code authored by the libvpx project, licensed under BSD and the ffmpeg project, licensed under LGPLv3. +See [LICENSE.txt](LICENSE.txt) and [THIRDPARTY.md](distribution/legal/THIRDPARTY.md) for more details. + +## Credits + +- [Ryujinx](https://github.com/ryujinx-mirror/ryujinx) is used for the base of this emulator. (link is to ryujinx-mirror since they were supportive) +- [LibHac](https://github.com/Thealexbarney/LibHac) is used for our file-system. +- [AmiiboAPI](https://www.amiiboapi.com) is used in our Amiibo emulation. +- [ldn_mitm](https://github.com/spacemeowx2/ldn_mitm) is used for one of our available multiplayer modes. +- [ShellLink](https://github.com/securifybv/ShellLink) is used for Windows shortcut generation.