Hey! These are my Ikaruga / Naomi settings, with simpler example paths so you can adapt them.

You'll need:
- The GroovyMiSTer version of RetroArch, plus the Flycast core:
  https://github.com/psakhis/Groovy_MiSTer
  Check the RetroArch section. The normal Steam version isn't a substitute for this build.
- GroovyMiSTerCommand, which waits for the MiSTer to tell it which game to launch:
  https://github.com/BossRighteous/GroovyMiSTerCommand/releases
- Your Ikaruga Naomi game files and BIOS. They aren't included in these ZIPs.
  Flycast explains where they go here: https://docs.libretro.com/library/flycast/

Getting it going
---------------
I've included Windows and Steam Deck/Linux launcher configs. Choose the one you need, put it next to GroovyMiSTerCommand and rename it config.json.

Change these two settings to YOUR MiSTer's IP:
- mister_host in the launcher config.json
- mister_ip in RetroArch/ikaruga-stream.cfg

Then change the emulator, core and game paths to wherever you've put them.
The example folders are:
Windows: C:/StreamLink/RetroArch and C:/StreamLink/roms
Steam Deck: /home/deck/StreamLink/RetroArch and /home/deck/StreamLink/roms

Copy the contents of the RetroArch folder into a separate test installation of the compatible RetroArch build. Keep the subfolders as they are. The config expects BIOS files in system/, and uses saves/ and states/ for those files.

The Windows example launches retroarch.exe with cores/flycast_libretro.dll.
The Linux example launches ./retroarch with cores/flycast_libretro.so.
The game path points to ikaruga.zip. Keep any required CHD folder alongside it, following the Flycast instructions.

Start the command server from its own folder, load Groovy on MiSTer and let them connect, then select the Ikaruga MGL from the other ZIP.

For a direct test, run this from your RetroArch folder while Groovy is running on MiSTer:
Windows:
retroarch.exe -c ikaruga-stream.cfg -L cores/flycast_libretro.dll C:/StreamLink/roms/ikaruga.zip --verbose
Linux:
./retroarch -c ikaruga-stream.cfg -L cores/flycast_libretro.so /home/deck/StreamLink/roms/ikaruga.zip --verbose

A few things to watch
--------------------
I'm running Windows, so I haven't tested the Steam Deck version. You'll need the compatible Linux RetroArch, Flycast and command-server builds, rather than copying Windows EXEs/DLLs. Set it up in Desktop Mode and make the downloaded Linux programs executable if needed. I've left out my Windows audio driver setting so you can use one that works on Linux.

These settings use 640x480 internal rendering and vertical rotation. The CRT timing files are from my setup, so check the orientation and supported timings for your screen.

I've got jumbo frames set up, hence mister_mtu = 3800. Use 1500 if you haven't configured jumbo frames across your connection.

Ikaruga's settings here have frame delay at 0, automatic frame delay off and run-ahead off. They're the settings from my setup, not a claim that they're best for every machine.

My button mappings are in controls-reference.cfg if useful. They aren't loaded automatically; map the buttons for your controller and check coin/start.

I've kept this to one game and one MiSTer to make it easier to try. My extra cleanup/wait script isn't included. The standard command server replaces the game it launched when another command arrives, but check that switching works on your machine. I haven't tested multiple simultaneous instances or VMs.

Hopefully that gets you started! The other ZIP contains the matching MiSTer menu files.
