[Guide] Add and Launch Dosbox games in Retroarch

As information seems to be scarce, I wanted to share a way of getting Dosbox games to work with Retroarch, and most importantly, getting your games to scan and show up in the games menu. Here’s how I did it:

Note: I am using Linux path names for this example (/roms/dos). If you’re on Windows, you need to change your paths accordingly (C:\roms\dos).

First, copy each game to its own folder like this:

  • /roms/dos/dukenukem
  • /roms/dos/doom
  • /roms/dos/windows3.1

Next, you need to create a Dosbox base config file. There are two methods to do this:

  • In RetroArch, go to Main Menu, Load Core, DOSBox. Then choose “Start Core”. At the Dos command prompt, type config -wcd. A Dosbox .conf file will be created in the /saves/ folder (if you cannot find your saves folder, the path is shown in RetroArch under Settings > Directory > Savefile)
  • You can also download and run the standalone version of Dosbox. It will autogenerate a .conf file in C:\Users\user\AppData\Local\DOSBox on Windows or ~/.dosbox/ on Linux

When you have the config file, create a copy of it for every game you want to launch in your /roms/dos folder:

  • /roms/dos/Duke Nukem.conf
  • /roms/dos/Doom.conf
  • /roms/dos/Windows 3.1.conf

The filename will be used as the game’s title in the Retroarch menu. It does not have to exactly match the game folder’s name.

Then, edit the config files and for every game, add an autoexec section at the bottom that looks like this:

[autoexec]
mount c /roms/dos/doom
c:
cd doom
doom

This will be different for every game, but you can usually figure it out by looking at the files in the game folder.

Now the most important step: Getting the games to show up and launch in Retroarch. This is tricky because for some reason, automatically scanning the .conf files does not work as expected, Retroarch ignores them. But if you set up a manual scan, it will magically work.

  • Open the scan menu and select “Manual scan”
  • Select “Content Directory: /roms/dos”
  • Select “System Name: DOS”
  • Turn off “Scan Recursively” (this is to exclude the game folders themselves, you only want to scan the .conf files in your base folder).
  • Choose “Start Scan”

The result should be a new entry “DOS” in your systems list, with each game nicely listed and ready to launch using its corresponding config file.

A way to improve this would be having a single base config file and just add the autoexec section to each game-specific config. In my case, I did not do this because I am using Dosbox-SVN, and there is no documentation where to put the base config and how to name it, so I skipped this step.

4 Likes

This is very useful information, thanks for sharing!

Here is my entry for Gabriel Knight dos game.

{ “path”: “/storage/B63A-3FF9/!DOS_GAMES/Gabriel Knight_ Sins of the Fathers [1993]/gkcd.conf”, “label”: “Gabriel Knight, Sins of the Fathers”, “core_path”: “/data/user/0/com.retroarch/cores/dosbox_pure_libretro_android.so”, “core_name”: “DOS (DOSBox-Pure)”, “crc32”: “00000000|crc”, “db_name”: “DOS.lpl” }

and my gkcd.conf:

[autoexec]
@echo off
imgmount d "/storage/B63A-3FF9/!DOS_GAMES/Gabriel Knight_ Sins of the Fathers [1993]\gk_sotf.iso" -t iso
cd \GKCD 
call CheckCD D 
sierra 
cd ..

But how do I load the game from a playlist? I tried setting the path to the conf file but game still doesn’t load. Can we see an example playlist file that loads a conf file for dosbox?

Your config file does not look correct to me. Did you mount your C drive with the game’s installation folder? It looks like you’re only mounting the CD. Unless this game can run directly from CD, you need to have the game installed and its path mounted before you try to run it. Try testing your config file in the standalone version of Dosbox.

Add a “mount c /your_c_drive_path/” before the imgmount command. Remove the commands after that (cd GKCD…). Run the config from Retroarch, you should get a command prompt. Switch to the CD by typing d:, then run the game’s installer from the CD. After the installation has completed, add back the commands that you removed.

Also, I suggest running this game with ScummVM, it’s easier and in many cases runs better than using Dosbox.