### 2-6　SYSTEMID.SRC

次のリストはSYSTEMID.SRCのサンプルです。各項目について、具体的に説明をしていきます。

>     ;=======================================================================

>     ;  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 ====================================================

#### SYSTEMID.SRCの構造

次の表がSYSTEMID.SRCの具体的な構造です。

| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
0000h | ハードウェア識別子
0010h | ハードウェアベンダーID
0020h | メディアID | メディア構成
0030h | 対応エリアシンボル | ペリフェラルシンボル
0040h | 商品番号 | バージョン番号
0050h | リリース年月日 | リザーブ
0060h | ファーストリードファイル | リザーブ
0070h | メーカー識別子
0080h 0090h 00A0h 00B0h 00C0h
00D0h
アプリケーションタイトル
00E0h | リザーブ
00F0h | リザーブ

#### ハードウェア識別子（0000h〜000Fh）

対象ハードウェアを規定します。変更はできません。

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)

#### ハードウェアベンダーID（0010h〜001Fh）

対象ハードウェアの製作者を規定します。変更はできません。

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

#### メディアID（0020h〜0024h）

メディア固有の番号を入れます。

メディアIDは、商品番号フィールド及び、バージョン番号フィールドの内容から算出されます。算出には、付属のイニシアルプログラムソースファイル生成ツールまたは、BINディレクトリにあるIPIDツールを使用してください。

出てきた4桁の文字列をこのフィールドに埋め込みます。

0 | 1 | 2 | 3 | 4
メディアID(16進数表記のアスキー文字列で4桁) | (20h)

#### メディア情報（0025h〜002Fh）

メディアの構成を記述します。

0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A
G | D | - | R | O | M | 何枚目/何枚組(余りは20hで埋める)

#### 対応エリアシンボル（0030h〜0037h）

アプリケーションの対応するエリアを記述します。

日本を含むアジア、北米・南米、欧州の三種類があり、対応するエリアすべてを記述します。

対応エリアJ、U、E、はアプリケーションが対応する場合にはその文字（JUEのどれか）を書き、対応しなければ、スペース(20h)を入れます。エリアシンボルによって、IP作成時にリンクするファイルが変ります。詳細はイニシアルプログラムのリンクの項をご覧ください。

0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
対象エリア(J)　アジア | 対象エリア(U)　南北アメリカ大陸 | 対象エリア(E)　欧州 | スペース(20h)で埋める

#### 対応ペリフェラルシンボル（0038h〜003Fh）

アプリケーションの対応するペリフェラルに関する情報を記述します。

+00 | +01 | +02 | +03 | +04 | +05 | +06 | +07
使用するボタン／ペリフェラル | 使用する拡張ペリフェラル | AVケーブル種別 | OS情報 | リザーブ(20h)

#### 使用するボタン/ペリフェラル(+00〜+03)

対象のアプリケーションが最低限必要とするボタン情報をここに記述します。

オプションで、他のボタンも使用できるような場合には、ここには含めません。

- 以下の表にしたがって、必ず使用するボタン、ペリフェラルに対応するビットを1として算出した16進コードを16進文字列として4バイト格納する。
- ボタンは、アプリケーションで最低限必要とするボタンを指定する。
- ガンコントローラ、キーボード、マウス専用といったアプリケーションの場合は、ボタンはすべて必要ないものとして取り扱う。
- ガンコントローラ、キーボード、マウスが必要だが、なくてもコントローラで操作可能な場合は、コントローラのみで操作する場合に必要なボタンを指定する。

+00 | +01 | +02 | +03
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
マウス | ガンコントローラ | キーボード | アナログY2 | アナログX2 | アナログY1 | アナログX1 | Lトリガ | Rトリガ | 十字キー2 | Z | Y | X | D | C | 十字キー1、A、B、スタート
ペリフェラル | ボタン

マウス（開発/発売未定） ガンコントローラ

#### 使用する拡張ペリフェラル(+04)

- 以下の表にしたがって、対応している拡張ペリフェラルに対応するビットを1として算出した4ビットコードを16進文字として1バイト格納する。

3 | 2 | 1 | 0
メモリカード | 音声入力ペリフェラル | 振動パックなど | その他

#### ケーブル種別(+05)

1(31h)

VGA BOX(仮)対応

0(30h)

VGA BOX(仮)未対応

#### OS(+06)

1(31h)

Windows CE for Dreamcast用

0(30h)

Windows CE for Dreamcast未使用

#### 未使用(+07)

必ずスペース(20h)にしてください。

#### 設定例

1. 標準コントローラ、ビジュアルメモリに対応するアプリケーションの場合

   使用するボタン | 十字キー1、A、B、Start、X、Y、アナログL、R、X1、Y1
   使用するペリフェラル | なし
   16進コード | 0799H
   文字列 | "0799"(30H 37H 39H 39H)
   対応拡張ペリフェラル | ビジュアルメモリ
   16進コード | 8H
   文字 | "8"(38H)
   対応ケーブル | 標準ビデオケーブルのみ(VGA未対応)
   OS | OS less(SHINOBI)
   16進コード | 00H
   ペリフェラルシンボル | "0799800 "

2. GUN、ビジュアルメモリを使用するが、コントローラでも操作できるアプリケーションの場合

   使用するボタン | 十字キー1、A、B、Start
   使用するペリフェラル | GUN
   16進コード | 4001H
   文字列 | "4001"(34H 30H 30H 31H)
   対応拡張ペリフェラル | ビジュアルメモリ
   16進コード | 8H
   文字 | "8"(38H)
   対応ケーブル | 標準ビデオケーブルのみ(VGA未対応)
   OS | OS less(SHINOBI)
   16進コード | 00H
   ペリフェラルシンボル | "4001800 "

3. キーボードでしか操作できないアプリケーションで、VGAディスプレイへの表示も可能な場合

   使用するボタン | なし
   使用するペリフェラル | キーボード
   16進コード | 2000H
   文字列 | "2000"(32H 30H 30H 30H)
   対応拡張ペリフェラル | なし
   16進コード | 0H
   文字 | "0"(30H)
   対応ケーブル | VGAケーブルにも対応
   OS | OS less(SHINOBI)
   16進コード | 10H
   ペリフェラルシンボル | "2000010 "

4. 十字キーとA、B、Startボタンを持つコントローラ、ビジュアルメモリ、音声認識ペリフェラルを使用するアプリケーションの場合

   使用するボタン | 十字キー1、A、B、スタート
   使用するペリフェラル | なし
   16進コード | 0001H
   文字列 | "0001"(30H 30H 30H 31H)
   対応拡張ペリフェラル | ビジュアルメモリ、音声認識ペリフェラル
   16進コード | CH
   文字 | "C"(43H)
   対応ケーブル | 標準ビデオケーブル(VGA未対応)
   OS | OS less(SHINOBI)
   16進コード | 00H
   ペリフェラルシンボル | "0001C00 "

#### 商品番号（0040h〜0049h）

商品番号は、アプリケーションのタイトルによって固有に決められます。

開発タイトルの商品番号を御存知ない時には、セガ・エンタープライゼスのソフト推進部までお問い合わせください。体験版やおまけディスクなどの場合、この部分に商品番号のかわりに、部品番号という番号が入ることがあります。部品番号も、同様にセガ・エンタープライゼスのソフト推進部を経由して入手します。

0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
詳細

例えば、次のような商品番号が発行されたとします。

T-1606M

この商品番号は次のような意味を持ちます。

T-16 | 会社ID
06 | メーカー毎のタイトル連番
M | 対象エリア(日本の場合はM、それ以外の国の場合N)

また、対象とする国によっては次のような番号になることがあります。

T-1606N-05

T-16 | 会社ID
06 | メーカー毎のタイトル連番
N | 対象エリア(日本の場合はM、それ以外の国の場合N)
-05 | 対象国

この番号の場合には、先ほどと同じタイトルで、海外の所定の国向けという意味になります。「-05」がその対象国を表しています。この商品番号をSYSTEMID.SUBに書き込むときにはハイフンを取り除き、9文字目と10文字目に対象国の番号がくるようにします。

#### 例

発行された商品番号 | T-1606N-05
SYSTEMID.SUBに登録する文字列 | T1606N__05

「_」は半角スペース(20h)を表します。

部品番号は、数字3桁、ハイフン、数字4桁または5桁の構成になっており、これを商品番号エリアに組み込む時には、ハイフンを除いたものにスペースを加え10桁になるようにします。

#### 例

発行された部品番号 | 670-13614
SYSTEMID.SUBに登録する文字列 | 67013614__(商品番号エリアに入れる時)

「_」は半角スペース(20h)を表します。

#### バージョン番号（004Ah〜004Fh）

マスタ納品する前は、1.000未満の数字です。

初回のマスタ納品は1.000です。

初回のマスタ納品後の修正版は1.000以降の数字が入ります。

0 | 1 | 2 | 3 | 4 | 5
V | メジャーバージョン | . | マイナーバージョン

#### リリース年月日（0050h〜0057h）

年は西暦で4桁、月日はそれぞれ2桁で計8桁の文字列を記述します。

0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
西暦 | 月 | 日

#### リザーブ（0058h〜005Fh、006Ch〜006Fh、00E0h〜00FFh）

すべてスペース(20h)で埋めるようにしてください。

#### ファーストリードファイル名（0060h〜006Bh）

最初に読み込む実行バイナリファイル名を記述します。余った部分にはスペース(20h)を入れてください。

英数大文字で、ボディーネーム8文字以内、ピリオド（.）、拡張子3文字以内で、かつファイル名の先頭は数字で始めなければいけません。

ファーストリードファイルの最大サイズは（14Mバイト - 64Kバイト = 146114528バイト）です。

16Mバイトのうち（16Mバイト - 64Kバイト = 16711680バイト）はアプリケーションに制御が移った時点（mainが呼ばれた時点）でアプリケーションに開放されます。

#### メーカー識別子（0070h〜007Fh）

アプリケーションのメーカーIDを記述します。

0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F
S | E | G | A | (20h) | L | C | - | 会社ID(余りは20hで埋める)

セガタイトルの場合

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

#### アプリケーションタイトル（0080h〜00DFh）

アプリケーションのタイトルを記述子します。英数字で96文字以内、文字数に満たない場合は、残りの部分をすべてスペース(20h)で埋めるようにしてください。

アプリケーションタイトル名には、英大文字のみ使用できます。小文字は使用できませんので注意してください。

[←] | [INDEX] | [→]