Expand description
rustyn64-cart — PI cart interface + PIF/CIC boot + cartridge saves.
Models the Peripheral Interface (PI) DMA path to the cartridge ROM, the PIF
boot ROM + CIC seed handshake (SI side), and the on-cart save backends
(EEPROM 4k/16k, SRAM, FlashRAM, Controller Pak). This is a skeleton —
the real PI/SI DMA engines, the CIC challenge/response, and the FlashRAM
state machine are roadmap phases left as marked TODOs.
Part of the one-directional chip-crate graph (see docs/architecture.md):
this crate does NOT depend on any other chip crate. The RDP depends on it
ONLY for the shared RDRAM memory-bus trait (RdramBus) — the N64 analog
shared RDRAM access path that the RDP also borrows.
#![no_std] + alloc; only the frontend carries std + unsafe.
Modules§
- pi
- The PI (Peripheral Interface) DMA engine + BSD domain timing registers. The PI (Peripheral Interface) DMA engine (T-14-001).
- pif
- The PIF RAM + the SI joybus frame executor (controllers, EEPROM, Pak). The PIF RAM (64 bytes) + the joybus frame executor.
- save
- The four on-cartridge save backends (SRAM, FlashRAM, EEPROM, Controller Pak). The four on-cartridge save backends + the Controller Pak.
Structs§
- Cart
- PI cart + PIF/CIC + save state — the concrete board.
- CicBoot
Secrets - The boot secrets a CIC hands the PIF at power-on.
- RomHeader
- Parsed cartridge header (the first 0x40 bytes of the ROM image).
Enums§
- Cart
Error - Error type for cartridge loading / parsing.
- Cic
- The CIC (boot-security copy-protection) lockout-chip variant.
- RomFormat
- ROM image byte order, derived from the magic in the first four bytes.
- Save
Type - On-cartridge non-volatile save backend type.
Traits§
- Cartridge
- The cartridge trait. One cart model, parameterized by save type, CIC, and region (ADR 0003) — the N64 has no mapper equivalent.
- Rdram
Bus - The shared RDRAM memory bus, as seen by chips that DMA into/out of main RAM.
Functions§
- version
- Returns the crate version string.