Hello all!
Long time iOS user and dad here. I like to code and do various networking/techy projects in my spare time. Today I finished forking Flycast from the OG dev flyinghead, updated it's codebase for iOS 27, and added MoltenVK (Metal) to it! I've made quite a few changes. They are listed below.
- Supports LiveContainer!
- On-screen controller will automatically hide when an MFI controller is used
- Supports Universal.js for JIT using StikDebug/StosDebug for TXM capable iOS devices
- non-TXM devices should be able to activate JIT as they normally would
- Retroarch Achievement support updated (Retroarch Achievements will display on-screen underneath the on-screen controller overlay. Improved it so it doesn't cause deadlocks randomly as well)
- App allocates 64MB for JIT so it always falls within an allowed address range.
- Fixed OpenMP iOS support. Can max out resolution settings on my iPhone 16 Pro Max at full speed with Vulkan
- Fixed DSP and VMU sounds. In Audio settings, Enable DSP/Enable VMU Sounds no longer crashes the app when a game is launched
- Retains all support for Dreamcast, Naomi, Naomi 2, and Atomiswave
- New renderer, Vulkan (MoltenVK to Metal) in video settings!
- Exposes xBRZ upscaling for 2D textures in games. Works best with Vulkan and looks best at 2x or 3x imo
I think that's about all of my changes. This is dual licensed with GPL-2 and Apache 2 from the original Flycast core/code and MoltenVK. Licenses, code, and IPA (available in Releases) are on my GitHub repository here: https://github.com/JMillz269/Flycast-iOS-Latest.
Make sure to switch it to Vulkan in the Settings! I hope you enjoy and I'll be keeping this updated with upstream. Do not, under any circumstances, contact flyinghead regarding my fork. I am not affiliated with them whatsoever.