[Guide] Play Non-Arcade systems with FBNeo

How To: Play Non-Arcade systems with FBNeo

This guide describes how to setup your game files to play non-arcade systems using FBNeo. Many (non-arcade) old-school systems work with FBNeo. These sytems currently are:

  • ColecoVision
  • MSX1
  • Sega Game Gear
  • Sega Master System
  • Sega Mega Drive
  • Sega SG-1000
  • PC Engine
  • SuperGrafx
  • ZX Spectrum

You can also play Neo Geo CD games, but that has a slightly different setup. See here on how to play NeoCD games.

Setup

1) Get the latest FBNeo core

Download the latest “Arcade (FinalBurn Neo)” core from the Retroarch Online Updater

2) Get the correct romset and BIOS files

Playing non-arcade games with FB Neo is highly dependant on the romset you are using. The files need to match what FB Neo expects in order for the game to run properly. The current romset is defined in the dat files found here. In general, the FBNeo romset is in sync with the latest MAME romset (but not guaranteed to be exactly the same).

For example, if I want to play Burger Time on ColecoVision, the FBNeo core expects a file name btime.zip with the exact files listed here.

In addition to the game file, FBNeo requires the BIOS file(s) for the associated system to be in the same folder. In the example above, for Burger Time, my game files would include:

...path_to_retroarch_game_directory/ColecoVision (folder)
     btime.zip (ZIP file)
     coleco.zip (ZIP file)

3) Play from Retroarch

From Retroarch, select Load Core, then select Arcade (FinalBurn Neo). After the core is loaded you will see an updated list of available subsystems that FBNeo can play. Select the subsystem of interest, then browse to the game file you want to play.

4) Play from the Command Line

You can load the game by adding the --subsystem XXX argument. The subsystems are defined as follows:

Subsystem Argument
ColecoVision cv
MSX 1 msx
Nec PC-Engine pce
Nec SuperGrafX sgx
Nec TurboGrafx-16 tg
Sega GameGear gg
Sega Master System sms
Sega Megadrive md
Sega SG-1000 sg1k
ZX Spectrum spec

For example, playing the Sega GameGear game Sonic the Hedgehog from the command line:

(Windows Command)
"...\path_to_program\retroarch.exe" -L "...\path_to_cores\cores\fbneo_libretro.dll" --subsystem gg "...\path_to_game_files\gamegear\sonic.zip"
(OSX Command)
/Applications/RetroArch.app/Contents/MacOS/RetroArch -L "/Applications/RetroArch.app/Contents/Resources/cores/fbneo_libretro.dylib" --subsystem gg "...\path_to_game_files\gamegear\sonic.zip"

Alternate Setup

Use subsystem Folder Names

An alternate setup for subsystems is available, allowing you to skip the subsystem command.

With the FBN core option ‘Load Subsystem from Parent Folder’ enabled (which is enabled by default), you can skip the subsystem command. Setup is the same as above, except you need to name the folder all your subsystem roms are in to match the subsystem name. This is particularly helpful for frontends. The possible folder names are as follows (they follow the mame system names):

coleco
gamegear
megadriv
neocd
msx
pce
sg1000
spectrum
sgx
sms
tg16

Example:

...path_to_retroarch_game_directory/coleco (folder)
     btime.zip (FBNeo romset game file)
     coleco.zip (ZIP file)

Then you can simply load the zip or 7z file in Retroarch using the ‘Load Content’ method, and the subsystem is automatically recognized based on the parent folder name. This should also now work with playlists, and Rocketlauncher, etc.

or you can load the game directly from the command line without the subsystem argument:

(Windows Command)
"...\path_to_program\retroarch.exe" -L "...\path_to_cores\cores\fbneo_libretro.dll" "...\path_to_retroarch_game_directory\coleco\btime.zip"

This same method should work for all subsystems that FBNeo supports, including Neo Geo CD.

Notes:

There is a specific benefit initially to running from the command line, as the FBNeo core will print out if it cannot find a (bios) file that it expects to run the game. This is particularly helpful when troubleshooting and making sure you’ve downloaded all the correct files. For example, if I’m trying to run the ColecoVision game Burger Time and I happened to forget to place the bios file in the folder, the command line output would show the following:

[libretro INFO] [FBNEO] Using ROM with good CRC and name btime.1 from archive .../coleco/btime
[libretro INFO] [FBNEO] Using ROM with good CRC and name btime.2 from archive .../coleco/btime
[libretro ERROR] [FBNEO] ROM at index 128 with CRC 0x3aa93ef3 is required ...
[libretro ERROR] [FBNEO] Can't launch this game, some files are missing.

This is giving me the hint that FBNeo tried to find a file with crc 3aa93ef3. The FBNeo DAT file confirms that coleco.zip contains that crc.

Additional Examples

Launch the Sega MegaDrive game Aero the Acrobat

  1. Launch the game in Retroarch by loading the FBNeo Core, then selecting Load MegaDrive subsystem, then point to the game file aero.zip

  2. Launch from the command line with the following:

(Windows Command)
"...\path_to_program\retroarch.exe" -L "...\path_to_cores\cores\fbneo_libretro.dll" --subsystem md "...\path_to_game_files\megadrive\aero.zip"
(OSX Command)
/Applications/RetroArch.app/Contents/MacOS/RetroArch -L "/Applications/RetroArch.app/Contents/Resources/cores/fbneo_libretro.dylib" --subsystem md "/path_to_game_files/megarive/aero.zip"

Launch the ZX Spectrum game R-Type

  1. Launch the game in Retroarch by loading the FBNeo Core, then selecting Load ZX Spectrum subsystem, then point to the game file rtype.zip

  2. Launch from the command line with the following:

(Windows Command)
"...\path_to_program\retroarch.exe" -L "...\path_to_cores\cores\fbneo_libretro.dll" --subsystem spec "...\path_to_game_files\zx3\rtype.zip"
(OSX Command)
/Applications/RetroArch.app/Contents/MacOS/RetroArch -L "/Applications/RetroArch.app/Contents/Resources/cores/fbneo_libretro.dylib" --subsystem spec "/path_to_game_files/zx3/rtype.zip"

Happy Old-School Gaming!

4 Likes

What about Neo Geo CD Games?

Hi. I haven’t been able to load the games from the Retroarch menu, however they can launch from the CLI.

Example: If I try to launch any coleco or msx game from Retroarch menu, in the verbose screen says: [libretro ERROR] [FBNEO] ROM at index 0 with CRC 0x368a25b5 is required…

However that CRC do not appears either in coleco.dat or msx.dat, and it’s the same one in both subsystem. In the other consoles like GameGear which do not requiere bios files, it’s worse, because it says [ERROR] Failed to load content

But nothing else that can lead to the problem.

However launching games from either CLI or a playlist there is no problem (I copy the entry of the recently played game playlist and adapt it as needed). In fact, I can play Sensible Soccer on GameGear with this core, being unable to play it with GenXPlus

I have the bios files in the Retroarch\system directory. Tried copying them to the same directory where games are located and same results.

Using Retroarch 1.7.7, Windows 10 x64, fbneo_libretro.dll downloaded from Core Updater.

If more info is needed let me know.

As far as i can tell, you want to play the btime coleco rom, but somehow it tries loading the arcade version instead (which contains the file with CRC 0x368a25b5). Did you follow this step properly ?

From Retroarch, select Load Core, then select Arcade (FinalBurn Neo). After the core is loaded you will see an updated list of available subsystems that FBNeo can play. Select the subsystem of interest, then browse to the game file you want to play.

I know using the GUI for subsystems has always been problematic for a lot of people. Not exactly sure why, personally i always use the CLI or an external launcher.

CPS1 and CPS2 also run, however, they are rather Slow on the Vita, especially the CPS2 Games

That’s kinda unrelated to the current topic, which is about non-arcade systems, on a sidenote i think you can give a try to cyclone and frameskip core options to improve speed on vita.

I’d update the first post with the new way to load the games, but it looks like editing is locked for some reason (not sure why, maybe mods can enable editing?)

At any rate, if you update to the latest FBNeo core, then you can load subsystems games the ‘normal’ way if the games are located in a folder with the correct subsystem folder name (and the new core option ‘Load Subsystem from Parent Folder’ enabled, which is enabled by default) . The possible folder names are as follows (they follow the mame system names):

coleco
gamegear
megadriv
neocd
msx
pce
sg1000
spectrum
sgx
sms
tg16

Example:

...path_to_retroarch_game_directory/coleco (folder)
     btime.zip (FBNeo romset game file)

Then you can simply load the zip or 7z file in Retroarch using the ‘Load Content’ method. This should also now work with playlists, and Rocketlauncher, etc.

or you can load the game directly from the command line without the subsystem argument:

(Windows Command)
"...\path_to_program\retroarch.exe" -L "...\path_to_cores\cores\fbneo_libretro.dll" "...\path_to_retroarch_game_directory\coleco\btime.zip"

This same method should work for all subsystems that FBNeo supports, including Neo Geo CD.

3 Likes

Very handy addition for old Android frontends that can’t use subsystem switch. Nice work writing this addition up :grinning:.

I don’t know much about FBNeo’s console emulation…Does it offer any advantages over other cores in retroarch. Like blue msx for Coleco?

1 Like

FBNeo has support for “super game module” coleco games, i’m not sure about the support status for this on dedicated coleco cores. Generally dedicated cores are better (and simpler to setup because they don’t require romsets) but i have seen a few exceptions where FBNeo would emulate specific games more properly than dedicated console cores.

NES: since FBNeo is using checksum for the whole rom, im curious as what the headers are for these sets. Scanning my fixed romsets has 262 missing out of 1240