# Creating the Startup Disc

1998/12/16 Sega Enterprises, Inc. Technical Support Center

## Specification Changes in the Initial Program !!Important!!

The SYSTEMID specifications for the initial program have been changed.
The handling of the product number code field's branch number has been changed. For details, refer to the description of the product number code field.

## Initial Program

### When creating a boot GD for the Dreamcast system, the system area of the GD must contain an initial program (normally called IP.BIN, but any name may be used).
The content of the initial program differs according to the application.
Here we will describe how to create such an initial program.

## SYSTEM ID Format

The initial program determines various items according to the type of application. Each application must have its own dedicated initial program. The initial program can be divided into several elements.
The part that must be changed by the application developer is contained in the file DC_SDK\SHINOBI\SAMPLE\ETC\IP\SYSTEMID.SRC.
This is an Assembler source file which contains several items, some of which must be set.
The items are explained below, looking at an actual SYSTEMID.SRC file.

> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
> 0000h | Hardware identifier
> 0010h | Hardware vendor's ID
> 0020h | Media ID | Media configuration
> 0030h | Destination area symbol | Peripheral symbol
> 0040h | Product number | Version number
> 0050h | Release date | Reserved
> 0060h | First-read file | Reserved
> 0070h | Manufacturer's ID
> 0080h | Application title
> 0090h
> 00A0h
> 00B0h
> 00C0h
> 00D0h
> 00E0h | Reserved
> 00F0h | Reserved

> Table 1

Hardware identifier
  Specifies the hardware. Cannot be changed.

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  S | E | G | A | (20h) | S | E | G | A | K | A | T | A | N | A | (20h)

  Table 2

Hardware vendor's ID
  Specifies the hardware manufacturer. Cannot be changed.

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  S | E | G | A | (20h) | E | N | T | E | R | P | R | I | S | E | S

  Table 3

Media ID
  This field stores the media's unique number.
  The media ID is calculated from the contents of the product number field and the version number field. Use either the initial program source file generation tool provided or the IPID tool in the BIN directory to make the calculation.
  The resulting four-digit character string is stored in this field.

  0 | 1 | 2 | 3 | 4
  --- | --- | --- | --- | ---
  Media ID (4-digit hexadecimal number as an ASCII character string) | (20h)

  Table 4

  ### Remarks: Using the IPID Tool

  > IPID product number version number [ENTER]
  > Example:
  > IPID T1302-N02 V1.001

  * Be sure to use upper-case and lower-case characters correctly. (Normally, upper case is used.) Also, be sure not to omit the "V" in the version number.

Media information
  Specifies the media configuration.

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  G | D | - | R | O | M | current disc number/total number of discs (pad with 20h)

  Table 5

Destination area symbol
  Specifies the area for which the application is designed.
  There are three areas (Asia including Japan, North/South America, Europe). If a product is designed for multiple areas, all must be specified.
  When an application supports area J, U, or E, write the corresponding letter (either "J," "U," or "E") in this field; if an application does not support any area, insert a space (20h) in this field. The area symbol determines which files have to be linked when creating the IP. For details, refer to the initial program link page.

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
  --- | --- | --- | --- | --- | --- | --- | ---
  Target area (J): Asia | Target area (U): North and South America | Target area (E): Europe | Pad with spaces (20h)

  Table 6

Peripheral symbol
  Specifies the peripherals for which the application is designed. For details, refer to the Peripheral code section.

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
  --- | --- | --- | --- | --- | --- | --- | ---
  Details

  Table 7

Product number
  Specifies the product number which is hard-assigned to every application title.
  If you do not know the product number for the title you are developing, consult with the Software Promotion Group of Sega Enterprises, Inc.
  In the case of a trial version or a complimentary disc, a number called a "part number" is sometimes put in this field instead of the product number.
  Part numbers are obtained in the same manner through our Software Promotions Division.
  The number is inserted into the initial program's product number field. However, you cannot use the number you receive just as it is.
  Adhere to the rules described in the following when inserting the product number.
  - In the case of a Sega title
    In the case of a Sega title, the product code becomes as follows.

    > HDR-aaaa(-bb)

    (-bb is called the branch number and it is only used for special purposes.
    Only the hyphen following HDR is retained in the Sega title product number, other hyphens (in front of the branch number) are removed, and the number is padded with spaces (20h) out to ten digits if required.
    The form therefore becomes like
    HDR-aaaabb
  - In the case of third party title The third party title should have the following structure:

    > T-aaabbM
    > T-aaabbN-cc
    > aaa may sometimes consist of two digits.

    -cc is called the branch number, the character N must always come before the branch number.
    The third party title structure becomes as follows.

    > 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    > --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
    > T | a | a | a | b | b | M | (20h) | (20h) | (20h)

    > Table 8

    > 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    > --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
    > T | a | a | a | b | b | N | (20h) | c | c

    > Table 9

    All hyphens are removed and the branch number will be next to the 9th or 10th digit.
    If there is a gap between the product number and the branch number, it is padded with spaces (20h).
  - In the case of a parts number The parts number will have the following structure.

    > 610-aaaa(-bb)
    > aaaa may sometimes consist of five digits.

    -cc is called the branch number and it is only used for special purposes and as an additional code for regions outside Japan.
    When the parts number is inserted into the product number field, all hyphens are removed and the branch number will be next to the 9th or 10th digit.
    If there is a gap between the parts number and the branch number, the gap is padded with spaces (20h).

    > 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    > --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
    > 6 | 1 | 0 | a | a | a | a | (20h) | (20h) | (20h)

    > Table 10

    > 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    > --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
    > 6 | 1 | 0 | a | a | a | a | (20h) | b | b

    > Table 11

Version number
  Before delivering the master, the version number should be lower than 1.000.
  At delivery of the master, the version number is 1.000, and later revisions have numbers higher than 1.000.

  0 | 1 | 2 | 3 | 4 | 5
  --- | --- | --- | --- | --- | ---
  V | Major version | . | Minor version

  Table 12

Release date
  Total 8 digits (4 year digits and 2 digits each for month and day)

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
  --- | --- | --- | --- | --- | --- | --- | ---
  Year | Month | Date

  Table 13

Reserved
  Pad entirely with spaces (20h).

First-read file
  Specifies the name of the binary file to be read and executed first. Pad the excess portion with spaces (20h).
  The name has up to 8 characters, followed by a period and a 3-character extension. The name must start with a numeral.
  The maximum size is (14MB - 64KB = 146114528 bytes).
  Of 16MB, (16MB - 64KB = 16711680 bytes) is released for the application at the time control moved to application (when main is called).

Manufacturer ID
  Contains the application manufacturer ID.

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  S | E | G | A | (20h) | L | C | - | Company ID (pad with 20h)

  Table 14

  For SEGA titles

  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  S | E | G | A | (20h) | E | N | T | E | R | P | R | I | S | E | S

  Table 15

Application title
  Specifies the application title. The title consists of up to 96 characters. If the number of characters in the title is less than 96, pad the title with spaces (20h).
  There are no naming conventions for application titles.

### Sample SYSTEMID.SRC (from sample IP)

>     ;=======================================================================
>     ;	systemid.src -- System ID sample
>     ;	Copyright(c) SEGA ENTERPRISES, LTD., 1998
>     ;	Ver.1.00(1998-09-01) Written by eMuKei
>     ;=======================================================================
>     	.section IP,code,align=4
>     ;
>     	.sdata	"SEGA SEGAKATANA "	;00:H/W identifier(Do NOT change!)
>     	.sdata	"SEGA ENTERPRISES"	;10:H/W Vendor ID(Do NOT change!)
>     	.sdata	"FC94 ","GD-ROM1/1  "	;20:Media ID / Device information
>     	.sdata	"JUE     ","0799000 "	;30:Area symbols / Peripherals
>     	.sdata  "HDR0900  ","V0.800"	;40:Product number / Version
>     	.sdata	"19980901","        "	;50:Release date / Reserved(Space)
>     	.sdata	"1ST_READ.BIN","    "	;60:1st read file name / Reserved(Space)
>     	.sdata	"SEGA ENTERPRISES"	;70:Maker identifier
>     	.sdata	"SAMPLE GAME     "	;80:Game Title
>     	.sdata	"                "	;90:	;
>     	.sdata	"                "	;a0:	;
>     	.sdata	"                "	;b0:	;
>     	.sdata	"                "	;c0:	;
>     	.sdata	"                "	;d0:	;
>     	.sdata	"                "	;e0:Reserved(Space)
>     	.sdata	"                "	;f0:Reserved(Space)
>     ;
>     	.end
>     ;====== End of file ====================================================

## Peripheral symbol

The minimum button information required for the target application is described here.
If other buttons can be used at the user's option, they are not described here.

### Configuration

- Consists of the following 8 bytes.

+00 | +01 | +02 | +03 | +04 | +05 | +06 | +07
--- | --- | --- | --- | --- | --- | --- | ---
Buttons/Peripherals used | Extended Peripherals used | AV cable type | Operating system information | Reserved (20h)

Table 16

### Buttons/Peripherals used (+00 - +03)

- Use the table below to set the bit for buttons and peripherals that will definitely be used to "1" and calculate a 4-byte hex string to store this information.
- The minimum complement of buttons that will be used by the application should be specified.
- Applications that are designed specifically for the gun, keyboard, or mouse are handled as applications that do not use any buttons.
- Applications that are designed for a gun, keyboard, or mouse but can also be operated by a controller without these peripherals should be specified by the required buttons.

+00 | +01 | +02 | +03
--- | --- | --- | ---
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
Mouse | Gun | Keyboard | Analog Y2 | Analog X2 | Analog Y1 | Analog X1 | Analog L | Analog R | Direction key button 2 | Z | Y | X | D | C | Direction key button 1, A, B START
Peripheral | Button

Table 17

### Extended Peripherals used (+04)

- Use the table below to set the bit for extended peripherals that are supported to "1". Calculate a 4-bit code and store it as a 1-byte hex string.

3 | 2 | 1 | 0
--- | --- | --- | ---
Memory card | Sound input peripheral | Vibration pack etc. | Others

Table 18

### Cable type (+05)

1(31h)
  VGA BOX (preliminary) supported
0(30h)
  VGA BOX (preliminary) not supported

### OS (+06)

1(31h)
  SEGA OS used
0(30h)
  SEGA OS not used

### Not used (+07)

Be sure to fill with spaces (20h).

### Example

1. Application supporting standard controller and Visual Memory

> Buttons used | Direction key button 1, A, B, START, X, Y Analog L, R, X1, Y1
> Peripherals used | None
> Hex code | 0799H
> Character string | "0799" (30H 37H 39H 39H)
> Supported extended peripheral | Visual Memory
> Hex code | 8H
> Character | "8" (38H)
> Supported cable | Standard video cable (VGA not supported)
> OS | OS less(SHINOBI)
> Hex code | 00H
> Peripheral symbol | "0799800 "

> Table 19

2. Application uses Gun and Visual Memory but can also be operated from the controller.

> Buttons used | Direction key button 1, A, B, START
> Peripherals used | GUN
> Hex code | 4001H
> Character string | "4001" (34H 30H 30H 31H)
> Supported extended peripheral | Visual Memory
> Hex code | 8H
> Character | "8" (38H)
> Supported cable | Standard video cable (VGA not supported)
> OS | OS less(SHINOBI)
> Hex code | 00H
> Peripheral symbol | "4001800 "

> Table 20

3. Application can only be controlled by the keyboard, and VGA display can be used.

> Buttons used | None
> Peripherals used | Keyboard
> Hex code | 2000H
> Character string | "2000" (32H 30H 30H 30H)
> Supported extended peripheral | None
> Hex code | 0H
> Character | "0" (30H)
> Supported cable | VGA cable
> OS | OS less(SHINOBI)
> Hex code | 10H
> Peripheral symbol | "2000010 "

> Table 21

4. Application uses controller with direction key buttons, A, B, and START button, Visual Memory, and sound input peripheral.

> Buttons used | Direction key button 1, A, B, START
> Peripherals used | None
> Hex code | 0001H
> Character string | "0001" (30H 30H 30H 31H)
> Supported extended peripheral | Visual Memory, sound input peripheral
> Hex code | CH
> Character | "C" (43H)
> Supported cable | Standard video cable (VGA not supported)
> OS | OS less(SHINOBI)
> Hex code | 00H
> Peripheral symbol | "0001C00 "

> Table 22

## Initial Program Linking

Each application is designed for a certain geographical area. The initial program contains information about which area the application is guaranteed for.
Depending on the area, the files to be linked during initial program creation are different.
Sega supplies area objects for the various area codes, which are used together with the area symbol defined in the system ID of the initial program.
The following 8 area objects are provided.

> Area object | Area
> --- | ---
> | SG_AREJP.OBJ | Asia including Japan | SG_AREUS.OBJ | North/South America | SG_AREEC.OBJ | Europe | SG_ARE00.OBJ | Dummy 0 | SG_ARE01.OBJ | Dummy 1 | SG_ARE02.OBJ | Dummy 2 | SG_ARE03.OBJ | Dummy 3 | SG_ARE04.OBJ | Dummy 4 | SG_ARE05.OBJ | Dummy 5 | SG_ARE06.OBJ | Dummy 6

> Table 23

When linking, a total of 8 areas objects must be linked, using dummy objects used for areas that are not supported.
Unsupported area objects other than dummy objects may not be inserted in link slots.
For example, if an application is designed only for Asia, as indicated by its system ID, the object file SG_AREJP.OBJ and 7 dummy objects must be linked.
If the system ID contents and the linked area objects do not match, security is not unlocked during startup and the disc will not boot.
Area objects are specified in the linker subcommand file. For the IP sample, a file called IP.SUB is provided.
The contents of this file are as follows:

>     ;=======================================================================
>     ;	ip.sub -- Subcommand File for SH Linkage Editor
>     ;	Copyright(c) SEGA ENTERPRISES, LTD., 1998
>     ;	Ver.0.10(1998-01-05) Written by eMuKei
>     ;	Ver.0.60(1998-07-08) Updated by eMuKei
>     ;	Ver.1.00(1998-09-01) Updated by eMuKei
>     ;=======================================================================
>     Input	lib\systemid.obj
>     Input	lib\ip.lib(toc)
>     Input	lib\ip.lib(sg_sec)
>     Input	lib\ip.lib(sg_arejp)
>     Input	lib\ip.lib(sg_areus)
>     Input	lib\ip.lib(sg_areec)
>     Input	lib\ip.lib(sg_are00)
>     Input	lib\ip.lib(sg_are01)
>     Input	lib\ip.lib(sg_are02)
>     Input	lib\ip.lib(sg_are03)
>     Input	lib\ip.lib(sg_are04)
>     Input	lib\ip.lib(sg_ini)
>     Input	lib\aip.obj
>     Input	lib\zero.obj
>     STart	IP(0ac008000)
>     ;Print	ip.map
>     CHeck_section
>     align_section
>     EXIt
>     ;====== End of file ====================================================

The red part is the area object specification.
This part must be changed to match the actual application.

## Play Log Management

One option for the initial program function stores a play log in flash memory; the data in this log is then available for use within applications.
To create an initial program that saves a play log, link with aipf.obj in place of aip.obj.
In addition, indicate the Japanese title and game genre in the ZERO.SRC file when creating the initial program. The Japanese title can be expressed in Shift JIS codes using kanji, kana, letters, numbers, etc. Pad the title with spaces (20h) so that the string consists of 44 bytes in total.
The genre is indicated through bit assignments in a 16-bit field; indicate a hexadecimal value that sets the bits corresponding to the genres to which the application belongs.

F | E | D | C | B | A | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
0 | 0 | 0 | 0 | NET | GUN | TBL | FIG | OTH | ADV | SIM | DRV | SPT | RPG | SHT | ACT

NET | Net play
GUN | Gun-based
TBL | Table game, puzzle, card game, board game, etc.
FIG | Fighting
OTH | Other genres
ADV | Adventure
SIM | Simulation
DRV | Driving
SPT | Sports
RPG | RPG
SHT | Shooting
ACT | Action

Example of ZERO.SRC

>     ;=======================================================================
>     ;   zero.src -- GAME TITLE2 (Japanese) support version!
>     ;   Copyright(c) SEGA ENTERPRISES, LTD., 1998
>     ;   Ver.0.82(1998-10-05) Written by H.Hayashi
>     ;=======================================================================
>          .SECTION IP,CODE,ALIGN=4

>     ;
>     ;   Indicate the title (in Shift JIS) for display on the screen here.
>     ;   The string must be exactly 44 bytes long.
>     ;                S                                          E
>         .sdata	"Japanese Title            "
>     ;
>     ;   Indicate the genre code here.
>     ;   Size: 4 bytes (unsigned long)
>     ;   Notation method:
>     ;
>     ;   Set each bit that corresponds to the genre
>     ;   of the game to "1" and then store the resulting
>     ;   hexadecimal code in long format as the lower 16 bits.
>     ;
>     ;                                   8               4               0
>     ;     |---|---|---|---|NET|GUN|TBL|FIG|OTH|ADV|SIM|DRV|SPT|RPG|SHT|ACT|
>     ;
>     ; NET=Net play
>     ; GUN=Gun-based
>     ; TBL=Table game, puzzle, card game, board game, etc.
>     ; FIG=Fighting
>     ; OTH=Other genres
>     ; ADV=Adventure
>     ; SIM=Simulation
>     ; DRV=Driving
>     ; SPT=Sports
>     ; RPG=RPG
>     ; SHT=Shooting
>     ; ACT=Action
>     ; ---=Unused
>     ;
>         .data.l	H'00000810  ; For a driving game that supports net play
>     ;
>         .end
>     ;====== End of file ====================================================

## Product Number and Company ID

Each application is assigned a product number by Sega.
For example, a product code may look as follows:

> T-16 06 M

This product code is right-aligned.
The letter at the right specifies the destination country. For Japan, this is M, and for other countries, N.
The next two digits are a serial number for products of that manufacturer (i.e. the product number 06 in a series from this manufacturer).
The "T-" part is followed by two or three numerals that indicate the manufacturer. The manufacturer ID in this example is T-16.
It is the same as the Company ID used in the system ID.
In this case, this Product number indicates the 6th software product for the Japanese market of the licensee having the Manufacturing identifier T-16.
For some countries, the product ID may also look as follows:

> T-1606N-05

In this case, the product is designated for a specific foreign country indicated by the -05 part.

Be sure to obtain a proper product ID from Sega Enterprises, Inc. A product ID may not be assigned by the manufacturer on its own.
As for the initial program, a hyphen ("-") after T (after HDR or MK for SEGA titles) in a product ID is dropped and registered.
Example:

> T1606N-05

## Binarization of the Execution Program

To create a startup disc, it is necessary to create the binary data for the application program.
Although we have used an application program called the "ELF file" during development, the ELF file contains information for debugging, etc., and has a format that is designed for operation through a debugger.
However, in order to burn an actual program onto disc, it is necessary to extract just the program and convert the program to binary data.
The easiest method for creating a binary file is to use the makeuser file that is included in the SDK. An examination of the file, starting from line 37, reveals the following description:

>     ######################################################################
>     #
>     #   Various settings (adjust according to the environment)
>     #
>     #=====================================================================
>     #
>     #   Target name.  Also is the base for the file name.
>     #   PROJECT_TYPE Target type.  Also is the extension for the file name.
>     #                       elf ELF format execution file output
>     #                       bin Binary format execution file output
>     #                       lib Library file output
>     #   SECTION_NAME Section name definition.  Serves as common name to each section.
>     #                (The suffix for each section is added in front of this name.)
>     #   DEBUG_FLG    Enables/disables debugging information creation.
>     #                       on  Create debugging information.
>     #                       off Do not create debugging information.
>     #
>     ######################################################################
>     PROJECT_NAME  = sample
>     PROJECT_TYPE  = elf
>     SECTION_NAME  =
>     DEBUG_FLG     = on

Under the default settings, PROJECT_TYPE is "elf," and the file that is created after the build process is an elf file.
If the type is set to "bin," a binary file is produced. (Refer to the underlined portion above.)
If you change the makeuser file and then rebuild the application, a binary file will be produced.

Another method can also be used, using the "ELF2BIN" converter. ELF2BIN creates a bin file directly from and elf file.
Click here for details on how to use ELF2BIN.

## Startup Disc Build

When the SYSTEMID.SRC file and IP.SUB file for an application is completed, the initial program can be built.
Samples for building an initial program are included in the SDK in the directory:
\DC_SDK\SHINOBI\SAMPLE\IP
This directory also contains a batch file called mk.bat which when executed will build the initial program.
After the batch file has run, the following three files are created:

> IP.BIN IP0000.BIN IP00.BIN

Two out of these are used for the Dreamcast disc initial program, depending on the disc type.

> IP0000.BIN | for single density
> IP.BIN | for high density

Simply inserting these files at the appropriate location in CD CRAFT or GD Workshop will result in a bootable Dreamcast disc.
There are five requirements for a disc that has been created as a startup disc:

1. An initial program specifically for the single-density area must exist in the system area of the single-density area.
2. An initial program specifically for the high-density area must exist in the system area of the high-density area.
3. The "first read" file specified by SYSTEMID in the initial program must exist in the GD-ROM.
4. The "first read" file must be located in the outermost track.
5. There must be no files or directories other than the file "0GDTEX.PVR" that come before the "first read" file alphabetically.
   Example:
   If the "first read" file name is "1ST_READ.BIN",
   then file or directory names such as "0.Bin" or
   "1A." are not allowed.

If any files are not fulfilled, this disc is not recognized as for Dreamcast and is not started up.
In addition, if the name of the "first read" file does not match the contents of SYSTEMID in the initial program, or if the first character in the "first read" file name is not a number, startup will not occur.
Details on how to create a self-starting disc using CD CRAFT and GD Workshop are provided below.

### Using CD CRAFT

After you have started up CD CRAFT and have created a new CD script, the following screen appears.

This screen is used to create separate script files for the single-density and high-density areas.
To setup the system area in the single-density area, click the [Settings] button for the single-density area and then, in the upper right corner of the next dialog box that appears, click the [System Area Setup] tag.
Click the "Use system area" checkbox so that it is checked, and then indicate the initial program for the single-density area in the field below.

Follow a similar procedure to register the high-density system area, this time setting the initial program for the high-density area.

Once all settings have been completed, CRAFT automatically generates a CD script file (which is an intermediary format), creates a disc image, and begins writing to the GD-ROM.
CD CRAFT Ver. 2.27 allows creation of a script file that retrieves the first read file name from the Initial Program and automatically locates the first read file in the outermost track. However, the following describes the method where the first read file is manually located in the outermost track.
To locate the first read file in the outermost track, revisions are added to the CD script.
Form of a CD script file is roughly as follows.

> Gd "test.cim"
> Single-density area | Single-density area start | RecordArea SINGLE FileNameType ISO9660L2
> Initial program | SystemArea "C:\ip\ip0000.bin"
> Data track start | Track MODE1
> Volume specification |
>     Volume
>         PrimaryVolume
>         SystemIdentifier            "SEGA SEGAKATANA"
>         VolumeIdentifier            "SAMPLE_GAME_TITLE"
>         VolumeSetIdentifier         "SAMPLE_GAME_TITLE"
>         PublisherIdentifier         "SEGA ENTERPRISES,LTD."
>         DataPreparerIdentifier      "SEGA ENTERPRISES,LTD."
>         CopyrightFileIdentifier     "SMP_CPY.TXT"
>         AbstractFileIdentifier      "SMP_ABS.TXT"
>         BibliographicFileIdentifier "SMP_BIB.TXT"
>         EndPrimaryVolume
>     EndVolume
> File specification |
>         File README.TXT
>             FileSource "C:\readme.txt"
>             EndFileSource
>         EndFile
> Data track end | EndTrack
> Audio track |
>     Track CDDA
>         FileSource "C:\warn_da\warning.da"
>         EndFileSource
>     EndTrack
> Single-density area end | EndRecordArea
> High-density area | High-density area start | RecordArea HIGH FileNameType ISO9660L2
> Initial program | SystemArea "I:\ip\ip.bin"
> Data track A start | Track MODE1
> Volume specification |
>     Volume
>         PrimaryVolume
>         SystemIdentifier            "SEGA SEGAKATANA"
>         VolumeIdentifier            "SAMPLE_GAME_TITLE"
>         VolumeSetIdentifier         "SAMPLE_GAME_TITLE"
>         PublisherIdentifier         "SEGA ENTERPRISES,LTD."
>         DataPreparerIdentifier      "SEGA ENTERPRISES,LTD."
>         CopyrightFileIdentifier     "SMP_CPY.TXT"
>         AbstractFileIdentifier      "SMP_ABS.TXT"
>         BibliographicFileIdentifier "SMP_BIB.TXT"
>         EndPrimaryVolume
>     EndVolume
> Data track A end | EndTrack
> Audio track (GD-DA) |
>     Track CDDA
>         FileSource "C:\warn_da\warning.da"
>         EndFileSource
>     EndTrack
> Data track B start | Track MODE1
> File specification |
>         File 1ST_READ.BIN
>             FileSource "C:\diskroot\1st_read.bin"
>             EndFileSource
>         EndFile
>         File ABC.DAT
>             FileSource "C:\diskroot\abc.dat"
>             EndFileSource
>         EndFile
>         File AIR_LOGO.PVR
>             FileSource "C:\diskroot\air_logo.pvr"
>             EndFileSource
>         EndFile
> Data track B end | EndTrack
> High-density area end | EndRecordArea
> EndGd

Normally, the entries at the start of the CD script file are positioned on the inner tracks. In other words, the later an entry comes, the closer that it is positioned to the outer tracks.
When DA data is placed in a high-density track, the outermost track becomes an audio track; in this case, another data track is added after the audio track.
In the example shown above, this is indicated as "track B."
If data track B is created and the "first read" file is placed there, the "first read" file might not actually be placed in the outermost track if another file also exists in data track B.
Keeping an eye on the portion concerning data track B, we will change the CD script file so that the "first read" file will definitely be located in the outermost track.

>         File 1ST_READ.BIN
>             FileSource "C:\diskroot\1st_read.bin"
>             EndFileSource
>         EndFile
>         File ABC.DAT
>             FileSource "C:\diskroot\abc.dat"
>             EndFileSource
>         EndFile
>         File AIR_LOGO.PVR
>             FileSource "C:\diskroot\air_logo.pvr"
>             EndFileSource
>         EndFile

Originally, because the "first read" file entry comes at the beginning of data track B, it is possible that the "first read" file will not be located in the outermost track.

>         File ABC.DAT
>             FileSource "C:\diskroot\abc.dat"
>             EndFileSource
>         EndFile
>         File AIR_LOGO.PVR
>             FileSource "C:\diskroot\air_logo.pvr"
>             EndFileSource
>         EndFile
>         File 1ST_READ.BIN
>             FileSource "C:\diskroot\1st_read.bin"
>             EndFileSource
>         EndFile

If we change the order as shown above, we can change the layout of all files on the GD-ROM, not just the "first read" file.
It is important to note, however, that the "first read" file can not be located in a subdirectory. The "first read" file must always be located in the GD-ROM root directory.
Once editing is complete, create the image file, write the master disc, and create the GD-ROM.

[Note]

How to burn multiple GDROM discs for master delivery

When delivering the master disc, three completely identical discs must be delivered. Points to be observed are described in the following.
All the three identical discs must have the same time stamp.
If starting by creating the image file using the CD CRAFT, the time stamp will shift and irregularities will occur in the master disc to be delivered.
Accordingly, there may be cases where discs must be submitted again depending on the result of the verification test of the delivered disc.
To prevent this kind of problem, please create multiple master discs using the following method.

1. Select the disc button at the upper right of CD CRAFT or select "write setting" from the "CD creation" menu.

2. Using the "No. of discs" option in the dialog, select the number of discs and then write the master discs in the normal way.

Each time writing of a disc is completed, the disk tray opens. Insert a new disk and repeat the writing process.

### Using GD Workshop

#### Moving all data towards the outer tracks

The structure of the GD-ROM is such that files can be accessed faster the closer they are to the outer edge. CD CRAFT is designed to move all data to the outer portions of the disc under the default settings, but the default settings for GD Workshop place the data closer to the inner tracks.
Considering that the "first read" file must be placed in the outermost track, setting up GD Workshop so that it places all data in the high-density area as close to the outer edge as possible is more convenient and eliminates the need to perform extra work later.

Open up a project in GD Workshop, and drag the file to it. The data is placed in track 3.
Because track 3 is the first track in the high-density area, positioning this track in an outer track causes all of the subsequent tracks to be positioned in the outer tracks.
The procedure for doing so is described below.
First, select the track labeled "03-MODE1" (the innermost track in the high-density area).

Next, click the "Track" tab:

Now click the "Pad Track" checkbox so that the box is checked.

Finally, click the [Apply] button to update the changes that were made.
As a result of these changes, the track is now positioned in the outer portion of the disc.
If any DA track or data track comes after this track, the last of those tracks becomes the outermost tracks, so that any remaining tracks are positioned so that they are "packed" from the outer edge.

#### Initial program registration

The screen that appears when the "Disc" tab is clicked is used to register data in the system area.
This screen is used to register the initial program.
The field labeled "System Area File (single)" is where the single-density area initial program file is registered, while the field labeled "System Area File (high)" is where the high-density area initial program file is registered.
Using the batch files shown below for an example, the single-density area initial program file will be IP0000.BIN, while the high-density area initial program file will be IP.BIN.

Lastly, in order to put these registrations into effect, click the [Apply] button. Initial program registration is now complete.

#### Placing the "first read" file in the outermost track

Next, we will register the "first read" file in the high-density area data track.
It is essential to note that if a GD-DA track has been added, it is necessary to add another data track after the GD-DA track and place the "first read" file in that track in order to place the "first read" file in the outermost track.

In addition, because the "first read" file is positioned near the beginning of the file entries (if done in order according to ASCII codes), the file must be deliberately moved to the rear of the entries so that it is placed in the outermost track.
In GD Workshop, in order to change the placement of files in a disc, it is first necessary to either click the [Switch Views] button or remove the checkmark for "Tree View" in the "Views" menu.

Doing so changes the file list display screen from tree format to list format.
In the list view, the closer to the top that a file entry appears, the closer to the inner portion of the disc the file will be. In other words, moving the "first read" file entry to the end of this list will move the "first read" file to the outermost track.
>From this view, select the "first read" file ("1ST_READ.BIN" in this example):

Next, either drag the file to the end of the list, or else press the cursor down key (while the file is selected) and move the file to the end of the list.

The "first read" file will now be placed in the outermost track.
This function is supported by GD Workshop version 2.4.30A (firmware 2.4.4a) and later.

## Extras

### Automatic initial program source creation utility (Supported only by Netscape Navigator.)

### Please enter the product code (for SEGA titles, check this box ).

-

#### In the case of a trial version, check this box and then input the part number.

Part No.: -

### What is the destination area? (Check one or more boxes)

Asia | North and South America | Europe

### Indicate those peripheral buttons that are absolutely essential to run the application. (Select more than one if needed.)

Direction key button, A Button, B Button, START Button |
C Button | D Button
X Button | Y Button
Z Button |
Second direction key button |
R Button (analog) | L Button (analog)
Analog X axis (standard) | Analog Y axis (standard)
Analog X axis (extended) | Analog Y axis (extended)

### Which peripherals are supported? (Multiple checks allowed)

Mouse | Gun | Keyboard

### Which extended peripherals are supported? (Multiple checks allowed)

Memory card | Sound input peripheral
Vibration pack or like so | Other enhanced peripheral

### Check here if VGA cable is supported.

### Check here if SEGA OS is used.

### Please enter the version number.

V.

### Please enter the release date.

Year:Month:Day:

### How many discs are there in the set?

Total number of discs Number of this disc

### Please enter the name of the first file to read.

.

### Please enter the game title (within 96 ASCII characters)

### If the application startup information is to be stored when the application is started up, check the following and answer the following questions:

Save the application startup information at startup.
Indicate the Japanese title of the application. (Shift JIS code, no more than 44 characters, or no more than 22 if all are double-width characters.)
Indicate the genre of the application. (Multiple genres are permitted.)
Net play
Gun-based
Table game, puzzle, card game, board game, etc.
Fighting
Adventure
Simulation
Driving/racing
Sports
Role-playing
Shooting
Action
Other genres

## If all entries are correct, press the OK button. To clear the entries, press the RESET button.

### SYSTEMID.SRC of your application is:

### IP.SUB of your application is:

### ZERO.SRC for your application is:

###
Use Cut & Paste to build the initial program.

Return to Overview