Files
libretro/emulators/geolith.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

263 lines
9.0 KiB
YAML

emulator: Geolith
type: libretro
core_classification: official_port
source: "https://github.com/libretro/geolith-libretro"
upstream: "https://gitlab.com/jgemu/geolith"
profiled_date: "2026-08-07"
source_commit: "194024931935eff2092e36fc4f8e53e62ed11097"
upstream_commit: "1bb5a84fbd87dc1f1c510cb3ff81332573e22452"
core_version: "0.4.1"
display_name: "SNK - Neo Geo AES/MVS (Geolith)"
cores:
- geolith
systems:
- snk-neogeo-mvs
- snk-neogeo-aes
- snk-neogeo-cd
notes: |
Geolith emulates the Neo Geo AES, MVS, CD, and CDZ. Cartridge systems use
.NEO format ROMs, CD systems use .cue or .chd disc images. System ROMs come
from MAME-format ZIP archives in the system directory.
Cartridge content opens aes.zip (System Type = AES, default) or neogeo.zip
(MVS and Universe BIOS) (libretro/libretro.c:1222-1225). CD content opens
neocd.zip (Front/Top Loader) or neocdz.zip (CDZ, default, and CD Universe
BIOS) (libretro/libretro.c:1213-1221). Front/Top Loader additionally reads
000-lo.lo from neocdz.zip, so neocdz.zip is needed in every CD mode
(libretro/libretro.c:1232-1239). The Irritating Maze in MVS mode loads
236-bios.sp1 from irrmaze.zip for trackball support. Without it the game
runs but the trackball does not work (libretro/libretro.c:1281-1292).
Inside the opened archive, members are extracted by exact filename
(src/geo.c:174-271). One 68K BIOS is selected by system type and region
(defaults: System Type AES, Region USA):
- AES Japan: neo-po.bin
- AES other regions: neo-epo.bin
- MVS USA: sp-u2.sp1
- MVS Japan: japan-j3.bin
- MVS Asia: sp-45.sp1
- MVS Europe: sp-s2.sp1
- Universe BIOS: uni-bios_4_0.rom
- CD Front Loader: front-sp1.bin
- CD Top Loader: top-sp1.bin
- CDZ: neocd.bin
- CD Universe BIOS: uni-bioscd33.rom
000-lo.lo is required in every mode. Only the Front/Top Loader tolerates
its absence from neocd.zip because it comes from neocdz.zip instead
(src/geo.c:234-243, 273-285). sfix.sfix and sm1.sm1 are required for MVS
and Universe BIOS modes only (src/geo.c:245-267).
The core performs no hash or size validation on System ROMs. CD BIOS family
detection and the optional CD speed hack patches use byte patterns and
apply only when the 68K BIOS is at least 512 KiB (src/geo_cd.c:1888-1910,
1904-1924). Upstream declares the expected archive MD5s through the Jolly
Good API BIOS list (jg.c:220-231), and the md5 fields on the archives below
are copied from it.
files:
# -----------------------------------------------------------
# BIOS archives (MAME format, opened by name in system dir)
# -----------------------------------------------------------
- name: "aes.zip"
system: snk-neogeo-aes
required: true
md5: "ad9585c72130c56f04ae26aae87c289d"
note: "Neo Geo AES System ROMs. Opened when System Type is AES (default)."
source_ref: "source libretro/libretro.c:1222-1225, upstream jg.c:221-222"
- name: "neogeo.zip"
system: snk-neogeo-mvs
required: true
md5: "00dad01abdbf8ea9e79ad2fe11bdb182"
note: "Neo Geo MVS System ROMs. Opened for MVS and Universe BIOS modes."
source_ref: "source libretro/libretro.c:1222-1225, upstream jg.c:223-224"
- name: "neocd.zip"
system: snk-neogeo-cd
required: false
md5: "006a881532f2caffc3fe9fb5593f2ed5"
note: "Neo Geo CD Front/Top Loader System ROMs. Opened only when CD System is front or top loader."
source_ref: "source libretro/libretro.c:1213-1220, upstream jg.c:225-226"
- name: "neocdz.zip"
system: snk-neogeo-cd
required: true
md5: "b31a246b69493c35194fe0bac120dc37"
note: "Neo Geo CDZ System ROMs. Opened for CDZ (default) and CD Universe BIOS, and also supplies 000-lo.lo to Front/Top Loader mode."
source_ref: "source libretro/libretro.c:1213-1239, upstream jg.c:227-228"
- name: "irrmaze.zip"
system: snk-neogeo-mvs
required: false
md5: "0e369df30a70e45547cef9e4078dc511"
note: "The Irritating Maze auxiliary BIOS. Loaded in MVS mode for trackball support. On failure the game runs without trackball."
source_ref: "source libretro/libretro.c:1281-1292, upstream jg.c:229-230"
# -----------------------------------------------------------
# aes.zip members
# -----------------------------------------------------------
- name: "neo-epo.bin"
archive: aes.zip
system: snk-neogeo-aes
required: true
size: 131072
crc32: "d27a71f1"
note: "AES 68K BIOS, non-Japan regions. Default for Region USA."
source_ref: "source src/geo.c:178-181"
- name: "neo-po.bin"
archive: aes.zip
system: snk-neogeo-aes
required: false
size: 131072
crc32: "16d0c132"
note: "AES 68K BIOS, Japan region."
source_ref: "source src/geo.c:178-181"
- name: "000-lo.lo"
archive: aes.zip
system: snk-neogeo-aes
required: true
size: 131072
crc32: "5a86cff2"
note: "Zoom lookup table."
source_ref: "source src/geo.c:234-243"
# -----------------------------------------------------------
# neogeo.zip members
# -----------------------------------------------------------
- name: "sp-u2.sp1"
archive: neogeo.zip
system: snk-neogeo-mvs
required: true
size: 131072
crc32: "e72943de"
note: "MVS 68K BIOS, USA. Default for Region USA."
source_ref: "source src/geo.c:183-198"
- name: "japan-j3.bin"
archive: neogeo.zip
system: snk-neogeo-mvs
required: false
size: 131072
crc32: "dff6d41f"
note: "MVS 68K BIOS, Japan."
source_ref: "source src/geo.c:183-198"
- name: "sp-45.sp1"
archive: neogeo.zip
system: snk-neogeo-mvs
required: false
size: 524288
crc32: "03cc9f6a"
note: "MVS 68K BIOS, Asia."
source_ref: "source src/geo.c:183-198"
- name: "sp-s2.sp1"
archive: neogeo.zip
system: snk-neogeo-mvs
required: false
size: 131072
crc32: "9036d879"
note: "MVS 68K BIOS, Europe."
source_ref: "source src/geo.c:183-198"
- name: "uni-bios_4_0.rom"
archive: neogeo.zip
system: snk-neogeo-mvs
required: false
size: 131072
crc32: "a7aab458"
note: "Universe BIOS 4.0, loaded when System Type is Universe BIOS. Emulated hardware type set by the geolith_unibios_hw option."
source_ref: "source src/geo.c:200-203"
- name: "000-lo.lo"
archive: neogeo.zip
system: snk-neogeo-mvs
required: true
size: 131072
crc32: "5a86cff2"
note: "Zoom lookup table."
source_ref: "source src/geo.c:234-243"
- name: "sfix.sfix"
archive: neogeo.zip
system: snk-neogeo-mvs
required: true
size: 131072
crc32: "c2ea0cfd"
note: "System FIX layer tiles. Loaded for MVS and Universe BIOS modes."
source_ref: "source src/geo.c:245-255"
- name: "sm1.sm1"
archive: neogeo.zip
system: snk-neogeo-mvs
required: true
size: 131072
crc32: "94416d67"
note: "Z80 sound BIOS. Loaded for MVS and Universe BIOS modes."
source_ref: "upstream src/geo.c:257-267"
# -----------------------------------------------------------
# neocd.zip members
# -----------------------------------------------------------
- name: "front-sp1.bin"
archive: neocd.zip
system: snk-neogeo-cd
required: false
note: "Neo Geo CD Front Loader 68K BIOS."
source_ref: "source src/geo.c:204-207"
- name: "top-sp1.bin"
archive: neocd.zip
system: snk-neogeo-cd
required: false
note: "Neo Geo CD Top Loader 68K BIOS."
source_ref: "source src/geo.c:208-211"
- name: "000-lo.lo"
archive: neocd.zip
system: snk-neogeo-cd
required: false
size: 131072
crc32: "5a86cff2"
note: "Zoom lookup table. Extraction is attempted but absence is tolerated in Front/Top Loader mode, where the copy in neocdz.zip is used instead."
source_ref: "source src/geo.c:234-243"
# -----------------------------------------------------------
# neocdz.zip members
# -----------------------------------------------------------
- name: "neocd.bin"
archive: neocdz.zip
system: snk-neogeo-cd
required: true
note: "Neo Geo CDZ 68K BIOS. Default for CD content."
source_ref: "source src/geo.c:212-215"
- name: "uni-bioscd33.rom"
archive: neocdz.zip
system: snk-neogeo-cd
required: false
note: "Universe BIOS CD 3.3, loaded when CD System is CD Universe BIOS."
source_ref: "source src/geo.c:216-219"
- name: "000-lo.lo"
archive: neocdz.zip
system: snk-neogeo-cd
required: true
size: 131072
crc32: "5a86cff2"
note: "Zoom lookup table. Read from neocdz.zip in every CD mode, including Front/Top Loader."
source_ref: "source src/geo.c:234-243, 273-285, source libretro/libretro.c:1232-1239"
# -----------------------------------------------------------
# irrmaze.zip member
# -----------------------------------------------------------
- name: "236-bios.sp1"
archive: irrmaze.zip
system: snk-neogeo-mvs
required: false
note: "The Irritating Maze auxiliary 68K BIOS, replaces the MVS BIOS to enable trackball input."
source_ref: "source src/geo.c:286-299, source libretro/libretro.c:1281-1292"