Use psx-gte-core when you need the shared register-shaped math types or a host-side software GTE. Normal PS1 game code usually reaches these types through psx-gte.
How the crate is organized
math defines Vec3I16, Vec3I32 and Mat3I16. transform contains shared transform helpers. state contains the software GTE register state and command execution and is compiled only on non-MIPS targets. The crate reexports its common types at the root.
Integration notes
The PS1 API below excludes the simulator. Open the host API for Gte, its register operations and execute. A host preview using this core is useful during development; it does not replace a console check of the complete program, including CPU timing, interrupts and GPU submission.
The hello-gte example demonstrates the hardware-facing psx-gte layer that consumes these math types.
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
psx-math: all targetsserde(shared repository crate): all targets; optional; features:derive
Cargo features
| Feature | Enables |
|---|---|
default | No additional dependency features |
serde | dep:serde |
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.
5 source and manifest files
Cargo.tomlsrc/lib.rs: Pure-Rust GTE shared math types and host state machine.src/math.rs: Fixed-point math types for GTE inputs/outputs.src/state.rs: GTE -- Geometry Transformation Engine (COP2).src/transform.rs: Composable 3D transform math operating onMat3I16/Vec3I16.