mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 07:33:45 -06:00
Each libretro profile records version_basis and core_version is read there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba 0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build takes its version from git carry the nearest tag in describe form (flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders copied from .info files (Git, SVN) are replaced by the code's statement, and a code that states none is null with kind none.
75 lines
2.7 KiB
YAML
75 lines
2.7 KiB
YAML
emulator: GAM4980
|
|
type: libretro
|
|
core_classification: pure_libretro
|
|
source: "https://github.com/ThisBoringWorld/gam4980"
|
|
upstream: "https://codeberg.org/iyzsong/gam4980"
|
|
profiled_date: "2026-03-23"
|
|
source_commit: "eeaa531b55e7127ab4b5e0bdc5ceba686df59c6a"
|
|
upstream_commit: "32c531d3e7159081afd8dee72e8266153821095d"
|
|
core_version: "0.2"
|
|
version_basis:
|
|
kind: file
|
|
path: "src/libretro.c"
|
|
pattern: 'info->library_version\s+=\s+"([^"]+)'
|
|
display_name: "GAM4980"
|
|
cores:
|
|
- gam4980
|
|
systems:
|
|
- bbk-longman-4980
|
|
|
|
# GAM4980 emulates the BBK Longman 4980 (A4980/A4988) electronic dictionary.
|
|
# Original code from https://codeberg.org/iyzsong/gam4980, based on the
|
|
# BA4988 BBK simulator by Wuyun. Uses a 6502-based CPU with banked ROM access.
|
|
#
|
|
# ROM loading (src/libretro.c:707-746, sys_init):
|
|
# Opens romdir/8.BIN and reads 0x200000 bytes (2 MB) into sys.rom_8 (font ROM).
|
|
# Opens romdir/E.BIN and reads 0x200000 bytes (2 MB) into sys.rom_e (OS ROM).
|
|
# A missing file shows "GAM4980: Missing 8.BIN" (or E.BIN) and the core
|
|
# shuts down through RETRO_ENVIRONMENT_SHUTDOWN.
|
|
#
|
|
# Memory map (src/libretro.c:109-110, 302-305):
|
|
# 0x800000-0x9FFFFF rom_8 (font ROM, 8.BIN)
|
|
# 0xE00000-0xFFFFFF rom_e (OS ROM, E.BIN)
|
|
#
|
|
# No hash validation. No size validation. The .info declares firmware_count=0.
|
|
|
|
notes: |
|
|
Place 8.BIN and E.BIN in the RetroArch system/gam4980/ subdirectory.
|
|
Both files must be 2 MB dumps from a BBK Longman 4980 dictionary:
|
|
8.BIN - font ROM, dumped from address range 0x800000-0x9FFFFF
|
|
E.BIN - OS ROM, dumped from address range 0xE00000-0xFFFFFF
|
|
Game files use the .gam extension.
|
|
|
|
files:
|
|
- name: "gam4980/8.BIN"
|
|
size: 2097152
|
|
required: true
|
|
system: bbk-longman-4980
|
|
note: "Font ROM (2 MB). Loaded at 0x800000."
|
|
source_ref: "source src/libretro.c:730-737"
|
|
|
|
- name: "gam4980/E.BIN"
|
|
size: 2097152
|
|
required: true
|
|
system: bbk-longman-4980
|
|
note: "OS ROM (2 MB). Loaded at 0xE00000."
|
|
source_ref: "source src/libretro.c:739-746"
|
|
|
|
platform_details:
|
|
bios_mapping:
|
|
target: "0x800000-0x9FFFFF (font), 0xE00000-0xFFFFFF (OS) in banked address space"
|
|
source_ref: "src/libretro.c:109-110, 302-305"
|
|
note: |
|
|
sys.rom_8 and sys.rom_e are flat 2 MB arrays. The CPU accesses them
|
|
through bank-switched memory (PA() macro resolves virtual to physical
|
|
address). rom_8_vread and rom_e_vread handle indirect reads via
|
|
the banking system.
|
|
|
|
load_path:
|
|
source_ref: "src/libretro.c:1193-1197"
|
|
note: |
|
|
retro_init() builds the path as {system_directory}/gam4980/ and
|
|
passes it to sys_init(). Files must be named exactly 8.BIN and
|
|
E.BIN (case sensitive on Linux). No .info firmware declarations
|
|
exist, so RetroArch won't warn about missing files at scan time.
|