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: Thought...  (Read 1701 times)

0 Members and 2 Guests are viewing this topic.

SirPoonga

  • Puck'em Up
  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 8188
  • Last login:July 20, 2025, 03:37:24 pm
  • The Bears Still Suck!
Thought...
« on: July 12, 2025, 05:09:09 pm »
I have started re-vamping and updating my cabinet.  Inevitably I thought about this project.  I don't have the time for this, but I thought about how I would change it for the modern day.

First, has this been moved anywhere else?  Is the data still used somewhere?  Is there an alternative?  Do I even need to spend any time on this?  Does mame even provide control information anymore and in a usable format?  I know when I stopped working on this is was because mame provided control information but ina  difficult to use format.

As I am looking at how I change my cabinet and update it to modern times I would like to indicate the controls of a game. Tech has changed quite a bit since I stopped working on this project . Nowadays if you were to provide a physical file it would be in the JSON format.  Though the real modern way, if you have the bandwidth, is to create an API that others can call.

Here's what I would do for my cabinet.  I would embed a small USB monitor into the bezel and that would display control information.  I would not light up the controls on the control panel for several reasons.  One of the main reasons is with a mini-display I could label the buttons like jump, punch, shoot, etc...  One of the issues back in the day was though you could light up which buttons the game uses you couldn't label them.  For my cabinet, if you have seen it you know I have a shelf in front of the monitor.  I would actually embed the mini display in that. 

AI code development is pretty crazy these days.  I honestly think AI will replace my job in the next 2 - 5 years.  BUT, I could use AI to take the data from this project and convert it to what is needed for a revamp.  Maybe even write an API for it.

So, has anyone done any work similar to this yet?  Has someone else already put the time in to do something better?

« Last Edit: July 12, 2025, 05:22:21 pm by SirPoonga »

Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 19428
  • Last login:Yesterday at 08:25:56 pm
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Thought...
« Reply #1 on: July 26, 2025, 05:13:23 pm »
I believe headkaze updated the files somewhat but that was years ago and I don't think he used control panel images or anything official.  I'm building a new cabinet and one of the things I want to eventually experiment with is ways to use controls.dat.   Aliexpress sells tiny 1-3" i2c oled displays for as little as $2 a piece.   It would be fairly inexpensive to have a screen for each button placed above or below the button. Then a cheap arduino clone can be used to communicate with the pc and drive the displays.   A new program would have to be written to pump the data to the arduino but that shouldn't be terribly difficult.   The most difficult part would be integrating them into the control panel.   I think the only way to do it would be to recess them with the aid of a router.   I think a 3d printed router guide would be useful for this.   Technology has finally caught up with the idea of controls.dat, it's all about practical applications at this point.