(Edited by Daniel Saner (2319), Oct 26, 2012)Version 1.1 broken on DOSBox?
Daniel Saner (2319), Oct 26, 2012
I have floppies of Test Drive, with a sticker of "Ver 1.1" on the front of the box (like so). I have found that I cannot play the game from these floppies in DOSBox. No matter what graphics mode I choose (Hercules, CGA, EGA) the game immediately returns me to the command prompt, without returning any kind of error message.
After installing the game to the virtual harddisk, I then replaced the executables (TDCGA.EXE and TDEGA.EXE) with those from various Abandonware sites, which differ in a couple of Bytes (data, not size). With these, the game runs without a problem. Now I don't know whether it is version 1.1 that is incompatible with DOSBox, and the files downloaded from the web are all version 1.0, or whether the differences are due to corruption on the floppies.
Does anyone know more about this? For example, what the differences between versions 1.0 and 1.1 are supposed to be? Or maybe someone can confirm that an error-free copy of version 1.1 works in DOSBox.
While I don't know anything about the version differences of the game, there are ways to verify floppy disk integrity, like running a ScanDisk test.
Also, have you checked if any error messages appear in the DOSBox console when the game quits to the command prompt?
Trying to start the game does not generate any output at all in the DOSBox console.
I ran both Windows' CHKDSK and DOS' ScanDisk on the disk, but both report that they found no errors (even after a full sector scan).
I have also made an image file from the disk and mounted it a VMware machine running DOS 6.22, and I get the same thing. The game quits without error message, and ScanDisk can find no issue with the image.
IIRC Accolade games of that era (including Test Drive) used some kind of disk-based copy protection. A lot of those protection schemes will fail in DOSBox, especially those that deviate from standard floppy formats in subtle ways that DOS normally doesn't "see", or use system calls in a way that is not implemented. If that is the case, then making a standard image file of the floppy generally won't help much, whether in DOSBox or in a VM. The executables you found on those warez sites were probably cracked to bypass the floppy check.
In fact, a cursory Google search will lead you to a bunch of old text files that tell you exactly which bytes you want to change in the Test Drive executable to crack the game. If you're curious, just use a hex editor/viewer to compare your original .EXE with the working one -- my hunch is that the difference will be just that. ;)
(Edited by Daniel Saner (2319), Oct 27, 2012)Re: Version 1.1 broken on DOSBox?
Daniel Saner (2319), Oct 27, 2012
Man! It's been such a long time since I've been dealing with games on floppies that I completely forgot that they used to do stuff like that. Now I'm completely embarrassed. I grew up with these things, and for some reason this didn't even cross my mind. That was exactly it.
I found an unprotect for version 1.10 and applied it, the game now works. My executable still differs from the warez one in several hundred Bytes, so the usual illicit versions floating around are probably v1.0.
Thank you so much for helping me out =)
Edit: took a look at the warez EXE again, and comparing with unprotect documentation for v1.0, it isn't that version either. Now it has me curious again what the differences between the two executables are! If I have some time I might disassemble them. For anyone who has the game and might help:
From floppy: CRC EBE30EC3
Unprotected: CRC FF438E19
Abandonware: CRC 8AF85CF2