Skip to content

bengarrett/DOSee

DOSee

GitHub   GitHub package.json version GitHub last commit   GitHub repo size

An MS-DOS emulator for the web.

DOSee is a front-end for an MS-DOS emulation ecosystem to use on the web. The text-based MS-DOS was the dominant personal computer platform for much of the 1980s. Up until the mid-1990s before being superseded by Microsoft Windows. Emulating this platform allows tens of thousands of games, demos and applications from this era to run on a web browser both online or offline as a desktop web-app!

DOSee is only a user interface and installation process for an incredible emulation ecosystem. Many remarkable people created it over many years. DOSee itself is a fork of The Emularity project started by the Internet Archive. EM-DOSBox, the core of this emulation, is a JavaScript port of DOSBox, the world's most popular MS-DOS emulator.

DOSee preview

What's new

Updates are in CHANGES

Requirements

  • A web browser that supports JavaScript ES6 (ECMAScript 2015).
    Current Firefox, Chrome, Edge, Brave or Safari will work fine.
  • A physical keyboard, as MS-DOS is a text-based operating system.
  • Node.js plus yarn/npm or Docker

DOSee runs over an HTTP server, and it can not function over the file:/// browser protocol.

Instructions, download, build and serve

DOSee requires a build before it can serve to a web browser.

# clone DOSee
git clone https://github.com/bengarrett/DOSee.git
cd DOSee

 # install dependencies & build
yarn # npm install

# serve DOSee over port 8086
yarn run serve # npm run serve

Point a web browser to http://localhost:8086

Docker instructions

There is an image at Docker Hub.

docker run --name dosee_app -i -p 8086:80 bengarrett/dosee

Point a web browser to http://localhost:8086

Usage & customisations

Are in the USAGE document

Editing the source JS or HTML

If you edit the source files in src/ you will need to rebuild the application.

# change to the repo directory
cd DOSee

# re-build DOSee using your edits
yarn run install # npm run install

# serve the modified DOSee over port 8086
yarn run serve # npm run serve

Point a web browser to http://localhost:8086

Due to the PWA offline feature, web browsers need to unregister the service workers to reflect any changes to the application code. There is a red Update DOSee and the service worker button on the index.html example that will do this and then reload the browser window. The eventListener code for this button can be found in the src/js/dosee-sw.js file.

License

  1. DOSee is under a GPL-3.0 license.
  2. Em-DOSBox located in src/emulator is under GPL-2.0 license.
  3. src/disk_drives and src/dos_programs contain non-free software binaries for your convenience.

Similar projects

  • js-dos The best API for running dos programs in a browser