Files
libretro/emulators/coolbaremu.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
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.
2026-10-27 19:21:27 +01:00

53 lines
2.2 KiB
YAML

emulator: "CoolbarEmu"
type: standalone + libretro
core_classification: official_port
source: "https://github.com/AloysHF/CoolbarEmu"
upstream: "https://github.com/AloysHF/CoolbarEmu"
profiled_date: "2026-10-17"
source_commit: "88e90440daab0bdc7bc141728b51841e0c730528"
core_version: "v0.2.0"
version_basis:
kind: tag
tag: "v0.2.0"
distance: 0
display_name: "Coolbar (CoolbarEmu)"
cores:
- "coolbaremu"
systems:
- "coolbar"
notes: |
Emulator for Coolbar/CBE applications of Chinese feature phones, written
in Rust. The workspace builds a standalone binary (crates/coolbaremu) and
the libretro core (crates/coolbaremu-libretro), the buildbot builds the
latter only (Cargo.toml:13). Guest ARM/Thumb code runs on the armv4t_emu
crate and the phone firmware services are reimplemented in
crates/coolbaremu-core/src/machine/services. Text is drawn with the unifont
crate compiled into the core (Cargo.toml:35,
crates/coolbaremu-core/src/machine/drawing.rs:1886).
The content is read whole by CbeArchive::load()
(crates/coolbaremu-core/src/cbe/archive.rs:68-73). Files next to the .cbe
(pay kernels, records, update data) are indexed as the guest filesystem
(crates/coolbaremu-core/src/machine/mod.rs:1022-1024,
crates/coolbaremu-core/src/machine/virtual_fs.rs:58-103), and they belong to
the game.
The only system directory read is coolbaremu_orientation.csv, an optional
user list of CRC32, size and orientation for landscape titles missing from
the built-in table (crates/coolbaremu-libretro/src/libretro/api.rs:45,
crates/coolbaremu-libretro/src/libretro/api.rs:369-399,
crates/coolbaremu-core/src/orientation_profile.rs:31-54). A missing file is
logged and the built-in table applies. The standalone binary reads and
writes only the files named on its command line, --orientation-profile,
--screenshot, --save-state and --load-state
(crates/coolbaremu/src/main.rs:105-108, crates/coolbaremu/src/main.rs:153-167,
crates/coolbaremu/src/main.rs:186-187).
files: []
exclusion_note: >
The firmware services are reimplemented in the core and the font is the
embedded unifont crate. The system directory holds only an optional
user-written orientation list.