

About a week ago, I decided to start messing around with my Pi for the first time in a while, and discovered that the Reicast Libretro core was now available under the experimental menu. This not only meant that there was now an option for playing Dreamcast games on the Pi with all the quality-of-life features offered by Libretro, but it also meant that the Pi would now be capable of playing Sega Naomi games.

For those not already familiar, the Sega Naomi was an arcade system that was essentially a Dreamcast with beefed-up specs. It could load games either from giant ROM cartridges, or from GD-ROMs, a format exclusive to the Naomi and Dreamcast. Around 100 titles were released for it, and while a good portion of it's titles are available on the Dreamcast, some games remain exclusive to the Naomi, and others were only ported to consoles the Pi isn't capable of emulating (namely the Gamecube and PS2).

As this core is rather experimental (and as I consider this to be too convoluted for inclusion in the RetroPie Wiki page for the Dreamcast), I decided to instead write this thread for anyone who's looking to attempt running Naomi games on their Pi. Hopefully, you should find this to be at least somewhat useful.

Emulator Setup

The first step is to install lr-reicast, which can be installed from the experimental menu in RetroPie Setup. If you don't see the option to do so, try updating the RetroPie Setup scripts.

Along with the usual dc_flash.bin and dc_boot.bin for running Dreamcast games, you'll also need a third BIOS file in order to boot Naomi titles. You'll want to find a file named naomi.zip and place it in the same folder as the other Dreamcast BIOS files. If this doesn't work, extract the file epr-21576h.ic27 , rename it to naomi_boot.bin , and place it in the folder.

I would also recommend updating RetroArch, as lr-reicast fails to output audio if it's running on an older version of RetroArch. This does have the side effect of enabling the display for frame count, which can be easily disabled in the RetroArch settings.

ROM Setup

lr-reicast supports ROMs in the same format that MAME supports: ZIPs and CHDs. If a game was distributed on GD-ROM, you'll need both a .ZIP and a .CHD, but if it was only distributed on cartridge, only a .ZIP is necessary.

To ensure that your .ZIPs will work, you can match the contents of a given game's .ZIP with it's entry in this file. For example, let's say we wanted to load Rhythm Tengoku. A quick CTRL-F in the above file gives us this block of code:

// Rhythm Tengoku { "rhytngk", NULL, 0x10000000, 0x5504, "naomi", M4, REGION_JAPAN, ROT0, { { "fpr-24423.ic8", 0x00000000, 0x4000000 }, { "fpr-24424.ic9", 0x04000000, 0x4000000 }, { "fpr-24425.ic10", 0x08000000, 0x4000000 }, { "fpr-24426.ic11", 0x0c000000, 0x4000000 }, { "317-0503-jpn.ic3", 0, 0x800, Key }, { NULL, 0, 0 }, } },

What we're interested in is the list of files (starting after the ROT0 line, and ending at NULL, 0, 0 ); as long as the above filenames are present in a ZIP named rhytngk.zip , the game should be able to boot. Now let's look at the case of a GD-ROM game, Monkey Ball:

// Monkey Ball (GDS-0008) { "monkeyba", NULL, 0x4000, 0, "naomi", GD, REGION_AUSTRALIA, ROT0, { { "317-0307-com.pic", 0, 0x4000 }, { NULL, 0, 0 }, }, "gds-0008", },

Just like Rhythm Tengoku, it's looking for a monkeyba.zip containing a 317-0307-com.pic file, but unlike Rhythm Tengoku, after the list of .ZIP file contents, it lists a gds-0008 . This means that it's looking for a .CHD file named gds-0008.chd , which is a dump of the GD-ROM. You'll need to place this CHD file in the same directory as the ZIP file.

It's worth a mention that, along with the Naomi, Reicast also supports games released for the Sammy Atomiswave, which was another arcade board based on the Dreamcast hardware. Any setup capable of playing Naomi games should be able to run Atomiswave ROMs without any extra effort.

Miscellaneous Notes

This is a list of extra observations and thoughts that I figured were worth mentioning.