mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 05:53:23 -05:00
45 lines
2.1 KiB
YAML
45 lines
2.1 KiB
YAML
emulator: NicaiEmu
|
|
type: standalone + libretro
|
|
core_classification: pure_libretro
|
|
source: "https://github.com/AloysHF/NicaiEmu"
|
|
upstream: "https://github.com/AloysHF/NicaiEmu"
|
|
profiled_date: "2026-09-03"
|
|
source_commit: "6f2522b1cbbf1f2ceac4ecc06059c59b73ffd1b0"
|
|
core_version: "0.1.0"
|
|
display_name: "MStar - Nicai (NicaiEmu)"
|
|
cores:
|
|
- nicaiemu
|
|
systems:
|
|
- mstar-nicai
|
|
|
|
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. A .cbe archive is read whole from its
|
|
full path (need_fullpath = true,
|
|
crates/nicaiemu-libretro/src/libretro/api.rs:181; load_machine,
|
|
crates/nicaiemu-libretro/src/libretro/api.rs:360-364; CbeArchive::load,
|
|
crates/nicaiemu-core/src/cbe/archive.rs:68-94). Code, scenes, maps,
|
|
actors, scripts, images and audio are sections of that archive, and
|
|
installed resource packages are parsed from the same bytes
|
|
(crates/nicaiemu-core/src/machine/packages.rs).
|
|
|
|
Phone services are implemented in Rust
|
|
(crates/nicaiemu-core/src/machine/services/). The guest file manager is
|
|
an in-memory sandbox that never touches the host disk
|
|
(crates/nicaiemu-core/src/machine/virtual_fs.rs:14-30). Text is decoded
|
|
as GBK and rasterised from the unifont crate compiled into the core
|
|
(crates/nicaiemu-core/src/machine/drawing.rs:58,
|
|
crates/nicaiemu-core/src/machine/drawing.rs:709). MIDI resources are
|
|
synthesised as decaying sine tones without a sound bank
|
|
(crates/nicaiemu-core/src/audio_engine.rs:270-275); WAV and MP3 are
|
|
decoded with symphonia.
|
|
|
|
The libretro crate asks the frontend for no directory. The standalone
|
|
binary reads and writes only the files named by --load-state and
|
|
--save-state (crates/nicaiemu/src/main.rs:162-166). No include_bytes!
|
|
data is compiled in.
|
|
|
|
exclusion_note: "No file is read outside the content: the .cbe archive is the only input, the guest filesystem is in-memory, glyphs come from the unifont crate and MIDI is synthesised without a bank, no directory is requested from the frontend, no data is embedded with include_bytes!, and the .info declares firmware_count = 0."
|
|
files: []
|