windows 95 in a browser

Would it be too meta to run this in Microsoft’s new Edge browser?

Windows 95 launched, as you would expect, in 1995 (on 25 August 1995, to be exact), and it’s now over 20 years old and most definitely not suited for use in any production environment exposed to the internet. But some people still find uses for it that can’t be fulfilled by newer operating systems, and that’s mainly sticking it in places where it doesn’t belong. Nintendo game consoles, smart watches, toasters, printers, you name it and someone has hacked Windows 95 to fit on there. And now it’s in a web browser. I’m not kidding!

The project was started by Andrea Fauld, a 19 year-old German and Language & Linguistics at the University of Aberdeen, Scotland. Fauld says that the project started out of nostalgia after watching Politics Unboringed, which has a sequence of really old-school website designs being shown, along with some really old music themes that were included with Windows 3.1 and Windows 95 at the time. It took Fauld a couple of months, but he eventually cracked it.

How this all works is that the JavaScript engine inside your browser is made to run a really compressed image of Windows 95, coming in at 47MB compressed and 130MB when fully unzipped and copied into RAM. This is done using Emscripten, which is a source code translator that translates C++ into JavaScript code. There’s also some DOSbox action going on with a specialised version called Em-DOSbox, created by The Internet Archive as a means to preserve and host old DOS games for people to enjoy. Both should load up and work properly in any modern browser with standards-based JavaScript support, though Firefox’s implementation is more reliable. The interface can be laggy, and running this on a more powerful system will yield better results, but that’s not to say that I’d advocate using this for any real work.

Once you’re loaded up, you have a near-fully functional Windows 95 installation, running inside your browser. There’s a lot of things happening in the background which introduce instability, though, like the fact that if the internal software clock or timer runs faster or slower than it should be, the program will timeout the OS instance, and you may have to force a refresh and start loading it again. The way that Em-DOSbox interprets commands sent to the virtual CPU is also a bit buggy, because these aren’t translated using Emscripten into native JavaScript code but rather through something called Emterpreter, which is quite slow.

Because DOSbox was also never made to run an entire operating system, this also makes things much more unstable than simply firing up a virtual machine. But as a tool for learning about old OSes and fiddling with them at the click of a button, this is pretty much what everyone should be aiming for. One can imagine being at school, learning about old OSes through a site hosted on the school’s intranet, which has copies of the software and all the resources required to run this in a class scenario. “Working with old versions of Windows” could even be its own course that you could take as part of your N+ and A+ exams.

This goes back a bit to another news piece I wrote about emulating an ARM CPU inside your web browser. More and more people are retiring that have skills that are specific to the hardware and software of their heyday, and gaining access to the physical machines that remain is becoming more problematic. Finding new ways to simulate old software and hardware, especially if we can emulate it almost perfectly, is an important step that we should take if we want to preserve things properly for future generations.

Try it out for yourself:

Source: Neowin