Changed example port Renamed shell install script Fixed node.js instructions
DOSee
An MS-DOS emulator for the web.
DOSee is a front-end for an MS-DOS emulation ecosystem created by many amazing people over many years.
DOSee itself is a fork of The Emularity project created by the Internet Archive.
EM-DOSBox is a JavaScript port of DOSBox, the world's most popular MS-DOS emulator in use today.
Dependencies and requirements
- A web browser that supports JavaScript ES6 (ECMAScript 2015).
- A local web server or a Docker installation.
Installation
Clone DOSee.
git clone https://github.com/bengarrett/DOSee.git
Download dependencies on macOS and Linux.
chmod +x libs/install.sh
./libs/install.sh
Download dependencies on Windows
.\libs\install.ps1
DOSee has to be served via a HTTP server, it can not be run using the browser file:///
protocol.
Python 3
cd DOSee
python3 -m http.server 5550
Point a web browser to http://localhost:5550
Node.js
npm install http-server -g
cd DOSee
http-server -p 5550
Point a web browser to http://localhost:5550
Docker
Requirement:
- Docker engine: 17.04.0+
- docker-compose: 3.2
Run
cd DOSee
docker-compose up -d
Point a web browser to http://localhost:5550
Stop
cd DOSee
docker-compose down
Usage
You can easily customise DOSee to load your own MS-DOS programs using HTML5 <meta>
elements. The index.html file is the entry point which contains 6 meta elements specifically used by DOSee for providing emulation information and customisations.
<!-- DOSee initialisation options -->
<meta
name="dosee:gamefilepath"
content="dos_programs/program_4/agi_demo_pack_1.zip"
/>
<meta name="dosee:startexe" content="sierra.com" />
<meta name="dosee:capname" content="screenshot.png" />
<meta name="dosee:utils" content="false" />
<meta name="dosee:gusaudio" content="false" />
<meta name="dosee:resolution" content="640, 480" />
Required
<meta name="dosee:gamefilepath">
DOSee can use compatible ZIP file archives as an emulated hard disk drive. Any ZIP file archive provided by dosee:gamefilepath is mountable by the emulator as the MS-DOS drive C:
. This drive will be accessible to all the usual MS-DOS commands such as dir C:
and any included MS-DOS programs are able to be launch.
The content must be a relative path to the web root and needs to point to a compatible ZIP file archive.
<meta name="dosee:startexe">
The filename of the MS-DOS program DOSee should launch. The program needs to exist in the ZIP file archive provided to dosee:gamefilepath.
MS-DOS programs usually use the following file extensions: .exe
.com
.bat
If the content is left blank or the filename doesn't exist in the archive, DOSee will launch into an MS-DOS C:
prompt.
Optional
<meta name="dosee:capname">
The filename used by the capture feature when capturing and saving emulator screenshots. The images use the PNG format, and so the name should include a .png
file extension.
<meta name="dosee:utils">
When set to true
it tells DOSee to mount a collection of MS-DOS utilities and tools that are accessible from the U:
drive.
Placeholders
<meta name="dosee:gusaudio">
When set to true
it tells DOSee to mount a collection of Gravis Ultrasound audio drivers and tools that are accessible from the G:
drive. These drivers are always loaded by DOSee whenever the Gravis Ultrasound audio option is selected so this should always be left to false
.
<meta name="dosee:resolution">
This should adjust the pixel width and height of the EM-DOSBox emulator but it seems to have no noticeable effect.
Sample programs
There are three additional sample programs included in this repository that can be run by DOSee. In the index.html replace these <meta>
elements.
<!-- DOSee initialisation options -->
<meta
name="dosee:gamefilepath"
content="dos_programs/program_4/agi_demo_pack_1.zip"
/>
<meta name="dosee:startexe" content="sierra.com" />
Sample program 1 (fastest, VGA, Gravis Ultrasound)
<meta name="dosee:gamefilepath" content="dos_programs/program_1/df2intro.zip" />
<meta name="dosee:startexe" content="DF2.EXE" />
Sample program 2 (fastest, VGA, Gravis Ultrasound)
<meta name="dosee:gamefilepath" content="dos_programs/program_2/df2.zip" />
<meta name="dosee:startexe" content="df2.exe" />
Sample program 3 (fastest, VGA, Sound Blaster 16)
<meta name="dosee:gamefilepath" content="dos_programs/program_3/hyb605.zip" />
<meta name="dosee:startexe" content="hyb605.exe" />
Add your own program example
Create a new directory. For your implementation, there is no need to follow this dos_programs/
directory naming structure.
cd DOSee
mkdir -p dos_programs/program_5
Download the Space Quest 3 non-interactive demo.
wget -O dos_programs/program_5/sq3-demo.zip https://www.scummvm.org/frs/demos/sci/sq3-dos-ni-demo-en.zip
Update the DOSee index.html to launch the demo and enjoy the confusing mess that was the MS-DOS era of gaming.
<!-- DOSee initialisation options -->
<meta name="dosee:gamefilepath" content="dos_programs/program_5/sq3-demo.zip" />
<meta name="dosee:startexe" content="SQ3DEMO.BAT" />