mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 04:39:06 -05:00
The buildbot serves nicaiemu_libretro (frozen at 4c9b73f7, last built 2026-10-16 05:15) beside coolbaremu_libretro. They are two builds: each reads its own orientation list from the system directory, so both profiles stay, each with its own core name. Both read the same .cbe archives from the same workspace, which builds a standalone binary at both revisions: one system id and one build type for the two.
57 lines
3.1 KiB
YAML
57 lines
3.1 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"
|
|
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: []
|