MCPcopy
hub / github.com/felixrieseberg/windows95

github.com/felixrieseberg/windows95 @v6.0.0 sqlite

repository ↗ · DeepWiki ↗ · release v6.0.0 ↗
449 symbols 1,202 edges 52 files 41 documented · 9%
README

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 ❓ 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 ARM64 💿 rpm | 💿 deb ARM 💿 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.

Extension points exported contracts — how you extend this code

Win95Window (Interface)
(no doc)
src/renderer/app.tsx
Settings (Interface)
(no doc)
src/main/settings.ts
EmulatorInfoProps (Interface)
(no doc)
src/renderer/emulator-info.tsx
EmulatorInfoState (Interface)
(no doc)
src/renderer/emulator-info.tsx
ProbeStatus (Interface)
(no doc)
src/renderer/debug-harness.ts
EmulatorState (Interface)
(no doc)
src/renderer/emulator.tsx

Core symbols most depended-on inside this repo

y
called by 366
src/renderer/lib/libv86.js
u16
called by 179
src/renderer/smb/test-standalone.ts
push
called by 173
src/renderer/smb/netbios.ts
set
called by 141
src/renderer/sync-file-buffer.ts
u16
called by 132
src/renderer/smb/wire.ts
ok
called by 76
src/renderer/smb/test-standalone.ts
u32
called by 63
src/renderer/smb/test-standalone.ts
b
called by 60
src/renderer/lib/libv86.js

Shape

Function 262
Method 141
Class 24
Interface 22

Languages

TypeScript100%
Python1%

Modules by API surface

src/renderer/lib/libv86.js130 symbols
src/renderer/smb/server.ts63 symbols
src/renderer/emulator.tsx27 symbols
src/renderer/smb/wire.ts24 symbols
src/renderer/emulator-info.tsx18 symbols
src/renderer/card-settings.tsx16 symbols
src/renderer/smb/nbns.ts14 symbols
src/renderer/smb/index.ts14 symbols
src/renderer/debug-harness.ts14 symbols
src/renderer/net/tcp-relay.ts10 symbols
src/main/settings.ts9 symbols
src/renderer/utils/fat32-extract.ts8 symbols

Dependencies from manifests, versioned

@electron-forge/cli7.11.2 · 1×
@electron-forge/maker-deb7.8.3 · 1×
@electron-forge/maker-flatpak7.11.1 · 1×
@electron-forge/maker-rpm7.8.3 · 1×
@electron-forge/maker-squirrel7.11.2 · 1×
@electron-forge/maker-zip7.11.2 · 1×
@electron-forge/publisher-github7.11.1 · 1×
@types/node24.9.0 · 1×
@types/react19.2.15 · 1×
@types/react-dom19.2.3 · 1×
dotenv17.4.2 · 1×
electron42.3.3 · 1×

For agents

$ claude mcp add windows95 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact