Groovy_MiSTer Core

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Groovy_MiSTer Core

Unread post by psakhis »

Hi guys,
I want to present a new core something different, i can describe like analog GPU for CRTs.

Project started as a challenge to learn verilog and because i didn't want to depend on a modded graphic card to play at 15khz also several retro mates were wondering if it would be possible on an fpga, and the answer is YES.

Thanks to @Calamity for implementing GroovyMAME for it and hard testing giving an excellent result in terms of latency.

Core isn't official right now (no update_all.sh) but maybe if people are interested in could be. At the moment, if anyone wants to try it, replace MiSTer binary is needed (binary on git /hps_linux/main/MiSTer is updated with last @sorgerlig changes)

NOTE: This is not intended to replace any native core, it is a core that acts as a analog gpu card, just that, an utility for our MiSTers.

Github https://github.com/psakhis/Groovy_MiSTer
Example with GroovyMAME https://youtu.be/H0175WJFpUs

alexxnr
Posts: 5
Joined: Tue Jan 02, 2024 4:42 pm
Been thanked: 1 time

Re: Groovy_MiSTer Core

Unread post by alexxnr »

Thank you very much psakhis for your amazing work.
I have been lucky enough to be one of the few who have tested the core and it is one more step in the evolution of the MisterFPGA platform.
It gives us all a new tool to enjoy retro hardware as we like.
The tool is in beta phase but no doubt with everyone's help it will evolve so that we can all enjoy it to the fullest.
Again thank you very much for your work.

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: Groovy_MiSTer Core

Unread post by akeley »

Wow, this sounds quite wild and exciting, seeing as I love Groovymame, MiSTer & CRTs .... but I must admit my senile brain has a hard time trying to process it all. I connect what to what here exactly? :D PC running groovy to MiSTer to CRT TV?

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

akeley wrote: Tue Jan 02, 2024 4:56 pm

Wow, this sounds quite wild and exciting, seeing as I love Groovymame, MiSTer & CRTs .... but I must admit my senile brain has a hard time trying to process it all. I connect what to what here exactly? :D PC running groovy to MiSTer to CRT TV?

You need to connect PC with MiSTer over lan (i prefer direct static eth connection), and just run core and groovymame with new video backend.

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: Groovy_MiSTer Core

Unread post by akeley »

Ok...so groovymame runs on PC, transfers data over LAN to MiSTer, new core processes it all, and MiSTer then outputs it to CRT, connected just like before with native cores?

Tha sounds quite revolutionary and if there are more emus adapted - well, Retroarch really - it would let me get rid of my specialized Groovy PC box with olden ATI card and run everything from my everyday PC.

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

akeley wrote: Tue Jan 02, 2024 5:14 pm

Ok...so groovymame runs on PC, transfers data over LAN to MiSTer, new core processes it all, and MiSTer then outputs it to CRT, connected just like before with native cores?

Tha sounds quite revolutionary and if there are more emus adapted - well, Retroarch really - it would let me get rid of my specialized Groovy PC box with olden ATI card and run everything from my everyday PC.

Mednafen and Retroarch(*) are modded as well to work with Groovy_MiSTer. But yes, you only need a LAN :D

(*) Not menu and hardware rendered cores for now (flycast for example).

AngelicLiver
Top Contributor
Posts: 434
Joined: Fri May 29, 2020 8:50 am
Has thanked: 86 times
Been thanked: 120 times

Re: Groovy_MiSTer Core

Unread post by AngelicLiver »

Wow that's awesome, looking forward to playing around with it! Thanks for all your hard work.

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: Groovy_MiSTer Core

Unread post by akeley »

Thank you, this made my day...what a great start to 2024. I have to actually upend/move my whole setup again this week but hopefully will be able to test it later this month.

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Groovy_MiSTer Core

Unread post by thorr »

This does sound amazing. I finally got my Batocera running really well. Figures. LOL. I will definitely have to check this out. It could totally eliminate the need for the Batocera PC next to my arcade cabinet which could be amazing. Is it lag free over the LAN compared to a local PC? That is my main concern.

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

thorr wrote: Tue Jan 02, 2024 9:54 pm

This does sound amazing. I finally got my Batocera running really well. Figures. LOL. I will definitely have to check this out. It could totally eliminate the need for the Batocera PC next to my arcade cabinet which could be amazing. Is it lag free over the LAN compared to a local PC? That is my main concern.

You can expect better latency than PC setup, below 4 ms and in some cases below 3ms because emulator is bypassing all video stuff (drivers, buffering frames, sdl, vsync, etc.)

PikWik
Posts: 279
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 208 times
Been thanked: 74 times

Re: Groovy_MiSTer Core

Unread post by PikWik »

i also needed a moment to process what this is doing :)

in essence, Groovy MiSTer is a way to elaborately screencast Groovy MAME on a PC to a MiSTer while making use of the MiSTer interface/controls/video output.

people who use a dedicated setup in an arcade machine, or similar enclosed space, who prefer to not have to boot up a separate device and switch video inputs will benefit from this the most. and of course, having the entire GroovyMAME library at your disposal will be very appreciated while the FPGA arcade cores are being worked on (CPS3, PGM, psikyo)

all of that for an added latency of 3ms is a very nice addition to the MiSTer utilities.

bravo

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

PikWik wrote: Tue Jan 02, 2024 10:21 pm

i also needed a moment to process what this is doing :)

in essence, Groovy MiSTer is a way to elaborately screencast Groovy MAME on a PC to a MiSTer while making use of the MiSTer interface/controls/video output.

people who use a dedicated setup in an arcade machine, or similar enclosed space, who prefer to not have to boot up a separate device and switch video inputs will benefit from this the most. and of course, having the entire GroovyMAME library at your disposal will be very appreciated while the FPGA arcade cores are being worked on (CPS3, PGM, psikyo)

all of that for an added latency of 3ms is a very nice addition to the MiSTer utilities.

bravo

Something like that although at the moment it's only video (no input or audio).

3ms it's all latency (including inputs) so isn't added latency at all. Another benefits are MiSTer framework so you can use svideo, composite, sync on green, scandoubler, etc. and free pixel clocks for every native resolution needed.

thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Groovy_MiSTer Core

Unread post by thorr »

Wow, I would never have expected it to be faster than a local video card. If that is true, that is impressive. Edited out my unrelated babble.

Flain
Posts: 31
Joined: Mon May 25, 2020 1:29 am
Has thanked: 18 times
Been thanked: 4 times

Re: Groovy_MiSTer Core

Unread post by Flain »

Tried it out on my MiSTercade but couldn't seem to get any video output. I know it's not listed as supported but thought id give it a try. I noticed in the UI on the core there is an option to turn on verbose logging. What file does that output to?

I did do a packet capture and could see grovymame sending all the udp packets over and can ping between PC/MiSTer etc, so i assume it's just a compatibility issue.

alexxnr
Posts: 5
Joined: Tue Jan 02, 2024 4:42 pm
Been thanked: 1 time

Re: Groovy_MiSTer Core

Unread post by alexxnr »

Hello.

I have been playing for several days and have had no problems.
For the log you must do the following:

  • activate the option.
  • Save the settings
  • restart the core
    It is generated in /tmp/groovy.log
Flain
Posts: 31
Joined: Mon May 25, 2020 1:29 am
Has thanked: 18 times
Been thanked: 4 times

Re: Groovy_MiSTer Core

Unread post by Flain »

Are you using a MiSTercade or the normal IO board? I tested now and the core isn't outputting anything into the /tmp dir on MiSTer, so i'm not sure whats wrong. If i check the settings it saved verbose logging setting, still saved after a reboot.

Is the MiSTer binary to use MiSTer_unstable_20231229_1871a6 ? From 5 days ago

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

Flain wrote: Wed Jan 03, 2024 8:15 am

Are you using a MiSTercade or the normal IO board? I tested now and the core isn't outputting anything into the /tmp dir on MiSTer, so i'm not sure whats wrong. If i check the settings it saved verbose logging setting, still saved after a reboot.

Is the MiSTer binary to use MiSTer_unstable_20231229_1871a6 ? From 5 days ago

You need replace MiSTer binary and copy the new one from https://github.com/psakhis/Groovy_MiSTe ... ain/MiSTer

The core starts from 256x240 at 15khz and you will see a screensaver.

Flain
Posts: 31
Joined: Mon May 25, 2020 1:29 am
Has thanked: 18 times
Been thanked: 4 times

Re: Groovy_MiSTer Core

Unread post by Flain »

Oh thanks, that was the issue. Apologies, i thought you just meant the newest unstable build but that binary is working now.

Pretty cool. It would be awesome if audio and controls get added in the future! :)

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

Flain wrote: Wed Jan 03, 2024 8:47 am

Oh thanks, that was the issue. Apologies, i thought you just meant the newest unstable build but that binary is working now.

Pretty cool. It would be awesome if audio and controls get added in the future! :)

No problem! This binary has sames changes than unstable version plus Groovy_MiSTer.

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: Groovy_MiSTer Core

Unread post by akeley »

I woke up and still have trouble believing this is real ;)

One more question: do we still have to deal with modeline creation on the PC side (using VMM, ArcadeOSD, etc) ? Quietly hoping NOT, because this bit could be a bit of a 'mare when trying to set things up and then also running Windows in low res....

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

Calamity
Posts: 15
Joined: Wed Jan 03, 2024 10:21 am
Been thanked: 34 times

Re: Groovy_MiSTer Core

Unread post by Calamity »

Hi,

akeley wrote: Wed Jan 03, 2024 10:01 am

One more question: do we still have to deal with modeline creation on the PC side (using VMM, ArcadeOSD, etc) ? Quietly hoping NOT, because this bit could be a bit of a 'mare when trying to set things up and then also running Windows in low res....

Of course not. Modelines are calculated by the emulator on the client and sent to the MiSTer, as game demands, but there's no extra configuration needed on the client side. This might even work on a Mac probably. You have full control though on video timings through the usual Switchres settings, in case you like to tinker.

Flain
Posts: 31
Joined: Mon May 25, 2020 1:29 am
Has thanked: 18 times
Been thanked: 4 times

Re: Groovy_MiSTer Core

Unread post by Flain »

A couple of test videos, feel free to remove if not allowed:

psakhis
Core Developer
Posts: 56
Joined: Sat Aug 26, 2023 9:17 pm
Been thanked: 80 times

Re: Groovy_MiSTer Core

Unread post by psakhis »

Flain wrote: Wed Jan 03, 2024 1:21 pm

A couple of test videos, feel free to remove if not allowed:

https://www.youtube.com/watch?v=PpUSyN1Wt6Q

https://www.youtube.com/watch?v=gWCHnJPml68

Nice! Suggestions are accepted :)

zoopster
Posts: 82
Joined: Sun May 24, 2020 8:08 pm
Has thanked: 90 times
Been thanked: 15 times

Re: Groovy_MiSTer Core

Unread post by zoopster »

Tried it out today and worked like a dream. I hope you can get the mister main changes accepted. Thanks again for creating this!

Flain
Posts: 31
Joined: Mon May 25, 2020 1:29 am
Has thanked: 18 times
Been thanked: 4 times

Re: Groovy_MiSTer Core

Unread post by Flain »

psakhis wrote: Wed Jan 03, 2024 1:56 pm

Nice! Suggestions are accepted :)

I like already that you have the CRT adjust for horizontal and vertical that's awesome! It's always a pain when a core is missing that so to see that already in there is awesome.

Suggestion is to add controls and audio to the implementation, but i think you already know that :) Non trivial i'm sure, but i'm cheering you on! :)

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: Groovy_MiSTer Core

Unread post by akeley »

Calamity wrote: Wed Jan 03, 2024 10:28 am

Of course not. Modelines are calculated by the emulator on the client and sent to the MiSTer, as game demands, but there's no extra configuration needed on the client side. This might even work on a Mac probably. You have full control though on video timings through the usual Switchres settings, in case you like to tinker.

That makes it all more awesome...I just wish I could try it out NOW.

And of course massive thanks for all your work over the years on crtemudriver, GM, and all that jazz. A true CRT hero ;)

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

User avatar
mrchrister
Scripting Wizard
Posts: 295
Joined: Tue Mar 30, 2021 6:23 pm
Location: Canada
Has thanked: 32 times
Been thanked: 122 times

Re: Groovy_MiSTer Core

Unread post by mrchrister »

Amazing stuff, psakhis and calamity! Good to see you over here on the Mister forum ;)

User avatar
toastboy
Posts: 69
Joined: Wed Sep 09, 2020 9:20 pm
Has thanked: 13 times
Been thanked: 20 times

Re: Groovy_MiSTer Core

Unread post by toastboy »

This is an amazing idea, kudos for getting such a complex thing working at all!

My setup is an arcade cab with a mister, and groovymame on a pc with a 15khz-capable VGA card.
Input/audio/vga are switched between PC/Mister by a KVM, using a hidden microswitch in the coin eject mechanism.
All the hardware for this is squeezed into the cab itself, along with a local wired LAN.

In future, if input/audio/vga were all "cast" to Groovy_MiSTer, this would allow everything to be controlled and scaled via the mister, right?

No pressure, but that would be fantastic, like a retrotink for the MAME machine, and I could rip a ton of the KVM equipment/wiring out.

zoopster
Posts: 82
Joined: Sun May 24, 2020 8:08 pm
Has thanked: 90 times
Been thanked: 15 times

Re: Groovy_MiSTer Core

Unread post by zoopster »

Spent an hour or so playing games like Chase HQ and Space Harrier with the audio routed via my HDMI switch, which has stereo out, to the speakers I use for my main MiSTer and video out via the MiSTer to my BVM.

I have a separate MiSTer connected to a VGA monitor via direct video and it would be a very cool to use that MiSTer for 31khz games from Sega like Scud Racer or Sega Rally.

User avatar
Bristles
Posts: 90
Joined: Wed Aug 16, 2023 8:36 pm
Has thanked: 44 times
Been thanked: 10 times

Re: Groovy_MiSTer Core

Unread post by Bristles »

zoopster wrote: Wed Jan 03, 2024 5:37 pm

Spent an hour or so playing games like Chase HQ and Space Harrier with the audio routed via my HDMI switch, which has stereo out, to the speakers I use for my main MiSTer and video out via the MiSTer to my BVM.

I have a separate MiSTer connected to a VGA monitor via direct video and it would be a very cool to use that MiSTer for 31khz games from Sega like Scud Racer or Sega Rally.

Did you notice any input latency ?

Post Reply