5.4 Creating Master Data
The master data are data based on a certain fixed format and are used when a 64DD game program that has been debugged by the developer is submitted to Nintendo. After implementing the game, the developer performs the final check in accordance with the flowchart shown in Section 5.2, then submits the data to Nintendo. The tool n64mdisk is used to create the master data, and the batch file mwrite is used to create a final-check disk from the master data. mwrite is generated when n64mdisk creates the master data.
The following describes how to use n64mdisk.
[NW]
% n64mdisk |
[PC]
C> n64mdisk |
With the following input, the file n64mdisk.cfg (default configuration file) is read, and the master data are created according to its contents. The following files are created when the master data are created.
master.d64
Master data
mwrite
A batch file that writes the master data to disk. The final-check disk can be created by entering <mwrite ("<" is the Partner command to run a batch file) in the Partner Command Window. Please be sure to use this final-check disk to complete final debugging of the master data before submitting the data.
mwrite.id
The ID file used by mwrite. This 32-byte file is copied unchanged to the ID area when mwrite is executed. However, the name of the machine that ran mwrite and the time are entered for Factory Line Number and Production Time. For more information, please see "Chapter 6, Disk ID."
Note: When creating master data, be sure to use libleo.a and libultra_rom.a as linking library files . libleo_d.a and libleo_d.a are for debugging use. When submitting master data, also be sure to create the final-check disk using master data with libleo.a and libultra_rom.a linked, and adequately debug with this disk before submission.
[NW]
% n64mdisk n64mdisk.yes |
[PC]
C> n64mdisk n64mdisk.yes |
A configuration file for creating master data (n64mdisk.yes in this example) can also be specified as shown above.
Examples of configuration file are discussed below
USE GWRITE gwrite DISK TYPE AUTO IPL LOAD ADDRESS 0x80000400 RAM START LBA AUTO RAM END LBA AUTO INITIAL CODE NINT GAME VERSION 0 DISK NUMBER 0 DISK USE 0 DESTINATION CODE JAPAN COMPANY CODE 01 FREE AREA 0x123456789abc |
USE GWRITE
Specify NO or gwrite. When NO is specified, a ROM INIT.FILE specification is required. When gwrite is specified, the contents of the gwrite file create data for the master ROM area. If the gwrite file contains a specification for RAM area data, RAM area data are also created. When creating game disk master data, a gwrite file created by makedisk should generally be specified.
Example: USE GWRITE gwrite
Example: USE GWRITE NO
DISK TYPE
Specifies the disk type. Values that can be specified are numeric values from 0 to 6. AUTO can be specified. When AUTO is specified, a disk type is a value that is specified by gwrite. For more information, please see "Section 11.5, Disk Types (ROM and RAM Areas")
Example: DISK TYPE AUTO
Example: DISK TYPE 0
IPL LOAD ADDRESS
Specifies the load address (For information on load addresses, see "Section 11.4, System Area.") If data are created using gwrite, priority is given to the address specified in gwrite when an address is specified by a leowrite -a . . . statement contained in gwrite.
Example: IPL LOAD ADDRESS 0x80000400
IPL LOAD SIZE
Specifies the IPL size (see "Section 11.4, System Area," for information on IPL size). If data are created using gwrite, these data are unnecessary (ignored).
Example: IPL LOAD SIZE 8
ROM INIT. FILE
Specifies an image file for ROM area data. If data are not created using gwrite, this specification is required. If, on the other hand, data are created using gwrite, this specification cannot be performed.
Example: ROM INIT. FILE romimage
RAM START LBA
Specifies the starting LBA for the RAM area data. If AUTO is specified, the starting LBA for the RAM area is set according to the disk type specified by DISK TYPE. Also specify AUTO if no RAM area is used.
Example: RAM START LBA AUTO
Example: RAM START LBA 1500
RAM END LBA
Specifies the ending LBA for the RAM area data. If AUTO is specified, the ending LBA is set by the RAM area image file size specified by gwrite or RAM.INIT.FILE.
Example: RAM END LBA AUTO
Example: RAM END LBA 2000
RAM INIT. FILE
Specifies an image file for the RAM area data.
Example: RAM INIT. FILE ramimage
Note: | If a value is specified for RAM END LBA, the area from the starting LBA for the RAM area to the ending LBA is reserved as RAM area. However, the portion with initial data values not then specified by gwrite or RAM INIT.FILE is embedded at 0xFF. |
For detailed descriptions of the following specifications, please see "Chapter 6, Disk ID"
INITIAL CODE
Specifies the initial code (up to 4 ASCII characters)
Example: INITIAL CODE NINT
GAME VERSION
Specifies the game version (decimal number up to 2 digits long).
Example: GAME VERSION 1
Example: GAME VERSION 99
DISK NUMBER
Specifies the disk number (decimal number up to 2 digits long).
Example: DISK NUMBER 0
Example: DISK NUMBER 99
RAM USE
Specifies the RAM area used (base-16 number up to two digits long). Specifying 1 designates use of the file system recommended by Nintendo. Specify 0 when not using a specific format such as the file system recommended by Nintendo.
RAM USE 0x0
DISK USE
Specifies whether a disk is used.
Example: DISK USE 0
DESTINATION CODE
Specifies the destination code. If the destination is Japan, specify JAPAN or 0. If the destination is the U.S., specify 1.
Example: DESTINATION CODE JAPAN
Example: DESTINATION CODE 1
COMPANY CODE
Specifies the company code of the company that created the game (2-byte ASCII code).
Example: COMPANY CODE 12
FREE AREA
Area where unrestricted data are written (hexadecimal number up to 12 digits long).
Example: FREE AREA 0x123456789abc