LeoBootGame LeoBootGame (function)

Executes a reboot

Syntax

#include <PR/leo.h>     /* leo.h */
void LeoBootGame(void *entry);

Description

Note: None of the N64 Disk Drive-related instructions involve ROM DMA (including DMA to the drive's built-in ROM), and in fact, the instructions are designed on the assumption that ROM DMA will not be performed. Please refer to "Section 12: Prohibitions and Precautions" in the N64 Disk Drive Programming Manual to learn more about this.

Reboot refers to the booting of one game from a different game which has already been started up. The game that does the rebooting is called "the activating game," while the game that is rebooted is called the "the activated game". The activated game must be stored on the disk, but the activating game can be stored on either the disk or on a game pak.

The activating game uses the LeoReadDiskID function to check the disk on which the activated game is stored. It then uses the LeoReadWrite function to read the boot segment of the activated game into the RDRAM buffer, and passes that game's start address to entry.

The address passed to entry is the value specified for the boot segment "address" in the activated game's spec file (when omitted, the value becomes 0x80000400). Please note that this value is different from _**SegmentStart (where ** is the name of the boot segment).

To learn about the errors that can occur when loading an activated game, as well as how to handle those errors, please see "Chapter 10: Error Handling Sequences" in the N64 Disk Drive Programming Manual.

For details on rebooting, please see Chapter 15 of the N64 Disk Drive Programming Manual.

Note

There are certain restrictions concerning the use of LeoBootGame. For a detailed discussion, please see Chapter 15 of the N64 Disk Drive Programming Manual.

See Also

LeoReadWrite, LeoReadDiskID

Revision History

04/30/1999 Changed Format