2019年02月28日
川俣晶の縁側ヴィンテージ・パソコンtotal 1257 count

フロッピーディスクの詳細情報を指定できないBIOSで指定を強制する手順

Written By: 川俣 晶連絡先

前提 §

 IBM-PC互換機のBIOSはフロッピーディスクドライブの数とタイプを指定できるものが多いが、詳細情報を指定できないものが存在する。(例 DELL Dimension3100CのA01 BIOS)

 しかし、CMOS情報を強制的に書き換えることで、指定できない情報を強制できる。

CMOS情報の読み書き §

 CMOS情報は以下のツールで読み書きできる。

 "CMOSSAVE ファイル名"でそのマシンの基本CMOS情報をファイルに保存する。

 "CMOSREST ファイル名"でファイルの内容をリストアする。

 バイナリエディタでファイルを編集しても、CMOS情報を書き換えることはできない。チェックサムが合わなくなり、システムがCMOS情報をクリアしてしまうためである。

 更なる工夫を要する。

変更すべき情報の確定 §

 基本CMOS情報の詳細は以下にある。

 これを見ると、FDの情報はオフセット10hにあり、上位4ビットがドライブAの情報を、下位4ビットがドライブBの情報であることが分かる。値は以下の通りだ。

  • 00h no drive
  • 01h 360 KB 5.25
  • 02h 1.2 MB 5.25
  • 03h 720 KB 3.5
  • 04h 1.44 MB 3.5
  • 05h 2.88 MB 3.5

 ドライブAが1.44MB3.5inchでドライブBがないマシンは、CMOSのオフセット10hの値が40hになる。

 ドライブAが1.44MB3.5inchでドライブBが1.2MB5inchなら、CMOSのオフセット10hの値は42hになる。

チェックサムの計算 §

 オフセット10hを書き換えるだけではチェックサムが合わない。

 チェックサムを再計算しなければならない。

 多くのメーカー、機種で、チェックサムは10hから2dhまでの単純な16bit積算値である。(別ルールで計算している場合もある)

 C#なら以下のようなコードで計算できる。

            byte[] b = File.ReadAllBytes(args[0]);

            var tgt = b.Skip(0x10).Take(0x2e - 0x10);

            var sum = tgt.Sum(c => c);

            Console.WriteLine($"{sum:X4}");

 この価をオフセット2eh~2fhにビッグエンディアンで書き込む。

 x86系はリトルエンディアンであるが、なぜかここはビッグエンディアンである。

その後 §

 バイナリーエディタで上記の値を書き込んでCMOSRESTで書き戻せばCMOSは更新される。

 しかし、その後で BIOSのセットアップを再実行しないと値が更新されない事例もあるようなので、注意が必要だ。

雑感 §

 CMOS情報の手動更新はそれほど難しいものではないと分かった。

 しかし、機種による相違や、設定の反映方法が素直ではない等の問題もあり、更新できたから終わりでもないような感じだ。

 もうちょっと追求が必要だろう。

Facebook

キーワード【 川俣晶の縁側ヴィンテージ・パソコン
【ヴィンテージ・パソコン】の次のコンテンツ
2019年
03月
28日
初期の月刊アスキーを閲覧する最も手軽な方法
3days 0 count
total 1577 count
【ヴィンテージ・パソコン】の前のコンテンツ
2019年
02月
05日
N88-BASICのerrクリアの振る舞いのメモ
3days 0 count
total 1619 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20190228101934
サイトの表紙【ヴィンテージ・パソコン】の表紙【ヴィンテージ・パソコン】のコンテンツ全リスト 【ヴィンテージ・パソコン】の入手全リスト 【ヴィンテージ・パソコン】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.