DOS32A (DOS/32 Advanced DOS Extender) is a free and open source software that can be used to replace the DOS4GW.EXE DOS Extender file that many DOS games use.
Once a game uses this (although see note), it is expected to run faster and better in DOSBox.
Games that use DOS4GW.EXE externally
It is much easier if games just call DOS4GW.EXE externally. If the game is launched by a .BAT file, you can edit it to call DOS32A instead of DOS4GW. This way, you do not need to backup and rename the executables.
If not, all you have to do is in this case is:
- (Optional) Backup DOS4GW.EXE in the game folder. For example, rename it to DOS4GW.BAK
- Copy over dos32a\binw\dos32a.exe to the game's folder in which DOS4GW.EXE was located
- Rename that local copy of dos32a.exe to DOS4GW.EXE
That's it! The game will run it instead. If something goes wrong, just rename DOS4GW.BAK back to DOS4GW.EXE.
There's no need to do this through the command prompt, but it may make the above instructions easier to understand:
C:\>cd\games\mygame C:\games\mygame>ren DOS4GW.EXE DOS4GW.BAK C:\games\mygame>copy "c:\program files\dosbox\dos32a\binw\dos32a.exe" DOS4GW.EXE
Then if the game complains, you can easily undo everything:
C:\>cd\games\mygame C:\games\mygame>del DOS4GW.EXE C:\games\mygame>ren DOS4GW.BAK DOS4GW.EXE
Games that embed DOS4GW.EXE inside the game's own EXE file
Some games embed DOS4GW.EXE inside the game's own EXE file (e.g. mygame.exe). It is a little more complicated in this case to make the game use DOS32A instead, but it is still well worth it. What you need to do in this case is:
- (Optional) Backup the file that has DOS4GW.exe embedded in it. This usually means the game's main EXE. For example, copy mygame.exe to mygame.old (make sure you use copy and not rename).
- You must now "set" a path ("8dot3" style!) for DOS3A (e.g. set dos32a=c:\progra~1\dosbox\dos32a)
- Run c:\progra~1\dosbox\dos32a\binw\sb /r mygame.exe
That's it! DOS32A is now embedded in the game's EXE file instead of DOS4GW.EXE! If something goes wrong, just rename mygame.old to mygame.exe.
Due to the requirement to "set" a path, it's best to do all of this through the command prompt:
C:\>cd\games\mygame C:\games\mygame>copy mygame.exe mygame.old C:\games\mygame>set dos32a=c:\progra~1\dosbox\dos32a C:\games\mygame>%dos32a%\binw\sb /r mygame.exe
mygame.exe now uses DOS32A internally.
Then if the game complains when you run mygame.exe, you can easily undo everything:
C:\>cd\games\mygame C:\games\mygame>del mygame.exe C:\games\mygame>ren mygame.old mygame.exe
Some games do not work with DOS32A at all. For example, Shadowcaster is incompatible with it because RAVEN.EXE run with DOS32A is unable to find the A32SBDG.DLL file that is in the same directory, while with DOS4GW it can.
- If a game uses DOS4GW.EXE, be sure to try using DOS32A instead, but always back up the original file first.