When you hear the words Microsoft and Apple, most would normally add a versus in the middle: Microsoft vs. Apple. What if you said “Microsoft and Apple” instead? As surprising as this may be, products from the two tech giants can work together as revealed by a recent experiment involving Windows 95 and Apple Watch.
Back in the 90’s, the average processor was around 25 times slower than current processors. The Apple Watch is powered by a 520 MHz processor, 512 MB of RAM and 8GB of internal storage, which allows it to run Windows 95. For a quick reminder, 512 MB was the size of a hard drive in the mid-nineties — not memory.
If you thought this experiment couldn’t work, you’d be wrong. The Apple Watch can very well run Windows 95, with the only problem being that it runs it too slowly. You need you swipe the screen several times before your command is processed by the watch. When the Start Menu appears, the programs in the list load one by one in slow motion. When you select a particular program, you have to wait for about 20 seconds until it actually launches.
If you want to access a program from the Accessories list, you need to be very patient: each time you make a selection, you have to wait for about 20 seconds until the Apple Watch translates your command into action.
If you are interested in the technical details of how to make Apple Watch run Windows 95, here’s how to do it:
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.
Copy a Windows 95 disk image in to your app’s bundle, write the config file, and boot ‘er up.
This is not a very practical experiment but it is an interesting one.
RELATED STORIES YOU NEED TO CHECK OUT: