VOGONS


First post, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie

I have downloaded Dosbox .74 to play the original DOS game.

I've been trying to map my original Nintendo NES controller via the Control-F1 inside Doxbox .74.

The only keys it will let me map on the controller is the D-pad. The select, start, B and A buttons don't do anything in the mapper. i.e. after you click "add" then press say the A button on the controller, then nothing changes in the mapper.

What do I need to do in order to get the key mapper in Dosbox to recognize the select, start, B and A buttons on my NES controller?

Reply 1 of 12, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie

How is your NES controller connected?

Reply 2 of 12, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie
mr_bigmouth_502 wrote:

How is your NES controller connected?

USB. I have an NES to USB adapter I use with an original Nintendo controller.

The NES controller maps and works just fine with Nintendo virtual console programs.

Reply 3 of 12, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie

Does it use Xinput?

Reply 4 of 12, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie
mr_bigmouth_502 wrote:

Does it use Xinput?

I don't know. I know it says there are no drivers to install or update. I looked up the controller properties while it was plugged in. And under "Device Functions" it says it is HID-compliant game controller.

Reply 5 of 12, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie

So, how would I get the Dosbox to recognize the select, start, B and A buttons on my NES controller via HID USB?

Reply 6 of 12, by ripa

User metadata
Rank Oldbie
Rank
Oldbie

(I'm assuming you use Windows.) Does Windows recognize the buttons when you test them in Control Panel?

Reply 7 of 12, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie
ripa wrote:

(I'm assuming you use Windows.) Does Windows recognize the buttons when you test them in Control Panel?

I use Windows. And yes Windows recognizes the buttons. Also I use Nintendo NES emulators to play NES games on my computer, and my NES controller works just fine.

Just for some reason in DosBox, it only sees my D-pad and no other buttons.

I noticed on www.gog.com they have the games I was wanting to play. Duke Nukem 1 + 2. So don't know what type of emulator that site uses for you to play those old DOS games on you computer, but I had thought of trying that to see if whatever program they use would recognize all of the buttons on my NES controller.

Reply 8 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

GOG uses DOSBox.

Have you tried joysticktype=auto and joysticktype=2axis in the .conf settings?

There should be some startup messages for joysticks in the status window, what do you see there?

Reply 9 of 12, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie
ripsaw8080 wrote:

GOG uses DOSBox.

Have you tried joysticktype=auto and joysticktype=2axis in the .conf settings?

There should be some startup messages for joysticks in the status window, what do you see there?

Tried both "auto" and "2axis" and the keymapper still doesn't see the select, start, B, and A buttons.

I don't know what you mean by startup messages for joysticks. But I just hit Control and F1 to get into the Keymapper. Then click on the keys I want changed and hit "add", then try and select whatever button on my controller I want to substitute for the key on the keyboard. As Duke Nukem games only recognize keyboard keys. I do believe in the game it has a joystick controller option, but that didn't work for me for my NES controller. So instead tried changing it in the DOSBox Keymapper.

Forgot to mention I also tried my SNES controller as I also have a USB adapter for that from the same company as the NES USB adapter. That controller has extra buttons on it. And some of the buttons on that are recognized in DOSBox Keymapper, though it doesn't recognize the Y and B buttons which are the two buttons I'd want to have working.

It recognized the X and A buttons, but those buttons are further away and too awkward to use as my fire and jump buttons.

Last edited by jasonsmith on 2014-10-05, 12:06. Edited 1 time in total.

Reply 10 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Look for the joystick messages in the status window. If you're running DOSBox with the -noconsole switch then don't do that so you can see the status window.

Reply 11 of 12, by ripa

User metadata
Rank Oldbie
Rank
Oldbie

Dosbox uses SDL API for reading joystick, so this might be some SDL-related problem. You should try an SDL-based joystick test program. I googled two, but did not test them:
https://lastlog.de/wiki/index.php/SDL-joystick
http://sdljoytest.sourceforge.net/

Another alternative: environment variable SDL_VIDEODRIVER (=windib= or =directx) might affect joystick input. You should try both.

edit: after reviewing SDL source code, SDL_VIDEODRIVER does not seem to affect joystick.

Reply 12 of 12, by jasonsmith

User metadata
Rank Newbie
Rank
Newbie
ripa wrote:
Dosbox uses SDL API for reading joystick, so this might be some SDL-related problem. You should try an SDL-based joystick test p […]
Show full quote

Dosbox uses SDL API for reading joystick, so this might be some SDL-related problem. You should try an SDL-based joystick test program. I googled two, but did not test them:
https://lastlog.de/wiki/index.php/SDL-joystick
http://sdljoytest.sourceforge.net/

Another alternative: environment variable SDL_VIDEODRIVER (=windib= or =directx) might affect joystick input. You should try both.

edit: after reviewing SDL source code, SDL_VIDEODRIVER does not seem to affect joystick.

Well those two programs didn't work. I think they are for Linux or something.

But is there a way to have Doxbox use something different for reading joystick?

The joystick calibration in the computer works just fine with the controller.