Guides:MAME - Software - DOOM
DOS 6.22 running Doom in MESS
This guide will walk you through the process of getting the DOS version of DOOM running within the MAME ct486 machine. This will demonstrate We'll cover off some of the specific tweaks required when installing DOS
As a bonus we'll also cover how to setup 2 instances of the DOOM playing Deathmatch over a null modem cable. When we do this we'll need to implement a bitbanger device between the two machines to allow them to communicate over their "null modem" cable.
|For general information on the MESS project and how to use it including external references see the dedicated MESS Page|
Specific to DOOM (as of MAME 0.217) you'll want to get copies of some DOOM v1.2 (3) disks
We are going to attach a soundblaster 16 to one of the ISA slots for this machine so we can have sound and give ourselves a SVGA graphics adapter.
To do this we will add two additional options to the commandline we may not have used before
SVGA adapter is attached to IAS slot 1
Soundblaster 16 card is attached to ISA slot 2
Boot the MSDOS 6.22 CHD attached to the ct486 MAME machine and insert the first DOOM disk
$ ./mame64 ct486 -isa1 svga_s3 -isa2 sblaster_16 -hard <chdfile.chd> -flop1 <doom01.img>
Change to drive A:\ after the machine boots and run INSTALL.EXE
C:\> A: A:\> INSTALL.EXE
Follow the prompts using the MAME UI to change disks when prompted.
Choose a Sound Blaster 16 with defaults when prompted to select audio.
Once this process completes you can run DOOM.EXE from C:\DOOM\
A:\> C: C:\> CD DOOM C:\> DOOM>EXE
To have DOOM automatically start when you launch the system with the CHD attached
Edit the AUTOEXEC.BAT file
C:\> EDIT C:\AUTOEXEC.BAT
Add the following lines at the end of this file and save it.
CD C:\DOOM\ DOOM.EXE
This file is executed at system startup and will now start doom at system launch.
Play DOOM over Null Modem
MAME includes a bitbanger device which can be activated on some slotted devices, we will use a null_modem cable in this instance to allow us to get data in and out of the emulated machine via the emulated serial port. It will output to a file (and/or a socket). The general [[Guides:MAME_-_bitbanger|bitbanger guider] should be referred to, we will cover the DOOM specifics here.
Start the DOOM machine with additional parameters to add a null modem device and enable the bitbanger device to write to a socket
-board2:comat:serport1 null_modem -bitb socket.<ip address>:<port>
The ip address and port reserve the socket the machine will listen on, you will have to connect to these during the gameinfo screen.
Clients will connect via the created socket and be able to play between themselves.
You can test this, providing your machine can handle running two emulated machines at one by starting up two instances of MAME DOOM at the same time.
One change you will probably want to make is to have the machines automatically boot into the serial connection program called SERSETUP.EXE and configure the game in the AUTOEXEC.BAT
Edit AUTOEXEC.BAT and replace DOOM.EXE with the following so both machines will boot and connect on COM2
SERSETUP.EXE -COM2 -DEATHMATCH -SKILL 4
For reference the md5 of the disks we use in this guide are
2729a2775d700d062f0da7ed2b14fc08 Doom 1 1.2 #1.img ee087c084194ecd7f0acd2fec259f700 Doom 1 1.2 #2.img 4d5e5f40b12b485d180012fea59b2ba7 Doom 1 1.2 #3.img 5757c3329058db08f8ecd6108520be83 Doom 1 1.2 #4.img