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: GroovyMiSTer  (Read 9333 times)

0 Members and 1 Guest are viewing this topic.

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
GroovyMiSTer
« on: December 31, 2023, 05:00:17 am »
What is GroovyMiSTer?

GroovyMiSTer is a core for CRT monitors, acts like analog GPU. Core replaces the need to use a modded GPU for 15khz with configurations in operation system or drivers.

Requeriments
 - DE10 Nano with VGA ioboard or directvideo mode with hdmi connection (MiSTer project)
 - Gb eth connection, direct is prefered but some users uses laptop with wifi5 and can work
 - Modded emulator like GroovyMAME, Mednafen or Retroarch to config MiSTer ip and new video backend

This project is in beta, suggestions are welcome for core or any emulator

On test build folder from github you find last version, at the moment vs first release:
- More speed and stability fixes for 480p with lz4
- Double framebuffer for interlaced resolutions (framebuffer/field)
- Audio streaming
- Retroarch working hardware rendered cores with opengl

https://github.com/psakhis/Groovy_MiSTer

« Last Edit: January 23, 2024, 04:02:42 pm by psakhis »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #1 on: December 31, 2023, 05:09:15 am »
Some advices for those interested in trying this:

Network configuration:

- This requires a Gigabit ethernet card, lower speeds won't work.

- Ideally, you want to set this up with a direct wired connection, PC <---> MiSTer. This requires that both MiSTer and PC have a static ip so they can see each other.

On the MiSTer side, you have to edit /etc/dhcpd.conf, and add this two lines at the end, replacing the ip address with the one you want to use, e.g. mine is set as 192.168.18.35:

Code: [Select]
interface eth0
static ip_address=192.168.18.35/24

On the PC, you'll need to configure your network card to use a static ip. At this point you should be able to ping the MiSTer and receive an answer.

Of course you could just use dhcp on both sides if you're simply connecting through a router, wired or wireless. We're just not recommending that by now because we're aiming at the lowest latency and greatest stability.


GroovyMAME configuration:

GroovyMAME works exactly the same, regarding Switchres and modelines, so you can keep using your existing presets.

This will select the new "mister" video backend, which basically does software rendering and streams the RGB data through the network:

Code: [Select]
video                     mister

These are the new "mister"-specific options:

Code: [Select]
mister_ip                 192.168.18.35
mister_compression        none
mister_window             0
mister_fd_margin          1.5

A brief explanation:
  • mister_ip: MiSTer's ip address.
  • mister_compression: [none | lz4]. Allows saving bandwidth by compressing RGB data. Use none to send raw data, or lz4 compression. The later is required for higher resolutions (typically, 31 kHz). Notice that lz4 can be used in all cases with almost no latency penalty.
  • mister_window: enables a mirror window on the client's screen (PC). Windows only.
  • mister_fd_margin: specify a security margin for automatic frame delay, in ms. A lowest value provides less latency at the cost of glitches caused by erratic emulation times.

Also, we need to force the aspect ratio as 4:3, otherwise MAME will guess the aspect from our desktop's resolution (badly):

Code: [Select]
aspect                   4:3

Finally, these synchronization options must be set exactly like this in order to get things running fluently:

Code: [Select]
autosync                 0
throttle                 0
syncrefresh              1
sleep                    0

This is because all timing is handled by the video module, otherwise perfect synchronization wouldn't be possible.

Automatic frame delay:

This new video backend implements automatic frame delay. This setting is selected by default, through value "0" in either the framedelay option or its corresponding slider.

Code: [Select]
framedelay                0

When automatic frame delay is enabled, GM will try to apply the highest possible setting, adjusting dynamically to fluctuations in emulation times. Depending on the game, you might find the default setting too agressive, causing glitches on the upper portion of the screen. You can mitigate this by increasing the mister_fd_margin setting, or by switching to manual frame delay.

Manual frame delay works as usual, by setting a value different to "0" through the in-game slider. You can also fine-tune a given value with the vsync_offset option. Notice that, in the particular case of "video mister", vsync_offset increases the computed sync line by the number of lines specified, instead of decreasing it.

« Last Edit: January 05, 2024, 07:13:02 am by Calamity »
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #2 on: December 31, 2023, 06:11:04 pm »
Oh this is an exciting project. Many questions, but just trying to get my head around the potential.

With this, you could turn a Mister into a dedicated GPU for your CRT-based cab? In addition to whatever else you use the Mister for?

Looking forwards, does this present a reasonable alternative to old AMD video cards, as they don't make them with analog outputs anymore? I think the Mister is still waaaaay more expensive, but being able to do this from any-old laptop is cool.

I'm assuming here that GroovyMAME/GroovyMister selects the Mister as the game's video output device, but otherwise you operate it from your PC/laptop screen? Is that how it works? Might it be possible to run a front end, or even a desktop, via the Mister/CRT as well?

Does it support component video out?

Very nice  :cheers:
Check out my completed projects!


GroggyExpulsion

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:April 20, 2024, 12:11:05 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #3 on: December 31, 2023, 06:25:17 pm »
Does this co-exist with the other Mister cores allowing me to run groovyarcade and mister together?y to
« Last Edit: January 01, 2024, 04:11:19 pm by GroggyExpulsion »

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #4 on: January 01, 2024, 05:57:59 am »
Oh this is an exciting project. Many questions, but just trying to get my head around the potential.

With this, you could turn a Mister into a dedicated GPU for your CRT-based cab? In addition to whatever else you use the Mister for?

Looking forwards, does this present a reasonable alternative to old AMD video cards, as they don't make them with analog outputs anymore? I think the Mister is still waaaaay more expensive, but being able to do this from any-old laptop is cool.

I'm assuming here that GroovyMAME/GroovyMister selects the Mister as the game's video output device, but otherwise you operate it from your PC/laptop screen? Is that how it works? Might it be possible to run a front end, or even a desktop, via the Mister/CRT as well?

Does it support component video out?

Very nice  :cheers:

Yes, core supports all video outputs from MiSTer. See analog video settings https://mister-devel.github.io/MkDocs_MiSTer/advanced/ini/#general-video-settings

GroovyMAME now supports a new video backend, this don't disable normal output on PC, send rgb frames to MiSTer, so you have dual/tri display (MiSTer has vga and hdmi)

1) Load the core from MiSTer main
2) Run GroovyMAME with new video backend, it's all

At this time, we don't modded any frontend to send rgb, but it's possible to do it.


psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #5 on: January 01, 2024, 06:17:08 am »
Does this co-exist with the other Mister cores allowing me to run groovyarcade and mister together?
Yes, but inputs for groovyarcade are connected on pc side (atm GroovyMiSTer it's only gpu)

donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 262
  • Last login:Today at 03:00:09 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #6 on: January 01, 2024, 04:22:18 pm »
I'm really curious as to what kind of latency we can expect from this.
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #7 on: January 01, 2024, 09:08:16 pm »
I'm really curious as to what kind of latency we can expect from this.


The irony of waiting for latency data.

I'd guess it mostly depends on network speeds and cable lengths.

Back in the mid 20th, big TV stations often had rooms full of video cables. To make sure everyone, in every office, got the same thing at the same time. So if the furthest office was 300m away, *every* office got 300m worth of cable. Were probably talking about a few tens of milliseconds difference at most.

Fast gamers might be concerned about tens of microseconds.

I've lately been quite consumed with tens of nanoseconds, towards faster signal response times and better alignment of YPbPr signals (sharper image, better colour changes/constancy). Have been comparing with Mister's (both native analog YPbPr output and via VGA GreenAntz) and some other transcoders.

Sorry I'm digressing slightly. Still, latency, video signals and Mister :)
Check out my completed projects!


psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #8 on: January 02, 2024, 03:40:35 am »
I'm really curious as to what kind of latency we can expect from this.
The expert in measuring it is @Calamity. He measures with a high frame delay around 3 or 4ms (all, including inputs and emulation).

From a technical point of view, frame starts to blit with first udp packet, it is not necessary wait all frame so it's really fast.




Paradroid

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 687
  • Last login:April 24, 2024, 05:20:15 am
    • SCART Hunter
Re: GroovyMiSTer
« Reply #9 on: January 02, 2024, 05:04:19 am »
Well, well, well... 2024 could be an interesting year here!

Looking forward to seeing and hearing more about this. :)

Sent from my SM-S918B using Tapatalk

My MAME/SCART/CRT blog: SCART Hunter

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #10 on: January 02, 2024, 01:37:04 pm »
Anyone with a MiSTer should be trying this.

First, let me start with a realistic note. While one could, of course, put this in a cabinet as it is, it's far yet from being an user friendly option. For instance, you can't use a frontend yet. We need software specfically written (or hacked) for this.

That said, I'll outline some of the features of this awesome development:

- 100% flexible modelines, free pixel clock, no limitations.

- Seamless mode switching. Any in-game mode switch is now basically perfect. Progressive<->interlace, no glitches, no audio hickups, etc.

- No specific hardware or OS requirements, except of course a Gigabit network card (anyway don't expect to run MAME on a junk PC).

- Low latency. Yes. Lower latency than what you get with a PC setup. Below 4 ms is common case, even below 3 ms in some cases. Still lots of tests must be done, but figures are beyond our expectations. And this without putting special stress on the PC side.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #11 on: January 02, 2024, 03:03:03 pm »
That's amazing.

The Mister itself seems to have problems with mode switching in some games, but you can get around that with the PC-based GM?

That lower latency over ethernet is even more amazing, I guess the traditional PC/GPU approach involves PCIe buses and layers of processing and such, but makes one wonder what they are doing wrong in GPU design.
Check out my completed projects!


psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #12 on: January 02, 2024, 03:20:26 pm »
That's amazing.

The Mister itself seems to have problems with mode switching in some games, but you can get around that with the PC-based GM?

That lower latency over ethernet is even more amazing, I guess the traditional PC/GPU approach involves PCIe buses and layers of processing and such, but makes one wonder what they are doing wrong in GPU design.
The problem on traditional PC/GPU aren't hardware itself; it's more about all software layers (vsync, frame buffering, sdl2, drivers, etc.)

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #13 on: January 03, 2024, 05:07:14 am »
The Mister itself seems to have problems with mode switching in some games, but you can get around that with the PC-based GM?

I wasn't aware of that. Anyway, all modes I've tried so far work perfectly. The PLL in the DE10-Nano is reprogrammed on the fly during vblank, and the emulation on the client just goes on without freezing instantly as we're used to see.

Quote
That lower latency over ethernet is even more amazing, I guess the traditional PC/GPU approach involves PCIe buses and layers of processing and such, but makes one wonder what they are doing wrong in GPU design.

In theory one could achieve even lower latency on a conventional setup, and I still hope we can do it some day. The main problem is hardware obfuscation by layers of software built upon other people's decisions. Mainly, the impossibility of writting to the front buffer. Or the absurd need to go through a 3D api in order to output raw RGB data.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #14 on: January 03, 2024, 10:39:06 am »
The Mister itself seems to have problems with mode switching in some games, but you can get around that with the PC-based GM?

I wasn't aware of that. Anyway, all modes I've tried so far work perfectly. The PLL in the DE10-Nano is reprogrammed on the fly during vblank, and the emulation on the client just goes on without freezing instantly as we're used to see.


Not sure there's anything worth worrying about, though I'm not the expert. I've just been playing some Mister YT vids in the background lately while working on other stuff, and heard things mentioned a couple of times.

For example, brief glitch or flash on SNES core when changing from 256 to 512 pixel width at about 58:30


And the PS1 core, apparently some 240p games with 480i menus, but there is a settings workaround for HDMI at least, same video from about 1:39:30
Check out my completed projects!


donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 262
  • Last login:Today at 03:00:09 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #15 on: January 03, 2024, 11:50:59 am »
- Low latency. Yes. Lower latency than what you get with a PC setup. Below 4 ms is common case, even below 3 ms in some cases. Still lots of tests must be done, but figures are beyond our expectations. And this without putting special stress on the PC side.

Mindblowing, very well done.
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

GroggyExpulsion

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:April 20, 2024, 12:11:05 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #16 on: January 03, 2024, 10:41:45 pm »
How does the latency compare to groovyarcade? And how do we expect groovymister to compare once supported ?

evidencedj

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:January 15, 2024, 06:22:31 am
  • I LOVE ARCADE
    • Arcade Tutorials
Re: GroovyMiSTer
« Reply #17 on: January 04, 2024, 07:42:51 am »
Works like a charm. Is it possible to send audio and controls to the MiSTer as well in the near future?








« Last Edit: January 04, 2024, 10:58:14 am by evidencedj »

Overkill

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:April 25, 2024, 07:14:16 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #18 on: January 04, 2024, 04:38:33 pm »
Thank you all for this. Just one doubt: This means we don't need anymore to enable test mode in windows?

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #19 on: January 04, 2024, 05:24:10 pm »
Thank you all for this. Just one doubt: This means we don't need anymore to enable test mode in windows?

Does that matter? You can hack the message to say whatever you want, least you can in Windows 7 (haven't tried Win10 yet). Instructions:
http://forum.arcadecontrols.com/index.php/topic,148050.msg1646130.html#msg1646130
Check out my completed projects!


psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #20 on: January 04, 2024, 05:38:00 pm »
Thank you all for this. Just one doubt: This means we don't need anymore to enable test mode in windows?
With MiSTer as GPU you don't need any modded driver or OS, just a GB lan connection.

Overkill

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:April 25, 2024, 07:14:16 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #21 on: January 04, 2024, 07:09:40 pm »
Thank you both. It's working great with vanilla Windows 10 and DHCP (Didn't find where "/etc/dhcpd.conf" is).

But I will leave "uifont" on default. With "uifont uismall.bdf" it's too small for me to read the games names.

Tomorrow I will try direct video using hdmi cable to vga adapter.

zoopster

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11
  • Last login:January 07, 2024, 10:54:12 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #22 on: January 05, 2024, 06:36:59 am »
I've tried both VGA (CRT) and direct video (VGA monitor) and both worked well.

I'm using ethernet connection between the PC and MiSTer(s) via a switch which the PC and two MiSTers are plugged directly into.  Would there be much benefit to a direct connection vs. using the switch and DHCP?

I did have some connectivity / stability issues on the MiSTer side - particularly with the CRT set up - where the core would go red or black and freeze during gameplay but I know this is beta.

Some feature requests:

1) Support for 31khz / 24khz output for VGA monitors. The 480i output on the CRT is not bad for games like Ridge Racer but Sega Rally etc. no so good on either the CRT or VGA monitor.
2) A tool or better instructions (video) for setting up a direct connection without breaking the DNS set up so enable MiSTER to update via the internet and easily switch to a direct connection for better performance in Groovy mode.
3) MiSTER controller support would be great as it can get confusing switching between different controllers especially on a PC with dual MiSTER set up! :)
4) Sound streaming would be great as long as it doesn't impact the video and latency side of the house. My work around is to route the sound from the PC into my monitor speakers I use for  MiSTER.
5) By some miracle convince Sorg to embrace this project and integrate with MiSTer main :) More a quality of life thing TBH.

Keep up the good work!

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #23 on: January 05, 2024, 07:05:42 am »
Hi,
I don't have any freeze here, which game are you trying? Direct connection is more about no other downloads can affect transmission.

About requests
1) It's supported as monitor on emulator side, so you need to pass other monitor, not arcade_15. For 240p games, on core you have scandoubler to support 31khz.
2) This happens to me, i don't know how setup dhcp.conf to get DNS
3) Yeah, nice feature, but needs a lot of work, maybe...
4) Probably easier than inputs, i'm looking this
5) I hope convince Sorg.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #24 on: January 05, 2024, 08:04:12 am »
@zoopster

-monitor arcade_31

-monitor arcade_25

... it's that easy.

For higher resolutions (25/31 kHz), you'll likely need -mister_compression lz4.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Overkill

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:April 25, 2024, 07:14:16 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #25 on: January 06, 2024, 10:45:12 am »
Yesterday I tested this with my Arcade monitor, and another advantage of using MiSTer is now I don't need the video amplifier anymore (With my old GroovyMAME setup with HD6450 the image was too dim and had to use a video amplifier).

zoopster

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 11
  • Last login:January 07, 2024, 10:54:12 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #26 on: January 07, 2024, 10:52:41 am »
I don't have any freeze here, which game are you trying? Direct connection is more about no other downloads can affect transmission.

The freeze on the CRT side stopped after I realized the PC was not plugged into the same switch as the two MiSTers.

Still getting a freeze after a few seconds when using the VGA (31khz mode) and playing Ridge Racer.

Here's the command line used:

Code: [Select]
video mister -aspect 4:3 -switchres -monitor arcade_31 -mister_window -mister_ip 192.168.0.227 -mister_compression lz4 -skip_gameinfo -syncrefresh -nothrottle
« Last Edit: January 07, 2024, 10:54:18 am by zoopster »

flybynight

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 74
  • Last login:Today at 04:38:43 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #27 on: January 07, 2024, 07:35:15 pm »
Only heard about this today. Looks great. Have to read up more.


Is there anyway to add that automatic frame delay feature to the normal groovymame with ati cards?
I had a look at the source code months ago but didn't get far (was trying to hook the auto frameskip detection code to the frame delay)







« Last Edit: January 08, 2024, 08:37:23 am by flybynight »

tonyt76

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 72
  • Last login:March 11, 2024, 10:06:18 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #28 on: January 09, 2024, 08:23:50 am »
Quote
Code: [Select]
video mister -aspect 4:3 -switchres -monitor arcade_31 -mister_window -mister_ip 192.168.0.227 -mister_compression lz4 -skip_gameinfo -syncrefresh -nothrottle

Do we add these to mame.ini ?
« Last Edit: January 09, 2024, 01:31:52 pm by tonyt76 »

bobbyb13

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1899
  • Last login:April 23, 2024, 02:59:55 am
  • I believe I may need an intervention
Re: GroovyMiSTer
« Reply #29 on: January 09, 2024, 11:40:10 pm »
Wow!
I'm looking forward to trying this but I have a lot to learn before I can give it a go.
I even think I already have all the pieces here- except probably the ethernet card actually now I think about it.
Wish I wasn't so code ignorant!
Relax, all right? My old man is a television repairman, he's got this ultimate set of tools! I can fix it.

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #30 on: January 10, 2024, 12:56:40 am »
Most vaguely modern-ish PCs would come with gigabit ethernet standard. Network cards are not expensive and fairly painless to install.
Check out my completed projects!


Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #31 on: January 10, 2024, 02:52:29 am »
Still getting a freeze after a few seconds when using the VGA (31khz mode) and playing Ridge Racer.

Confirmed. I'm still trying to debug this, but it's probably hitting its bandwidth limit.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #32 on: January 10, 2024, 02:54:40 am »
Is there anyway to add that automatic frame delay feature to the normal groovymame with ati cards?
I had a look at the source code months ago but didn't get far (was trying to hook the auto frameskip detection code to the frame delay)

It should be possible, but it needs to refactor all the synchronization code. The mister backend has its own sync implementation.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Gunstar

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • Last login:March 19, 2024, 08:31:08 am
  • 2d forever
Re: GroovyMiSTer
« Reply #33 on: January 10, 2024, 05:35:20 am »
Very exciting development, congrats to you both!! I guess this gets past the GPU choices that CRTEmudriver has?!

I hope this will be able to support Steam and also those decompiled ports like Super Mario 64. What a gift CRTEmudriver is. Thanks for all the hard work.

tonyt76

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 72
  • Last login:March 11, 2024, 10:06:18 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #34 on: January 10, 2024, 09:57:42 am »
@Calamity can we add these command line arguments to mame.ini instead of manually typing them out?

ronbin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 18
  • Last login:January 10, 2024, 10:54:27 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #35 on: January 10, 2024, 10:54:27 am »
This is exciting news! I will try it as soon as possible.
It reminds me an old project: arvid.
http://www.molej.cz/index_arvid.html
http://forum.arcadecontrols.com/index.php/topic,151661.0.html

abispac

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1529
  • Last login:Today at 02:48:09 pm
Re: GroovyMiSTer
« Reply #36 on: January 10, 2024, 01:47:21 pm »
Ive been reading this and it looks promising, although for me, its an experiment I wont be able to try for a wild since the mister its to expensive for me. So I was wondering if I can coperate with an idea. Back in the day with the OG xbox, once it was hacked and softmod and chip mod was available, One way to transfer games to it via FTP without a router, was using an ethernet crossover cable. So I wonder if this would also work with this project? Or there's no need to have a router/modem for this?

faxesystem

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 16
  • Last login:January 14, 2024, 07:42:21 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #37 on: January 10, 2024, 03:13:16 pm »
As a long time CRTEmudriver user I'm really looking forward to this. I had some time yesterday and tried a few things with Retroarch. Is it expected, that the cores of more modern systems like Gamecube/Wii and PS2 are not supported yet? Groovymister was crashing whenever I started something with these cores.

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #38 on: January 10, 2024, 03:55:13 pm »
Retroarch support it's very premature, menu and hardware rendered cores isn't supported yet.

That JVC looks great.

flybynight

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 74
  • Last login:Today at 04:38:43 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #39 on: January 11, 2024, 06:30:07 pm »
Is there anyway to add that automatic frame delay feature to the normal groovymame with ati cards?
I had a look at the source code months ago but didn't get far (was trying to hook the auto frameskip detection code to the frame delay)

It should be possible, but it needs to refactor all the synchronization code. The mister backend has its own sync implementation.

Sir, where is your patreon link??

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #40 on: January 12, 2024, 05:06:34 am »
Sir, where is your patreon link??

Ping psakhis, I'm just the Igor of this story.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #41 on: January 12, 2024, 06:34:57 am »
Is there anyway to add that automatic frame delay feature to the normal groovymame with ati cards?
I had a look at the source code months ago but didn't get far (was trying to hook the auto frameskip detection code to the frame delay)

It should be possible, but it needs to refactor all the synchronization code. The mister backend has its own sync implementation.

Sir, where is your patreon link??

I appreciate the gesture but I do this with no interest other than enjoying the best experience for everyone.

donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 262
  • Last login:Today at 03:00:09 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #42 on: January 12, 2024, 07:05:31 am »
I've seen a (sarcastic?) question asked elsewhere I wanted to ask here because I didn't think about it... but would this work on macOS?

It would be fantastic for me as I have my Mac Mini right next to the cab.
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #43 on: January 12, 2024, 09:14:15 am »
I've seen a (sarcastic?) question asked elsewhere I wanted to ask here because I didn't think about it... but would this work on macOS?

It would be fantastic for me as I have my Mac Mini right next to the cab.

It should work if you manage to build GM for Mac, which no human being has ever tried to.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 262
  • Last login:Today at 03:00:09 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #44 on: January 13, 2024, 12:24:02 pm »
"Tried to" or "managed to"? :P

I'll give it a shot one of those days, even if I don't have a MiSTer.

I guess it's the usual get the MAME source, apply GM patches and off we go?
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

faxesystem

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 16
  • Last login:January 14, 2024, 07:42:21 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #45 on: January 14, 2024, 07:42:44 am »
@calamity Regarding macOS. If not for Groovymame, what about the already existing Retroarch Mac port? :D
@psakhis - would support for hardware rendered cores be something the retroarch team would / could implement or can GroovyMister just be used for software rendering?

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #46 on: January 14, 2024, 12:39:19 pm »
@psakhis - would support for hardware rendered cores be something the retroarch team would / could implement or can GroovyMister just be used for software rendering?
Is nothing related with core, just we need to patch retroarch to get pixels from gpu backend (d3d11/opengl/vulkan)

GroggyExpulsion

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:April 20, 2024, 12:11:05 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #47 on: January 17, 2024, 12:54:23 am »
Any progress on Groovy Arcade?

wordsworth

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 97
  • Last login:March 26, 2024, 06:20:13 pm
  • ...was severely wounded, but the soul still burns
Re: GroovyMiSTer
« Reply #48 on: January 18, 2024, 11:28:24 am »
What’s the benefit of using GroovyMAME into GroovyMiSTer instead of just using the MiSTer for everything?

Forgive me if this is an ignorant question. I’ve been out of the loop for years and am trying to wrap my head around the new stuff.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #49 on: January 18, 2024, 11:31:20 am »
"Tried to" or "managed to"? :P

I'll give it a shot one of those days, even if I don't have a MiSTer.

I guess it's the usual get the MAME source, apply GM patches and off we go?

https://github.com/antonioginer/GroovyMAME/releases/tag/gm0261sr002zz

Now it builds and works on Mac.

This user made the first build:
https://github.com/djfumberger/GroovyMAME/releases/tag/1.0.0

(I won't be keeping Mac builds myself)
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #50 on: January 18, 2024, 11:36:19 am »
What’s the benefit of using GroovyMAME into GroovyMiSTer instead of just using the MiSTer for everything?

Some will answer that MiSTer only emulates a small subset of MAME's catalogue. But we don't care, that's not the actual point.

The question is what's the benefit of using GroovyMAME + MiSTer(as gpu) vs GroovyMAME + PCIe gpu.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

wordsworth

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 97
  • Last login:March 26, 2024, 06:20:13 pm
  • ...was severely wounded, but the soul still burns
Re: GroovyMiSTer
« Reply #51 on: January 18, 2024, 09:39:12 pm »
Gotcha. I guess the FPGA allows you more control of the video output because you’re not having to hack through driver code that was written for completely different purposes.

So… is it then just a matter of time before the MiSTer catches up with software emulation and becomes the go-to emulation solution or is it just doing a different thing altogether? (maybe that question should go in a different thread)

Zebidee

  • Trade Count: (+9)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3255
  • Last login:April 25, 2024, 06:33:53 pm
Re: GroovyMiSTer
« Reply #52 on: January 19, 2024, 04:53:35 am »
So… is it then just a matter of time before the MiSTer catches up with software emulation and becomes the go-to emulation solution or is it just doing a different thing altogether? (maybe that question should go in a different thread)


Mister will never be the "one-size-fits all killer emulation solution", although it certainly does fill some niches very well (like older computer and console emulation). Having said that, FPGA emulation is here to stay and will keep maturing, though the hardware to support it will change over time.

There will always be a role for other emulation platforms such as PC and Pi, for example. They all have their strengths and weaknesses. Even an old PC can emulate stuff Mister cannot do, but Mister might be faster to startup and more technically accurate. They also have different cost relativities. A complete Mister setup is going to be more expensive than a cheap-mid level PC + older video card.

I like the idea of keeping a Mister in an arcade cab or lounge room and being able to run a computer through it, but this is probably a false convenience for most people. It is not where the real potential is.

Given that modern video card manufacturers have abandoned analog outputs, it is very exciting to see Mister having the capabilities to substitute itself as essentially an external and alternative GPU for a PC (or other device). At the moment I can spend $20-$50 for an HD6XXX card vs somewhere well north of $300 for a MIster unit. But in the future those cost relativities and capabilities will change, so watch this space carefully.

Even now, the reduced latency alone will be a big enough thing for some people, people who will be willing to pay good money to save a few microseconds.
Check out my completed projects!


donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 262
  • Last login:Today at 03:00:09 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #53 on: January 19, 2024, 07:28:43 am »
https://github.com/antonioginer/GroovyMAME/releases/tag/gm0261sr002zz

Now it builds and works on Mac.

This user made the first build:
https://github.com/djfumberger/GroovyMAME/releases/tag/1.0.0

(I won't be keeping Mac builds myself)

Fantastic! Thanks!

This is a real revolution for macOS users as we don't have the luxury of having old video cards (nor software support) in our systems to output native 15Khz, so this enables all macOS computers with a gigabit ethernet (almost all of them) to finally have proper 15Khz output.
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

wordsworth

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 97
  • Last login:March 26, 2024, 06:20:13 pm
  • ...was severely wounded, but the soul still burns
Re: GroovyMiSTer
« Reply #54 on: January 23, 2024, 12:32:49 am »
Mister will never be the "one-size-fits all killer emulation solution"

I think I’m starting to understand that now. I just read today that FPGA for retro gaming has almost reached its useful limit. Software emulation is much more capable on the more complex systems.

so this enables all macOS computers with a gigabit ethernet (almost all of them) to finally have proper 15Khz output.

HUH? Wha? GroovyMame on a Mac? Well… now I’ve really got a predicament since I am a longtime Mac user/tech. The thought of plugging in my daily driver Mac into a MiSTer with a simple Ethernet cable and running native resolutions on my CRT is not something I thought possible.

@psakhis @Calamity Thank you so much for the work on this! Amazing stuff!

psakhis

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 453
  • Last login:Yesterday at 05:22:43 am
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #55 on: January 23, 2024, 04:03:54 pm »
Some last changes vs first release, so

On test build folder from github you find last version, at the moment vs first release:
- More speed and stability fixes for 480p with lz4
- Double framebuffer for interlaced resolutions (framebuffer/field)
- Audio streaming
- Retroarch working hardware rendered cores with opengl

gamepimp

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 462
  • Last login:March 10, 2024, 01:38:47 pm
Re: GroovyMiSTer
« Reply #56 on: January 23, 2024, 09:27:23 pm »
Some last changes vs first release, so

On test build folder from github you find last version, at the moment vs first release:
- More speed and stability fixes for 480p with lz4
- Double framebuffer for interlaced resolutions (framebuffer/field)
- Audio streaming
- Retroarch working hardware rendered cores with opengl

This project just keeps getting better. So cool!  :applaud:

Mahrio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 15
  • Last login:February 08, 2024, 12:31:14 pm
Re: GroovyMiSTer
« Reply #57 on: February 06, 2024, 10:26:57 pm »
I was happy to see GroovyMAME featured in the news last month, Calamity! My cabinet was built in 2013, and since then, I have been using GroovyMAME and HyperSpin on Windows 7, along with a Sony Wega KV21FA240.
I updated from XP to Windows 7 in 2019 and never looked back. But now, with GroovyMister entering the scene (and in my house too!), I'm eager to try using the Mister's GPU portion.

I have two questions:

1) My GroovyMAME is an older version (0.170, I think) with CRT-Emudriver 2019 Beta 15 video drivers. How should I proceed with the update? Do I need to reinstall the drivers? Can I keep my modelines for my TV? I know the landscape of drivers and GroovyMAME has changed significantly, which is why I am asking.

2)With my CRT attached to the cabinet (it's a Sony Wega that I've been using since 2013), when I finish the update and start using the new GroovyMAME with GroovyMister, will I be able to simultaneously output to three screens? (Sony WEGA in the Cabinet, BVM on the Analog output of MisterFPGA, and OLED on the HDMI output from MisterFPGA)

I'm looking forward to testing it!

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #58 on: February 10, 2024, 01:05:50 pm »
1) My GroovyMAME is an older version (0.170, I think) with CRT-Emudriver 2019 Beta 15 video drivers. How should I proceed with the update? Do I need to reinstall the drivers? Can I keep my modelines for my TV? I know the landscape of drivers and GroovyMAME has changed significantly, which is why I am asking.

For GroovyMister, you don't need CRT Emudriver. You could keep your installation unchanged, and have a second folder with up-to-date GM just for the mister.

Quote
2)With my CRT attached to the cabinet (it's a Sony Wega that I've been using since 2013), when I finish the update and start using the new GroovyMAME with GroovyMister, will I be able to simultaneously output to three screens? (Sony WEGA in the Cabinet, BVM on the Analog output of MisterFPGA, and OLED on the HDMI output from MisterFPGA)

Sure.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

pakoman

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 164
  • Last login:April 25, 2024, 12:20:26 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #59 on: April 06, 2024, 05:27:11 pm »
It's good to see the number of options are increasing, thanks for adding support for this one.

A bit related off-topic...Are there any other devices like this that would work on any computer (i.e. a generic USB graphics card, etc)?


Or is MisTer the only alternative to specific graphics card + drivers to achieve native resolutions?

donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 262
  • Last login:Today at 03:00:09 pm
  • I want to build my own arcade controls!
Re: GroovyMiSTer
« Reply #60 on: April 07, 2024, 07:07:45 am »
I'm not sure how much "grunt" GroovyMister needs, but if it's not too much, some skilled developer could port it to other smaller and more affordable FPGAs.
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7414
  • Last login:April 10, 2024, 02:02:31 pm
  • Quote me with care
Re: GroovyMiSTer
« Reply #61 on: April 07, 2024, 02:27:28 pm »
It would seem the DE10 Nano is overkill for this use. But we're not aware of any other smaller/cheaper board that doesn't lack something fundamental.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi