ディスクシステム起動時処理


 ファミコン本体にRAMアダプタが接続された状態で電源を投入すると、まずDISK-BIOSはコントローラからデバッグ用の
コマンドが入力されていないかをチェックします。

 電源投入直後、STARTボタンとSELECTボタンが同時押しされていないかチェックします。
同時押しされている場合は、約1秒のウェイトを挿入後、RAMチェック画面が表示されます。

さらに、ウェイト期間中に右+Aが押されていた場合は、コピーライト表示とDISK-BIOSのバージョン情報を表示します。

 バージョン情報はコピーライト表示の下部に表示され、現在2種類確認されています。
初期版は「NINTENDO CO.,LTD.」の後の部分が無表示で、後期版は「DEV.NO.2」の表示があります。

初期版と後期版の機能的な違いは現時点ではわかっていません。




下記はチェック画面及びコピーライト表示の画面コピーです。
RAMアダプタチェック画面 コピーライト画面



 隠しコマンドが何も入力されていない場合、DISK-BIOSは通常起動されます。

ディスクドライブをチェックし、ディスクカードが挿入されている場合はただちに起動開始処理を行います。
ディスクカードが挿入されていない場合はデモンストレーション画面を表示し、常にディスク挿入信号を監視します。


 ディスクカードが挿入された場合、挿入音を発声し、ブート処理に入ります。


ブート時の処理フローを下記に示します。


START

ディスクカードのブロック01及び02を読み込む

ボリュームラベルの
*NINTENDO-HVC*識別子をチェックする

正しいKYODAKUファイルが存在するか
チェックする

ボリュームラベルのブートナンバー(コールドスタート)
以下のファイルを読み込む

END

 ディスクシステムの起動時のファイル読み込みの処理は少々変わっていて、MS-DOSやWindowsなどのPCなどのように
いつでも決まったファイル(autoexec.batやconfig.sysなど)を読みに行くのではなく、ブートナンバーやロードナンバーといった
値でロードするかしないかを制御します。
 よって、空きメモリ空間があれば、「初期起動時に全てのファイルをロードする」といったことも可能になっています。


 ディスクシステムの電源が投入されて、一番初めにロードされるファイルの条件は、

 「ファイルのロードナンバーがブートナンバー以下であること」

 になります。


■「ブートナンバー」とは、ディスクカードの片面にたった一つだけ存在する情報です。
■「ロードナンバー」とは、ファイル一つ一つのラベルに記録されている情報です。重複も許可しています。



例えば、ブートナンバーが $0F のディスクカードがあったとします。

そして、ディスクカードに3つのファイルがあるとします。ファイルは下記のようになっているとします。
ファイル1
ブートナンバー:$00
ファイル2
ブートナンバー:$0F
ファイル3
ブートナンバー:$30


この場合・・・

 ●ファイル1は、ブートナンバーが $00 で、 $0F より小さいので起動時にロードされる。
 ●ファイル2は、ブートナンバーが $0F で、 $0F と同じなので起動時にロードされる。
 ●ファイル3は、ブートナンバーが $30 で、 $0F より大きいので起動時にロードされない。

このようになります。


 KYODAKUファイルは、必ず初期化時にロードされ、VRAMの2800〜にロードされるように用意しておかなければなりません。

 全ての初期化ファイルの読み込みが完了すると、任天堂の許諾画面を画面表示し、約2秒のウェイトを挿入後、
RESETベクタである$DFFC〜$DFFDの内容をPCへ転送し、処理をユーザプログラムへ移します。



下記は正常起動時の許諾表示の画面コピーです。
許諾画面





任天堂株式会社の登録商標です。本webサイト中のゲーム画像の著作権は全て開発ゲームメーカーへ帰属します。
Copyright(C) 2004 by Fantasy.