mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
240 file-level entries used notes: instead of the canonical note: field. verify.py and cross_reference.py only read note:, so these were silently ignored.
70 lines
2.5 KiB
YAML
70 lines
2.5 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"
|
|
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 (src/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 (src/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: "src/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: "src/libretro.c:720-722"
|
|
|
|
platform_details:
|
|
bios_mapping:
|
|
target: "0x800000-0x9FFFFF (font), 0xE00000-0xFFFFFF (OS) in banked address space"
|
|
source_ref: "src/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: "src/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.
|