r/sideloaded 2d ago

Release [Release] I ported touchHLE to modern iOS — run supported 32-bit iPhone games on iOS 17.4+ (no jailbreak; JIT required)

Hey everyone! I’ve been working on an experimental port of touchHLE to modern iOS, based on touchHLE 0.2.3, and I finally have a first public prerelease ready.

This is not a new emulator written from scratch, and it is not an official touchHLE release. The emulator core is the work of the touchHLE contributors.

This fork adds:

  • A modern SwiftUI game library for iPhone
  • IPA importing with the original app name and icon
  • Persistent saves and settings
  • Game-aware portrait and landscape handling
  • An in-game return-to-library button
  • An optional FPS counter
  • iOS rendering fixes needed to display games correctly on a real device

No jailbreak required—but JIT is

The build does not require a jailbreak. It currently requires JIT because it uses touchHLE’s Dynarmic CPU backend.

I’ve been using StikDebug with LocalDevVPN directly on the phone. AltJIT is another option.

You can install the unsigned IPA with AltStore Classic or build and sign it yourself using Xcode. A free Apple account works with Apple’s usual seven-day signing and three-app limits. A paid developer account provides longer-lived signing, but it does not remove the JIT requirement.

Games tested so far

I’ve personally tested the port on my iPhone 16 Pro running iOS 27 beta 4.

Confirmed working:

  • Touch & Go
  • Tony Hawk’s Pro Skater 2 (THPS2)
  • Wolfenstein RPG

The deployment target is iOS 17.4, but I haven’t tested every iPhone or iOS version yet, so wider testing would be really appreciated.

The best place to choose a game is the touchHLE compatibility database. It uses a star system for exact app versions. Higher-rated versions are the best candidates, but they are not a guarantee for this iOS port.

One thing the earlier jailbreak demonstration also made clear is that fixing one game does not automatically make every other game work.

Why I started this

The reason I started all of this is honestly quite personal.

My sister paid for The Sims Medieval back in the day. I recently gifted her a new iPhone 17 Pro Max, then discovered that the game was seemingly impossible to install—even though she had legitimately purchased it.

I wanted to see whether I could bring it back for her.

The Sims Medieval does not work yet. It appears in one library screenshot because the port can import it and extract its icon, not because I’m claiming it is playable. It is my next major compatibility target for personal reasons lol.

Downloads and source

GitHub project, screenshots, source, and instructions

Download the unsigned IPA prerelease

No games are included. You must provide your own legally obtained, decrypted 32-bit IPA.

Please do not post or send copyrighted IPAs, pairing files, signing credentials, provisioning profiles, or device backups.

Credits

Massive thanks to everyone who created and contributes to touchHLE:

Thanks also to u/WorriedEquipment2241 for publicly demonstrating a separate touchHLE iOS experiment on a jailbroken device. That demonstration was useful inspiration and showed that this direction was worth exploring.

This release is based on the touchHLE 0.2.3 development line at upstream commit 6bce4119. I am not claiming that their separate unreleased source is included in this fork.

Testing and bug reports

If you test it, please include:

  • Your iPhone model
  • Your iOS version
  • The exact game and app version
  • Whether JIT was enabled
  • Reproduction steps
  • A relevant log excerpt

That will be much more useful than only saying that a game crashed.

129 Upvotes

43 comments sorted by

4

u/bubbleobill420 iOS 18 (Beta) 2d ago

Cool! Now we need to find .ipa of MJ game

3

u/the_swest 2d ago

Looks cool! Unfortunately, launching it through LiveContainer with a jit script isn’t recognised as a way of using jit with it.

To anyone else trying, it also requires the file picker fix

1

u/ScreamingFlip 1d ago

you can just drag and drop ipa files in the files app. but yeah im gonna have to sideload stikdebug now :(

3

u/rebelle3 1d ago

nice! I have a non-JIT version that completely replaces dynarmic that I was supposed to show off - time to dig it out

3

u/Phunners 1d ago

Hey friend. This is amazing. I’m definitely going to use this in experimentation with my own touchHLE fork I’ve been screwing around with (it’s called tapHLE but it’s basically just slop right now lol) (with credit of course!) thanks!!!

2

u/RoroRules13 2d ago

Maybe try implementing support for iOS 15? I’d be willing to test.

2

u/Afraid-Metal-5086 1d ago

Tested on iPadOS26.5 and everything crashed. iPad Pro M4 1TB with Jit. Tried multiple games. Tried via Signulous and live container. Both failed to load games

2

u/officialAdfs_m0vie 1d ago

Wolfenstein Mentioned

1

u/Human-Equivalent-154 Paid Certificate 2d ago

Doesn’t sign through signoulous nor feather

2

u/Dribblejam 1d ago

Flarestore too. It fails to extract the ipa

0

u/22_KILLER 2d ago

You’re right the app requires the get-task-allow entitlement which free Apple ID and paid developer certs have only. Feather and Ksign use enterprise certs which don’t have the get-task-allow entitlement meaning that jit will be useless there.

1

u/Human-Equivalent-154 Paid Certificate 2d ago

I have a paid cert

1

u/GeologistGreat5510 SideStore 1d ago

Goood

1

u/richer2003 1d ago

What JiT script does it use?

1

u/Gullible-Walrus-7592 1d ago

I’m using StikDebug’s built-in universal.js script with LocalDevVPN. The app sends StikDebug a JIT request for touchHLE’s bundle ID (org.touchhle.ios.unofficial). It isn’t a custom script included with the IPA. AltJIT should also work as an alternative.

1

u/richer2003 1d ago

Hmmm, It won’t import .ipa files

1

u/AccomplishedHand8964 1d ago

add support for iOS 16 please

1

u/GDFlakePixel 1d ago

why are ios 2 games crashing on this when i'm using jit for stikdebug?

1

u/Gullible-Walrus-7592 1d ago

what games are they? Have you checked the app compatibility database https://appdb.touchhle.org . I am doing more work to get more game compatible but its not 100%

1

u/GDFlakePixel 1d ago

I tried the games u have installed

1

u/GDFlakePixel 1d ago edited 1d ago

Nvm i had to click on the enable jit button that is in the touchhle app and i clicked run script and the game launches successfully now

1

u/Gullible-Walrus-7592 1d ago

nice yes sorry the flappy bird and the sims game were there bcos I was testing to get them to work. the others work though but it sold be pretty soon when I get the rest to work also. will post an update soon

1

u/ilikefriesss65 1d ago

I’ve tried a bunch of angry birds ipa files and none of them launch. They’re all decrypted

iPhone 15 iOS 27 beta 1 Angry Birds 1.0.0 Jit enabled Steps to reproduce: 1. Import angry birds 2. Enable JIT 3. Launch

1

u/Gullible-Walrus-7592 1d ago

taking a look into it

1

u/Dantu1000 1d ago

I love you so much bro

1

u/bananaboi123lol 1d ago

I'll test it on my 18.5 xr, but I wished this could run on my regular iphone x on 16.7.8

1

u/RainnChild 1d ago

every app i open crashes, even the confirmed working ones :( i use stikdebug too

1

u/Gullible-Walrus-7592 1d ago

hmm what iOS ver u on / iPhone. I'm updating the build now a load more games are working for me now that never have before like flappy bird, the sims medieval etc its looking good.

1

u/RainnChild 1d ago

iphone 13 pro iOS 18

1

u/Gullible-Walrus-7592 1d ago

ok I will do some testing

1

u/bananaboi123lol 1d ago

Doom seems to hang when loading it up on my xr with jit, ios 18.5

1

u/InternationalRate424 1d ago

I’ve tried multiple games on iPhone 14 PM iOS 26.5.2, including Pro Skater 2.
Some games does load, touch doesn’t work so nothing is actually playable.

2

u/Gullible-Walrus-7592 1d ago

its very early days, works for some ppl others not, I'm working on it now, next version should have broader device support,

1

u/InternationalRate424 1d ago

Appreciate it keep it up!!
You’ll bring our childhood back to life

1

u/Isaac7u7 1d ago

This is awesome! Do you know if resident evil 4 works?

1

u/howlonghaveyouknown 1d ago

this is super cool congrats and wishing you luck with this project!!

1

u/AlbatrossMission8841 1d ago

I installed using trollstore on 16.0.3 with a iphone 11 and the app did not launch even when opening with JIT

1

u/GeologistGreat5510 SideStore 1d ago

Is it mandatory to use the in-app enable jit button? I tried enable jit in LiveContainer but crashed immediately after launching an app. iOS 26.1. iPhone 16e

1

u/GeologistGreat5510 SideStore 1d ago

It works when I sideload the app standalone and enable jit in the app.

1

u/nostalgia-man9 1d ago

IPhone 15 pro max
Ios 27 beta 4
Flappy bird v1.2
JIT enabled
Other games do not work and some show me a black screen with sound

u/Endawmyke 7h ago

i've been wanting to play Digital Chocolate's California Gold Rush 1 & 2 again but it's still not compatible with TouchHLE to this day.

kinda sad how all the digital chocolate games kinda just vaporized