docs: note the lower-case rom names bbkemu reads

Upstream 6641863 also accepts 8.bin, E.bin and e.bin, and the Emscripten build looks beside the content (crates/bbkemu-libretro/src/lib.rs:191-218). Same two files, same model directory.
This commit is contained in:
Abdessamad Derraz committed 2026-10-26 23:10:38 +01:00
1 parent 9f58923500
commit 8f3ef27143
1 file changed
+18 -15
+18 -15
View File
@@ -3,8 +3,8 @@ type: standalone + libretro
core_classification: pure_libretro
source: "https://github.com/AloysHF/BBKEmu"
upstream: "https://github.com/AloysHF/BBKEmu"
profiled_date: "2026-09-03"
source_commit: "aef61bd59d5eb65780ace33e288086dd98f709c5"
profiled_date: "2026-10-26"
source_commit: "6641863f6ec59a74635753766e3f9d34adf92b05"
core_version: "0.1.0"
display_name: "BBK - Electronic Dictionary (BBKEmu)"
cores:
@@ -22,11 +22,14 @@ notes: |
Two ROM images are read from the system directory, in one subdirectory
per model: {system}/BBKEmu/<model>/8.BIN, the font ROM mapped at
physical 0x800000-0x9FFFFF, and E.BIN, the OS ROM mapped at
0xE00000-0xFFFFFF (crates/bbkemu-libretro/src/lib.rs:187-206,
0xE00000-0xFFFFFF (crates/bbkemu-libretro/src/lib.rs:186-219,
crates/bbkemu-core/src/memory.rs:377-398). The libretro core always
loads content as the A4980 model (crates/bbkemu-libretro/src/lib.rs:470-471),
so only BBKEmu/A4980/ is ever read from RetroArch. Both reads are
std::fs::read guarded by `if let Ok`: a missing file is skipped without
loads content as the A4980 model (crates/bbkemu-libretro/src/lib.rs:491-492),
so only BBKEmu/A4980/ is ever read from RetroArch. The core also accepts
8.bin, and E.bin or e.bin, when the upper-case name is absent. The
Emscripten build used by EmulatorJS looks in the folder of the content
and its BBKEmu/<model>/ subfolder as well. Both reads are std::fs::read
results taken only when they succeed: a missing file is skipped without
any message to the frontend. The image is copied into a 2 MiB
zero-filled buffer (crates/bbkemu-core/src/memory.rs:197-209), and nothing
checks its size or contents.
@@ -46,7 +49,7 @@ notes: |
subdirectory (crates/bbkemu/src/main.rs:108-117, crates/bbkemu/src/main.rs:146-170).
The A4988 model differs by its flash save-area offset and key layout
(crates/bbkemu-core/src/emulator.rs:148-153,
crates/bbkemu-libretro/src/lib.rs:619-628).
crates/bbkemu-libretro/src/lib.rs:640-649).
During init the OS maps its own bank at logical bank D: 0xEA8 for the
A4980 OS, 0xE88 for the A4988 OS (crates/bbkemu-core/src/model.rs:11-13).
@@ -54,9 +57,9 @@ notes: |
(crates/bbkemu-core/src/model.rs:37-49) has no caller. The
include_bytes! font in crates/bbkemu-core/src/font.rs is not declared in
lib.rs and is not compiled. Content arrives through the frontend buffer
(need_fullpath = false, crates/bbkemu-libretro/src/lib.rs:416). Save RAM
(need_fullpath = false, crates/bbkemu-libretro/src/lib.rs:429). Save RAM
is the first 0x14000 bytes of the emulated flash
(crates/bbkemu-libretro/src/lib.rs:840-842).
(crates/bbkemu-libretro/src/lib.rs:861-863).
files:
- name: 8.BIN
@@ -67,11 +70,11 @@ files:
required: true
description: "BBK A-series font ROM"
note: >-
Read whole from {system}/BBKEmu/A4980/8.BIN into the 2 MiB window at
physical 0x800000. A missing file is skipped silently, and the window
Read whole from {system}/BBKEmu/A4980/8.BIN, or 8.bin, into the 2 MiB
window at physical 0x800000. A missing file is skipped silently, and the window
then reads as 0x00 and text drawn through the OS is blank. No size
or hash check. Size is the window the image fills.
source_ref: "crates/bbkemu-libretro/src/lib.rs:187-199, crates/bbkemu-libretro/src/lib.rs:470-471, crates/bbkemu-core/src/memory.rs:8, crates/bbkemu-core/src/memory.rs:197-202, crates/bbkemu-core/src/memory.rs:384-390, crates/bbkemu/src/main.rs:147-158"
source_ref: "crates/bbkemu-libretro/src/lib.rs:191-215, crates/bbkemu-libretro/src/lib.rs:491-492, crates/bbkemu-core/src/memory.rs:8, crates/bbkemu-core/src/memory.rs:197-202, crates/bbkemu-core/src/memory.rs:384-390, crates/bbkemu/src/main.rs:147-158"
- name: E.BIN
path: BBKEmu/A4980/E.BIN
@@ -81,12 +84,12 @@ files:
required: true
description: "BBK A-series OS ROM"
note: >-
Read whole from {system}/BBKEmu/A4980/E.BIN into the 2 MiB window at
physical 0xE00000. The last 256 bytes also serve as the interrupt
Read whole from {system}/BBKEmu/A4980/E.BIN, or E.bin or e.bin, into the
2 MiB window at physical 0xE00000. The last 256 bytes also serve as the interrupt
vector page at 0x0300. A missing file is skipped silently, the OS
init loop times out after 10 million cycles and no game runs. No
size or hash check. Size is the window the image fills.
source_ref: "crates/bbkemu-libretro/src/lib.rs:187-193, crates/bbkemu-libretro/src/lib.rs:201-206, crates/bbkemu-libretro/src/lib.rs:470-471, crates/bbkemu-core/src/memory.rs:9, crates/bbkemu-core/src/memory.rs:204-209, crates/bbkemu-core/src/memory.rs:224-226, crates/bbkemu-core/src/memory.rs:391-397, crates/bbkemu-core/src/emulator.rs:231-252, crates/bbkemu/src/main.rs:159-170"
source_ref: "crates/bbkemu-libretro/src/lib.rs:191-212, crates/bbkemu-libretro/src/lib.rs:216-218, crates/bbkemu-libretro/src/lib.rs:491-492, crates/bbkemu-core/src/memory.rs:9, crates/bbkemu-core/src/memory.rs:204-209, crates/bbkemu-core/src/memory.rs:224-226, crates/bbkemu-core/src/memory.rs:391-397, crates/bbkemu-core/src/emulator.rs:231-252, crates/bbkemu/src/main.rs:159-170"
- name: 8.BIN
standalone_path: system/BBKEmu/A4988/8.BIN