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
Site News

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


  

Author Topic: Non-Menu Driven Simple Frontend Suggestions?  (Read 693 times)

0 Members and 1 Guest are viewing this topic.

Murph74

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • I want to build my own arcade controls!
Non-Menu Driven Simple Frontend Suggestions?
« on: May 05, 2018, 11:19:57 am »
Hi everyone.  Looking at converting a dedicated 4 payer cabinet over to a multi-game style cabinet.  I'm not having much luck in finding the type of front end I'd like though.  Instead of bells and whistles, I'm actually wanting to go archaic in a sense.  What I'm hoping to find is a simple one button solution to switch between ROM sets, similar to a physical JAMMA PCB switch. 

My intent is only to put a handful of 4 player games on an older PC to drive the cabinet and want it to boot on power to a pre-determined ROM set, but ideally switch to the next ROM set of say, 6 or 8 options, when one hidden button is pushed.  I can't imagine there's much demand for this type of FE, but does something like this exist already by chance?  Thanks in advance! :)

Murph

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Online Online
  • Posts: 1424
  • Web Developer.
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #1 on: May 05, 2018, 02:04:32 pm »
Create an auto hot key script to read a rom tag list from file, launch mame with the first choice, monitor for key, close mame and open mame with next rom.

Ps if you are sticking with Neo Geo games, mame does support multislot.

pbj

  • Trade Count: (+4)
  • Full Member
  • ***
  • Online Online
  • Posts: 7613
  • Obey.
    • The Chris Burke Band
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #2 on: May 05, 2018, 11:25:34 pm »
The rom boot times will kill the idea of one button switching.

Iíve done similar to what you want with Vantage and a super stripped down Advance Menu. 

Murph74

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • I want to build my own arcade controls!
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #3 on: May 06, 2018, 03:51:37 pm »
Create an auto hot key script to read a rom tag list from file, launch mame with the first choice, monitor for key, close mame and open mame with next rom.

Ps if you are sticking with Neo Geo games, mame does support multislot.

You make it sound so simple, but I'm clueless on writing scripts. :) lol  Looks like I got some research to do, but your suggestion seems like it'd be doable and fits the bill. 

PBJ, the load times likely won't make much of a difference in my application as I don't anticipate it being switched very often like most do with multigames. 

JudgeRob

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 386
    • forum.arcadecontrols.com/index.php/topic,149265.120.html
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #4 on: May 06, 2018, 07:08:48 pm »
I basically did something very similar on my cab.  I really like the menu-less front end approach.  Menus have there place, but they kind of gross me out.  It's kind of jumbled up in my thread but you can check it out: http://forum.arcadecontrols.com/index.php/topic,149265.0.html

I use tokens, so mine has a few layers of complexity you would not need like the RFID reader.  I use AHK for part of my set up.  Are you using a keyboard button, a joystick button or some random button?  I think AHK would work for you as mentioned above.  You use it to launch MAME via command line.  You'll likely need to code in some delays to make sure one instance is closed out before the next one in launched.  It's trial and error but about 2 seconds is probably all you will need, so it's pretty negligible. 

If you get a basic understanding of AHK, I'll try to help you.  I only learned the handful of commands I needed.  I forgot it all by now, but I'll dig it up again.  I think you'll be stoked on the results.   

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Online Online
  • Posts: 1424
  • Web Developer.
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #5 on: May 07, 2018, 10:25:09 pm »
Load times could be eliminated if you use save/load states. Also, you donít need a delay. AHK has built in functions to wait for a window/process to close. Having a delay is half @ss. The whole process would be almost instantaneous on a somewhat modern computer like in my case. Iím using a 7 year old iMac and testing in a virtual instance of windows 10, and handling mame with ahk is so quick.

Wish I could write this script for you, but Iím working so much lately I have no time for programming. Iím like 95% done with a really useful ahk tool too. If I get time to wrap it up and push to GitHub, it might give you a good starting place.

JudgeRob

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 386
    • forum.arcadecontrols.com/index.php/topic,149265.120.html
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #6 on: May 07, 2018, 11:23:02 pm »
I guess if all you use is AHK, you could dig in and use whatever commands are at your disposal to eliminate a half-second delay.  I close with AHK and launch with Processing, so mine will have a built in delay.  The code probably won't take very long, esp if you are only doing a few games.

DrakeTungsten

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 224
  • I'm a backbone shiver, and I'm a bundle of joy
    • No Quarter - a basic FE, WIP
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #7 on: May 07, 2018, 11:56:26 pm »
Unless this behavior has changed back again, AHK hasn't worked with MAME out-of-the-box for a while. You'll need to make a (one-line?) change to the source and compile MAME yourself in order for AHK to be able to work with MAME.

If I get your intention, then if you have booted into the first game, and you decide the next one you want to play is the last one in the list, then you need to hit the button 5-7 times (if you have 6-8 games total) to cycle to the last one. Depending on the responsiveness of AHK and how quickly MAME starts loading a game, you might end up seeing 5-7 games quickly start to load and quickly exit. I imagine this would look annoying. Maybe you already thought of this, but I would suggest making AHK count rapid successive button presses, and then only exit the current game and start the next one ("the next one" defined by how many times the button was pressed in succession) when the button has gone X number of millicesonds without being pressed.  Do you plan on memorizing the game list, or do you plan on having a physical display showing the order of the games? (I don't know what a JAMMA PCB switch does)
No Quarter - a basic FE, WIP

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Online Online
  • Posts: 1424
  • Web Developer.
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #8 on: May 08, 2018, 06:18:10 am »
Unless this behavior has changed back again, AHK hasn't worked with MAME out-of-the-box for a while. You'll need to make a (one-line?) change to the source and compile MAME yourself in order for AHK to be able to work with MAME.

If I get your intention, then if you have booted into the first game, and you decide the next one you want to play is the last one in the list, then you need to hit the button 5-7 times (if you have 6-8 games total) to cycle to the last one. Depending on the responsiveness of AHK and how quickly MAME starts loading a game, you might end up seeing 5-7 games quickly start to load and quickly exit. I imagine this would look annoying. Maybe you already thought of this, but I would suggest making AHK count rapid successive button presses, and then only exit the current game and start the next one ("the next one" defined by how many times the button was pressed in succession) when the button has gone X number of millicesonds without being pressed.  Do you plan on memorizing the game list, or do you plan on having a physical display showing the order of the games? (I don't know what a JAMMA PCB switch does)

No. Your only opening and closing processes, not sending keystrokes to the app.

I have a script that closes the mame process gracefully after a Key is held down for a specified duration. Any less, it sends it the normal key - or can pause mame if you choose. There is a few window commands you can send mame without ever sending keystrokes.

If you have apps opening and closing quickly because the key was held down to quick, you need to read the docs again. There is multiple wait commands, key timers, etc. In this instance, you should never send a command until the key has been released and duration measured. AHK has built in function for this.

I think mamedev got sick of the dinput patches, and keyboardprovider is now an official config option.
« Last Edit: May 08, 2018, 06:22:06 am by keilmillerjr »

DrakeTungsten

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 224
  • I'm a backbone shiver, and I'm a bundle of joy
    • No Quarter - a basic FE, WIP
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #9 on: May 08, 2018, 09:53:48 am »
I stand corrected on Mame/ahk compatability for the OP's purposes.

You misunderstand my point about button presses. I'm not talking about accidentally registering multiple presses. I'm talking about purposely jumping to any game which is not the next one in the list. This could potentially manifest itself on the monitor as a screen flash or something similar for each game you skip over. I was suggesting a solution to this possible issue.
No Quarter - a basic FE, WIP

Murph74

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 5
  • I want to build my own arcade controls!
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #10 on: May 08, 2018, 04:22:11 pm »
Hi everyone.  I appreciate all the input!  I'm reading up on AHK right now.  I haven't really decided on a PC or OS or anything yet, so I'm still exploring. 

But to be clear, my intention (or hope) is to have a hidden switch/button, maybe even IN the coin door like a test/service button, that would switch games, but would boot to the most recent game at power-up.   Kind of liek a 60-in-1 in single game mode I guess.  (Drake: A Jamma PCB switcher does a very similar function as I understand it-- it lets you choose the game you want without having to modify or get into the cabinet to switch the harness or board out.)  The number of games would be limited as I have a couple cabinets but want to designate this one as a 4 player (3 button per) cabinet specifically and exclusively.  If it's a 2 or less player game, I'll leave that on my other mame cabinet.  Right now, it's a Wrestlefest with 4 players, 4 start buttons, 4 coin drops and 2 action buttons each.  My hope is to get a J-pac style solution running with each player getting an added button to account for games that need three (NBA Jam comes to mind IIRC). 

I know it's non-conventional, maybe even counter intuitive, but I don't want to switch game often, I just want to be able to easily when I do want to.  Among my friends, we tend to have more fun playing the same over and over for score, etc, instead of just switching when we get bored or someone can't be beat. lol  :)  I hope this is making sense!

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Online Online
  • Posts: 1424
  • Web Developer.
Re: Non-Menu Driven Simple Frontend Suggestions?
« Reply #11 on: May 08, 2018, 05:57:22 pm »
Get a jPac. Use a service button to send a keystroke that autohotkey will intercept. Autohotkey is windows only. There are Linux alternatives, but Iím not familiar with them.

  
 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31