Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

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.

    Disclaimer

    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.

    Some differences

    • 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.

    The problem

    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 cure

    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.

    Source: http://unibios.free.fr/whatisit.html

    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

    My personal list contains 90 titles and is not complete. You can also download a text file with these
    • romnames only: neogeo-aes.txt
    • custom collection: custom-neogeo-aes.cfg

    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.

    Closing words

    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?.

    Web Links

    Relevant discussions at RetroPie forum:


    Documentary articles and sites:


    Video documentation at YouTube:




    Video reviews or other game based content at YouTube:




  • That escalated quickly, "phew".
    It's up now.


  • Global Moderator

    @thelostsoul

    Nice work! I've been thinking about finally setting up an AES system here recently and this should be a big help.



  • 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!



  • 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.



  • Hello,
    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?


  • Global Moderator

    @saccublenda said in Why separate Neo Geo system from Arcade?:

    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.



  • @mitu This is weird, since in other emulators when I save the configuration from the RetroArch gui it does not overwrite retroarch.cfg with a minimal config file, but it actually saves the current configuration.
    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?


  • Global Moderator

    @saccublenda said in Why separate Neo Geo system from Arcade?:

    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 retroarch.cfg file.



  • 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"
    to this
    fbneo-neogeo-mode = "AES"
    Thanks.



  • @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.



  • @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/



  • 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.)



  • @Cook1e_mr @thelostsoul The name is misleading but "AES Asia" is in english (probably for Taiwan or Hong Kong ?)



  • @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.



  • @thelostsoul said in Why separate Neo Geo system from Arcade?:

    Do you know a way of using this specific BIOS, whenever Force Neo Geo is set to AES?

    Not a huge fan of this solution but it might fallback to the AES asia bios if you remove the AES japan bios from neogeo.zip, otherwise idk



  • 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.

    In my /opt/retropie/config/neogeo/retroarch.cfg file 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

    7e1b8ba354b23999d5f993671c6fa980  neogeo.zip
    

    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:

    956c189b0ac0dd12c1d1f8014a516734  neogeo.zip
    

    with 32 files, but I imagine it's using the former.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.