DOS Game Installer

DOS Game Installer is a direct-download and install-tool for a bit over 8000 MS-DOS and Windows 3.11 games. It uses eXoDOS, the largest DOS-collection available, but allows you to only get the games you want, making it useful for your laptop, USB-stick or bedroom computer, or any device where harddrive space is an issue. In addition DGI have support for installing DOS-games directly to a Retropie. Finally DGI have full support for the Keyb2joy.pad project, making it possible to instantly couch-play DOS games with your favorite controller without the need for mouse and keyboard.

News update 2020-05-03. Recently the depository the-eye was unreachable, causing direct-downloads to fail. Right now, its back up. Should there be more issues its possible to download zip's manually from here before attempting to install them. Place them in a folder called "downloads" under your DGI folder and they can be accessed by DGI.

Latest Version (Build 87 from 2020-05-24)
32-bit Version

Missing eXoDOS? Download these:
Place extracted folders under data\
DOSBox pack (33mb)
Sound pack (40mb)

Optional extras without eXoDOS:
Place extracted folders under data\
Optional screenshot pack (2.8gb)
Optional Win3x screenshot pack (670mb)





Sources

To work, DOS Game Installer needs access to eXoDOS, either locally or via a repository (website). You add a filepath to a local collection or a link to an online repository under Preferences > Config.



Quick troubleshooting

1. Try rightclicking the game and "reinstall".
2. Try deleting data\DOS Game Installer.ini and data\DOS Game Installer Controllers.ini
3. Do not try to fake paths to a full eXoDOS or a false repository.


Updates & Work in progress

* Nothing at the moment.

Updates
Build 87 from 2020-05-24: Fixed all known typos and errors in the Keyb2joy project.
Build 86 from 2020-05-21: Fixed a bug that caused PixelPerfect and Aspect to be set "on" every restart.
Build 85 from 2020-04-28: Updates the Controller Index to now cover evry actiongame for both DOS and Win3x.
Build 84 from 2019-11-07: Fixes an issue where Retropie map files are produced with the non retropie controller.
Build 83 from 2019-11-02: Retropie fixes for games containing ' in their title and now Retropie controllers should work again.
Build 81 from 2019-10-29: Fixes a metadata error for Retropie. The amount of games with controller support is now up to over 2400. Check "Controls" in the left-side menu.
Build 78 from 2019-10-10: Small but vital update... The manuals are now download-on-demand so if you do not have a full collection you can click the "Read Manual" button and download the manual if it exists in eXoDOS. Also I had to disable d-pad for player 2-4 since assigning them causes DOSBox to crash. You are going to need to use the stick for those.
Build 77 from 2019-10-09: Heavy updates on joypad functionality. Support for multiple players with multiple joystick types. Joypad support for sports games. Bugfixes, other improvements. I recommend wiping data\DOS Game Installer Controllers.ini after updating to this one.
Build 75 from 2019-09-22: Added 32-bit. Also there have been a problem with trying to use DGI with wrong paths set to eXoDOS. This version no longer allow incorrect paths.
Build 72 from 2019-09-20: Joypad support for action adventure games. Updated ports (check the provided zip file).
Build 71 from 2019-09-19: Win3xO v1 support adds 1089 games. Some bugfixes for games that used images.
Build 69 from 2019-09-08: Tweaked the extended retropie support a bit and added joypad support for pong games.
Build 68 from 2019-09-07: You can enable "automatic download" to download and install multiple games at once. Retropie paths was separated to its own tab and some paths were made dynamic to increase compatibility with various retropie builds. The "Desc" checkbox next to the Search field will make it so the search function include game descriptions. The "Installed" list will now update immediately after uninstalling a game. New variables will be automatically added to old settings files.
Build 66 from 2019-09-05: Fixed an issue where joypad buttons on windows were reversed (joypads on windows need to be remapped). Improved compatibility with custom Retropie builds. Joypad support for pinball games.
Build 65 from 2019-09-03: Fixed some vital issues with paths when running DGI in portable mode. Joypad support for puzzle games.


Features

DGI have the following features:

1. Lightweight launcher with a MAME-style look and feel.
2. Portable. Allow for a minimalist installation of just the games you want on limited harddrive space, like an USB-stick, bedroom computer or laptop.
3. Retropie support. Direct installation to a network-connected Retropie.
4. Thousands of keymaps! Built in support for the keyb2joy.pad project. A bit over 1500 games have been carefully mapped to modern controllers, based on stock controller settings. DGI can automatically assign your controller to these keymap, allowing for a plug-and-play experience for those who like to play on a TV or in an Arcade Machine.
5. Download single games on demand, if you add an eXoDOS repository.
6. A w-i-p implementation of mame-like "folders" ini, meaning the ability to produce and share specified game collections. Comes with example files that lists DOS-games that were also released on Amiga, Arcade, NES, SNES etc.
7. Continued support and updates.



History

The idea for DGI started back in 2017, with the wish to bring MS-DOS gaming up to what was available for Amiga and Commodore 64. In particular DGI was inspired by the Amiga emulator FS-UAE, the Amiga WHDLoad project, also the Commodore 64 collection GameBase 64 and of course MAME.

The Amiga emulator FS-UAE do four things;
* Scan the harddrive for available games, capable of handling singles or smaller collections
* Come with preset game-specific settings for all known games
* Downloads the metadata (screenshots etc) from a repository
* Allows for user-specific settings for things like video settings or controller profiles, that are then used by all games

The WHDLoad project have spent decades preparing game-specific "emulated environments" that drastically improve simplicity and compatibility. While the emulator handles the Amiga hardware, WHDLoad provide a highly compatible software environment, with the necessary settings and system files required for individual games to run. This make playing Amiga games as easy as playing Nintendo roms on a Nintendo emulator.

Getting this functionality for DOS is not an easy task. I set out with 4 goals and jokingly said it would take 2 years. It did... take 2 years. And wouldn't be possible without the help I got from other people. For a year I did little but documenting and indexing information, building up a logic for how to streamline the same simplicity and compatibility for MS-DOS. I eventually joined into the eXoDOS team. I jokingly said I would be done in 2 years, which is October 2019. To be honest, I wouldn't have been able to do this without help and most of the credit for keyb2joy.pad project go to bigjim.

1. Match each game on mobygames to one specific binary (filename/size/crc32), usually the main executeable or the main datafile. This deviated from projects that track .zip archives. The issue with DOS games is that they usually consists of several files and its hard to determine what files are necessary and what files that might change, and a simple modification to a bat file is enough to get a CRC32 mismatch. After my work was embedded in eXoDOS, I have used the eXoDOS Master List instead. My CRC32 stuff became the Identification Index (see "The Indexes" below).
2. Identify the main executeable and the boot sequence. This is in part in the Identification Index and in part the Configuration Index.
3. Identify setups. The one executeable, if any, that launch the hardware setup program. This is the "setup index" in DGI. This is superflous in eXoDOS since v4 go into depth of covering all the hardware anyway.
4. Document the games with controller support and their controls. This is the keyb2joy.pad project.


The Indexes

DGI goes beyond eXoDOS in being rooted in multiple indexes, used to driving its engine.
* Configuration Index, contains the bare necessities for an engine-driven autoexec section.
* Configuration Index Settings, contains the dosbox configuration settings.
* Configuration Index Setup, contains the hardware setup utilities.
* Configuration Index Hotfix, just contain some overrides for eXoDOS that was necessary.
* Identification Index, declares ONE identification file that can be used to identify the game with CRC32.
* Controller Index, contains the basics to produce keymaps.
* Canon and Meta Index are just parsed eXoDOS info.

You may use these indexes for whatever project you like. I made them for the community.


The keyb2joy.pad project

The keyb2joy.pad is a project to assist you to play DOS games with a controller. At its core its simply a structured, streamlined index. In it we filled in keymaps for over a thousand DOS-games, where functions like "movement", "jump" or "fire" were sorted into button layouts similar to stock controller settings. "Stock Controls" are button layouts that over time evolved to become the standard for each given genre. For instance, in all platform games, "jump" is assigned to the first button. In shoot-em up games, this button is used for "fire". In racing-games "accelerate". Etc. Etc. A person with skills in scripting can use the keyb2joy.pad project for whatever controller-mapping software they use.

Preliminary keyb2joy.pad manual below.




MS-DOS: 5 generations of gaming

Are you still reading this? Ok, check out this introduction to DOS.


Links

DOSBox
DOSBox ECE
DOSBox DAUM
DOSBox-X