You may have already noticed that playing retro games on Apple devices isn't easy. Emulation is a grey area on many smart devices, and Apple ones are no exception.
Within the restrictions of the App Store guidelines, an app can be released that can emulate certain PC environments from long ago.
However, another side to this is the community, where some developers have been able to run applications on iOS devices that go past the App Store.
Which is why in the last couple of weeks there has been excitement, as a new feature has now enabled many more emulated games to run at full speed.
Certain emulators like DolphiniOS need all the power they can get in order to run games from the Gamecube era at a good speed. Beyond CPU speeds and memory, it also needs certain instructions from the OS in order to run effectively.
Many tricks were used to have the games run at full speed, but from iOS 14.2, there was an instruction made available called the 'Just-In-Time' (JIT) compilation. This enables other apps to run their content at full speed.
Not just game emulators, but apps that have virtualisation features to run Windows and macOS environments on iPad gain a big boost in speed here, which opens up the avenue to other apps to take advantage of this.
These apps are being updated as fast as they can to take advantage of these instructions, and while we don’t recommend installing these apps, it is impressive to see a community run with these new features and show just how powerful these devices are.
AltStore 14.2 Answered
I caught up with Riley Testut, part of the team who creates ‘AltStore’ and ‘Delta’ for iOS, to explain further what this means for the apps in question going forward, and what it could mean for his own apps as well.
QUESTION: JIT can be used by all apps from 14.2. Do you think it's a decision that won't be reverted in a month's time?
Riley:There’s no way to know for sure, but the way it appears to be implemented gives me some hope. Pre-iOS 14, it was technically possible for sideloaded apps to use JIT, but it was very hacky and came with some significant downsides. In 14.2, it’s now possible to use JIT in mostly the same way as before — just without the hacks and the downsides. Additionally, since this new JIT support is limited to sideloaded apps, there’s no real security concern about App Store apps using it.
QUESTION: DolphinforiOS is being shown to run full speed now, does this also mean Delta will benefit from newer consoles to emulate at full speed as well? Perhaps PlayStation 1 and Dreamcast on Delta eventually? Maybe even Delta's own take on Gamecube emulation?
Riley: Yes! Assuming this feature remains, I definitely plan to use it to add systems to Delta much earlier than I would’ve been able to otherwise, such as PlayStation 2, PSP, Dreamcast, and who knows what else.
QUESTION: With Apple's M1 chip now official for the Mac, where do you think Delta can go on these Macs? Will the iOS version be trying to catch up with the macOS version due to the bigger memory available for example?
Riley:The future of emulation on the Mac is bright! I’m currently working on a Delta macOS port that is designed from the ground-up for macOS, and will run on both Intel and M1 Macs. Going forward, I plan to treat Delta for iOS, iPad OS, and macOS as equals: any console/feature I add to one should be added to the others (thanks to a shared Catalyst codebase), with very few exceptions. So while Delta for macOS may have some more Mac-only touches — such as multiple resizable windows — the overall feature set should be the same for all platforms. Though realistically, there isn’t much Delta could do on a Mac that it can’t already do on iOS.
There you have it; it could bring some huge benefits to Delta in the future on iOS, and we could see games like Onimusha and Tekken 4 be playable on the iPad soon enough.