Dreamcast Software Development Standards Version 2.31J

## 4. ソフトウェアリセットとドアオープン

### 4.1. ソフトウェアリセット

ドリームキャストにはリセットボタンが本体にありません。 従って、「リセット」を行うにはソフトウェアによる方法しかありません。 ここではこのソフトウェアによるリセットを「ソフトウェアリセット」と呼びます。

#### 4.1.1 ソフトウェアリセットのタイミング

■必須： 以下に示す特殊な場合を除き、アプリケーション動作中、プレーヤーは常に「ソフトウェアリセット」の実行ができること。

- セガ提供のライブラリの関数呼び出し中で技術的に不可能なとき（ディスクのアクセス中など）
- 「記録デバイス」へのセーブ・ロード中
- 複数枚組みディスクの入れ替え時（参照「17. 複数枚組みディスクの入れ替え」）
- 「4.1.5 ネットワーク接続中の例外」の場合

#### 4.1.2 ソフトウェアリセットのボタン操作

■必須： 操作が不可能または困難なものを除き、コントローラデバイスを持つペリフェラルで「Aボタン」「Bボタン」「Xボタン」「Yボタン」が同時に押された状態で「スタートボタン」が押されたら、瞬時に「ソフトウェアリセット」を行うこと。

「操作が不可能または困難な場合」とは次のような場合です。

- 「ソフトウェアリセット」に必要なボタンを装備しないペリフェラルを使っている場合
- 「ソフトウェアリセット」に必要なボタンを同時に利用し、同時に押される可能性のアプリケーションの場合

「必要なボタンを装備しないペリフェラルを使っている場合」のソフトウェアリセットの対応については、「18.各ペリフェラルとソフトウェアキーボード」を参照してください。

■必須： 例外事項を除き、コントローラデバイスを持つペリフェラルで、上記のボタンを装備していない、操作が不可能または、困難なものにも、それぞれのペリフェラルで「ソフトウェアリセット」の規定がある場合はそれに従って対応すること。（参照「18. 各ペリフェラルとソフトウェアキーボード」）

■例外： コントローラデバイスを持つペリフェラルで、上記の場合で「ソフトウェアリセット」の規定を設けていないものは、他の手法を用意し「ソフトウェアリセット」の機能を設ければ上記必須事項に従う必要はない。

メニューを用いて「ソフトウェアリセット」を行う場合、アプリケーション中のどこでも「ソフトウェアリセット」を行えるようなメニュー表示ができるようにしなくてもかまいませんが、 メニュー表示可能な箇所では「ソフトウェアリセット」の項目を用意してプレーヤーが実行できるようにしてください。

□推奨： 上記２つの必須項目で「ソフトウェアリセット」に必要なボタン以外のボタンが同時に押されていても、「ソフトウェアリセット」が有効であること。

#### 4.1.3 ポート毎のソフトウェアリセット

■必須： その時点で有効なコントローラポートにコントローラデバイスまたはキーボードデバイスが接続されていれば、「ソフトウェアリセット」はそのすべてから行えること。

#### 4.1.4 ソフトウェアリセット実行後の状態

##### 4.1.4.1 単一タイトルのアプリケーション

■必須： タイトルループ中に「ソフトウェアリセット」が実行されると、「ドリームキャスト起動直後のメインメニュー」に制御を移すこと。 （参照「30.3 ファイル操作／ディスク関連用語 」）

■必須： アプリケーションスタート後、「ソフトウェアリセット」が実行されると、「タイトルループ」に制御を移し「タイトル画面」を表示すること。（参照「6.タイトル画面」）

##### 4.1.4.2 複数タイトルのアプリケーション

ここでは、いくつかのアプリケーションタイトルを一つにまとめて商品化した場合などを想定しています。

■必須： 例外事項を除き、各アプリケーションの「アプリケーションスタート後」での「ソフトウェアリセット」の実行では、各アプリケーションの「タイトルループ」に制御を移し、「タイトル画面」を表示すること。（参照「6.タイトル画面」）

■例外： 上記必須事項の条件で制御を移す「タイトルループ」が存在しない場合は「統合タイトルループ」に制御を移し、「統合タイトル画面」を表示すること。

ここで、「統合タイトルループ」とは、個々のアプリケーションのタイトルループではなく全体を統括する「タイトルループ」を示し、「統合タイトル画面」とは同じく全体を統括する「タイトル画面」のことを示します。

なお、複数枚ディスクで構成されるアプリケーションの場合は、「17. 複数枚組みディスクの入れ替え」を参照してください。

#### 4.1.5 ネットワーク接続中の例外

■例外： ネットワーク接続中におけるソフトウェアリセットでは、「タイトルループ」または「ドリームキャスト起動直後のメインメニュー」に制御を移す前に、問い合わせのメッセージを表示し、ユーザーに行うかどうかを選択させてもよい。

○用例： 表示メッセージの例

- 「タイトルに戻ります。よろしいですか？【はい】・【いいえ】」
- 「大会を棄権します。よろしいですか？【はい】・【いいえ】」
- 「あなたの負けになります。よろしいですか？【はい】・【いいえ】」

この例外に対応する場合は、以下のことに配慮してください。

- 参加資格が１回のみの大会中にソフトウェアリセットを行うと権利が剥奪されてしまうなどの「ユーザー不利益の発生」が想定されること
- 対戦中の「負けたくない為の悪意あるソフトウェアリセット」などが行われること

これらに対応する適切な画面メッセージ表示後、「タイトル画面」に戻るようにしてください。

### 4.2. ディスクドアのオープン

#### 4.2.1 ディスクドアが開かれた場合の対処

■必須： 例外事項を除き、アプリケーション起動後にディスクドアが開かれたときは、10秒以内に「ドリームキャスト起動直後のメインメニュー」へ制御を移すこと。

■例外： ディスクドアが瞬時に開閉された場合は、「ドリームキャスト起動直後のメインメニュー」へ制御を移すのは検知でき次第でよい。

ライブラリのファンクションからでは検知が困難な場合があります。 そのような場合は検知に10秒以上かかっても、すみやかに「ドリームキャスト起動直後のメインメニュー」へ制御を移してください。

#### 4.2.2 ディスクドアが開かれた場合の例外事項

■例外： ディスクの入れ替えを必須とするアプリケーションの場合は、その入れ替えを行わせるモード内において上記必須項目に従わなくてもよい。

複数枚組みアプリケーションは、 「17.4 ディスク入れ替えのフロー」を参照してください。

#### 4.2.3 セーブ実行中にディスクドアが開かれた場合の例外事項

■必須： セーブ実行中にディスクドアが開かれた場合は、セーブが終了するまで待ち、終了を確認したらすぐに「ドリームキャスト起動直後のメインメニュー」へ制御を移すこと。

これはセーブファイルを破損させないためです。

#### 4.2.4 ディスクからの読み込みに失敗した場合の例外事項

■例外： ディスクからの読み込みに失敗した場合は、ドアオープン後に「ドリームキャスト起動直後のメインメニュー」に制御を移さなくてもよい。

この場合「17.4 ディスク入れ替えのフロー」における「正規のドリームキャストディスクであること」と、 「アプリケーション進行上正しいディスクである」ことをチェックする必要があります。

これは、 「16.2 ディスクからのファイル読み込みに失敗したとき」で規定されています。

□推奨： ディスクからの読み込みに失敗した場合は、「ドリームキャスト起動直後のメインメニュー」に制御を移さずに、そのことをプレーヤーに伝える表示を行うこと。

「16.2 ディスクからのファイル読み込みに失敗したとき」を参照してください。

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000