Go to file
bengarrett 6d1bb7f102 Update to v1.80. 2022-07-05 17:14:48 +10:00
.github Bump docker/build-push-action from 2.10.0 to 3.0.0 2022-05-09 14:01:41 +00:00
.vscode Tweak vscode settings. 2022-03-06 09:10:48 +11:00
docs Update to v1.80. 2022-07-05 17:14:48 +10:00
src Update to v1.80. 2022-07-05 17:14:48 +10:00
.eslintrc.js version v1.6 2021-01-30 21:48:52 +11:00
.gitignore Ignore yarn v3 items. 2022-04-23 10:37:53 +10:00
.prettierrc updated to prettier v2 2020-04-03 16:05:09 +11:00
Dockerfile Dockerfile is working. 2021-06-15 13:38:48 +10:00
LICENSE Create LICENSE 2019-02-24 20:05:17 +11:00
docker-compose.yml Dockerfile is working. 2021-06-15 13:38:48 +10:00
package.json Update to v1.80. 2022-07-05 17:14:48 +10:00
workbox-config.js Fixed invalid type. 2022-04-23 10:26:38 +10:00

docs/README.md

DOSee

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

If you enjoy DOSee, consider buying me a cup of coffee?

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 a DOSee repository at Docker Hub, or you can build locally using these instructions.

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

# run the container (tap Ctrl-C to exit)
docker compose up

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

# alternative manual build and run
docker build -t dosee .
docker run --name dosee_app -i -p 8086:80 dosee

# clean up and remove
docker container rm dosee_app
docker image rm dosee

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