Skip to main content

hle_boot

Function hle_boot 

Source
pub fn hle_boot(system: &mut System, rom: &[u8]) -> Result<(), BootError>
Expand description

HLE-boot a retail ROM.

Seed the state IPL3 expects, copy the cart’s real IPL3 (ROM 0x40..0x1000) into RSP DMEM, and jump to it at 0xA400_0040. IPL3 then copies the game to RDRAM and jumps to the header entry — running the cart’s own bootcode rather than a reimplementation of it. This skips only IPL1/IPL2 (the PIF ROM) and the CIC challenge, which the seed injection stands in for.

This is the pure retail path: an ELF-payload ROM (n64-systemtest) is handled separately by the harness’s seed_ipl3_handoff, not here.

§Errors

BootError::TooSmall if the image is shorter than a 0x1000 boot header.