mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 05:53:23 -05:00
Upstream moved under 145 profiles: 679 refs shifted and 452 followed a renamed file, against 6,483 that still anchor where they were written. The recale rewrites the located ranges only, keeping the annotations and the sentences that carry them, and 106 pins advance in the same commit because refs and source_commit name one revision or the profile describes two at once. Nothing here was guessed. The 183 refs that are CHANGED, GONE or AMBIGUOUS are untouched, and the 57 profiles holding them keep their old pin until someone reads the diff: profile_sync refuses to recale a profile while any of its refs needs a re-read. trident kept its pin too, its annotated ref being one the writer will not rewrite.
71 lines
2.6 KiB
YAML
71 lines
2.6 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"
|
|
core_version: "0.2"
|
|
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 (libretro.c:692-760, 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).
|
|
# The upstream has error handling (error_msg + RETRO_ENVIRONMENT_SHUTDOWN on
|
|
# missing files). The fork (ThisBoringWorld) removed these checks -- crashes
|
|
# on missing files.
|
|
#
|
|
# Memory map (libretro.c:109-110, 300-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: "libretro.c:716-718"
|
|
|
|
- name: "gam4980/E.BIN"
|
|
size: 2097152
|
|
required: true
|
|
system: bbk-longman-4980
|
|
note: "OS ROM (2 MB). Loaded at 0xE00000."
|
|
source_ref: "libretro.c:720-722"
|
|
|
|
platform_details:
|
|
bios_mapping:
|
|
target: "0x800000-0x9FFFFF (font), 0xE00000-0xFFFFFF (OS) in banked address space"
|
|
source_ref: "libretro.c:109-110, 300-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: "libretro.c:1173-1175"
|
|
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.
|