Email or username:

Password:

Forgot your password?
Top-level
Steve Troughton-Smith

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 😔

14 comments
Pierre

@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 🤘)

Steve Troughton-Smith

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

Steve Troughton-Smith

Video of the original Lights Off for iPhone running mostly as intended on iPhoneOS 1.1 in qemu

Steve Troughton-Smith

And with a fixed-up icon to complete the experience

Steve Troughton-Smith

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 😅

Steve Troughton-Smith

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

Steve Troughton-Smith

@collin most things I emulate don't correspond to a shipping qemu, so aren't really UTM-able

Sam Steele 🏳️‍🌈 🎮 📸 👨‍💻

@stroughtonsmith I still have the iPhoneOS 1.x source for MobileScrobbler, though not really useful anymore since the Last.fm radio service no longer exists.

I suppose it can still scrobble your iTunes music to Last.fm with a new API key, though.

Here's the source zips for every release, and the final deb file for Cydia too: c99.org/projects/source/Mobile

The scrobbler runs as a daemon launched by LaunchServices, so you would have to put everything into the right folders yourself without the Cydia install scripts.

@stroughtonsmith I still have the iPhoneOS 1.x source for MobileScrobbler, though not really useful anymore since the Last.fm radio service no longer exists.

I suppose it can still scrobble your iTunes music to Last.fm with a new API key, though.

Here's the source zips for every release, and the final deb file for Cydia too: c99.org/projects/source/Mobile

Go Up