Native32Emu
Native32Emu emulates Sunplus Native32.
About this profile
Technical notes
Emulator for the Sunplus Native32 game format written in Rust by
AloysHF. The libretro core and the native32emu standalone binary share
the native32emu-core crate. Content (.smf, .sgm, .ssl or a .zip
package) is read from its full path (need_fullpath = true,
crates/;
Emulator::from_path, crates/).
The header is decrypted with DES keys compiled into the core
(crates/,
crates/native32emu-core/src/des_constants.rs).
A .zip package is extracted to a temporary directory
(crates/) and booted from
the menu found at its root, FHUI.smf first, then NA32UI.smf. A package
without a root menu boots its only .smf, or the one named like the
archive (crates/,
crates/,
crates/). The Emscripten
build receives the archive already extracted by EmulatorJS and switches to
the root menu when one exists
(crates/,
crates/). Every later file
is resolved relative to the running content and its parent directories,
case-insensitively with trailing spaces trimmed
(crates/): child .smf and
.ssl content (crates/), .dat
thumbnails for the menu (crates/),
.mpg cutscenes (crates/) and
the menu's game listing (crates/).
All of them ship inside the game package. Saves are written to
<content>.ssl_sav beside the content. The Emscripten build asks for the
frontend save directory and writes there instead, under a name flattened
from the content path
(crates/,
crates/,
crates/,
crates/).
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY is defined
(crates/) but nothing
calls it. No include_bytes! data is compiled in.
No BIOS or firmware files required.
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start