libretro / fbalpha2012_neogeo

Final Burn Alpha 2012. Port of Final Burn Alpha to Libretro (0.2.97.24). Standalone core for Neo Geo.
12 stars 29 forks source link

This build should support it, but UniBIOS 3.1 is not checked for when UniBIOS core option set. #3

Closed vaguerant closed 8 years ago

vaguerant commented 8 years ago

/fba_cores_neo/src/burner/libretro/libretro.cpp currently lists all the UniBIOS versions 3.0 and below to check for when trying to load UniBIOS as specified in the core options. FBA version 0.2.97.30 supports UniBIOS 3.1, so I would assume that this fork would also. Ideally, the later version would be preferred.

EDIT: Reading from the FBA 0.2.97.30 DAT file, the UniBIOS 3.1 is as follows:

<rom name="uni-bios_3_1.rom" size="131072" crc="0c58093f"/>

I don't know anything about anything, but it may be that all that libretro.cpp needs is the following change, beginning from line 379 (unmodified first) ...

                if(strcmp(szPossibleName, "asia-s3.rom") == 0)
                {
                    if(index < 0) { index = find_rom_by_name((char*)"uni-bios_3_0.rom", list, count); }
                    if(index < 0) { index = find_rom_by_crc(0xA97C89A9, list, count); }count); }

... which would need to be adjusted to read:

                if(strcmp(szPossibleName, "asia-s3.rom") == 0)
                {
                    if(index < 0) { index = find_rom_by_name((char*)"uni-bios_3_1.rom", list, count); }
                    if(index < 0) { index = find_rom_by_crc(0x0C58093F, list, count); }
                    if(index < 0) { index = find_rom_by_name((char*)"uni-bios_3_0.rom", list, count); }
                    if(index < 0) { index = find_rom_by_crc(0xA97C89A9, list, count); }count); }

However, I have zero understanding of whether deeper changes are necessary for this to work.

vaguerant commented 8 years ago

Solved by #4, now merged.