Thread with 16 posts

jump to expanded post

Weird mobile game or not, it was what “Super Monkey Ball” meant to me. Anyway, I wanted to play it again.

But of course, I couldn’t, not without an ancient device, which I didn’t have.

And I thought, oh no, I love this game, but nobody coming after me will have the chance to.

Open thread at this post

…So uh, people familiar with this kind of game preservation problem may be familiar with emulation. But, to my knowledge, there was no way to emulate old iOS games.

…I wondered, well, how hard could it be?

…I opened Ghidra and imported the Super Monkey Ball binary………

Open thread at this post

…and it looked… doable… if at some point in the future I would have a lot of free time, and energy, and Determination.

oh, and my friend happened to have written a dynamic recompiler for ARM binaries which had a super simple API…

…but surely I wouldn’t do this, right.

Open thread at this post

well. i’ve recently had a lot more free time than usual, and…

… I should have taken more breaks and paced myself, but …

touchhle.org

yeah. enjoy!

also, a huge thanks to my friends cassie, erin, puck and mary for help at various points.

https://youtube.com/watch?v=Blz7qJrZ-s8 (video of gameplay — sorry, my instance doesn’t support direct video uploads yet ^^;)

Open thread at this post

@protosphere thank you!! the UIKit implementation is one of the most hacky and minimal ones: games like Monkey Ball (it’s hardly unique in this) basically just use a single UIView for everything (they draw everything with OpenGL), so I can get away with a ton of shortcuts. I’m kind of scared of how much work would be needed to support like, normal apps, which probably make much heavier use of UIKit

Open thread at this post