N64® Functions Menu

al - Audio Library Functions
etc - String Manipulation Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

## LeoBootGame

Syntax

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

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

Explanation
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 pass 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 about rebooting, please see Chapter 15 of the N64 Disk Drive Programming Manual.

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

- An activated game (a rebooted game) cannot use the LeoBootGame function.

- When executing "make" on an activating game (game doing the rebooting), you must specify the option -B 0 in makedisk (NW version) or in mild (PC version).

- When executing "make" on an activated game, you must specify the option -B 1 in makedisk (NW version) or in mild (PC version).

- You cannot locate an activated game at LBA0.

See Also
LeoReadWrite
LeoReadDiskID

Nintendo® Confidential Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last Updated April, 1999