Files
libretro/emulators/geolith.yml
T
Abdessamad Derraz 2a7e7d4237 chore: six more profiles on the tree they describe
gopher2600 and gearsystem cited a blank line one past the fingerprint
comparison and the SG-1000 bootrom guard. fuse cited a glob, which
resolves against nothing: the two machines it means are named now.
gsplus, gopher64 and geolith carried refs from a newer tree than their
pin.
2026-09-05 09:20:40 +02:00

263 lines
8.8 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: "57622ca5aee387867637d51ec553e0d745f6f210"
upstream_commit: "7ed2ef95a446ffb9bf17b6536d24c108310c94da"
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:1243-1246). CD content opens
neocd.zip (Front/Top Loader) or neocdz.zip (CDZ, default, and CD Universe
BIOS) (libretro/libretro.c:1234-1242); Front/Top Loader additionally reads
000-lo.lo from neocdz.zip, so neocdz.zip is needed in every CD mode
(libretro/libretro.c:1253-1260). 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:1312-1323).
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); 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: "libretro/libretro.c:1243-1246, 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: "libretro/libretro.c:1243-1246, 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: "libretro/libretro.c:1234-1241, 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; also supplies 000-lo.lo to Front/Top Loader mode."
source_ref: "libretro/libretro.c:1234-1260, 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: "libretro/libretro.c:1312-1323, 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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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; the copy in neocdz.zip is used instead."
source_ref: "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: "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: "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: "src/geo.c:234-243, 273-285, libretro/libretro.c:1253-1260"
# -----------------------------------------------------------
# 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: "src/geo.c:286-299, libretro/libretro.c:1312-1323"