RetroArch + MAME: any way to save BIOS settings for NEO GEO games?

Hi again, apologies for taking advantage of this forum so much, lately!

I’m having some trouble finding a way to get MAME (0.212) core to save my BIOS settings for NEO GEO games… So far I keep bouncing from FinalBurn Neo to MAME, as my arcade cores of choice, and - while I had no problem setting up FBN to boot all my NEO GEO roms to UniBios 3.3, so I can basically select Japan/Console mode for each of them - I can’t find the same option while on MAME core.

I launch the game, tab into the MAME options menu, and change everything I need, from video settings, to custom controls layout… I can actually swap the BIOS from there too, and it all works fine when I reset the game. The problem is, everything is saved correctly but the BIOS swap, reverting to MVS Europe every time I boot the game.

I checked if MAME options in RetroArch provided a similar setting to FBN, but nothing seemed to do the trick. I also tried and see if I could get some clues by Googling around… No luck unfortunately.

As always, thanks in advance!

1 Like

I think it’s hardcoded in mame to launch in Europe MVS mode, or maybe there’s a config we don’t have access to (i’m on mobile untrooted). I also tried having a neogeo.zip containing only the unibios files, butvthen no neogeo game will start as it ‘needs’ that Europe mvs bios.

1 Like

In the first place some neogeo games aren’t compatible with unibios, and some others have bugs, so that’s dangerous.

Well, if you really want to go that way, you could try tricking MAME by renaming your unibios to whatever filename the european mvs bios has, don’t leave any other file in neogeo.zip though, especially the original mvs bios. I’m not 100% sure but it might work if MAME is loading files by name after trying to load them by crc.

1 Like

[UPDATE]: renaming uni-bios_3_3.rom to sp-s2.sp1 and packing it with the original sfix.sfix, 000-lo.lo and sm1.sm1 works.


Unfortunately this will cause heavy graphical glitches in some games (ignore the fps display :wink: ):

[EDIT] re-added the screenshot, so that the above line make more sense :grin:
This happens without the sfix.sfix , 000-lo.lo and sm1.sm1

2 Likes

Thanks for helping out guys.

To be honest, in my specific case, I don’t even need UniBios, as I don’t mess with it other than for changing region and system… I’d be perfectly fine to be able to boot all my games in genuine AES/Japan mode.

I guess this new scenario doesn’t change things much, am I right?

In MAME there are no options for AES. Apparently it’s excluded on purpose because it’s non-arcade and falls under the purview of MESS. Therefore you have to use the unibios for AES mode. (but the settings won’t save either :frowning: )

If someone is wondering which file corresponds which bios:

NAME FUNCTION BIOS
000-lo.lo (zoomy $0 - 128k) necessary file
japan-j3.bin (mainbios $0 - 128k) Japan MV1B
sfix.sfix (fixedbios $0 - 128k) necessary file
sm1.sm1 (audiobios $0 - 128k) necessary file
sp-1v1_3db8c.bin (mainbios $0 - 128k) Custom Japanese Hotel
sp-45.sp1 (mainbios $0 - 128k) Asia NEO-MVH MV1C
sp-e.sp1 (mainbios $0 - 128k) US MVS (Ver. 1)
sp-j2.sp1 (mainbios $0 - 128k) Japan MVS (Ver. 2)
sp-j3.sp1 (mainbios $0 - 128k) Japan NEO-MVH MV1C
sp-s.sp1 (mainbios $0 - 128k) Europe MVS (Ver. 1)
sp-s2.sp1 (mainbios $0 - 128k) Europe MVS (Ver. 2) (default bios)
sp-s3.sp1 (mainbios $0 - 128k) Asia MV1B
sp-u2.sp1 (mainbios $0 - 128k) US MVS (Ver. 2?)
sp1-j3.bin (mainbios $0 - 128k) Japan MVS (J3, alt)
sp1-u2 (mainbios $0 - 128k) US MVS (4 slot, Ver 2)
sp1-u3.bin (mainbios $0 - 128k) US MVS (U3)
sp1-u4 (mainbios $0 - 128k) US MVS (U4)
sp1.jipan.1024 (mainbios $0 - 128k) Japan MVS (Ver. 1)
uni-bios_1_0.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 1.0)
uni-bios_1_1.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 1.1)
uni-bios_1_2.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 1.2)
uni-bios_1_2o.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 1.2, older?)
uni-bios_1_3.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 1.3)
uni-bios_2_0.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 2.0)
uni-bios_2_1.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 2.1)
uni-bios_2_2.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 2.2)
uni-bios_2_3.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 2.3)
uni-bios_2_3o.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 2.3, older?)
uni-bios_3_0.rom (mainbios $0 - 128k) Universe BIOS (Hack, Ver. 3.0)
uni-bios_3_1.rom (mainbios $0 - 128k) Universe Bios (Hack, Ver. 3.1)
uni-bios_3_2.rom (mainbios $0 - 128k) Universe Bios (Hack, Ver. 3.2)
uni-bios_3_3.rom (mainbios $0 - 128k) Universe Bios (Hack, Ver. 3.3)
vs-bios.rom (mainbios $0 - 128k) Japan MVS (Ver. 3)
1 Like

@ImnoTapLumber

Ah yeah, that makes sense, thanks for explaining. I’ll try and see if it at least saves MVS Japan (I don’t like to play western versions of NEO GEO games), but I suspect it won’t either.

This one is easy: rename one of the Japan MVS files to sp-s2.sp1 doesn’t work apparently it does.

[sorry for the multiple edits]

1 Like

@RaduNastase @BarbuDreadMon @Galdelico:

To use a BIOS other than the default Europe MVS (Ver. 2) you can simple enable Read Configuration in the core settings and create a mame.ini in your /system /mame/ini/ folder with the following settings: (You can even create a game.ini as well for per-game settigs e.g. mslug.ini)

#
# CORE MISC OPTIONS
#
bios                      0

where the bios are numbered as followed:

0	Europe MVS (Ver. 2) (default bios)
1	Europe MVS (Ver. 1)
2	Asia NEO-MVH MV1C
3	Asia MV1B
4	US MVS (Ver. 2?)
5	US MVS (Ver. 1)
6	US MVS (4 slot, Ver 2)
7	US MVS (U4)
8	US MVS (U3)
9	Japan MVS (Ver. 3)
10	Japan MVS (Ver. 2)
11	Japan MVS (Ver. 1)
12	Japan MV1B
13	Japan MVS (J3, alt)
14	Japan NEO-MVH MV1C
15	Custom Japanese Hotel
16	Universe Bios (Hack, Ver. 3.3)
17	Universe Bios (Hack, Ver. 3.2)
18	Universe Bios (Hack, Ver. 3.1)
19	Universe BIOS (Hack, Ver. 3.0)
20	Universe BIOS (Hack, Ver. 2.3)
21	Universe BIOS (Hack, Ver. 2.3, older?)
22	Universe BIOS (Hack, Ver. 2.2)
23	Universe BIOS (Hack, Ver. 2.1)
24	Universe BIOS (Hack, Ver. 2.0)
25	Universe BIOS (Hack, Ver. 1.3)
26	Universe BIOS (Hack, Ver. 1.2)
27	Universe BIOS (Hack, Ver. 1.2, older?)
28	Universe BIOS (Hack, Ver. 1.1)
29	Universe BIOS (Hack, Ver. 1.0)

[NOTE] This will create a 'gamename''biosnumber' folder in /saves/mame/nvram/ and all the changes made in a bios are stored in the saveram as well :tada: .
If you select the bios through the mame-menu, only a ‘gamename’ folder is created with the settings of the default bios (0) and thus no other settings will be saved.

For other use of the mame.ini:

1 Like

@ImnoTapLumber

The mame.ini trick worked perfectly, huge thanks! I set it to 9 (Japanese MVS v.3) which is good enough for me. Also, I noticed how the guide you linked recommends NOT to enable Read and Write Configuration in RetroArch’s core settings, but I can confirm your suggestion to turn Read Configuration ON is correct, as the ini file doesn’t get detected otherwise.

Thanks again! ^_-

1 Like

The Read Configuration = OFF applies only for the hiscore and data plugin on my 2 Windows7 machines. On Linux it is needed to turn it on.
I think it is save to turn it on on all systems.
I will update my guide eventually including the BIOS setting.
But first i will try the settings with Lakka-Generic.x86_64 and Lakka-RPi2.arm for my RPi 3 B+

@Galdelico just out of curiosity , is there a difference in-game depending on the used BIOS?

1 Like

@ImnoTapLumber Pretty major ones, yeah: some games are censored in various ways (white blood in Metal Slug and missing animations in KoF, for example) when you switch from Japanese to European/American BIOS.

I play arcade games on RA very casually, so I don’t really care about highscores and such, but I’ve always hated the changes that were usually made while porting Japanese games to the West.

1 Like

I gown up in Europe: Censored graphics everywhere and 50htz PAL games that are running around 16% slower

1 Like

You don’t need to change the region to disable censorship stuff. In MAME you can press F2 to enter the BIOS menu (or enable “Setting mode” in FBN core options), go to “Setting Up the Soft Dip”, press whichever of the four Neo Geo buttons is confirm (I forget), then go to Slot 1 . Then you can toggle options like blood, violence or flash, press whichever button is back until you get back to the main menu, then press confirm on “Exit”. In FBN you have to turn off the “Setting mode” option when you get a dipswitch error, and then the game will reboot and your setting changes should be saved.

2 Likes

Now i think i found out how this works:

If you enter a different BIOS than the default (0) in the mame.ini,
it will create a 'gamename''biosnumber' folder in /saves/mame/nvram/.
The saveram in this folder will store all changes made in the BIOS as well.

If you select the bios through the mame-menu, only a ‘gamename’ folder is created with the settings of the default bios (0) and thus no other settings will be saved.

In this way you can boot every neo-geo game in e.g. Japan-Console (Jp AES) mode, without re-entering the settings everytime you start the game.

If you want only a specific game to start in *region*/*mode*, you can create a *gamename*.ini and this overrides the mame.ini

1 Like

@Awakened - Ah, that’s great, didn’t know about that yet. I’ll check it out, thank you!

@ImnoTapLumber - Same boat, I’m from EU too. :wink:

Huge thanks once again, I fiddled around with it a bit more, and I noticed that too.

1 Like