Arcade Marquee Collaboration?

For topics which do not fit in other specific forums.
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Arcade Marquee Collaboration?

Unread post by alinke »

hey there, I'm the creator of a line of dynamic LED and LCD marquees that change to match the current game called Pixelcade, http://pixelcade.org. If there is any interest is doing an integration with MiSTer, do let me know and we can explore.

Thanks,

Al
User avatar
LamerDeluxe
Posts: 179
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 86 times
Been thanked: 18 times

Re: Arcade Marquee Collaboration?

Unread post by LamerDeluxe »

I'd expect lots of people who have MiSTer powered arcade cabinets to be interested in this.
User avatar
redsteakraw
Posts: 100
Joined: Sun May 24, 2020 11:19 pm
Been thanked: 7 times

Re: Arcade Marquee Collaboration?

Unread post by redsteakraw »

There may be some interest, you should talk to porkchop / mister addons, he has a storefront and will be selling JAMMA IO boards this would make a nice bundle. Is any of the controller software open source so it can be integrated into the project? https://twitter.com/MisterAddons
Fear is the mind killer!
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

thanks much, I'll do that. Parts of Pixelcade are open source, yes. The easiest way to integrate though would be through the Pixelcade API http://pixelcade.org/api but this assumes MiSTer can make REST API calls. I am a newbie to MiSTer so not sure if that is a possibility or not. Anyhow, will look into further and thanks for the guidance.
alanswx
Posts: 156
Joined: Sun May 24, 2020 6:55 pm
Been thanked: 29 times

Re: Arcade Marquee Collaboration?

Unread post by alanswx »

alinke wrote: Thu Feb 11, 2021 7:44 am thanks much, I'll do that. Parts of Pixelcade are open source, yes. The easiest way to integrate though would be through the Pixelcade API http://pixelcade.org/api but this assumes MiSTer can make REST API calls. I am a newbie to MiSTer so not sure if that is a possibility or not. Anyhow, will look into further and thanks for the guidance.
When a new arcade game (or core starts) we need to hit the rest API with some kind of identifier to switch the marquee?

How do we know where the API lives? Or is it the java app running on MiSTer? I am not sure it would be a great idea to run the java app on a mister, we could try it though.
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

thanks for the reply. yes, that's correct, pass the rom name to Pixelcade's API and then it'll change. And you're correct, the API is part of the java console app that would run as a daemon on the MiSTer. It's a pretty low profile Java console app/ no GUI and have it running on pretty low powered hardware but I'm also not familiar with the MiSTer architecture. The .jar itself is around 20 MB, JRE is 100 MB or so, and then a matter of how much of the artwork to load. The artwork is 128x32 PNG file per game so doesn't take much space. And then the Pixelcade hardware itself would connect via USB and would need to be recognized by the OS as a virtual serial port device (ex. /dev/ttyACM0) for the LED version of Pixelcade or for the LCD version of Pixelcade, no USB is needed and instead it would just make a REST API call over WiFi to the LCD which has its own single board computer. Let me know what you think, thanks again.
zakk4223
Posts: 76
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 14 times

Re: Arcade Marquee Collaboration?

Unread post by zakk4223 »

Mister writes the current corename/setname to /tmp/CORENAME. You could probably just watch for changes in that file via the linux inotify API or use the command line /bin/inotifywait command to do it in a shell script. For arcade games that file will usually contain the rom name (assuming the MRA has the setname correctly set).

This should be doable with zero changes to Mister code

edit: NEOGEO is going to be a problem since it doesn't change the core name like arcade MRAs do
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

ah very nice , that may work, I will check that out, thanks for the direction
venice
Posts: 38
Joined: Tue Jun 16, 2020 9:29 am
Has thanked: 22 times
Been thanked: 17 times

Re: Arcade Marquee Collaboration?

Unread post by venice »

zakk4223 wrote: Fri Feb 12, 2021 9:08 am edit: NEOGEO is going to be a problem since it doesn't change the core name like arcade MRAs do
I can't confim this as i found NEOGEO written in /tmp/CORENAME.
Or am I missing the point?
My tty2oled Add-On on Github
zakk4223
Posts: 76
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 14 times

Re: Arcade Marquee Collaboration?

Unread post by zakk4223 »

venice wrote: Sun Feb 14, 2021 9:41 am
zakk4223 wrote: Fri Feb 12, 2021 9:08 am edit: NEOGEO is going to be a problem since it doesn't change the core name like arcade MRAs do
I can't confim this as i found NEOGEO written in /tmp/CORENAME.
Or am I missing the point?
You'll never get the actual game names in /tmp/CORENAME, is what I meant. So you can't determine if say, metal slug is being played, only that NEOGEO is the current core.
NegentropicMan
Posts: 5
Joined: Sat May 30, 2020 12:01 pm
Has thanked: 2 times

Re: Arcade Marquee Collaboration?

Unread post by NegentropicMan »

I am currently trying to use inotifywait to see which rom is loaded by a core on the linux side. This is generally working fine, but shows a strange effect I described here: https://misterfpga.org/viewtopic.php?f=27&t=2058.

I have not looked at Pixelcade in deep yet, but I think one possible scenario avoiding running the Pixelcade application would be a shell script on the MiSTer side, reading core/rom information via /tmp/CORENAME and inotifywait and then acessing the pixelcade HTTP/REST API (via curl) running on a separete pi (zero, if cost is an issue) which in turn controls pixelcade. This would mean minor modifications on MiSTer side and very few additional computing overhead.

EDIT: added curl for the REST API call to clarify that I wanted to avoid running the pixelcade application

EDIT 2: Issue was solved, I can continue with my inotify experiments.
zakk4223
Posts: 76
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 14 times

Re: Arcade Marquee Collaboration?

Unread post by zakk4223 »

One thing to be aware of: a lot of the rom packs people are using do not separate every rom into a single zip file. The roms are in one huge zip file. MiSTer is agnostic to how you package roms, so there are basically infinite possibilities and naming. Without actual changes to Main_Mister you're going to be blind to the actual name of games selected rom inside of zip files
alanswx
Posts: 156
Joined: Sun May 24, 2020 6:55 pm
Been thanked: 29 times

Re: Arcade Marquee Collaboration?

Unread post by alanswx »

you should be able to use the "setname" parameter inside the mra. This generally maps to the correct mame name.
zakk4223
Posts: 76
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 14 times

Re: Arcade Marquee Collaboration?

Unread post by zakk4223 »

the setname gets written to /tmp/CORENAME for arcade games, so those are covered fairly easily. If they're trying to figure out which rom was loaded for consoles that's a huge mess of rom packaging on the internet...
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

NegentropicMan wrote: Mon Feb 15, 2021 9:18 pm I am currently trying to use inotifywait to see which rom is loaded by a core on the linux side. This is generally working fine, but shows a strange effect I described here: https://misterfpga.org/viewtopic.php?f=27&t=2058.

I have not looked at Pixelcade in deep yet, but I think one possible scenario avoiding running the Pixelcade application would be a shell script on the MiSTer side, reading core/rom information via /tmp/CORENAME and inotifywait and then acessing the pixelcade HTTP/REST API (via curl) running on a separete pi (zero, if cost is an issue) which in turn controls pixelcade. This would mean minor modifications on MiSTer side and very few additional computing overhead.

EDIT: added curl for the REST API call to clarify that I wanted to avoid running the pixelcade application

EDIT 2: Issue was solved, I can continue with my inotify experiments.
Pixelcade has two flavors, for the LED version, MiSTER would need to run the console java app locally. For the LCD version of Pixelcade, there is a separate Orange Pi that drives the LCD that accepts the REST API calls so on LCD, your suggestion would work as is. That said, the Java console app is pretty lightweight and should not cause a performance issue unless MiSTER is very sensitive there (I'm a MiSTER newbie so don't know the underlyings there). Thanks for the suggestions , this is all very helpful. I'll report back my findings after my board comes in.
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

zakk4223 wrote: Mon Feb 15, 2021 9:46 pm One thing to be aware of: a lot of the rom packs people are using do not separate every rom into a single zip file. The roms are in one huge zip file. MiSTer is agnostic to how you package roms, so there are basically infinite possibilities and naming. Without actual changes to Main_Mister you're going to be blind to the actual name of games selected rom inside of zip files
that's good to know and would be an issue as Pixelcade does need the ROM name of the current game in order to work. I'll play around with it and report back what I find as soon as my hardware comes in, thanks for the help!
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

cool, thanks much for your help!
venice
Posts: 38
Joined: Tue Jun 16, 2020 9:29 am
Has thanked: 22 times
Been thanked: 17 times

Re: Arcade Marquee Collaboration?

Unread post by venice »

I have something similar running using zakk4223's "inotifywait" Idea in a script.
The display is just a bit smaller :D
https://misterfpga.org/viewtopic.php?f=9&t=1887
My tty2oled Add-On on Github
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

venice wrote: Sun Feb 21, 2021 5:48 pm I have something similar running using zakk4223's "inotifywait" Idea in a script.
The display is just a bit smaller :D
https://misterfpga.org/viewtopic.php?f=9&t=1887
small but might! very nice, looks like you've got the console marquee artwrok, were you able to get game names also?
venice
Posts: 38
Joined: Tue Jun 16, 2020 9:29 am
Has thanked: 22 times
Been thanked: 17 times

Re: Arcade Marquee Collaboration?

Unread post by venice »

alinke wrote: Mon Feb 22, 2021 9:13 am .. were you able to get game names also?
...not really.
Most times you need to translate a bit the content of /temp/CORENAME (mooncrgx = Moon Cresta, tgfx16 = TurboGrafX16).
But as stated in some comments before Arcades are OK.
Games running on Computers or Consoles are actually not to identify, as I understand it.
My tty2oled Add-On on Github
alinke
Posts: 9
Joined: Wed Feb 10, 2021 2:46 am
Been thanked: 3 times

Re: Arcade Marquee Collaboration?

Unread post by alinke »

gotcha, thanks, will do some experimentation here
Post Reply