Skip to main content

Module boot

Module boot 

Source
Expand description

Retail cartridge boot — the console boot a real N64 performs, moved here from the test harness so the frontend can boot a game too (both consume it).

Two paths, both modeling real hardware (not a test shortcut):

  • hle_boot — the copyright-clean default. It seeds the state IPL3 expects, copies the cart’s real IPL3 into RSP DMEM, and jumps to it, skipping only the PIF ROM (IPL1/IPL2) and the CIC challenge — which the seed injection stands in for. Deterministic; the seeds are cited constants (docs/accuracy-ledger.md C-32).
  • real_pif_boot — the faithful path (off by default, local-only, never CI-gated: it needs the copyrighted PIF ROM). It runs the console’s real IPL1/IPL2 from the PIF ROM at the reset vector and CIC-verifies the IPL2 checksum (ledger C-33).

The ELF direct-load (seed_ipl3_handoff, for the n64-systemtest ELF payload) is a genuine test facility and stays in rustyn64-test-harness — the core must not acquire a test load-path dependency.

Enums§

BootError
Why a retail boot could not start.

Functions§

cic_seed
The CIC seed word IPL2 leaves in PIF RAM 0x24 (from which the HLE boot reads the s3s7 GPRs). Values from cen64 si/cic.c.
hle_boot
HLE-boot a retail ROM.
real_pif_boot
Real-PIF boot a retail ROM — the faithful path (off by default, local).