Dreamcastソフトウェア作成基準／Ver.２．００Ｊ

２．コントローラとコントロールポート

> > 今回、Dreamcastでは、コントローラをＩＤ管理しておりません。代わりに、キーボード（系）であるか、ガン（系）であるか、コントローラ（系）であるかの情報とともに、そのコントローラが、どのキー（orボタン）を有しているかの情報が返されるようになっています。
> > ＩＤで管理を行わず、キー（orボタン）で管理することで、将来、別種のコントローラ発売の際も、既存のアプリケーションで、動作に必要なボタンさえ実装されていれば動作可能にできるような柔軟な対応を考えています。
> > 以下で、対応したコントローラという場合、アプリケーション動作に必要なキー（orボタン）を有しているコントローラのことを示します。

> 注：コントローラの最低限の機能として保証されるのは、Ａ・Ｂ・スタートのボタンとデジタル十字キーの機能です。標準コントローラにあるＸ・Ｙのボタンと、Ｌ・Ｒトリガー、アナログ十字キーは保証されておりません。

> 注：アプリケーションを標準コントローラにて操作する際に、最低限必要なキー（orボタン）をディスクのＩＰ情報の中に１６ビットのデータとして格納します。（ソフトリセットに使用する A,B,X,Y,START も含めてください）
> また、キーコンフィグの変更で上記の最低限必要なキーの組み合わせが異なる場合は、初期設定内容を元にしてください。

> 注：今回、ハードキーボードはコントローラ（系）ではないため、サターンの時のような『標準コントローラのＡボタンがキーボードのＺのキーにアサインされる』といった仕様はありません。ハードキーボードでの操作は、キー入力に限定されるような形になりますので、それ以外の操作は別に挿したコントローラで行う必要があります。

> ■必須：未対応コントローラーがコントロールポートに挿さっている場合、ゲームをハングさせてはならない。

> > 従来作成基準では、「スタート」または、操作させてはならないと規定していましたが、今回より、…ハングさえしなければ操作できてしまってもよい…と改訂しました。

> > 上記変更に伴い、全てのアプリケーションの取扱説明書に『対応していないコントローラーでの動作は保証されません』等と表記して下さい

> □推奨：未対応コントローラーが操作可能となる場合、不足しているキー（orボタン）を、コントローラにあるボタン、または機能で代用するなどで、なるべく正常動作するようにしてください。

２．１　コントロールポートの使用

> > アプリケーションごとに該当している◎Ａか◎Ｂ覧を参照し、対応してください。
> > ◎Ａ：ユーザー１人が、１つのコントローラを使用するアプリケーション。（２．１．１）へ
> > ◎Ｂ：ユーザー１人が、複数のコントローラを同時使用するアプリケーション。（２．１．２）へ
> > （１Ｐがハンドル＋キーボードを使用する場合など）

２．１．１　ユーザー１人が、１つのコントローラを使用するアプリケーション

> ■必須：本体のポートＡを１Ｐ、ポートＢを２Ｐ、以下同様と規定する。ゲームスタート時において、ポートＡからポートＤでコントローラが挿さっているポートをスタートまたは操作可能としてください。

> ■必須：対応プレイヤー数を超えるポートについてはそのポートからスタートまたは操作可能としてはならない。

> > １５．２メモリーカード（ビジュアルメモリ）選択で、拡張ソケットを使用する場合は、対応プレイヤー数を超えるポートを使用してもかまいません。

> > > たとえば、１Ｐ２Ｐポートでしか操作できないアプリケーションで、メモリーカードにセーブを行うとき、４Ｐポートに挿さっているコントローラーの拡張ソケットを選択させ、セーブしても問題ありません。

> > 対応例１。１Ｐのみまたは２Ｐ対戦の可能な格闘ゲーム（３Ｐ以上のゲームは不可）において、ポートＡ、ポートＢ、ポートＤのそれぞれに標準コントローラが挿さっていた場合、ポートＡ（１Ｐとして）、ポートＢ（２Ｐとして）をスタートまたは操作可能とする。ポートＤからはスタートまたは操作は不可とする。
> > 対応例２。４Ｐ格闘の場合であれば、対応プレイヤー数を越えるポートはないので（対応プレイヤー数＝４、ポート数＝４なので）、対応コントローラの挿さっているポートすべてから操作可能とする。

#### ２．１．２　ユーザー１人が、複数のコントローラを同時使用するアプリケーション

> ■必須：ゲームスタート時において、ポートＡからポートＤまでのうち、対応コントローラが挿さっているポートを全て（同時に）使用可能としてください。いずれのポートからでもスタートまたは操作可能としてください。

> > 例：Ｉｎｔｅｒｎｅｔ　Ｅｘｐｌｏｒｅｒなどの場合、標準コントローラによる画面操作とキーボードによる文字入力を想定しています。但し、標準コントローラをポートＡ、キーボードをポートＤといったポート固定の規定は設けません。

２．２　コントロールポートのチェック

> ■必須：電源ＯＮ時に対応コントローラが挿さっていなかったポートでも、ゲームスタート前に対応コントローラが挿された場合、きちんと認識されスタートまたは操作可能とならなければならない。

> > ゲームスタート前のタイトルループで、頻繁にチェックを行ってください。

> ■必須：途中参加可能なアプリケーションの場合、ゲーム中も頻繁にチェックを行い、ポートに対応コントローラが挿されればそのポートから操作可能にする。

２．３　コントローラがポートから抜かれた場合

> □推奨：対応が非常に困難な場合を除き、アプリケーションのスタート後に、使用していたポートからコントローラーが抜かれた場合は、ポーズをかけた上で、「コントローラーが抜けているかまたはメモリーカードの認識中です」と画面に警告表示をしてください。

> > 対応が非常に困難な場合…とは、１２．ポーズでポーズ対応していないアプリケーションや、１２．４ポーズの制限でポーズをかけない仕様とした画面、または、技術的・容量的にどうしてもポーズがかけられない、警告文が表示できない場合をさします。
> > コントローラが抜けた場合だけでなく、メモリーカードをアプリケーションの実行中に挿した場合も、一定時間抜けたのと同じ状態になります。（認識するまで０．５秒程度、ビジュアルメモリの電池が消耗していた場合３秒位）
> > アプリケーション側では、コントローラが抜けたのか、ＶＭが挿されたのかを判断できないので、ユーザーがコントローラの暴走等と勘違いしないように、上記警告表示を行う時は「コントローラが抜けているかまたはメモリーカードの認識中」と記述してください。なお、これはＶＭ挿入時であって、抜いた場合には上記遅延は発生しません。

２．４　コントローラがポートから抜かれた後に同じポートに挿し直された場合

> ■必須：それまで使用していたポートからコントローラが抜かれ、対応するコントローラが挿し戻された場合、挿した時点でその入力を再開する。

> > 対応するコントローラであれば、違うコントローラでもかまいません。
> > コントローラに外部メモリーが挿してあった場合は、外部メモリーについても注意が必要です。１５．バックアップを参照してください

２．５　ゲーム中、抜かれた以外のコントロールポートにコントローラが挿し直された場合

> ■必須：２．１．１ユーザー１人が、１つのコントローラを使用するアプリケーションの場合、入力を再開しない。

> □推奨：２．１．２ユーザー１人が、複数のコントローラを同時使用するアプリケーションの場合には、抜かれた以外のポートでも対応するコントローラであれば入力を再開するようにしてください。

２．６　各種ペリフェラルへの対応

> > 各種ペリフェラルに対応する場合、１８．各種ペリフェラルの作成基準に従って下さい。

Copyright SEGA ENTERPRISES, LTD., 1998,1999