Felix Rieseberg c847467de6 Recover user files from orphaned state-vN.bin after a version bump (#365)
* Detect orphaned state-vN.bin and offer file recovery to a host folder

When STATE_VERSION is bumped, users previously lost their C:\ silently.
The Welcome card now detects an older state file (v4+), explains what
happened, and offers a one-click recovery: spin up a throwaway v86
(no boot), restore the legacy state to populate the hda dirty-block
overlay, walk the FAT32 tree reading overlay-if-dirty-else-base, and
copy any file the guest ever wrote out to ~/Downloads/Recovered C Drive.

Directories are created lazily so empty branches never appear; success
and failure render in the panel (no native dialogs). The geometry
constraint that keeps overlay+new-base valid is documented next to
STATE_VERSION. Also makes the dev-mode CDP port overridable via
WIN95_DEBUG_PORT so worktree instances don't fight over 9222.

* prettier
2026-04-12 12:38:28 -07:00
2022-06-26 11:55:09 -07:00
2026-04-10 20:34:28 -07:00
2020-08-02 13:11:20 -07:00
2018-08-27 08:26:34 -07:00
2018-08-25 11:25:13 -05:00
2025-02-20 17:27:00 -08:00
2025-02-18 22:39:47 -08:00
2018-08-23 23:11:48 -07:00
2019-08-24 17:03:56 +02:00
2026-04-11 14:15:19 -07:00
2025-02-21 08:27:47 -08:00

windows95

This is Windows 95, running in an Electron app. Yes, it's the full thing. I'm sorry.

Downloads


Windows
32-bit 💿 Installer | 📦 Standalone Zip
64-bit 💿 Installer | 📦 Standalone Zip
ARM64 💿 Installer | 📦 Standalone Zip
Don't know what kind of chip you have? It's probably `x64`. To confirm, on your computer, hit Start, enter "processor" for info.

macOS
Apple Silicon Processor 📦 Standalone Zip
Intel Processor 📦 Standalone Zip Don't know what kind of chip you have? If you bought your computer after 2020, select "Apple Silicon". Learn more at apple.com.

Linux
64-bit 💿 rpm | 💿 deb

Screenshot showing Windows 95 Screenshot showing Windows 95

Does it work?

Yes! Quite well, actually - on macOS, Windows, and Linux. Bear in mind that this is written entirely in JavaScript, so please adjust your expectations.

Should this have been a native app?

Absolutely.

Does it run Doom (or my other favorite game)?

You'll likely be better off with an actual virtualization app, but the short answer is yes. In fact, a few games are already preinstalled - and more can be found on the Internet, for instance at archive.org. Thanks to @DisplacedGamers I can recommend that you switch to a resolution of 640x480 @ 256 colors before starting DOS games - just like in the good ol' days.

Credits

99% of the work was done over at v86 by Copy aka Fabian Hemmer and his contributors.

Contributing

Before you can run this from source, you'll need the disk image. It's not part of the repository, but you can grab it using the Show Disk Image button from the packaged release, which does include the disk image. You can find that button in the Modify C: Drive section.

Unpack the images folder into the src folder, creating this layout:

- /images/windows95.img
- /images/default-state.bin
- /assets/...
- /bios/...
- /docs/...

Once you've done so, run npm install and npm start to run your local build.

If you want to tinker with the image or make a new one, check out the QEMU docs.

Other Questions

License

This project is provided for educational purposes only. It is not affiliated with and has not been approved by Microsoft.

Description
💩🚀 Windows 95 in Electron. Runs on macOS, Linux, and Windows.
Readme 8.9 MiB
Languages
TypeScript 69%
JavaScript 14%
HTML 10.2%
Less 4%
Dockerfile 1.4%
Other 1.4%