7.7 Disk Startup and Game Pak ROM Startup


This section describes disk and Game Pak ROM startup. With a single-disk game, for example, the IPL is started, and it starts the game from disk, as described in Chapter 4, "64DD Internal ROM." This type of startup will be referred to as "disk startup." In contrast, with games that use the Game Pak and disk as a set, the Game Pak ROM is first started, and data are read from the disk as the game progresses. This type of startup will be referred to as "Game Pak startup." Following is a summary of the development differences between disk startup and Game Pak ROM startup.

Intialization Function Differences

With disk startup, the LeoCreateLeoManager() function is used, regardless of whether the game was made for Japan or North America. With Game Pak ROM startup, however, the LeoCJCreateLeoManager() function is used with games made for Japan, and the LeoCACreateLeoManager() funciton is used with games created for North America. For details, please see Section 7.1, "Initialization Functions."

Functions Called Immediately after Initialization

With Game Pak ROM startup, a state called "reset status" is entered after initialization. In this state, the POWERONRESET_DEVICERESET_OCCURRED error will occur for any function called. To return to normal status, the program must call the LeoResetClear( ) function.

For details, please see Section 7.1, "Initialization Functions," and "Chapter 10, Error-Handling Sequences."

Checking the RTC (internal clock)

When starting games that use a Game Pak and the RTC, be sure to check the RTC after initialization. For details, please see "Chapter 10, Error-Handling Sequences."

Checking the Memory Expansion Pak

With disk startup, the IPL checks whether a Memory Expansion Pak is inserted. With Game Pak startup, a Game Pak ROM program must perform this check. Use osGetMemSize( ) for this purpose. osGetMemSize()takes no arguments, and it returns the size of RDRAM. A return value of less than 0x00800000 indicates that no Memory Expansion Pak is inserted, and a message is displayed asking the user to insert the pack. For details, please see "Chapter 10, Error-Handling Sequences."

Types of Debugging with 64DD

With disk startup, debugging is performed with a special IPL placed in the Partner emulation ROM (when debugging using Partner) or into ??one side of the Partner's socket pair?? (when debugging with the 64DD). With Game Pak ROM startup, the application program is used instead of these IPLs. For details, please see section Section 5.3, "Debugging During Development."

Other Points to Note