-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement "outputs" support including LED, scoreboards, motion #239
Comments
This comment was marked as spam.
This comment was marked as spam.
@grant2258 by the way twinaphex mentioned that a lot of the code in the new Cannonball core is taken from MAME and maybe there are some clues about video for us there. I haven't had time yet, been looking at input a lot. (And I don't know much about video!) |
I do have a dream that we'll be able to draw in coder from another core or from RetroArch to help with the video code. That would be a lot easier than any of us trying to learn the video parts of the libretro API from a system that isn't working right at the moment. :| |
Understand and agree. |
This comment was marked as spam.
This comment was marked as spam.
AdvanceMAME's feature list includes "Scripts capabilities to drive external hardware devices like LCDs and lights" which provides some hope that this could be added to mame2003-plus. The word "scripts" is a bit of a warning light because we don't have access to any scripting languages here, but that that word may be meant in different ways! I'll also mention that there is a part of the libretro API I've never worked with for LED interfaces: #define RETRO_ENVIRONMENT_GET_LED_INTERFACE (46 | RETRO_ENVIRONMENT_EXPERIMENTAL)
/* struct retro_led_interface * --
* Gets an interface which is used by a libretro core to set
* state of LEDs.
*/ |
Hi @nayslayer I thought I'd flag this as the kind of issue you might be interested in. Happy New Year! |
Hi, I include here some information from the Mame2003-plus retropie's thread that can be of interest to support Mame outputs. It seems the standard (non-RA) Mame v0.78 doesn't implement the output system, just lights keyboard leds via hack. According to the outputs' author, Aaron Giles, the output system was introduced in version 0.107u4 (August 2006). When specific game events occur (such as inserting a credit or receiving an impact), Mame sends a predefined signal, and the softwares that have hooked the Mame outputs (such as Mamehooker or Ledblinky in Windows or RGBCommander in Linux) redirect the signal to the physical leds. The following link explains how the output communication system works. https://aarongiles.com/old/?p=181 It seems this ouput system seamlessly redirects keyboard leds and backdrop lights, which have been supported in much earlier versions of Mame, as outputs. For these, even "old" game drivers (prior 0.107u4) should have outputs. More complex outputs (like force feedback effects in racing games) are only available in versions after 2006 and newer drivers that were written with the output system in place. The following posts by the developer of Mamehooker provide some info on this: http://forum.arcadecontrols.com/index.php/topic,100880.msg1066814.html#msg1066814 forum.arcadecontrols.com/index.php/topic,101789.0/all.html This output system remained unchanged up to version 0.169. From v0.170 to v0.187 the output system broke and was replaced by a new communication system in v0.188 til now. More information can be found in the Mame section at the homepage of the RGBCommander app: http://users.telenet.be/rgbcommander/ Some example of games using Mame outputs and that may be used for testing are: Many classic games, such as Galaxian, Dig Dug, Galaga or Asteroids, for which the start button blinks after inserting credits and until pushing start. Terminator 2: leds blick when guns are fired or received impacts. ChaseHQ: police lights blick when chase starts. Outrun: start, brake lights and forcefeedback effects. Ajax: bomb button lights when available Spyhunter: backdrop lights up based on game events. |
This comment was marked as spam.
This comment was marked as spam.
If there is a specific project -- which can be done with our codebase -- that includes a certain game/romset and hardware to target that would be the be way to proceed with this discussion I think. If things aren't to that point I'm glad to leave this issue open. |
Is it possible to backport this function ?
Aaron Giles added new layout element component type "led7seg", which constructs a 7-segment LED in an element in a layout. This is commonly used for external score and timer displays.
See maxaflex.c for an example.
http://wiki.mamedev.org/index.php/MAME_0.107u4
It may require implementation of the .LAY overlay system (that would be fantastic!)
http://wiki.mamedev.org/index.php/Layouts_and_Rendering_for_MAME_Artwork_System
The text was updated successfully, but these errors were encountered: