VOGONS


MechWarrior 2 Version 1.1 now works in DOSBox.

Topic actions

First post, by darkgamorck

User metadata
Rank Member
Rank
Member

Thats right folks.

I did it.

The problem that existed was that DOSBox's CD-ROM emulation routines apparently didn't emulate the commands used by Mech2 to check for the existence of the CD-ROM. The other problem was that the only crack that exists on the web is for one of the two files that need to be cracked in order to run the 1.1 verson with the CD as an optional accessory.

Here are the instructions I originally posted at:
http://episteme.arstechnica.com/eve/ubb.x?q=Y … 15009962631&p=1

1) Create shortcut to command.com on your desktop.
2) Under the Properties for this shortcut set the EMS, XMS, and DPMI memory values to 12 megs.
3) Apply the changes to the shortcut
4) Double click on the MS-DOS Prompt (command.com) shortcut
5) Place Mechwarrior 2 CD into your drive.
6) Navigate to the drive containing the MW2 CD in the command window
7) Execute minst.exe (NT may complain - if so click "Ignore" and then hit "F" for fail until things work)
😎 Install the game to c:\mech2
9) Manually set up the soundcards (0x330 General Midi, 0x220 IRQ 7 DMA 1 Soundblaster non-pro non-16)
10) Choose a full-blown installation.
****** Note if you have the 1.1 CD-ROM version you can skip the next three steps ******
11) Once installed download the 1.1 patch from: http://www.boonic.com/parches/index.php?download=pres&cat=m
12) Using the command prompt execute the patch by typing mech2v11.exe
13) Start the patch process by executing "patch.bat c:\mech2" in the command window.
14) Download the zip archive I've created containing the cracked versions of mw2.exe and mech2.exe using the following URL: http://www.jaylittle.com/jaylittle/downloads/ … 2_1.1_crack.zip
15) Extract these files into your MECH2 installation directory.
16) Download DOSBox 0.61 from http://dosbox.sourceforge.net
17) Install the program and setup your config file using a text editor.
18) Execute dosbox.exe
19) Mount the "C" drive by typing the following command: "mount c c:\"
20) Type "C:"
21) Type "cd Mech2"
22) Type "Mech2"

For those of you who won't trust downloaded EXE files - try these HEX edits:

To crack Mechwarrior 2 for DOS Version 1.1:

1) Open MECH2.EXE in a HEX EDITOR
2) Find the data: B9 01 00 00 00 E8 0D FF FF FF 83 C0
3) Change it to: B9 00 00 00 00 E8 0D FF FF FF 83 C0
4) Save the new MECH2.EXE

5) Open MW2.EXE in an HEX EDITOR
6) Find the data: B9 01 00 00 00 E8 62 9A 04 00 89 C3
7) Change it to: B9 00 00 00 00 E8 62 9A 04 00 89 C3
😎 Save the new MW2.EXE

I recommend version 0.61 as the Dynamic CPU core seems to be the only way to run this program very smoothly even on my 2.6ghz Xeon box.

Here are some screenies:

dosbox_mech2a.png
dosbox_mech2b.png
dosbox_mech2d.png
dosbox_mech2e.png

I recommend at LEAST 10,000 CPU cycles. I find my performance is the best at 15,000 CPU cycles.

J

Reply 1 of 71, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Awesome. A testament to the compatibility in DOSBox.

Please remember to let us know what CD commands were not supported, with debug code, if you can. Thanks.

And when support for statically-linked binaries is added in GliDOS, it's just gonna 0wn Mechwarrior 2 3dfx Only Edition. (OEM). 😁

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 2 of 71, by Pugly

User metadata
Rank Newbie
Rank
Newbie

I noticed a little problem with the game still, or maybe its just me be being a n00b.. Not all of the sound is working. I can hear the MECH system chick voice thing and all the lasers and xplosions and whatnot, but I notice that when I try the tutorial missions, I cant hear the instructor, If I remember right, he tells you what to do then talks a bunch of smak.

Now I didnt manually configure my sound cards simply because I am n00b like I said and I am not sure how to do it right, but I had it auto detect soundblaster and it detected dosbox's emulator just fine.

I am just curious if I am missing more then just the training guy sounds or not. Does this happen to you? If it doesnt, can you tell me step by step what I am supposed to type to manually configure my sound in setsound.bat?

Reply 3 of 71, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author
Stiletto wrote:

Awesome. A testament to the compatibility in DOSBox.

Please remember to let us know what CD commands were not supported, with debug code, if you can. Thanks.

I agree. That would make it possible to run the game without hacking it.
Would improve DOSBox it's compatibility as well.

I'm pleased to inform you that harekiet found a nasty bug in the dynamic core. In the next version the dynamic core will be much more stable.

Oh yeah try frameskip =1 you should be able to get more than 8000 cycles with a xeon 2.6

Water flows down the stream
How to ask questions the smart way!

Reply 4 of 71, by darkgamorck

User metadata
Rank Member
Rank
Member
Qbix wrote:

Please remember to let us know what CD commands were not supported, with debug code, if you can. Thanks.

I wish I was that skilled. I realized that the second executable in the game wasn't cracked so I used the instructions to crack the first executable and looked for similar strings of hex data in the second and tried cracking it that way. I was successfull. The problem is specifically that DOSBox doesn't seem to play nice with whatever copy protection Mech2 has implemented. Removing that protection appears to be a decent solution to the problem.

I'm pleased to inform you that harekiet found a nasty bug in the dynamic core. In the next version the dynamic core will be much more stable.

When did it get committed to CVS if you don't mind me asking?

Oh yeah try frameskip =1 you should be able to get more than 8000 cycles with a xeon 2.6

I know I can - those were just proof of concept screenshots. With the dynamic core I've got my cycles way over 20,000. Though I'm still getting nailed with Cache Overflow errors from time to time.

As for the missing sound - I think you need the actual Mechwarrior 2 CD for that. Try mounting the CD before running the game (this will enable the CD music ingame as well) and be sure you performed a FULL installation.

Mount the CD like so:

mount h h:\ -t cdrom -ioctl -label MECH2
(h:\ = the actual drive you have the CD in)

Cheers,

J

Reply 5 of 71, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

didn't get commited yet.
it should fix most of those cachebuffer overflows.
It Will get committed in the future, but the dynamic core is being upgraded to support selfmodifying code better. So it might take a while.

Too bad you aren't that skilled. Basicly try the debug version of dosbox and remember all output in the non-cracked version.

Water flows down the stream
How to ask questions the smart way!

Reply 6 of 71, by darkgamorck

User metadata
Rank Member
Rank
Member

Oh... I'll post the log file contents when I get home of it for your examination. I'll run it on the completely uncracked version as the CD check exists in two places (the first being before the game even starts).

J

Reply 7 of 71, by Spooky

User metadata
Rank Newbie
Rank
Newbie

I am glad to read, that there is a workaround to run Mechwarrior 2 in the DOSBox. Unfortunately, I have the german version of Mechwarrior 2 (which seems to have the 1.1 patch already installed) and therefore the Hex Code you have posted cannot be found in the MW2.EXE (but I had found and changed the Hex Code in the MECH2.EXE, so i can start the game, but when I would start a mission/fight, MW2.EXE displays the error, that der is no Mechwarrior 2 CD-Rom found and I am put back to the gamemenu).

So is there any way to find out, which Hex Code must be changed, to get the german MW2.EXE started?

Reply 8 of 71, by darkgamorck

User metadata
Rank Member
Rank
Member

Here is the log of what happens with a completely uncracked version of Mechwarrior 2:

         0: MIDI:Opened device:win32
0: SBLASTER:DSP:Reset
0: INT10:Set Video Mode 3
0: VGA:Blinking 8
0: Using joystick Microsoft PC-joystick driver with 2 axes and 9 buttons
0: FILES:Special file open command 80 file AUTOEXEC.BAT
3: EXEC:Execute mount.COM 0
3: FILES:file open command 0 file mount.COM
21: EXEC:Execute mount.COM 0
21: FILES:file open command 0 file mount.COM
135087: VGA:H total 100, V Total 449
135087: VGA:H D End 80, V D End 400
135087: VGA:Width 640, Height 400, fps 70.000000
135087: VGA:Scalew 1, Scaleh 1 aspect 1.000000
21409420: EXEC:Execute Z:\mount.COM 0
21409420: FILES:file open command 0 file Z:\mount.COM
21409429: MISC:MSCDEX: Mounting physical cdrom: h:\
21409429: MISC:MSCDEX: IOCTL Interface.
38015680: EXEC:Execute mech2.EXE 0
38015680: FILES:file open command 0 file mech2.EXE
38021050: FILES:file open command 0 file C:\MECH2UC\dos4gw.exe
38023516: DOSMISC:Call is made for list of lists - let's hope for the best
38023712: DOSMISC:Call is made for list of lists - let's hope for the best
38023942: DOSMISC:Call is made for list of lists - let's hope for the best
38024200: FCB:DOS:29:FCB Parse Filename, result:al=0
38024211: FCB:DOS:29:FCB Parse Filename, result:al=0
38024283: EXEC:Execute C:\MECH2UC\dos4gw.exe 3
38024283: FILES:file open command 0 file C:\MECH2UC\dos4gw.exe
38026653: FILES:file open command 0 file C:\MECH2UC\DOS4GW.EXE
38026866: FILES:file open command 0 file C:\MECH2UC\DOS4GW.ETX
38028339: BIOS:INT15:Unknown call BFDE
38028390: DOSMISC:DOS:Multiplex Unhandled call 1687
38028413: BIOS:INT15:Unknown call BFDE
38028443: CPU:Illegal Unhandled Interrupt Called 67
38033039: FPU:80267 protected mode (un)set. Nothing done
38033058: BIOS:INT15:Unknown call BF01
38033116: BIOS:INT15:Function 0x88 Remaining 0000 kb
38378244: FPU:80267 protected mode (un)set. Nothing done
38392665: FPU:80267 protected mode (un)set. Nothing done
38398116: FPU:80267 protected mode (un)set. Nothing done
38572024: FILES:file open command 0 file C:\MECH2UC\MECH2.EXE
38799443: MISC:MSCDEX: INT 2F 150B
38799784: MISC:MSCDEX: INT 2F 1500
38800123: MISC:MSCDEX: INT 2F 150C
39020657: FPU:80267 protected mode (un)set. Nothing done
39023891: FPU:80267 protected mode (un)set. Nothing done

Hope this helps!

J

Reply 9 of 71, by Pugly

User metadata
Rank Newbie
Rank
Newbie

Well I cant wait for that cpu bug to be fixed, cuz I love this game but it not really playable for me even on 20000 cycles. Which is troubling considerig I am runnin a p4 3 ghz with ht.

Reply 10 of 71, by darkgamorck

User metadata
Rank Member
Rank
Member

Having HT on probably isn't helping you. I don't typically keep HT on using my dual Xeon box as it reduces available memory bandwith and DOSBox isn't multi threaded anymore anyway (based on what I last heard due to the new graphics core).

J

Reply 11 of 71, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

38799443: MISC:MSCDEX: INT 2F 150B
38799784: MISC:MSCDEX: INT 2F 1500
38800123: MISC:MSCDEX: INT 2F 150C

don't seem to that odd.
just some basic instalations checks

Water flows down the stream
How to ask questions the smart way!

Reply 12 of 71, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

so probably other things done as well.
Maybe I should look for the exe file.

Water flows down the stream
How to ask questions the smart way!

Reply 13 of 71, by darkgamorck

User metadata
Rank Member
Rank
Member

EXE files:

Cracked: http://www.jaylittle.com/jaylittle/downloads/ … 2_1.1_crack.zip

UnCracked: http://www.jaylittle.com/jaylittle/downloads/ … 1.1_uncrack.zip

For the uncracked version I have included every EXE file whereas in the cracked archive I have only included mech2.exe and mw2.exe

Hope this helps,

J

Reply 14 of 71, by darkgamorck

User metadata
Rank Member
Rank
Member

Another thought...

Perhaps its a label issue? Even though the CD is mounted using the correct label option, I've heard others mention that some games seem to check for the label in off-color manners that seem to circumvent the emulated label. I've seen this mentioned regarding Pandora Detective specifically I believe. This would also explain why my fix works and DOSBox fails the copy protection check.

J

Reply 15 of 71, by eobet

User metadata
Rank Newbie
Rank
Newbie

I have the following autoexec line in dosbox.conf:

mount e E:\ -t cdrom

Using it, I could install the game from the original CD just fine. Patch too.

However, it does keep asking for the CD-rom.

More importantly, when I crack it, I get an infinite loop with the following message:

MW2.EXE - fatal error #29: SYSERR_CANTOPENBWDDOSFILE: Error opening DOS BWD file: exittos.BWD -1

Anyone encountered this, and any idea on how to solve it?

Reply 16 of 71, by eobet

User metadata
Rank Newbie
Rank
Newbie

I just tried the dynamic core instead, and the game launched... although agonizingly slow, and no matter what cpu cycle rate I tried, the sound was never perfect.

Guess I'll have to wait for a few optimizations (the game did launch in XP actually, but without sound and mouse support, which makes it rather unplayable).

Reply 17 of 71, by Apreche

User metadata
Rank Newbie
Rank
Newbie

I'm going to try this in Linux. I'm using kernel 2.6.5 on gentoo Linux with the nvidia drivers working. I emerged dosbox 0.61 just now. I will post here how it turns out.

UPDATE: HOLY SHIT IT WORKS!
Here is how I did it under gentoo Linux.

1) emerge dosbox.
2) run dosbox and create a config file
3) mount the cdrom and a folder with enough space
4) 9000 cycles dynamic with an Athlon 2500+ and an FX5900.
5) Run dosbox and execute install.exe from teh cd-rom
6) download the patch and the two cracked .exes.
Using a hex editor on the exes doesn't work for some reason, but the cracked
ones for download do work.
7) Do the patch MANUALLY. If you try to run the patch on its own it will delete
mw2.exe and not replace it among other bad things. run patch11.exe in dosbox to
make it extract the files. Manually rename and copy all of those files to where
they go and delete all the files that are old. Open and read patch.bat in your
favorite text editor to get the instructions.
Cool Put the cracked EXEs in place of the real ones.
9) run mech2 inside dosbox and click in the window so it grabs the mouse.

I can't believe this works, this is so amazing!

UPDATE:
Ok, here are some bugs I've found.
1) DO NOT set the in-game resolution to 1024x768. It will not work.
2) Be very careful in letting the game lock your mouse. If it does and it crashes your only option to get out is Ctrl-Alt-Backspace. It is the only keyboard command that wont be absorbed by the game.
3) The movies and menu screens in the game take up a lot more cpu than the actual game itself, especially if you keep the visuals low.

For my computer I put the cycles at 20K to start with. These keeps the sounds in the menus playing smoothly and such. As soon as I get in game I crank it up to 30 or 40K cycles. Have a cpu usage meter open like gkrellm or torsmo. When cpu usage gets to about 90% let the cycles stay put. If you do this you can get the game to run absolutely smoothly and flawlessly. I don't think you can get the redbook audio to play yet, I'm working on it. All other audio works just fine.

There IS one problem I've come across that I haven't fixed yet. After you play for a little bit, depending on certain things you can get various random errors that will just crash the game. Sometimes it just locks up. Sometimes you get some sort of underrun or overflow of blocks, caches or buffers. Sometimes its dosbox and sometimes its the game crashing inside dosbox. I chalk this up to random instability.

The fact that this works at all is absolutely amazing and fantastic. I wouldn't have believed this if you told me yesterday.

It would take a great deal to make me more happy...

😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁 😁

UPDATE: I set output=surface and scaler = none. With the games default in-game options left alone except for in-game resolution at 640x480 all the crashes go away. It runs better than I ever could have imagined.

With my cpu 20K in the menus and 40K in the game itself with these options results in flawless play. All that's left is to get redbook audio.

UPDATE: It is rare, but not that rare. I am receiving, seemingly randomly, such errors as CacheBlock overrun. And Illegal Instruction. I cannot figure out what causes these. Maybe the next version of dosbox will fix it...

Reply 18 of 71, by Apreche

User metadata
Rank Newbie
Rank
Newbie

Ok, I found some info that may be of use in stopping the things that make mechwarrior 2 crash. In the second jade falcon mission everything was working great. Then all of a sudden I came over the first mountaint to where I could see the burning base. When the base got into full view I saw thes interspersed vertical white lines cover it up and the game got slow. I saw a whole lot of output in the terminal but kept playing. Eventually the game crashed with a cacheblock overrun. Here is what it looked like in the terminal.

Illegal read from ba4ffffb
Illegal write to ba4ffffb
Illegal read from ba4ffffb
Illegal write to ba4ffffb
... Repeat illegal reads and write many times for many different addresses...
Illegal read from c9dafffb
Illegal write to c9dafffb
Illegal read from 374fffb
Illegal write to 374fffb
Illegal read from 374fffb
Illegal write to 374fffb
Exit to error: CacheBlock overrun

I don't know what to make of this. If it is a problem with dosbox or mech2 I don't know. All I know is I want to fix it 😀