Use psx-pack to read chunked data produced by the repository's pack writer. It separates format parsing from the CD transfer machinery.
How the crate is organized
The root defines pack headers, entries, checksums and HLZC/LZ4 decompression. cd provides the sector reader and chunk-loading operations; its hardware operations are target-dependent. visibility implements allocation-free visibility-row codecs with explicit strict and clamped policies.
Integration notes
Match the writer's format revision and preserve sector alignment. Size destination buffers for both stored and decompressed payloads. Check missing IDs, bounds and checksums before consuming a chunk. Read SectorReader::prepare carefully: it changes interrupt masking to VBlank-only, which your program must coordinate with other device users.
The hello-pack source demonstrates the complete read/check/decompress path. Its historical fixture generator is absent from this SDK snapshot; the example page describes the expected fixture, because a plain data disc won't pass.
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-io: all targets
Cargo features
This crate declares no Cargo features.
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.
4 source and manifest files
Cargo.tomlsrc/cd.rs: The pack-table scan and chunk streaming, on top of the polled sectorsrc/lib.rs: Guest-side WORLD.PAK parsing and in-place chunk decompression.src/visibility.rs: Allocation-free Quake/GoldSrc visibility RLE.