diff --git a/bios/Other/neo-emu/gngeo_data.zip b/bios/Other/neo-emu/gngeo_data.zip new file mode 100644 index 00000000..a0b71b04 Binary files /dev/null and b/bios/Other/neo-emu/gngeo_data.zip differ diff --git a/bios/Other/neo-emu/rom/cmc42.xor b/bios/Other/neo-emu/rom/cmc42.xor new file mode 100644 index 00000000..5250574a Binary files /dev/null and b/bios/Other/neo-emu/rom/cmc42.xor differ diff --git a/bios/Other/neo-emu/rom/cmc50.xor b/bios/Other/neo-emu/rom/cmc50.xor new file mode 100644 index 00000000..76228f53 Binary files /dev/null and b/bios/Other/neo-emu/rom/cmc50.xor differ diff --git a/bios/Other/nes-emu/palette/Digital Prime (FBX).pal b/bios/Other/nes-emu/palette/Digital Prime (FBX).pal new file mode 100644 index 00000000..4b348f95 Binary files /dev/null and b/bios/Other/nes-emu/palette/Digital Prime (FBX).pal differ diff --git a/bios/Other/nes-emu/palette/Five Reality.pal b/bios/Other/nes-emu/palette/Five Reality.pal new file mode 100644 index 00000000..85ce0d63 Binary files /dev/null and b/bios/Other/nes-emu/palette/Five Reality.pal differ diff --git a/bios/Other/nes-emu/palette/Magnum (FBX).pal b/bios/Other/nes-emu/palette/Magnum (FBX).pal new file mode 100644 index 00000000..3fbfe87c Binary files /dev/null and b/bios/Other/nes-emu/palette/Magnum (FBX).pal differ diff --git a/bios/Other/nes-emu/palette/Smooth V2 (FBX).pal b/bios/Other/nes-emu/palette/Smooth V2 (FBX).pal new file mode 100644 index 00000000..de67c77a Binary files /dev/null and b/bios/Other/nes-emu/palette/Smooth V2 (FBX).pal differ diff --git a/bios/Other/nes-emu/palette/Wavebeam.pal b/bios/Other/nes-emu/palette/Wavebeam.pal new file mode 100644 index 00000000..e02ef187 Binary files /dev/null and b/bios/Other/nes-emu/palette/Wavebeam.pal differ diff --git a/database.json b/database.json index d20f1ae6..bee14163 100644 --- a/database.json +++ b/database.json @@ -1,8 +1,8 @@ { "schema_version": 1, - "generated_at": "2026-08-12T02:19:29Z", - "total_files": 8815, - "total_size": 12290611062, + "generated_at": "2026-08-12T03:11:17Z", + "total_files": 8823, + "total_size": 12290711502, "files": { "520d3d1b5897800af47f92efd2444a26b7a7dead": { "path": "bios/3DO Company/3DO/3do_arcade_saot.bin", @@ -53661,6 +53661,86 @@ "crc32": "26366ed0", "adler32": "ab74d095" }, + "a110c33cdb3bbe17f8dd561f6a5c0160a7dd9dfa": { + "path": "bios/Other/neo-emu/gngeo_data.zip", + "name": "gngeo_data.zip", + "size": 94360, + "sha1": "a110c33cdb3bbe17f8dd561f6a5c0160a7dd9dfa", + "md5": "0f64534edb881583d063c3252b1f1daa", + "sha256": "4977f2c3b824e9ed0eeddb3a197c398b7207e2ae131c03a1c4416380e83594a4", + "crc32": "b78f53e8", + "adler32": "810f0297" + }, + "4b1b4ba452735c55b39d215d926a5d9a55fec754": { + "path": "bios/Other/neo-emu/rom/cmc42.xor", + "name": "cmc42.xor", + "size": 2304, + "sha1": "4b1b4ba452735c55b39d215d926a5d9a55fec754", + "md5": "cdeb275c0067d5fcc5fb75b7bafa5edf", + "sha256": "ff0848bd8f243de054144dd6f1234fb4192df7456f0093cbe09aa62645dcc05a", + "crc32": "86af55af", + "adler32": "ea4a7bbd" + }, + "e947c634549a63a746725a1330df7ae778dde305": { + "path": "bios/Other/neo-emu/rom/cmc50.xor", + "name": "cmc50.xor", + "size": 2816, + "sha1": "e947c634549a63a746725a1330df7ae778dde305", + "md5": "50d78ff7f20ade060577ef721a6e534f", + "sha256": "619e5efccaf3c5756c41fab1e97e128e90f523e3a536455ab8917c2de4a8648f", + "crc32": "eb67fc2d", + "adler32": "80977acc" + }, + "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5": { + "path": "bios/Other/nes-emu/palette/Digital Prime (FBX).pal", + "name": "Digital Prime (FBX).pal", + "size": 192, + "sha1": "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5", + "md5": "68d86ceac5aab1c05430793ccaa33d9c", + "sha256": "667bc5badbca01ea236a8b10f1c2639f2e8e84d4f0773d65f17c3856dce23bb0", + "crc32": "da429d4b", + "adler32": "d2f552a9" + }, + "5008c37920c614e8b471b45ac23118d00162b804": { + "path": "bios/Other/nes-emu/palette/Five Reality.pal", + "name": "Five Reality.pal", + "size": 192, + "sha1": "5008c37920c614e8b471b45ac23118d00162b804", + "md5": "d9e4c54236a1ce841fd648448e342c0b", + "sha256": "27df3505ba3690de763e01a38d26cde7a40318929a3a56c3b22427d347f3a37c", + "crc32": "8fea8e2d", + "adler32": "8f55540c" + }, + "04d7490bb3a284ab266a555c02526f6743756661": { + "path": "bios/Other/nes-emu/palette/Magnum (FBX).pal", + "name": "Magnum (FBX).pal", + "size": 192, + "sha1": "04d7490bb3a284ab266a555c02526f6743756661", + "md5": "39a6306e390640e3f42e0efde82b5b25", + "sha256": "05246e0581400635522dee56ea9902bd82f79ef83fd5bac9e20384c43c063941", + "crc32": "401d12ff", + "adler32": "bd144ee8" + }, + "1e1993f917ec098268a0af15e79b1002bf425e47": { + "path": "bios/Other/nes-emu/palette/Smooth V2 (FBX).pal", + "name": "Smooth V2 (FBX).pal", + "size": 192, + "sha1": "1e1993f917ec098268a0af15e79b1002bf425e47", + "md5": "bf9be1c7e59efda99a279b8d73bf3593", + "sha256": "9db1b5758e41faf126721da5b3bc11ea6aa792faa21f1550de16deda4696c832", + "crc32": "7feabfbd", + "adler32": "a45e534e" + }, + "a33356beefeb0b110464e7d77b3238fc1fb90230": { + "path": "bios/Other/nes-emu/palette/Wavebeam.pal", + "name": "Wavebeam.pal", + "size": 192, + "sha1": "a33356beefeb0b110464e7d77b3238fc1fb90230", + "md5": "cdf46c0366f0649e65a936c80bf6a2b4", + "sha256": "39d76deecbfc98ab660b528fe1505ff912d2801f415f69c1474d8bb404123da9", + "crc32": "b6906508", + "adler32": "35ca53c1" + }, "58807f32c413a0c9db6deb0365f2fac9518e7c86": { "path": "bios/Other/opentyrian/cubetxt1.dat", "name": "cubetxt1.dat", @@ -98317,6 +98397,14 @@ "6e7ad04a00354f1530ab29d7d02fd676": "ac86b9962ac28326dbfcb1af71f3e9f9b2cc3649", "ec49cd59730306b476444c046d9e25fd": "0b7a99c3beccee2b6df0fbe8e8c6db9bbf011de1", "4fb8c78a0641ded54f858feef4d4d359": "c939bb0c356b3388ee371959e0af2d71ffbfb6dc", + "0f64534edb881583d063c3252b1f1daa": "a110c33cdb3bbe17f8dd561f6a5c0160a7dd9dfa", + "cdeb275c0067d5fcc5fb75b7bafa5edf": "4b1b4ba452735c55b39d215d926a5d9a55fec754", + "50d78ff7f20ade060577ef721a6e534f": "e947c634549a63a746725a1330df7ae778dde305", + "68d86ceac5aab1c05430793ccaa33d9c": "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5", + "d9e4c54236a1ce841fd648448e342c0b": "5008c37920c614e8b471b45ac23118d00162b804", + "39a6306e390640e3f42e0efde82b5b25": "04d7490bb3a284ab266a555c02526f6743756661", + "bf9be1c7e59efda99a279b8d73bf3593": "1e1993f917ec098268a0af15e79b1002bf425e47", + "cdf46c0366f0649e65a936c80bf6a2b4": "a33356beefeb0b110464e7d77b3238fc1fb90230", "3f2476d9ff29a06cf9fb85d52302222a": "58807f32c413a0c9db6deb0365f2fac9518e7c86", "2b199deeccab1042fb02b46c47c2a8d0": "ee7dc2eb87e5a75564382efcd95d13554d3835ba", "4229d5532a206aabe7e1fa11a7d8447e": "1ee93623406dc61b50ccb41a97bae769ea15cef2", @@ -116460,6 +116548,30 @@ "rom_config.ini": [ "c939bb0c356b3388ee371959e0af2d71ffbfb6dc" ], + "gngeo_data.zip": [ + "a110c33cdb3bbe17f8dd561f6a5c0160a7dd9dfa" + ], + "cmc42.xor": [ + "4b1b4ba452735c55b39d215d926a5d9a55fec754" + ], + "cmc50.xor": [ + "e947c634549a63a746725a1330df7ae778dde305" + ], + "Digital Prime (FBX).pal": [ + "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5" + ], + "Five Reality.pal": [ + "5008c37920c614e8b471b45ac23118d00162b804" + ], + "Magnum (FBX).pal": [ + "04d7490bb3a284ab266a555c02526f6743756661" + ], + "Smooth V2 (FBX).pal": [ + "1e1993f917ec098268a0af15e79b1002bf425e47" + ], + "Wavebeam.pal": [ + "a33356beefeb0b110464e7d77b3238fc1fb90230" + ], "cubetxt1.dat": [ "58807f32c413a0c9db6deb0365f2fac9518e7c86" ], @@ -130311,6 +130423,12 @@ "bank0.bin": [ "1246203bebf9f04e3bac2df7fc64719304f9f1bd" ], + "neogeo.7z": [ + "df89ef91bbaf84f2a109377fd4b17b0050a163e8" + ], + "neogeo.rar": [ + "df89ef91bbaf84f2a109377fd4b17b0050a163e8" + ], "DevIL.dll": [ "313a23600a169adbe130b1ae1784d8de437ce7d9" ], @@ -135472,6 +135590,14 @@ "976f327f": "ac86b9962ac28326dbfcb1af71f3e9f9b2cc3649", "ff475fd9": "0b7a99c3beccee2b6df0fbe8e8c6db9bbf011de1", "26366ed0": "c939bb0c356b3388ee371959e0af2d71ffbfb6dc", + "b78f53e8": "a110c33cdb3bbe17f8dd561f6a5c0160a7dd9dfa", + "86af55af": "4b1b4ba452735c55b39d215d926a5d9a55fec754", + "eb67fc2d": "e947c634549a63a746725a1330df7ae778dde305", + "da429d4b": "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5", + "8fea8e2d": "5008c37920c614e8b471b45ac23118d00162b804", + "401d12ff": "04d7490bb3a284ab266a555c02526f6743756661", + "7feabfbd": "1e1993f917ec098268a0af15e79b1002bf425e47", + "b6906508": "a33356beefeb0b110464e7d77b3238fc1fb90230", "84e948df": "58807f32c413a0c9db6deb0365f2fac9518e7c86", "bf8e13c9": "ee7dc2eb87e5a75564382efcd95d13554d3835ba", "7b91c5d2": "1ee93623406dc61b50ccb41a97bae769ea15cef2", @@ -144289,6 +144415,14 @@ "bf65f47b8eb34b930cd838193bfaa6e2befd52f23cf2a6fb5e2eab0cd10a31fa": "ac86b9962ac28326dbfcb1af71f3e9f9b2cc3649", "5ff4fd117fe632c57a7c81d15d4eb64ffda3f8cc7204773560159104ae003347": "0b7a99c3beccee2b6df0fbe8e8c6db9bbf011de1", "fbbb1991f822257c5928932b167a48e0886f79e7d779b7d1dd4916eec8c4297e": "c939bb0c356b3388ee371959e0af2d71ffbfb6dc", + "4977f2c3b824e9ed0eeddb3a197c398b7207e2ae131c03a1c4416380e83594a4": "a110c33cdb3bbe17f8dd561f6a5c0160a7dd9dfa", + "ff0848bd8f243de054144dd6f1234fb4192df7456f0093cbe09aa62645dcc05a": "4b1b4ba452735c55b39d215d926a5d9a55fec754", + "619e5efccaf3c5756c41fab1e97e128e90f523e3a536455ab8917c2de4a8648f": "e947c634549a63a746725a1330df7ae778dde305", + "667bc5badbca01ea236a8b10f1c2639f2e8e84d4f0773d65f17c3856dce23bb0": "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5", + "27df3505ba3690de763e01a38d26cde7a40318929a3a56c3b22427d347f3a37c": "5008c37920c614e8b471b45ac23118d00162b804", + "05246e0581400635522dee56ea9902bd82f79ef83fd5bac9e20384c43c063941": "04d7490bb3a284ab266a555c02526f6743756661", + "9db1b5758e41faf126721da5b3bc11ea6aa792faa21f1550de16deda4696c832": "1e1993f917ec098268a0af15e79b1002bf425e47", + "39d76deecbfc98ab660b528fe1505ff912d2801f415f69c1474d8bb404123da9": "a33356beefeb0b110464e7d77b3238fc1fb90230", "2a0bc26ac4a8cdcbe7a145c9b1868a87ecb4335e9787f2f1e5713c965372df2b": "58807f32c413a0c9db6deb0365f2fac9518e7c86", "6604a1dcc264e8b8e98f036a8bc35579e9b90b92eccbc4d7c1effee9785d1580": "ee7dc2eb87e5a75564382efcd95d13554d3835ba", "fcfc9762cd4cfad42feb12d975929de86851b216d4491252c701527e22b55539": "1ee93623406dc61b50ccb41a97bae769ea15cef2", @@ -154733,6 +154867,27 @@ "Machines/MSXturboR/config.ini": [ "0b7a99c3beccee2b6df0fbe8e8c6db9bbf011de1" ], + "rom/cmc42.xor": [ + "4b1b4ba452735c55b39d215d926a5d9a55fec754" + ], + "rom/cmc50.xor": [ + "e947c634549a63a746725a1330df7ae778dde305" + ], + "palette/Digital Prime (FBX).pal": [ + "e37da23fa2c644a40fb6c08dd885a96fd65bf4e5" + ], + "palette/Five Reality.pal": [ + "5008c37920c614e8b471b45ac23118d00162b804" + ], + "palette/Magnum (FBX).pal": [ + "04d7490bb3a284ab266a555c02526f6743756661" + ], + "palette/Smooth V2 (FBX).pal": [ + "1e1993f917ec098268a0af15e79b1002bf425e47" + ], + "palette/Wavebeam.pal": [ + "a33356beefeb0b110464e7d77b3238fc1fb90230" + ], "roms/108281-001.bin": [ "d108bb99cb1a05d808e6e25cc720da24faee9e7c" ], @@ -163677,6 +163832,7 @@ "c65592330c9dd84011151daed52f9aec926b7e56", "0877ffb4b4d1c18283468be3579b72ed8c22e3ac", "1246203bebf9f04e3bac2df7fc64719304f9f1bd", + "df89ef91bbaf84f2a109377fd4b17b0050a163e8", "313a23600a169adbe130b1ae1784d8de437ce7d9", "d3534cd62d312fe28988c6229c47ab81a3ae1f9e", "30566eda672fef3036fbd3998af3cc9fdcef38e7", diff --git a/emulators/neo-emu.yml b/emulators/neo-emu.yml new file mode 100644 index 00000000..c38dac56 --- /dev/null +++ b/emulators/neo-emu.yml @@ -0,0 +1,307 @@ +emulator: "NEO.emu" +type: standalone +core_classification: community_fork +source: "https://github.com/Rakashazi/emu-ex-plus-alpha" +upstream: "https://github.com/pepone42/gngeo" +profiled_date: "2026-08-12" +source_commit: "1c12fac5ce49badaadff2e2f210dcc30b89f4943" +upstream_commit: "ed06739a7202a87cd0992006628e4748aacd1ce5" +core_version: "1.5.85" +display_name: "SNK - Neo Geo (NEO.emu)" +mode: standalone +cores: + - "neo-emu" + - "NEO.emu" + - "NEO-EMU" +systems: + - snk-neogeo-mvs + - snk-neogeo-aes + +notes: | + Member of the EX Emulator series by Robert Broglia, which targets Android and + Linux (README.md:3,12-13) and keeps iOS and Pandora build shortcuts in the tree + (NEO.emu/ios.mk, NEO.emu/pandora.mk). Published as com.explusalpha.NeoEmu + (NEO.emu/metadata/conf.mk:2-7) and reached by ES-DE through its NEO-EMU find + rule. Gngeo 0.8 by Mathieu Peponas is vendored under NEO.emu/src/gngeo + (NEO.emu/src/gngeo-config.h:143, NEO.emu/src/main/AppMeta.cc:26) and driven by + the app's own video, audio, input and archive layers + (NEO.emu/src/CMakeLists.txt:9-37). The 68000 is Cyclone on arm and Musashi + elsewhere, and the Z80 comes from MD.emu's Genesis Plus GX tree + (NEO.emu/src/CMakeLists.txt:1,22,39-52). + + Cartridge hardware only: no path in the tree opens a disc image or a Neo Geo CD + system ROM. Content is an archive named after its MAME set, tried as .zip, .7z + then .rar (NEO.emu/src/main/unzip.cc:113-132), the set name being the content + file name without its dot extension (EmuFramework/src/EmuSystem.cc:81,90). The + app carries 240 romset definitions and the game list offers 239 of them, neogeo + being the one left out (NEO.emu/src/main/EmuMenuViews.cc:204-445,516-550). + + The BIOS archive is the one thing the user supplies. It is opened as neogeo.zip + in the directory holding the content, not in a system directory + (NEO.emu/src/gngeo/roms.c:1202-1211, NEO.emu/src/main/Main.cc:465-471, + EmuFramework/src/EmuSystem.cc:83). Members are matched on name or on CRC32, + so an image carrying the expected CRC is taken whatever it is called; turning + on Strict ROM Checking, off by default, drops the name test and leaves CRC32 + alone (NEO.emu/src/main/unzip.cc:49-50, NEO.emu/src/main/Main.cc:316-319, + NEO.emu/src/main/system.ccm:87). The archive itself is never hashed. + + Two members are read for every game. 000-lo.lo, the zoom table, ends the load + with "000-lo.lo missing or invalid" when absent (NEO.emu/src/gngeo/roms.c: + 1213-1218). The board fix layer is read as sfix.sfx then sfix.sfix and 0x20000 + bytes of it are converted on the spot (NEO.emu/src/gngeo/roms.c:1220-1235). The + guard in front of it tests HAS_CUSTOM_SFIX_BIOS, which nothing sets: the only + site that would raise it is commented out and definition entries in that region + are skipped at load (NEO.emu/src/gngeo/roms.c:1419-1423,1432-1436). + + One 68K BIOS is read alongside them, chosen by BIOS Type and MVS Region. + BIOS Type defaults to Unibios 2.3 and MVS Region to USA + (NEO.emu/src/main/system.ccm:74-81, NEO.emu/src/main/options.cc:45-46). The + menu offers the six Universe BIOS versions and MVS + (NEO.emu/src/main/EmuMenuViews.cc:127-136); under MVS the region picks + vs-bios.rom for Japan, usa_2slt.bin for USA, asia-s3.rom for Asia and sp-s2.sp1 + for Europe and any other value (NEO.emu/src/gngeo/roms.c:1269-1300, + NEO.emu/src/main/EmuMenuViews.cc:103-116). aes-bios.bin sits on the SYS_HOME + branch, which the menu never selects but which a stored BIOS Type of 1 reaches, + the validity test accepting every value below SYS_MAX + (NEO.emu/src/gngeo/roms.c:1271-1272, NEO.emu/src/gngeo/emu.h:34-43, + NEO.emu/src/main/system.ccm:58,74-77). While a Universe BIOS is selected, its + own switches are exposed and write the console/arcade bit and the region bits + into the memory card (NEO.emu/src/main/EmuMenuViews.cc:559-610,656-658, + NEO.emu/src/main/Main.cc:254-256). + + Five sets bring their own 68K BIOS in the region the definitions call + MAIN_CPU_BIOS and skip that read from the archive: irrmaze with 236-bios.bin, + kf2k3pcb with 271-bios.bin, and ms5pcb, svcpcb and svcpcba with sp-4x.sp1 + (NEO.emu/res/romsets/*.drv, NEO.emu/src/gngeo/roms.c:1237,1408-1412). Six sets + name sm1.sm1 in the audio BIOS region, which is read into a buffer the + emulation never uses (NEO.emu/src/gngeo/roms.c:1034-1039,1413-1418, + roms.h:63). Both regions, and the fix layer region, are exempt from the fatal + path, so a miss there does not end the load + (NEO.emu/src/gngeo/roms.c:1440-1461). + + Every definition names a parent set whose archive is opened next to the game's + own, and a parent that cannot be opened is fatal. Four definitions carry the + no-parent sentinel 0 in that field, so neogeo, ms5pcb, svcpcb and kf2k3pcb end + their load asking for 0.zip (NEO.emu/src/gngeo/roms.c:1364-1371, + NEO.emu/src/main/unzip.cc:113-132). Upstream ends the same load the same way + (src/roms.c:1372-1376). + + The romset definitions and the CMC42/CMC50 key tables ship with the app. On + Android they are assets read through the asset manager; elsewhere they are read + from gngeo_data.zip beside the executable (NEO.emu/src/main/Main.cc:64-67, + 198-206,321-369, imagine/src/base/linux/ApplicationContext.cc:44-47). Upstream + ships the same archive with 237 definitions plus a skin/ set for its own SDL + menu; the app carries 240, adds bbbuster, ironclad, ironclado and totcarib, + drops mslug3n, changes 31 others and keeps no skin, its resource loader being + replaced wholesale (NEO.emu/src/main/Main.cc:321-369, src/resfile.c:71-115, + gngeo.dat/gngeo_data.zip). The two key tables are byte identical to upstream's. + + Divergences from gngeo 0.8 in what is read: upstream passes 0 for every member + CRC, so it verifies nothing and matches on name alone; it knows one Universe + BIOS under the name uni-bios.rom and falls back to a loose uni-bios.rom beside + the archive when the archive lacks it; and it opens the BIOS archive only as + .zip, under a configured rompath (src/roms.c:1217-1320,1078-1087). + + Nothing else is read from outside. The per-game gngeo configuration path is + built and handed to cf_open_file, which is an empty stub, as is + cf_reset_to_default (NEO.emu/src/gngeo/fileio.c:111-139, + NEO.emu/src/gngeoTypes.h:44-45). Transparency pack support is unfinished and + its conf item answers with an empty string (NEO.emu/src/gngeo/roms.c:1097, + NEO.emu/src/gngeo/fileio.c:149-150, NEO.emu/src/main/Main.cc:448-451). The + .gno decoded-ROM cache, the .nv and .memcard backup memory, save states and + NeoEmu.config are written by the app (NEO.emu/src/main/Main.cc:163-184,224-247, + NEO.emu/src/main/AppMeta.cc:27). + +files: + - name: "neogeo.zip" + aliases: ["neogeo.7z", "neogeo.rar"] + system: snk-neogeo-mvs + required: true + load_from: content_dir + description: "Neo Geo system ROMs" + note: >- + Opened from the directory holding the content, as .zip then .7z then .rar. + A failure to open it ends the load with "Can't open BIOS archive + (neogeo.zip)" before any content runs. The container is never hashed. + source_ref: "NEO.emu/src/gngeo/roms.c:1202-1211, NEO.emu/src/main/unzip.cc:113-132, NEO.emu/src/main/Main.cc:465-471" + + - name: "000-lo.lo" + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + crc32: "5a86cff2" + description: "Zoom lookup table" + note: "Read for every game; a miss ends the load." + source_ref: "NEO.emu/src/gngeo/roms.c:1213-1218, NEO.emu/src/gngeo/video.c:757" + + - name: "sfix.sfx" + aliases: ["sfix.sfix"] + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + size: 131072 + crc32: "c2ea0cfd" + description: "Board fix layer tiles" + note: >- + Read as sfix.sfx then retried as sfix.sfix under the same CRC. Read for + every game, the guard that would skip it never being raised, and 0x20000 + bytes are converted from the buffer. + source_ref: "NEO.emu/src/gngeo/roms.c:1220-1235,1419-1423,1432-1436" + + - name: "uni-bios_2_3.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: true + crc32: "27664eb5" + description: "Universe BIOS 2.3" + note: "Default BIOS Type, so the 68K image an untouched install asks for." + source_ref: "NEO.emu/src/gngeo/roms.c:1239-1243, NEO.emu/src/main/system.ccm:74-77, NEO.emu/src/main/EmuMenuViews.cc:129" + + - name: "uni-bios_3_0.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "a97c89a9" + description: "Universe BIOS 3.0" + source_ref: "NEO.emu/src/gngeo/roms.c:1244-1248, NEO.emu/src/main/EmuMenuViews.cc:130" + + - name: "uni-bios_3_1.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "0c58093f" + description: "Universe BIOS 3.1" + source_ref: "NEO.emu/src/gngeo/roms.c:1249-1253, NEO.emu/src/main/EmuMenuViews.cc:131" + + - name: "uni-bios_3_2.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "a4e8b9b3" + description: "Universe BIOS 3.2" + source_ref: "NEO.emu/src/gngeo/roms.c:1254-1258, NEO.emu/src/main/EmuMenuViews.cc:132" + + - name: "uni-bios_3_3.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "24858466" + description: "Universe BIOS 3.3" + source_ref: "NEO.emu/src/gngeo/roms.c:1259-1263, NEO.emu/src/main/EmuMenuViews.cc:133" + + - name: "uni-bios_4_0.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "a7aab458" + description: "Universe BIOS 4.0" + source_ref: "NEO.emu/src/gngeo/roms.c:1264-1268, NEO.emu/src/main/EmuMenuViews.cc:134" + + - name: "usa_2slt.bin" + aliases: ["sp-u2.sp1"] + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "e72943de" + description: "MVS 68K BIOS, USA" + note: >- + Read when BIOS Type is MVS and MVS Region is USA, the default region. The + CRC branch also finds it under the name sp-u2.sp1. + source_ref: "NEO.emu/src/gngeo/roms.c:1279-1282, NEO.emu/src/main/unzip.cc:49-50, NEO.emu/src/main/EmuMenuViews.cc:107" + + - name: "vs-bios.rom" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "f0e8f27d" + description: "MVS 68K BIOS, Japan" + note: "Read when BIOS Type is MVS and MVS Region is Japan." + source_ref: "NEO.emu/src/gngeo/roms.c:1275-1278, NEO.emu/src/main/EmuMenuViews.cc:105" + + - name: "asia-s3.rom" + aliases: ["sp-s3.sp1"] + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "91b64be3" + description: "MVS 68K BIOS, Asia" + note: >- + Read when BIOS Type is MVS and MVS Region is Asia. The CRC branch also + finds it under the name sp-s3.sp1. + source_ref: "NEO.emu/src/gngeo/roms.c:1283-1286, NEO.emu/src/main/unzip.cc:49-50, NEO.emu/src/main/EmuMenuViews.cc:108" + + - name: "sp-s2.sp1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + crc32: "9036d879" + description: "MVS 68K BIOS, Europe" + note: "Read when BIOS Type is MVS and MVS Region is Europe or any other value." + source_ref: "NEO.emu/src/gngeo/roms.c:1287-1291, NEO.emu/src/main/EmuMenuViews.cc:106" + + - name: "aes-bios.bin" + archive: neogeo.zip + system: snk-neogeo-aes + required: false + description: "AES 68K BIOS" + note: >- + Read on the SYS_HOME branch, which no menu entry selects but which a stored + BIOS Type of 1 reaches. No CRC is passed for it, so it is found by name + alone and cannot be found at all while Strict ROM Checking is on. + source_ref: "NEO.emu/src/gngeo/roms.c:1270-1272, NEO.emu/src/gngeo/emu.h:34-43, NEO.emu/src/main/system.ccm:58,74-77, NEO.emu/src/main/unzip.cc:49-50" + + - name: "sm1.sm1" + archive: neogeo.zip + system: snk-neogeo-mvs + required: false + size: 131072 + crc32: "94416d67" + description: "Audio board BIOS" + note: >- + Named in the audio BIOS region by irrmaze, neogeo, svcboot, svcplus, + svcplusa and svcsplus, and reached in this archive by the parent lookup of + irrmaze. The region is exempt from the fatal path and the buffer it lands + in is never read by the emulation. + source_ref: "NEO.emu/res/romsets/irrmaze.drv, NEO.emu/src/gngeo/roms.c:1034-1039,1413-1418,1440-1461, NEO.emu/src/gngeo/roms.h:63" + + - name: "gngeo_data.zip" + system: snk-neogeo-mvs + required: true + bundled: true + category: game_data + description: "Romset definitions and CMC key tables" + note: >- + Holds rom/.drv for 240 sets plus rom/cmc42.xor and rom/cmc50.xor. A + definition is read before anything else and a miss ends the load with + "This game isn't recognized". On Android the members are read as assets + through the asset manager; elsewhere they are read from this archive at the + executable's own directory. + source_ref: "NEO.emu/src/main/Main.cc:64-67,198-206,217-221,321-355, imagine/src/base/linux/ApplicationContext.cc:44-47" + + - name: "cmc42.xor" + path: "rom/cmc42.xor" + archive: gngeo_data.zip + system: snk-neogeo-mvs + required: true + bundled: true + size: 2304 + category: game_data + description: "CMC42 graphics decryption key tables" + note: >- + Read whole and cut into nine 256-byte tables for the CMC42 sprite + descrambler. + source_ref: "NEO.emu/src/gngeo/neocrypt.c:617-634, NEO.emu/src/main/Main.cc:357-369" + + - name: "cmc50.xor" + path: "rom/cmc50.xor" + archive: gngeo_data.zip + system: snk-neogeo-mvs + required: true + bundled: true + size: 2816 + category: game_data + description: "CMC50 graphics and M1 decryption key tables" + note: >- + Read whole and cut into eleven 256-byte tables, the last two addressing the + M1 descrambler. + source_ref: "NEO.emu/src/gngeo/neocrypt.c:635-655, NEO.emu/src/main/Main.cc:357-369"