Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Problem with BSNES, Mini-Pac, and Win-Ipac? Pause not working correctly.  (Read 2829 times)

0 Members and 1 Guest are viewing this topic.

crispux3

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:April 24, 2023, 04:42:12 pm
  • I want to build my own bartop arcade!
I have my mini-pac keyboard encoder set up to the mame defaults. I set up my emulators to use the same default keys if possible (i.e. - I can manually configure the inputs to match the MAME defaults).

One problem I've run into, is that in BSNES (v 088), is that the start key (number 1 by default) usually works just fine, but in a game like super metroid, I can initially pause the game and go into the start screen (which shows the map, etc.), but when I try to hit "start" again to exit, it won't exit anymore. Does this have something to do with number 1 also being used as the shift key? In winIpac, number 1 is assigned to 1 player start, and the "shifted" function is also number 1.

I guess I'm trying to understand why I can't exit the "start screen" in super metroid, yet, the number 1 key seems to work just fine in other games such as super mario world. I guess in super metroid, it's not actually pausing the game or the emulation, but rather just taking you to another in-game screen, but as such, I can't exit the screen either. An example of what I'm talking about:

mystery_smelly_feet

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:August 08, 2020, 06:27:57 pm
  • I want to build my own arcade controls!
Feels weird replying to a 5 year old thread, but I found this when I was googling for an answer to this issue. I have at least found a workaround. I have seen similar topics on other forums with no real suitable solution. So here goes. . .

The issue does appear to be related to the I-PAC "Shift" key, which is set to be the Player 1 start button (Number 1 key on the keyboard). I believe it is related to the fact that the I-PAC shift key does not send the input until you release the button, vs other buttons sending the input when you press the button. I tried two different emulators and had the same issue. Something I did notice is that if I would rapidly press the "Start" button I would eventually unpause the game, but this seemed to always happen at random times during the pressing. You can fix this in one of two ways:

1) Just map the SNES emulator start key to something besides the I-PAC "Shift" key.
2) Set the "Shifted" option for another button in WinIPAC to the same key as the I-PAC "Shift" button, and use that combo to "unpause" Super Metroid. (so, hold down the Player 1 Start button and then press your button you configured the "Shifted" option for here - in my case it was the Player 1 COIN button)

I did option 2, because my control panel is set up a pretty specific way so I didn't want to swap the "Start" button out with something else. I'll just deal with having to perform the steps in option 2 when I want to unpause the game.

As for why this only affects "unpausing" in Super Metroid, but not "pausing" or any other game that uses the "Start" button? My guess is that the Super Metroid pause screen is expecting the "Start" button input on some very specific timing, and the I-PAC not registering the "Shift" button input until you release the button is screwing with this timing. So in other words, I think it may actually be related to the game code itself!

Hope this helps someone else.