Got Gravis Gamepad working in Windows 98 with DOSBox Pure

As the title says, I got my Xbox Series S gamepad working in Windows 98, installed in DOSBox Pure (under Linux <3). I am new to using Windows in DOSBox and wanted to share my solution if anyone else encounters similar problem. Final Fantasy 7 was only playable with the Numpad area and it was awkward. The gamepad buttons was all over the place, missing some and overall unplayable. I guess this was due to some gamepad emulation through keyboard keys, but I wanted to have a “real” gamepad in Windows.

Even though the controller works fine in DOS games without Windows. Maybe there is a driver conflict with something else. The final clue gave me this guy:

I had to change the port for the joystick in Windows 98. It’s located in Windows Device Manager > Gameport Joystick > Properties > Resources. Disable “Use automatic settings” and switch Settings based on to Basic configuration 0, so that the below Input/Output Range is now “0201 - 0201”.

Now add a controller in the Windows menu Game Controllers > General > Add… “Gravis Gamepad”. I think this was all I had to do in Windows. Now open the RetroArch menu. Go to Core Settings for DOSBox Pure, go to menu Port 1 Controls and change Device Type to “Gravis Gamepad (4 Buttons)”.

After a reboot and running Final Fantasy 7, finally the gamepad is recognized and works, even the analog stick is recognized as analog in the Joystick test in Windows.

1 Like

Interesting, but not the best option, you can create conflicts in the OS or in the emulator itself.

For these cases there is the option “Custom Keyboard…” in Device Type, you can assign any key to the gamepad (Xbox or whatever) (and save the change per set).
For reference, you can see the keys in the game options, and assign to the gamepad preference button.

DOSBox standalone, does not emulate specific gamepad/joystick, they always have to be configured in Keyboard (+mouse).
On the other hand it does have support for the game port. I guess they do some trick to use the keys as analog joystick axes.

PURE has several generic profiles for general use, for specific games it has profiles that are created one by one. In DOS there are many created, in Windows none.

The Gravis Gamepad profile is simply a remapping, but you cannot select it in the game, because it is not emulated.

Interesting, but not the best option, you can create conflicts in the OS or in the emulator itself.

In fact, this option solved a conflict. So even if there is any other conflict because of this setting, its worth in my opinion (until the other conflict is worse). At the moment I need to install more games with gamepad support by the game itself to see how this affects the mass.

For these cases there is the option “Custom Keyboard…” in Device Type, you can assign any key to the gamepad (Xbox or whatever) (and save the change per set).

I would need to reassign the gamepad keys for every game individually. And I usually have two gamepads and switched their ids in RetroArch for the core. This trips me or RetroArch over sometimes, whenever changing gamepad keys, so I usually avoid that and play with default mapping. I guess custom keyboard it could work, but having builtin support of gamepad from game and Windows is logical thing to do, if it works. As a last resort, i would explore this option next probably.

And if nothing helps, I also make backups of the Windows installation in .img format (8gb image compresses to something like 50mb or 500mb recently). So I could just copy a backup from the fresh installation state of Windows 98 and have a second operating system for games with different driver or settings requirements.

If it works and you feel comfortable that’s fine. It’s just a suggestion.

The remapping can be easily saved and loaded, or, you can change the keys in the installed game. Ideas.

DOSBox/PURE don’t emulate a real gamepad, only the game port, I haven’t tested installing a generic driver, this may work.

8Gb to install Windows 98 is too much, 500Mb is enough.

8gb isn’t that low if I am going to install all games on it. Maybe even not enough (at one point I was going to install it as 64gb drive). Wasn’t sure how the extra 1gb thing per game is handled and if I am missing some details and don’t have enough space at the end. But guess it would have been better to have them separated, if I understand the concept correctly.

:thinking: mmmh…

ok no :laughing:

You have knowledge, I will summarize.

PURE in Windows manages two disks, with the premise of keeping everything safe and using as little space as possible.

C:’ is the system disk.
It is used to install Windows, drivers, DirectX and other system files.
It is stored in ‘config/system’ in ‘.img’ format.

D:’ is an empty virtual disk.
It is used to install games/programs. It also loads the files that are inside the zip.
It is saved in ‘Save’ in ‘.sav’ format.

Win98 with all the necessary system files, weighs little more than 350Mb, with a 500Mb disk is enough, because that disk is not going to be used anymore.

Games installed on ‘D:’ are kept separate from the system. All progress and achievements are saved on that disk. This virtual disk of 2Gb (up to 8), does not occupy anything, only the space of the installed and compressed game.

If windows.img is damaged and the backup is useless. The only thing to do is to install the game in a new windows, respecting the same directory in ‘D:’, nothing is lost.

1 Like

Guess I have to restart from scratch again. At least I can reuse my fresh installation of Windows 98 as basis and don’t need to do this procedure again. I’m glad you brought this topic up and explained it, because I’m still in early phase of installing games. The way you described is something I would highly prefer.

But I still don’t understand this fully. Let’s say I install a game to D:, which installs some other .dll files into system directory as well, and maybe driver and Direct-X version. So they are still in C:. And the desktop with its icons is the same, regardless with which game.dosz (.zip) file I start DOSBox with. I wish the desktop would be different depending on with which game I start.

Hope I could explain what is confusing to me. I don’t get how the D: is separate from C: if the game still needs to install stuff on C: as well.

1 Like

I think I understand.

It is recommended to do a complete installation, Windows, the video 3dfx Voodoo1 V3.01.00 and DirectX9c. I also recommend you to update the CD-ROM driver because some games cannot be installed without it…

This is the base, and it installs only once, you don’t need to install DirectX for any game, 9 covers them all.
Any sharing program must be installed in C:’. I particularly install Quicktime as well because I use a lot of Quicktime games.

When you install a game on ‘D:’, all files are copied to this disk and registers are created on (C:) Windows, shortcuts are created and maybe some dll are added.

This virtual disk ‘D:’ is unique for each game and you can see it only when you load the game, when you open a new game you have another disk ‘D:’.

When you open a new game all the records created in Windows are kept, because the ‘C:’ drive is the system, it does not generate any problem, it simply ignores the records of the other games it does not get.

This ‘D:’ drive is very similar to the IDE removable Hard Disk Drives of the old days. You turn it off, switch it over and you have the new disk mounted in the drive.

Be careful with this… After installing you cannot change the name of the game, nor can you change the size of the virtual disk, because it recognizes it as new and the ‘D:’ disk is lost.

1 Like

The games I have would automatically mount as D: drive, in example the CD formats. So I don’t get the installation of the game on D: drive then, which acts as a writeable disk. Am I misunderstanding something?

Reasonable doubt…

In PURE games for DOS behave differently than for Windows.

You can load a zip with disk images, a zip with files or both. The image is loaded in (the CD-ROM) D: for DOS and E: for Windows, and the files are shown in C: for DOS and in D: for Windows…


In DOS, CD images are loaded on D:. If installation is required, it is installed on C:.

  • A: Floppy.
  • C: Displays the contents of a zip file. Y is also the place to install.
  • D: CD/DVD images (the CD-ROM).
  • Z: The operating system (a DOS clone).

On Windows, the CD images are loaded on E:

  • A: Floppy
  • C: The Windows OS
  • D: It is the disk to install the game and displays the contents of the zip file
  • E: CD/DVD.
1 Like

Thank you for your patience, invaluable help for me. I am reading the docs, but sometimes my head spins. With your focused explanation the differences are more clear now. I am so ready!

Last question I think (this thread is way more than a gamepad thread now :D), when we are at it. Do you change the RAM size? Default is 16 MB for compatibility with DOS games, but I think to change it to 64 MB. Because I want to install Windows 9x (95 and 98) games only and have a separate settings file for DOS games, so breaking DOS only games wouldn’t be a problem, right? In example I would not play original Command & Conquer with Windows 98, as it is a DOS game, but rather only include Command & Conquer Special Edition, which is a Windows 95 port I think.

1 Like

Talking about many things in one topic is very common in this forum. :face_with_hand_over_mouth:
Ask whatever you want, it’s a pleasure to help.

The RAM in DOSBox is emulated and they do a lot of tricks to make the games work. PURE allocates memory (and adjusts the core in general) by the year the game was released.

It is not recommended to change the memory, unless it is a special case that needs a fixed memory.

In Windows.
I find out that you can change the RAM, it must be the last update because before it was fixed at 64Mb.

I don’t think you’ll have any problems, although more than 512 seems like overkill to me. Games of the time (<2000) used 16, 32Mb and rarely 64Mb.

Windows 95 has a limit of 512Mb and 98 of 1Gb. This giant memory capacity, was for multitasking or professional applications like data processing or editing.

The configurations can be saved by folders, you can have a folder for DOS and one for Windows, and save the configurations only for the windows folder without affecting the DOS ones.

1 Like