Main > Software Forum
LEDBlinky - Arcade LED Control software and Animation Editor - v8.2
djm468:
--- Quote from: arzoo on November 26, 2022, 10:51:33 am ---
--- Quote from: djm468 on November 26, 2022, 01:45:40 am ---Donkey Kong, for one example, despite having 2 players, lights up P2 Coin, but according to MAME, it doesn't have that control. I thought maybe this was an odd case that the data files can't express, but MAME.xml shows hundreds of games with inputs like this:
<input players="2" coins="1" service="yes">
Donkey Kong, Jr is another that demonstrates the issue.
I don't have any special profile for these games, so does LEDBlinky look at this "coins" attribute in MAME.xml? What if the game is in controls.ini? Does that format even make the distinction? I imagine the app chooses one or the other, though they are certainly not equal. IIRC, controls.ini has a lot more information, which makes me think that it would be the first choice.
--- End quote ---
For two player alternating games, LEDBlinky will light both coin buttons. It does not look at the "coin" attribute in the mame.xml.
--- End quote ---
Thanks, Arzoo.
As the physical cabinets had two coin slots (apparently COINS="1" in MAME.XML means they were wired to the same switch), ISTM that this is best solved at the MAME ctrlr level. Something like this:
<!-- Donkey Kong has only one coin switch, but LEDBlinky lights up both buttons/slots; so make COIN2 work like COIN1 -->
<system name="dkong">
<input>
<port type="COIN1">
<newseq type="standard">
KEYCODE_6 OR KEYCODE_5 OR JOYCODE_2_BUTTON8 OR JOYCODE_1_BUTTON8
</newseq>
</port>
</input>
</system>
Then there won't be buttons and slots lit that do nothing. :)
djm468:
--- Quote from: arzoo on November 26, 2022, 10:45:03 am ---
--- Quote from: djm468 on November 25, 2022, 09:56:46 pm ---EDIT: Typically, when UIs do odd things, it is a good spot to ignore what the UI is doing and refer to their settings file, Settings.ini in this case:
AbortSpeechAnyKey=0
What does that mean? Don't abort speech with any key? It looks like it could represent a Boolean value, but IIRC, selecting a key in the UI changes that value to a key code. I'll have to look at that again, as maybe that checkbox does change the value to 0 on un-checking it, but incorrectly displays it as checked on restarting the configuration app. Or perhaps somebody can chime in with what this value means to the app. :)
So maybe it wasn't a red herring. Will check on that...
EDIT: So the 0 does appear to be represented by an unchecked box in the UI. That makes sense and presumably it is a 1 if checked. I may have forgotten to hit Save at some point, but I am not sure how that box ever gets checked again (which it seems to have done earlier), as I never touched it. Perhaps the key is a different value that is only referenced if Any Key is turned off. I did change some other settings and hit Save for sure, but I never wanted to see that box checked again.
--- End quote ---
With "Abort Speech Any Key" checked, AbortSpeechAnyKey will be set to 0. With "Any Key" unchecked and a keyboard value selected, AbortSpeechAnyKey will be set to the ascii value for the selected key. You must have one or the other; if not, Any Key is the default.
As for your specific issue with HS, have you tried assigning a single key (like ESC) to abort the speech? I don't recall anyone else having this specific issue but HS can definitely function oddly when it comes to the app or emulator losing focus. Maybe just the fact that you're pressing a key (to abort speech) is causing HS to act weird? I might suggest posting the question on the HS forum?
--- End quote ---
Okay, I think that explains what I was seeing in the UI. I had no keyboard value selected, so it kept going back to checked for Any Key. I knew I wasn't seeing things. :)
I did assign Esc at some point and the checkbox now stays unchecked. I'll have to pick something else though, as Esc is used to exit games. Whatever.
Am familiar with the HS/LEDBlinky focus woes when using HyperLaunch and its sequel. No clue what could make HS fail to launch entirely, without even using HyperLaunch, but the issue sure seems to go away when I uncheck the Any Key option (and never happens on the PC without LEDBlinky). Whatever it is, it's been easy to snap it out of it, possibly just by opening and closing LEDBlinky, but that seems like a stretch.
Thanks again!
EDIT:
And no, it's not the pressing of keys/buttons alone that is throwing it. I virtually always interrupt the intro video by pressing any key on both PCs.
EDIT:
As for HyperSpin forums, do they still exist? I read tons of old posts about HyperLaunch sticking in memory, waiting forever for a program that already finished up (not the problem I have, as I don't use that thing to launch MAME/RA) and the responses were usually of the "HyperLaunch is old, get RocketLauncher" variety. I never used that one either, but it obviously has its own problems, requiring special workarounds in LEDBlinky.
The only other possible clue I see repeated is to exclude the HS folder from Windows threat protection to avoid "strange problems", which I never had to do on the development box, but went ahead and did anyway on the cabinet. As usual, I won't know if that did anything helpful or not, until the next time this issue comes up (or not).
arzoo:
--- Quote from: djm468 on November 27, 2022, 01:09:45 am ---As the physical cabinets had two coin slots (apparently COINS="1" in MAME.XML means they were wired to the same switch), ISTM that this is best solved at the MAME ctrlr level. Something like this:
--- End quote ---
The "Coin" attribute in mame.xml refers to the credit button, not the physical coin slot in the cabinet door (which may have lit up via the general illumination wiring and not individually controlled).
djm468:
--- Quote from: arzoo on November 27, 2022, 10:00:37 am ---
--- Quote from: djm468 on November 27, 2022, 01:09:45 am ---As the physical cabinets had two coin slots (apparently COINS="1" in MAME.XML means they were wired to the same switch), ISTM that this is best solved at the MAME ctrlr level. Something like this:
--- End quote ---
The "Coin" attribute in mame.xml refers to the credit button, not the physical coin slot in the cabinet door (which may have lit up via the general illumination wiring and not individually controlled).
--- End quote ---
I think it is "COINS", but no matter. COINS=1 seems to indicate that P2 COIN won't do anything, as there is only one coin switch on the cabinet, wired to both slots. So the ctrlr-based solution I posted should work, though would have to be repeated for each such game (good place for a script to generate them).
djm468:
--- Quote from: arzoo on November 26, 2022, 10:45:03 am ---
--- Quote from: djm468 on November 25, 2022, 09:56:46 pm ---EDIT: Typically, when UIs do odd things, it is a good spot to ignore what the UI is doing and refer to their settings file, Settings.ini in this case:
AbortSpeechAnyKey=0
What does that mean? Don't abort speech with any key? It looks like it could represent a Boolean value, but IIRC, selecting a key in the UI changes that value to a key code. I'll have to look at that again, as maybe that checkbox does change the value to 0 on un-checking it, but incorrectly displays it as checked on restarting the configuration app. Or perhaps somebody can chime in with what this value means to the app. :)
So maybe it wasn't a red herring. Will check on that...
EDIT: So the 0 does appear to be represented by an unchecked box in the UI. That makes sense and presumably it is a 1 if checked. I may have forgotten to hit Save at some point, but I am not sure how that box ever gets checked again (which it seems to have done earlier), as I never touched it. Perhaps the key is a different value that is only referenced if Any Key is turned off. I did change some other settings and hit Save for sure, but I never wanted to see that box checked again.
--- End quote ---
With "Abort Speech Any Key" checked, AbortSpeechAnyKey will be set to 0. With "Any Key" unchecked and a keyboard value selected, AbortSpeechAnyKey will be set to the ascii value for the selected key. You must have one or the other; if not, Any Key is the default.
As for your specific issue with HS, have you tried assigning a single key (like ESC) to abort the speech? I don't recall anyone else having this specific issue but HS can definitely function oddly when it comes to the app or emulator losing focus. Maybe just the fact that you're pressing a key (to abort speech) is causing HS to act weird? I might suggest posting the question on the HS forum?
--- End quote ---
I could have sworn that un-checking the box lit up the Save menu button, which raises the question of what it would save if no key has been selected in the adjacent control. I'd expect it to disallow saving until the two controls are in alignment. I'll play around with that next weekend and post back...
If un-checking and not selecting a key does nothing to the INI file, as I now suspect, then that setting was a red herring and the only evidence I have is that opening and closing the configuration app (which loads LEDBlinky in the background) has always managed to snap HS out of its bad state where it fails to launch any games, but logs as if it did, at least until the next HS restart.
I'd say that 99% of the time on the cabinet (and 100% on the PC without LEDBlinky), HS works as expected. But, on rare occasions, HS starts up in this bad state and there's no logical way to debug or fix it. Fiddling around with LEDBlinky in between starting and stopping HS seems to do the trick, for whatever reason. Or maybe that is just a coincidence, as I couldn't think of anything else to do, short of restarting Windows (has never come to that). Will post back if I see any sort of logical pattern emerge.