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