N64FlashcartMenu
|
Flashcart Boot Subsystem. More...
Go to the source code of this file.
Data Structures | |
struct | boot_params_t |
Boot Parameters Structure. More... | |
Enumerations | |
enum | boot_device_type_t { BOOT_DEVICE_TYPE_ROM = 0 , BOOT_DEVICE_TYPE_64DD = 1 } |
Boot device type enumeration. More... | |
enum | boot_reset_type_t { BOOT_RESET_TYPE_COLD = 0 , BOOT_RESET_TYPE_NMI = 1 } |
Reset type enumeration. More... | |
enum | boot_tv_type_t { BOOT_TV_TYPE_PAL = 0 , BOOT_TV_TYPE_NTSC = 1 , BOOT_TV_TYPE_MPAL = 2 , BOOT_TV_TYPE_PASSTHROUGH = 3 } |
TV type enumeration. More... | |
Functions | |
void | boot (boot_params_t *params) |
Boot the system with the specified parameters. | |
Flashcart Boot Subsystem.
struct boot_params_t |
Boot Parameters Structure.
Data Fields | ||
---|---|---|
boot_device_type_t | device_type |
Type of boot device |
boot_tv_type_t | tv_type |
TV type |
uint8_t | cic_seed |
CIC seed |
bool | detect_cic_seed |
Flag to detect CIC seed |
uint32_t * | cheat_list |
Pointer to the cheat list |
enum boot_device_type_t |
enum boot_reset_type_t |
enum boot_tv_type_t |
void boot | ( | boot_params_t * | params | ) |
Boot the system with the specified parameters.
params | Pointer to the boot parameters structure. |
Prepare system hardware, load reboot code and IPL3, install cheats, and transfer control to the reboot routine using the provided boot parameters.
This performs CIC detection (and optionally populates the CIC seed), normalizes passthrough TV type, configures and resets CPU/SP/PI/VI/AI state, programs PI DOM timing from the boot device, copies the reboot routine into SP IMEM and IPL3 into SP DMEM, installs cheats, arranges boot-time registers, and jumps to the in-memory reboot entry. If control returns, the function loops indefinitely.
params | Boot configuration and state. Fields read include device_type, tv_type, detect_cic_seed, and cheat_list. On return this function may modify params->tv_type (when passthrough normalization is applied) and params->cic_seed (when detect_cic_seed is true). |