Finally tried out the iPhoneOS 1.0 qemu build, and it really is a treat. It really was so rudimentary https://devos50.github.io/blog/2022/ipod-touch-qemu-pt2/
Finally tried out the iPhoneOS 1.0 qemu build, and it really is a treat. It really was so rudimentary https://devos50.github.io/blog/2022/ipod-touch-qemu-pt2/ 23 comments
@stroughtonsmith that 1.1 build also showed Apple had not yet realized people might use a multitouch iPod for more things than a click wheel iPod. You couldn’t even add a calendar event on device. You still had to go do it on your Mac and sync via a cable. @stroughtonsmith I would love this emulation to evolve for the next iOS versions (probably with some emulated server components? 🤔) Emulating it under iPhone at one point would be a nice touch as well 😎🤓 Konrad, running iOS on Android, lol. Should be reasonably fast too because Android allows apps to JIT. OK it took me a while, but I worked out I have to manually patch SpringBoard to enable third-party app icons. I figured I’d see if Lights Off runs, based on the code @chockenberry released — but that's all iPhoneOS 2.0 code, for the SDK, and needs a ton of work to backport it to iPhoneOS 1.0 😔 @stroughtonsmith @chockenberry where's that Cidya icon? 😜 more seriously, amazing work and threads. Thanks for sharing those explorations, nice trip down memory lane (esp reposting the old thread on Mac OS X 10.0 and theming 🤘) Luckily data-hoarder-me had a copy of my iPhoneOS 1.0 toolchain, so I installed it into a Mac OS X v10.5 VM and fixed up the port 😄 It's alive! /cc @chockenberry Video of the original Lights Off for iPhone running mostly as intended on iPhoneOS 1.1 in qemu And if for some reason you ever need to install iPhoneOS 1.0 in an emulator and use third-party apps from the home screen, my SpringBoard patch was to SBIconModel _addItemsToIconList:fromPath:withTags: where I bypass a [[[SBPlatformController sharedInstance] allowedDisplayIdentifiers] containsObject:] and change the beq from an 0A to a 00. If there's an easier way of doing this, I couldn't find it after 16 years of link rot 😅 Re-learning a lot today; the iPhoneOS 1.0 SDK is *very* different from iPhoneOS 2.0 and everything after it. Simple things like UIColor, UIScreen don't exist. Even UITableView was 'just’ UITable. UILabel was UITextLabel. QuartzCore was 'LayerKit’. There is no UIApplicationDelegate either, you subclassed UIApplication instead. Really shows the longevity of a public API contract; almost everything in iPhoneOS 2.0 is very familiar to modern UIKit development @collin most things I emulate don't correspond to a shipping qemu, so aren't really UTM-able @stroughtonsmith Check out stevenote mode: https://hachyderm.io/@samhenrigold/110245575176907537 @samhenrigold I was trying app reveal earlier to see if it affected third party icons, but it did not @stroughtonsmith I don’t think it even affects some first party icons, right? It had to be that specific set of internet-based apps? |
@stroughtonsmith I remember when I got my iPod touch and it didn’t even have a way to add calendar items (screenshot 4).
That came in a later update and was a revelation! 🎉