Skip to main content

Crate rustyn64_cart

Crate rustyn64_cart 

Source
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.
CicBootSecrets
The boot secrets a CIC hands the PIF at power-on.
RomHeader
Parsed cartridge header (the first 0x40 bytes of the ROM image).

Enums§

CartError
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.
SaveType
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.
RdramBus
The shared RDRAM memory bus, as seen by chips that DMA into/out of main RAM.

Functions§

version
Returns the crate version string.