Windows 95 on an Apple Watch

Windows 95 on an Apple Watch

I installed Windows 95 on my Apple Watch

With a 520 MHz processor, 512 MB of RAM, and 8GB of internal storage, the Apple Watch packs a lot of computing horsepower into a very small package. On paper, its processor alone is about twenty-five times faster than the average 386, and 512 MB was the size of a hard drive in the mid nineties, not memory. As a result, I was feeling confident that the Apple Watch had the ability to run one of the most revered desktop operating systems Redmond has ever produced.Pretty much. I was born in the nineties, and the first personal computer my family bought (a $3000 screamer with a 300 MHz Pentium II, 256 MB of RAM, and the optional Boston Acoustics speaker system) ran Windows 95. Also, this isnā€™t the first time Iā€™ve installed an old operating system on a watch. Hereā€™s a video of my Apple Watch running Mac OS 7.5.5:

Unlike the above port of the Mini vMac emulator, the result here had to be interactive. That meant that Appleā€™s WatchKit SDK wasnā€™t good enough, since it doesnā€™t allow you to access user touch locations directlyā€Šā€”ā€Šit only lets you use Appleā€™s stock controls. Long story short, itā€™s possible to patch certain files within a WatchKit app to load your own application code rather than Appleā€™s. For more information, check out Steven Troughton-Smithā€™s excellent blog post on the subject.

Hereā€™s an outline of the steps involved:

  • Copy symbols and headers from Xcodeā€™s iphoneOS and iphoneSimulator platforms to the watchOS and watchSimulator platforms, respectively.
  • Build your ā€œnormalā€ UIKit-based iOS app inside a framework, rather than in your WatchKit extension.
  • Use install_name_tool to point your WatchKit appā€™s _WatchKitStub/WK binary to your framework instead of SockPuppetGizmo. SockPuppetGizmo is the framework that (to my knowledge) runs WatchKit and interacts with normal WatchKit extensions that developers write.
  • Jury-rig the iOS port of the Bochs x86 emulator into your framework. ā€œEasy!ā€ ā€œHow hard can it be?ā€ read: Pretty hard. In my case, Xcode crashed whenever I tried to use lldb. Your mileage may vary.
  • Copy a Windows 95 disk image in to your appā€™s bundle, write the config file, and boot ā€˜er up.

*Optional: hot glue a motor to the watchā€™s crown to keep it from falling asleep.

Will It Blend?

Yes! Due to the fact that it is emulated (not virtualized), it takes about an hour to boot.

For more detail: Windows 95 on an Apple Watch

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter