SKIP CD CHECK – DOS VERSION
| Version | File size (bytes) | Offset | Change |
| 1.0 | 1,448,873 | 0xEE045 | 75→EB |
| 1.1 | 1,484,297 | 0xF3C5F | 75→EB |
| 1.2 | 1,507,821 | 0xF846F | 75→EB |
| 1.2 Vertigo | 1,507,793 | 0xF860C | 75→EB |
| 1.2 Vertigo (Verite) | 1,452,153 | 0xD1A65 | 75→EB |
| 1.2 Voodoo | 1,707,221 | 0xD7BF1 | 75→EB |
| 1.2 3dfx 1.06b | 1,374,737 | 0xC9A31 | 75→EB |
Effect:
Skips CD check at startup. Movie files are still needed, so copy them to your hard disk or install dummy files instead. CD music (Redbook audio) will play if configured, and the original CD is available (other audio CDs may not work).
DOS VERSION 1.1 – Disable movies
If you don’t have the movie files / don’t want to play movies, make the following additional changes: (only for version 1.1!)
0xC69E4: 53 → C3
0xF9C6C: 53 → C3
0xFAEA4: 53 → C3
SKIP CD CHECK – SETUP PROGRAM
Change the value at the following two offsets:
| Version | File size (bytes) | Offsets | Change |
| 1.0 | 800,083 | 0x41947, 0x41989 | 75→EB |
| 1.1 | 802,783 | 0x41DB0*, 0x41DF2 | 75→EB |
Effect:
Skips CD check at startup. However, if the CD is present, can still test CD music (Redbook audio) from within the setup program.
Warning:
Do not attempt to “Change Installation Level” from the setup program without the CD in the drive! Doing so will corrupt your installation (due to failure to locate the data files), forcing you to reinstall from the disk. However, you can use “Change movie detail” option inside the “Change Installation Level” menu safely.
* Offset 0x42AD0 may be changed instead of 0x41DB0, for the same effect.

Thank you!
Works great with software rendered and 3Dfx-versions! Could you please post the guide for Rendition Vérité version, too?
Added the offset for the D2VERITE.EXE shipped with the Definitive Collection. I hope this is the version you have (check the file size). I don’t know if there exists any other version.
I really thank you for your effort! I finally can run setup without CD
Patched my 1.2 Vertigo just moments ago and it works so thanks a lot. This is preferable way for me, rather than downloading patched executable from an unknown source and unknown content.
DOS VERSION 1.2 (from GOG.com)
0xF846F: 75 –> EB
Effect:
Skips CD check at startup. Movie files are still needed, so copy them to your hard disk or install the dummy files instead. CD music (Redbook audio) will play if configured, and the original CD is available (other audio CDs may not work).
Thank you for this comment; I just verified it and added to the page. A short investigation showed me that the GoG version is actually identical to the original (pre-Vertigo) 1.2, so I named it as such in the main text. Funnily, I’ve come up across the GoG version before, but never bothered testing it (generally such a crack is unneccessary there, since it comes with the CD image automatically mounted in DOSBox; however, it could be useful information for someone playing the original DOS 1.2!)
Any idea on what the values may be for the 3DFX version of D2? Both have their own executable with the cd check
Good question. I tried hacking the D2VOODOO.EXE which is present on the Definitive Collection CD2. It is 1,707,221 bytes long and shows version 1.2. It appears that you should change the byte at offset 0xD7BF1 from 75 to EB to bypass a CD check. I cannot be 100% certain as the game crashes after this in DOSBox (probably due to no 3dfx support), and I don’t have access to a Voodoo-equipped machine at the moment.
For the later D2_3DFX.EXE (1,374,737 bytes), I think the correct offset to change is 0xC9A31 from 75 to EB . It stops complaining about the CD and starts complaining about missing DLL.
Please try it and let me know if it worked for you, in which case I will update the article.
Couldn’t’ try D2VOODOO as it didn’t seem to like my setup. Can confirm that the D2_3DFX values work great on both original hardware and 3dfx enabled dosbox builds! Thank you!
Thanks for testing. D2VOODOO is probably also correct, because the change is consistent with all other versions. I went ahead and reorganized the article in a table.
For setup.exe v1.0 (800083 bytes) the 2 offsets are 0x41947 and 0x41989. Same data as above, change the 75 to EB
Thanks! I have never even seen SETUP.EXE 1.0. 🙂
Turns out this patch didn’t quite work. I could not do a fresh install using setup.exe in DOSBox.
The CD checks are bypassed, but then setup tries to determine the playback speed and errors out because it could not open the test video file. This is happening because when the 2nd CD check fails, the error code of 0xFFFD is saved in memory instead of the correct drive letter. This results in the test video filename to be incorrectly set as “=:\D2DATA\BEN-H.MVE” which fails to open.
(0xFD + 0x40 = 0x3D, which is the ‘=’ character). The 0x40 is added at the end of the 2nd CD patch to convert physical drive number into a drive letter.
For setup 1.1, changing byte at 0x42C6A from E0 to E8 fixes this problem.
For setup 1.0, change offset 0x42801 from E0 to E8.
Using this change even makes it so the 2nd check doesn’t need to be patched out because the CD check routine above it is now returning a successful result code instead of the FFFD error result.
You’re talking about doing the initial installation without the actual CD? That’s not a scenario I have ever considered. I assumed that you would install it properly from the original CD (physical copy or mounted in DOSBox) and then change the program so you could later configure the sound card settings without needing the disk.
However, I do understand now why they needed set CD check in the setup program; it’s so you can use it to dynamically change the installation level, which you cannot do without the disk in drive. In fact, an attempt to do so will corrupt your install. I guess I should post a warning about it.
yes, I’m referring to a case where the files are merely copied off the CD (or image) and presented on the C: drive (or as a virtual CD drive) in DOSBox . Setup can now perform a full raw install.
Also, for completeness on the DESCENT2.EXE patches at the top of this page, for v1.0, file size is 1448873 and at offset 0x0EE045 change 75 to EB
You want to take a crack at the anti wobble hack? To stop ship bobbing?
https://www.ecstaticlyrics.com/hacking/descent
You mean, how to adapt it to versions other than 1.4a/1.2? Sure, I can take a look.
Edit: Short answer – search for the hex string D0 10 89 C1 E8 in the game executable. In most versions of Descent I and II this string should appear exactly once. The E8 is the call instruction you should replace with NOPs – replace that E8 and the 4 bytes after it (whatever they are) with 90 90 90 90 90. This worked for me with every Descent I and Descent II version I tried so far, except D2VOODOO, where said string could not be found. When I get around to it, I may make a nice table with offsets for each EXE version.
Here’s my vertigo 1.2 enhanced exe dos, seems to be different, check it out. Couldn’t find the string.
https://drive.google.com/file/d/16I7UkyRX37l8jQEA5_q3HWMP2NhKoGXA/view?usp=sharing
Nevermind I think the hex editor search is bugged in the one hex editor I’m using. Seems to work on the web hexeditor.
https://hexed.it/