mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05: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.
61 lines
3.2 KiB
YAML
61 lines
3.2 KiB
YAML
emulator: NicaiEmu
|
|
type: standalone + libretro
|
|
core_classification: frozen_snapshot
|
|
source: "https://github.com/AloysHF/CoolbarEmu"
|
|
upstream: "https://github.com/AloysHF/CoolbarEmu"
|
|
profiled_date: "2026-10-21"
|
|
source_commit: "4c9b73f7213b1537d2361a8b1d438857bdcdc798"
|
|
pin_frozen: "the nicaiemu core is this revision, the last one whose .gitlab-ci.yml sets CORENAME: nicaiemu. The next master commit, 7496d513 (PR #78, 2026-10-16), renames the project and its crates to CoolbarEmu and the buildbot recipe to CORENAME: coolbaremu, so later commits build the coolbaremu core, described by coolbaremu.yml."
|
|
core_version: "0.1.0"
|
|
version_basis:
|
|
kind: file
|
|
path: "Cargo.toml"
|
|
pattern: 'version\s+=\s+"([^"]+)'
|
|
display_name: "MStar - Nicai (NicaiEmu)"
|
|
cores:
|
|
- nicaiemu
|
|
systems:
|
|
- coolbar
|
|
|
|
notes: |
|
|
Emulator for Nicai/MStar CBE (Cool Bar Engine) phone games written in
|
|
Rust by AloysHF. The libretro core and the nicaiemu standalone binary
|
|
share the nicaiemu-core crate, and the workspace builds the libretro
|
|
core by default (Cargo.toml:13). The repository was renamed from
|
|
AloysHF/NicaiEmu to AloysHF/CoolbarEmu with PR #78.
|
|
|
|
A .cbe archive is read whole from its full path (need_fullpath = true,
|
|
crates/nicaiemu-libretro/src/libretro/api.rs:181, then load_machine,
|
|
crates/nicaiemu-libretro/src/libretro/api.rs:359-363, then
|
|
CbeArchive::load, crates/nicaiemu-core/src/cbe/archive.rs:68-94). Files
|
|
next to the .cbe (pay kernels, save records, update data) are indexed as
|
|
the guest filesystem (crates/nicaiemu-core/src/machine/mod.rs:1022-1024,
|
|
crates/nicaiemu-core/src/machine/virtual_fs.rs:58-88), and they belong
|
|
to the game.
|
|
|
|
Phone services are implemented in Rust
|
|
(crates/nicaiemu-core/src/machine/services/). Text is decoded as GBK and
|
|
rasterised from the unifont crate compiled into the core (Cargo.toml:35,
|
|
crates/nicaiemu-core/src/machine/drawing.rs:1886). MIDI resources are
|
|
synthesised as decaying sine tones without a sound bank
|
|
(crates/nicaiemu-core/src/audio_engine.rs:270-275), while WAV and MP3 are
|
|
decoded with symphonia.
|
|
|
|
The only system directory read is nicaiemu_orientation.csv, an optional
|
|
user list of CRC32, size and orientation for landscape titles missing
|
|
from the built-in table (crates/nicaiemu-libretro/src/libretro/api.rs:45,
|
|
crates/nicaiemu-libretro/src/libretro/api.rs:365-399,
|
|
crates/nicaiemu-core/src/orientation_profile.rs:132-140). 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/nicaiemu/src/main.rs:104-107, crates/nicaiemu/src/main.rs:152-166,
|
|
crates/nicaiemu/src/main.rs:185-186).
|
|
|
|
The buildbot publishes nicaiemu_libretro next to coolbaremu_libretro, and
|
|
the two cores read different system files: nicaiemu_orientation.csv here,
|
|
coolbaremu_orientation.csv in the coolbaremu core built after the rename.
|
|
|
|
exclusion_note: "The firmware services are reimplemented in the core, glyphs come from the unifont crate and MIDI is synthesised without a bank. The system directory holds only an optional user-written orientation list, and the .info declares firmware_count = 0."
|
|
files: []
|