Why separate Neo Geo system from Arcade?
And a little bit history and tutorial too!
Author: thelostsoul (Tuncay D.)
Date: 2018-11-14 edited on 2020-01-28
A new updated article of this post can be found at: Why split Neo Geo system from Arcade in Retropie?
This little article talks about Neo Geo emulation on the Raspberry Pi 3B within RetroPie. I expect at least basic knowledge to do things like adding games, editing text files and know how to change settings in the emulator.
The main purpose is to explain why I have separate Neo Geo system and how they differ from the arcade machines in my emulation setup. I also briefly cover the history, so you understand how this unique system originated and why this question arises. The whole article will assume a working environment with already playable games. I am not explaining where to get roms or how to install the emulator. If you are new to RetroPie or arcade emulation, then I recommend to look elsewhere first.
I cannot guarantee you everything I wrote is true and correct. I am not an expert and got lost in the woods from time to time. But I just want to share what I know or at least give some reason to go this direction. If you encounter a problem or it does not work as expected, then please head over to the official RetroPie forum. We are mind open to help anybody. If you find something wrong in this article or have any suggestion for improvements, then you are welcome to report.
“First of all, make a backup!” - quote by any intelligent human
Before you do any changes on your setup, make sure you do backup it. The most secure way is it to create image files from your micro sd card (I assume that you use it on Raspberry Pi). At least, you should copy the unedited version of files you are about to modify. There is always a chance of messing it up, so be prepared to restore older known working versions.
Arcade or home console – Why it matters
Simply because there are some fundamental differences; both are using the same Neo Geo system, but for diverse audiences. MVS is designed for the coin operating arcade machines and AES for the home console version. Emulation wise these versions can be selected in the emulator and the games will switch to the other mode (if the mode is available for the game). The exact same rom will then run as if it was on the arcade machine or on the console, depending on the setting.
The arcade version off course uses coin based mechanics, where each spent money will give the player extra life or continue; there is no limit. On the other hand, the console version don’t have the coin mechanics and will have a specific pre defined amount of continues (usually). It works like any other regular game console.
Some games played on the home console offer additions like an option menu or training mode. For a few of them, there are specific home edition roms with slight differences, even tough I couldn’t spot any changes.
Some Neo Geo based games are not officially released for the home console and are strictly speaking only existing as arcade games. As they are working with the same emulator under the hood, they will be playable in the Neo Geo rom folder too, but technically speaking they are still coin based arcade games and not really belong there.
The arcade cabinets used those joysticks and big buttons, whereas the console players could also use a gamepad. On my RetroPie setup I use an portable arcade fightstick on the arcade games and regular SNES like gamepads on the Neo Geo system. Even if it uses the same emulator, I can have different input settings.
A brief history of the Neo Geo system
In a time when 8 bit consoles ruled the world and 16 bit systems was about to arrive the market, SNK was a successful company at the time, creating software for the arcade and home consoles. There was some quite remarkable titles, namely Vanguard, Ikari Warriors, Crystalis and more. Off course, these games happen prior the Neo Geo era and so aren’t compatible with it.
1990 was the year when SNK published a new and unique system for coin based operating arcades, the NEO GEO MVS, which stands for Multi Video System. It was a cartridge based system, where a single game cabinet could hold up multiple swap able game cartridges. SNK also released a home console from this and called it NEO GEO AES, which stands for Advanced Entertainment System. It was essentially the same core as the arcade machines, but designed to be a regular console with gamepads and a single cartridge slot. The console was very expensive and the games wasn’t neither cheaper. The whole system was marketed as 24 bit and so powerful, it was far ahead of its time.
Other systems by SNK
Years later a CD based version of the console came out, but it wasn’t very popular. The games itself was very cheap, due to the CD system and the soundtracks phenomenal, but the loading times was extremely long and killed any sign of fun. A 3D based successor also came out, which was just a fail. Besides these, SNK also did some handhelds. But all these aren’t subject on this article. I concentrate on the classic Neo Geo system only.
How to setup separate MVS and AES emulation
This article not only covers the system bios setting in the emulator, it also briefly talks about the different rom versions. I am talking about Neo Geo emulation on RetroPie, specifically on the Raspberry Pi 3B and my emulator of choose is FBA (FinalBurn Alpha). If you use a different emulator or environment, its fine, but I only cover what I personally use.
Because I use the exact same emulator for the arcade and the home version of the games, some settings are shared. Let’s say I want to play the arcade MVS version of a game and start it from FBA system folder. Press Hotkey+X (or whatever you have for opening the RetroArch menu) and select MVS type in the settings. Then you are fine to play with coin operation, like the actual arcade game. You can always change the MVS to AES, but I like to play MVS only, when I open the games from FBA system. When I want console AES version of the game, I copy the rom to neogeo roms folder and run it as Neo Geo system from main menu in EmulationStation. Here you can also open the RetroArch menu with Hotkey+X and choose your AES bios setting. Now you can play the game as intended on the console version.
At this point you might realize that especially this MVS/AES setting is shared. So, regardless of where you start your game, be it from FBA system or from Neo Geo system, it will only save the last setting. Well, the fix is quite easy, but requires copying files and editing it in text editor. How you do it its up to you, I just tell which files to touch.
The way I solved this problem (big thanks to mediamogul) was by just having two independent settings file for both systems. First create a file at /opt/retropie/configs/neogeo/neogeo-core-options.cfg and make sure it contains the line:
fba-neogeo-mode = "AES"
or if you are using FBNeo (the emulator replacing FBA), you might look for this line (reported by CapNinja):
fbneo-neogeo-mode = "AES"
Now open the file at /opt/retropie/configs/neogeo/retroarch.cfg and make sure it have the line:
core_options_path = "/opt/retropie/configs/neogeo/neogeo-core-options.cfg"
Now, you should be able to setup them individually. Alternatively you can just copy these files from /opt/retropie/configs/fba/ to the neogeo folder. But then don’t forget to edit it and point to the neogeo options file described above. Starting a game from FBA system will have different emulator settings than the games from Neo Geo system.
The solution was provided by mediamogul in this posting: https://retropie.org.uk/forum/topic/16577/neo-geo-folder-is-it-worth-it/34
What about Unibios and what is neogeo.zip?
You may have read or encountered the term Unibios. What is this thing and how is is related to Neo Geo? See, the Neo Geo needs a BIOS file to boot and run, namely the neogeo.zip. In that file the MVS bios for arcade system and the AES for console system is stored. Then there is another third party developed bios, the Unibios, not always not included in neogeo.zip, but you can get it for free and its legal.
Here is a quote from their webpage:
The UNIVERSE BIOS is for owners of MVS or AES hardware that want an easy way to change country region or between Arcade or Console mode on boot. Also included are other features that are not possible using the standard MVS bios.
The UNIVERSE BIOS is also designed to give easy access to things like inserting coins, test mode and memory card management when using the joystick ports only. Of course the BIOS still allows standard operation too.
Then why not using it?
You can think of it as the ultimate bios with most options under single hood. The only problem I have with it is, the setting is per game based and not per system. I would need to change each games setting to my liking and that is not what I want. I just want two independent and consistent default behavior for the systems. If you want read more about bios and how to setup, look no further, look here: https://retropie.org.uk/docs/Neo-Geo/#bios
The right games
Now the system running the correct version is half of the story, the other part is about the games itself. As mentioned earlier there are games using the Neo Geo engine, but didn’t make it as an official console release. If you are like me, then you can go one step further and pick only those console versions. Wikipedia have a complete list for this: https://en.wikipedia.org/wiki/List_of_Neo_Geo_games
First I looked up a title in question in that list, in example “Shock Troopers”. It tells me that the game only got a release as MVS cartridge. So, then I can use the normal base rom for this game on FBA folder and not in Neo Geo folder. Next, I look up “King of Fighters ‘95”, which says that it got a console release.
After that I head over to compatibility list for the emulator at FB Alpha v0.2.97.43 Compatibility list and use Ctrl+F for searching the last found game. There are 4 different entries for the same game:
kof95 The King of Fighters '95 (NGM-084) kof95a The King of Fighters '95 (NGH-084, alternate board) kof95h The King of Fighters '95 (NGH-084) kof95sp The King of Fighters '95 (Special 2017, hack) [Hack]
The first entry is usually the normal MVS rom, in this case kof95. Because this game got a home version, we are interested in that particular rom. You can tell it by the NGH in the title, which means NEO GEO HOME (which is AES) and NGM means NEO GEO MVS. In this case we want kof95h. I did this with all games to ensure having the right version and the right console only games. Be aware, many games don’t have dedicated AES versions (which is NGH in above description), so you can use the normal rom.
Solution to unintentional parents
Quick note: Parent roms are the main roms for specific version of games. Normally a specific rom to work need its parent too.
And that leads to our next problem. The special version of the roms still need its parents to work, in case of kof95h it would need ko95. I only want the home version to appear in my list. The solution to this problem is using kof95 base rom like a bios file and put it in bios folder outside of the rom folder. For this I created in my base BIOS directory a subdirectory (which is /home/pi/RetroPie/BIOS/neogeo in my case) and put all my bios and unintentional parent roms there. You also need to tell your emulator that directory. For this I edited the file located at /opt/retropie/configs/neogeo/retroarch.cfg and made sure this line was found:
system_directory = "~/RetroPie/BIOS/neogeo"
This way the emulator still can find them without showing them up in my games list.
My list of Neo Geo AES roms
3countb.zip galaxyfg.zip kotm2.zip pulstar.zip sonicwi3.zip alpham2.zip garouh.zip kotm.zip ragnagrd.zip spinmast.zip androdun.zip gowcaizr.zip lastbladh.zip rbff1.zip ssideki2.zip aodk.zip gpilots.zip lastbld2.zip rbff2h.zip ssideki3.zip aof2a.zip ironclad.zip lresort.zip rbffspec.zip ssideki4.zip aof3.zip joyjoy.zip magdrop3.zip roboarmy.zip ssideki.zip aof.zip kabukikl.zip maglordh.zip rotdh.zip strhoop.zip bjourney.zip kizuna.zip matrim.zip samsh5sph.zip superspy.zip blazstar.zip kof2000.zip mslug2.zip samsho2.zip svc.zip breakers.zip kof2001h.zip mslug3h.zip samsho3h.zip tophuntrh.zip crsword.zip kof2002.zip mslug4h.zip samsho4.zip tpgolf.zip cyberlip.zip kof2003h.zip mslug5h.zip samshoh.zip trally.zip eightman.zip kof94.zip mslugx.zip savagere.zip twinspri.zip fatfursp.zip kof95h.zip mslug.zip sengoku2.zip viewpoin.zip fatfury1.zip kof96h.zip mutnat.zip sengoku3.zip wakuwak7.zip fatfury2.zip kof97h.zip nam1975.zip sengoku.zip wh2j.zip fatfury3.zip kof98h.zip ninjamas.zip shocktr2.zip whp.zip fbfrenzy.zip kof99h.zip overtop.zip socbrawlh.zip wjammers.zip
Just have in mind that some games need its parents, mostly indicated by a letter “h” at the end.
So, thats it. I hope you enjoyed the small ride and that everything worked out for you. I wrote more than expected and I had a lot of fun with it. If you think about, the article follows a really simple idea behind it, but yet I encountered a lot of problems and complications than initially thought. I hope this helps or helped you out. But please let me tell you once again:
“Make your backup!”
You will thank yourself later if something goes wrong and when you are able to easily recover from backup and revert the latest changes. Have in mind that I am not expert and this article wasn’t planned in the beginning. I lost track about all the steps and re-researched my own steps in the forum. My main language is German, so I apologize if there are some confusing or wrong texts.
I want thank you the community for the help whenever I had a question. If you also need any help, then please come over to Help and Support and ask your question. If you want discuss about this article specifically, then head over to Why separate Neo Geo system from Arcade?.
Relevant discussions at RetroPie forum:
- Why separate Neo Geo system from Arcade?
- Neo Geo folder - is it worth it?
- So when you play Neo Geo games do you use AES or Unibios?
Documentary articles and sites:
- List of Neo Geo games at Wikipedia
- The History of SNK at GameSpot
- SNK Neo-Geo 101: A Beginner’s Guide at Racketboy
Video documentation at YouTube:
Video reviews or other game based content at YouTube:
That escalated quickly, "phew".
It's up now.
Nice work! I've been thinking about finally setting up an AES system here recently and this should be a big help.
pjft last edited by
I had never really thought of setting up an AES system but now I will certainly look into it. :) I had tried it out in the past but the logistics of changing things on demand make it so that I only default to the arcade versions. Thanks!
Clyde last edited by
Wow, what a comprehensive wall of text. 😊 Many thanks! I keep my Neo Geo ROMs from gog.com in the Neo Geo directory with a Unibios and always wanted to put them in AES mode by default. Now thanks to your guide, I'm thinking about hard linking them to the fba directory and using your guide to have an MVS set as well as an AES set.
saccublenda last edited by
I followed the steps that @thelostsoul presented, and I have a problem when trying to modify the emulator configuration using RetroArch gui.
Let's say I add by hand the lines
core_options_path = "/opt/retropie/configs/neogeo/neogeo-core-options.cfg" system_directory = "/home/pi/RetroPie/BIOS/neogeo"
on top of the file /opt/retropie/configs/neogeo/retroarch.cfg. Then I launch the emulator and everything works fine. Then I change something something in the configuration using the RetroArch gui (for example the key bindings), I save the configuration and exit the emulator.
If I examine the file /opt/retropie/configs/neogeo/retroarch.cfg I see that core_options_path and system_directory lines are still there, even if they are moved down somewhere.
Then I launch the emulator again, I try to change something else using the RetroArch gui, I save the configuration and exit the emulator.
Now the core_options_path and system_directory lines are not present anymore in /opt/retropie/configs/neogeo/retroarch.cfg and obviously the emulator fails to launch.
What am I doing wrong?
What am I doing wrong?
Saving the configuration is what's doing it, most likely, since it overwrites the - minimal - config file in the neogeo folder. Note that any core options are automatically saved in the
neogeo-core-options.cfg, so you don't have to explicitly save them.
saccublenda last edited by
@mitu This is weird, since in other emulators when I save the configuration from the RetroArch gui it does not overwrite
retroarch.cfgwith a minimal config file, but it actually saves the current configuration.
It looks like in this case I should leave
retroarch.cfgalone and make all the changes in
neogeo-core-options.cfg, am I right?
It looks like in this case I should leave retroarch.cfg alone and make all the changes in neogeo-core-options.cfg, am I right?
Again, any core options done in the RGUI are automatically saved in that file, you don't need to edit it manually. For other configurations, use the system's
CapNinja last edited by
I know this topic is old, I just want to contribute with something new. It may be obvious but with the FBAlpha transition to FBNeo, you will need to change
fba-neogeo-mode = "AES"
fbneo-neogeo-mode = "AES"
@CapNinja Nice detail. Are you sure the FBNeo does not support this fba-neogeo-mode setting? I'll edit the tutorial to include this info, but before doing it need confirmation if it is required or optional.
CapNinja last edited by
@thelostsoul man, I've tried the original way in a few games (all fatal fury and kizuna encounter) and it failed. After some minutes thinking and reading the log, I've tried to change that part and it worked. But I can't say with 100% certain, because it was just a lucky guess.
@CapNinja Maybe. I will edit the initial posting, thank you for the report.
I have partly rewrote and updated this posting as an article in my new blog: https://thingsiplay.game.blog/2020/02/18/why-split-neo-geo-system-from-arcade-in-retropie/
Cook1e_mr last edited by Cook1e_mr
Hi @thelostsoul , this is a great guide and I have followed it to great success. however I am having one issue in AES mode that I hope you can help with. I assume it is BIOS related. My issue is within AES mode I cannot get the games to play in an English region, how have you gone about this? is there a specific BIOS you are using? or are you having Japanese text?
@Cook1e_mr Okay, I have to admit that this part seems to be a problem and I didn't cover/think about it.
If you go to the FB Neo settings menu in RetroPie, then head over to the option "Force Neo Geo mode". You can change it to "DIPSWITCH" value (not sure if this was available before). When you scroll further down, there is an option "BIOS", which will affect only if you set the previous setting to DIPSWITCH mode. Here you can select the exact BIOS version you want to use. The problem is, I don't have an "AES" in English, like US or Europe.
So, my guess is that the neogeo.zip bios file we have do not have this particular version (maybe). So sorry to say you that, but I have no solution for now. That is probably why the Unibios is so useful, but that is not the solution I was seeking for, as it is per game based and I have no experience with it. Unless someone else comes up with an idea, we are stuck in Japanese versions, guess. I think that I've accepted this long time ago?
(If nothing comes out of this, I would update the article with a warning/note about this problem.)
barbudreadmon last edited by
@barbudreadmon Oh, okay that is at least something! Thanks for pointing that out.
Unfortunately one of the problems remains. This AES Asia is only available, if "Force Neo Geo mode" is set to "DIPSWITCH", which is a game based setting. Do you know a way of using this specific BIOS, whenever Force Neo Geo is set to AES? Which is the point of this article.
barbudreadmon last edited by
pjft last edited by
So, I have this set up and NEOGEO mode is indeed set to "Use BIOS specified in BIOS dipswitch below", and then indeed BIOS is set to "MVS Asia/Europe ver. 6 (1 slot)".
My text is in English.
I don't have this as a game-based setting as far as I'm aware.
/opt/retropie/config/neogeo/retroarch.cfgfile I have
core_options_path = "/opt/retropie/configs/neogeo/neogeo-core-options.cfg"set, and then in that file I have
fbneo-neogeo-mode = "AES"
I don't do anything else in specific, but it does seem to default to MVS Asia/Europe when I start any unplayed game.
On my BIOS folder I have
with the following:
Length Date Time Name --------- ---------- ----- ---- 65536 1996-12-24 23:32 000-lo.lo 131072 1996-12-24 23:32 asia-s3.rom 131072 1996-12-24 23:32 sfix.sfx 131072 1996-12-24 23:32 sm1.sm1 131072 1996-12-24 23:32 sp-e.sp1 131072 1996-12-24 23:32 sp-j2.rom 131072 1996-12-24 23:32 sp-s.sp1 131072 1996-12-24 23:32 sp-s2.sp1 131072 1996-12-24 23:32 usa_2slt.bin 131072 1996-12-24 23:32 vs-bios.rom --------- ------- 1245184 10 files
And on my NeoGeo folder I have this:
with 32 files, but I imagine it's using the former.