Software Support > GroovyMAME

GroovyMiSTer

(1/13) > >>

psakhis:
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

Calamity:
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: ---interface eth0
static ip_address=192.168.18.35/24
--- End code ---

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: ---video                     mister

--- End code ---

These are the new "mister"-specific options:


--- Code: ---mister_ip                 192.168.18.35
mister_compression        none
mister_window             0
mister_fd_margin          1.5

--- End code ---

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: ---aspect                   4:3

--- End code ---

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


--- Code: ---autosync                 0
throttle                 0
syncrefresh              1
sleep                    0

--- End code ---

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: ---framedelay                0

--- End code ---

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.

Zebidee:
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:

GroggyExpulsion:
Does this co-exist with the other Mister cores allowing me to run groovyarcade and mister together?y to

psakhis:

--- Quote from: Zebidee 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:

--- End quote ---

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.

Navigation

[0] Message Index

[#] Next page

Go to full version