Use psx-settings for common game preferences, action bindings and high scores. Keep game-specific simulation state in your own save format.
How the crate is organized
The root defines Profile<ACTIONS, SCORES>, validation, encoding/decoding and error types. The default card feature adds save/load helpers over psx-mc; disabling default features leaves the profile and codec available without card persistence.
Integration notes
Initialize a profile from your action map, sanitize user-adjustable values, then encode into a caller-owned buffer. The record includes an explicit version and checksum. Handle missing, incompatible or corrupt records by restoring your chosen defaults. You still choose the filename and save policy for the card helpers, and they don't give the game ownership of every file on a card.
Study the controller example for input handling and the memory-card diagnostic for storage behavior. Neither example uses psx-settings directly.
API, dependencies and source structure
SDK revision f2fec1c301f1. Structure, dependencies and features below come from this revision.
The PS1 reference includes all Cargo features. The manifest below shows which features are enabled by default.
Dependencies
Cargo features
| Feature | Enables |
|---|---|
card | dep:psx-mc |
default | card |
Read the complete manifest and feature comments.
Source layout
The list includes internal implementation and test files. Public modules, types, functions and their signatures are indexed in the API reference above.
2 source and manifest files
Cargo.tomlsrc/lib.rs: Shared, allocator-free game preferences.