Boot Procedure

When using the Nintendo 64 development system, the developer needs to run the game loader gload(1P) program to download his prepared ROM image into the cartridge memory on the development board. After the memory image is loaded, gload can optionally read back the memory and verify the contents. It then generates a reset signal to the development board, causing the R4300 to jump to the reset vector where it begins executing the boot code from the PIF rom.

Some of the important tasks performed by the boot code include:

1. Initialize the R4300 CP0 registers

2. Initialize the RCP (such as halt RSP, reset PI, blank video, stop audio)

3. Initialize RDRAM and CPU caches

4. Load 1 MB of game from ROM to RDRAM at physical address 0x00000400

5. Clear RCP status

6. Jump to game code

7. Execute game preamble code (which is similar to crt0.o and is linked to game during makerom process)

   - clear BSS for boot segment (as defined in the spec file)
   - set up boot segment stack pointer
   - jump to boot entry routine

8. Boot entry routine should call osInitialize(3P)

Copyright © 1999 Nintendo of America Inc. All Rights Reserved Nintendo and N64 are registered trademarks of Nintendo Last Updated January, 1999