GAMES:MechWarrior 2

From DOSBoxWiki
Jump to: navigation, search

MechWarrior 2 works almost perfectly for me in DOSBox 0.72, including 1024x768 resolution, movies, and sound.


Install Procedure

NOTE: As of DOSBox 0.72, DOSBox does not properly emulate whatever method MechWarrior 2 uses to perform CD checks. Thus you will receive a message that the game cannot find your CD, even if it is properly mounted in DOSBox. However, if you rip the CD to .cue/.img and mount the .cue, MechWarrior 2 will run. Alternatively, a cracked executable should work, but this may result in a loss of the excellent music :)

  1. Bust out your DOS copy of MechWarrior 2 and put it in your CD drive.
  2. Download and install ImgBurn: http://www.imgburn.com/. As of 12/3/10, it is free (as in beer).
  3. Run ImgBurn, and choose Create image file from disc.
  4. Select the Source drive containing your CD and click the Destination file button.
  5. On the Save As dialog, change the Save as type to an IMG file, choose a location and file name, and click Save.
    • NOTE: It had been suggested to rip the CD to ISO format. However, the ISO format will not retain CD audio. It is thus advised to rip the CD to .cue/.img rather than .iso, if you wish to retain the CD audio.
  6. Click the big Read button.
  7. When finished, execute DOSBox, and run: imgmount <drive_letter> <full_path_to_cue_file> -t iso -fs iso
  8. Execute INSTALL.EXE on the mounted image.
  9. When configuring audio, you may use SB16 for both MIDI and Digital audio.
  10. If you installed 1.0, install the 1.1 patch. As of 12/3/10, this is still available from Fileshack: http://www.fileshack.com/file.x/425/MechWarrior+2+Retail+DOS+v1.0+to+v1.1+patch
    • NOTE: The patch will need to be run from within DOSBox, and, for me, would not work properly. It deleted mw2.exe among other things, and rendered the installation unusable. In this case, you must patch manually. To do this:
      1. Run PATCH11.EXE to extract its files
      2. Rename each of the extensions properly (e.g., .EX_ becomes .EXE, .DL_ becomes .DLL, .CP_ becomes .CPC, .ST_ becomes .STD, .TX_ becomes .TXT) <- NOTE: strongly suggest using a classic Windows command prompt so that wildcard commands like 'ren *.DL_ *.DLL' can be used as DOSBox's 'ren' doesn't support wildcards.
      3. Copy the resulting structure to your Mech2 directory and overwrite any files.
  11. CD to your Mech2 directory, and execute Mech2. You should be good to go!

Config File

Bearing in mind that I am a relative DOSBox noob, my Mech2 config file follows. This works well for me with full screen resolution locked at 1024x768 to prevent frequent resolution changes during the game. Thus, this config assumes that you will set the combat resolution to 1024x768; if not, you should modify the fullresolution directive.

# This is the configurationfile for DOSBox 0.72.
# Lines starting with a # are commentlines.
# They are used to (briefly) document the effect of each option.

[sdl]
# fullscreen -- Start dosbox directly in fullscreen.
# fulldouble -- Use double buffering in fullscreen.
# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
# windowresolution -- Scale the window to this size IF the output device supports hardware scaling.
# output -- What to use for output: surface,overlay,opengl,openglnb,ddraw.
# autolock -- Mouse will automatically lock, if you click on the screen.
# sensitiviy -- Mouse sensitivity.
# waitonerror -- Wait before closing the console if dosbox has an error.
# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest,pause (when not focussed).
#             Second entry behind the comma is for when dosbox is not focused/minimized.
# mapperfile -- File used to load/save the key/event mappings from.
# usescancodes -- Avoid usage of symkeys, might not work on all operating systems.

fullscreen=true
fulldouble=false
fullresolution=1024x768
windowresolution=1152x720
output=overlay
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper.txt
usescancodes=true

[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory DOSBox has in megabytes.
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.
# captures -- Directory where things like wave,midi,screenshot get captured.

language=
machine=vga
captures=capture
memsize=16

[render]
# frameskip -- How many frames DOSBox skips before drawing one.
# aspect -- Do aspect correction, if your output method doesn't support scaling this can slow things down!.
# scaler -- Scaler used to enlarge/enhance low resolution modes.
#           Supported are none,normal2x,normal3x,advmame2x,advmame3x,hq2x,hq3x,
#                         2xsai,super2xsai,supereagle,advinterp2x,advinterp3x,
#                         tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x.
#           If forced is appended (like scaler=hq2x forced), the scaler will be used
#           even if the result might not be desired.

frameskip=0
aspect=false
scaler=hq2x

[cpu]
# core -- CPU Core used in emulation: normal,simple,dynamic,auto.
#         auto switches from normal to dynamic if appropriate.
# cycles -- Amount of instructions DOSBox tries to emulate each millisecond.
#           Setting this value too high results in sound dropouts and lags.
#           You can also let DOSBox guess the correct value by setting it to max.
#           The default setting (auto) switches to max if appropriate.
# cycleup   -- Amount of cycles to increase/decrease with keycombo.
# cycledown    Setting it lower than 100 will be a percentage.

core=dynamic
cycles=max
cycleup=500
cycledown=20

[mixer]
# nosound -- Enable silent mode, sound is still emulated though.
# rate -- Mixer sample rate, setting any devices higher than this will
#         probably lower their sound quality.
# blocksize -- Mixer block size, larger blocks might help sound stuttering
#              but sound will also be more lagged.
# prebuffer -- How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=22050
blocksize=2048
prebuffer=10

[midi]
# mpu401      -- Type of MPU-401 to emulate: none, uart or intelligent.
# device      -- Device that will receive the MIDI data from MPU-401.
#                This can be default,alsa,oss,win32,coreaudio,none.
# config      -- Special configuration options for the device. In Windows put
#                the id of the device you want to use. See README for details.

mpu401=intelligent
device=default
config=

[sblaster]
# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16.
# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster.
# mixer -- Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3.
#            On auto the mode is determined by sblaster type.
#            All OPL modes are 'Adlib', except for CMS.
# oplrate -- Sample rate of OPL music emulation.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
mixer=true
oplmode=auto
oplrate=22050

[gus]
# gus -- Enable the Gravis Ultrasound emulation.
# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the 
#            Gravis Ultrasound. (Same IRQ's and DMA's are OK.)
# gusrate -- Sample rate of Ultrasound emulation.
# ultradir -- Path to Ultrasound directory.  In this directory
#             there should be a MIDI directory that contains
#             the patch files for GUS playback.  Patch sets used
#             with Timidity should work fine.

gus=true
gusrate=22050
gusbase=240
irq1=5
irq2=5
dma1=3
dma2=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation.
# tandy -- Enable Tandy Sound System emulation (off,on,auto).
#          For auto Tandysound emulation is present only if machine is set to tandy.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# disney -- Enable Disney Sound Source emulation. Covox Voice Master and Speech Thing compatible.

pcspeaker=true
pcrate=22050
tandy=auto
tandyrate=22050
disney=true

[joystick]
# joysticktype -- Type of joystick to emulate: auto (default), none,
#                 2axis (supports two joysticks,
#                 4axis (supports one joystick, first joystick used),
#                 4axis_2 (supports one joystick, second joystick used),
#                 fcs (Thrustmaster), ch (CH Flightstick).
#                 none disables joystick emulation.
#                 auto chooses emulation depending on real joystick(s).
# timed -- enable timed intervals for axis. (false is old style behaviour).
# autofire -- continuously fires as long as you keep the button pressed.
# swap34 -- swap the 3rd and the 4th axis. can be useful for certain joysticks.
# buttonwrap -- enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=true

[serial]
# serial1-4 -- set type of device connected to com port.
#              Can be disabled, dummy, modem, nullmodem, directserial.
#              Additional parameters must be in the same line in the form of
#              parameter:value. Parameter for all types is irq.
#              for directserial: realport (required), rxdelay (optional).
#              for modem: listenport (optional).
#              for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                             transparent, port, inhsocket (all optional).
#              Example: serial1=modem listenport:5000

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
# umb -- Enable UMB support.
# keyboardlayout -- Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=none

[ipx]
# ipx -- Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.
@echo off
mount c e:\dosbox -freesize 800mb
imgmount d l:\images\mech2\mech2_16b.cue -t iso -fs iso
c:
cd \games\mech2
cls
mech2.exe
exit

External Links