JavaScriptを有効にすると、ここにメニューを表示します。
仮想SCSIディスクドライブからフロッピードライブもCDドライブも使わずにTOWNSをブートする

ysflight.com

FM TOWNSも既に30年が経過して、電源は入るもののフロッピーディスクドライブもCDドライブも動かない機体も増えてきているかもしれません。そんな絶望的なTOWNSも、FM TOWNS II (HR, MA, HCで動作確認。UXはなぜかできない。)であれば外付けのSCSI CDドライブから直接起動に成功しています。しかし、TOWNS model 2, 2F, 20FではSCSI CDドライブからの直接起動はできません。

津軽やUNZのようなエミュレータを実行できる環境があれば、エミュレータ上でTownsOSをハードディスクイメージにセットアップして、そのディスクイメージをSDカード等に焼き付けて、SCSI2SD等の仮想SCSIディスクデバイスを使ってディスクイメージをTOWNSに認識させることができますが、TOWNSだとディスクドライブのドライブレター割り当てがCMOSに書いているため、そのままではハードディスク上のTownsOSを起動することはできません。

この間を取り持つためにブートローダーの開発に成功しました。実機2FとSCSI2SDで動作を確認済みです。変換番長等でも可能のはずですが持ってないもんでテストできません。(誰か恵んでくれんかな。)  このブートローダーはブートメニューからSCSI CDドライブ上のIPLを起動させることもできるので、これによってTOWNS 2F, TOWNS 20Fもかなり救済できるはずです。実機2F, HR, MXで動作を確認済みですが、386SX搭載モデル以外なら基本的に使えるはずです。model2はSCSIカードがあれば救済できるはず。なにより重要なのは、まだ割と買えるもので瀕死のTOWNSを復活させることができる点です。

以下に手順をまとめました。Pythonを使う必要があります。(Pythonは嫌いだがC++をコンパイルして実行ファイルを作ってくれって頼むよりは簡単だから渋々使っている。)

 

1. 津軽、UNZなどのエミュレータを使ってTownsOSが起動できるハードディスクイメージをセットアップする。(TOWNSOS.BIN というファイル名と仮定, TownOSはDドライブにインストールしたものと仮定)

2. TOWNSOS.BINを念のためバックアップ。

3. TOWNSOS.BINと同じディレクトリにHDIMAGE.BINとtranspart.pyをコピー。

HDIMAGE.BINは https://github.com/captainys/FM/tree/master/TOWNS/IPL/DISKIMG

transpart.pyは https://github.com/captainys/FM/tree/master/TOWNS/IPL/UTIL

4. コマンドプロンプト、ターミナルなどコンソールを起動して、TOWNSOS.BINのあるディレクトリにCD。

5. 以下のコマンドをタイプして、ブートローダーのパーティションを移植。

python .\transpart.py HDIMAGE.BIN RESCUE TOWNSOS.bin BOOTLOADER BOOT

6. ちなみに、この段階でこのイメージをマウントして津軽で起動するとブートローダーの挙動を見ることができる。

7. Win32DiskImager等のツールを使ってTOWNSOS.BINをSDカードに書き込む。(変換番長とかだとファイルをコピーするだけで済むのかも。持ってないからわかんない。誰か一台恵んでくれないかな。)なお、このステップは最高に慎重に実行すること。間違ったドライブにイメージを書き込んでしまうとディスクドライブまるごと吹っ飛ぶ危険がある。今までディスクイメージを書き込むところでいくつもの悲劇を見てきたので。(いくつかは自分を含む)。書き込む前に少なくともすべての他の外付けディスクドライブをはずしておくのは基本。できれば、メインPCではなくサブPCで書き込むことで、事故が起きた場合のリスクを下げた方がいい。どれほど注意していても人間の注意力では事故を100%防止することはできないので事故が起きる確率を下げることと、事故が起きた場合の被害を最小にする努力をするべき。

8. SCSI2SDのセットアップは、SCSI2SDの説明を参照のこと。一応、ディスクのサイズだけ指定すればデフォルトの設定で大体大丈夫だと思うけど。ちなみに↓は僕の設定値。



9. TOWNSに接続。

10. 以下のスクリーンショットは津軽で取ったけど実機2Fで動作確認済み。

11. CMOSが飛んでいる場合、電源を入れてしばらく待つとブートローダーが起動する。なお、SCSI CDドライブがつながっている場合はここでSCSI CD DRIVEを選ぶことで起動可能。2Fでも直接起動は無理でも間接起動できる。

12. ここで、一度TownsOSのパーティションから起動を選ぶ。

13. すると「起動ドライブがシステム構成に登録されていません」というエラーが出るのでリセット。ちなみにこのときエラーが出るけどCMOSが初期化されてブートローダーでドライブ構成の編集ができるようになる。なお、実機のCMOSバックアップバッテリーは新しいものと交換しておかないと、電源を切るたびにこのへんの設定を忘れてしまう。

  

14. ブートローダーのメインメニューに移動。

15. ドライブレター設定メニューに移動。

16. パッドの上下でDドライブを選んで左右ボタンでTownsOSのパーティションをDドライブに割り当てる。SCSI2SDの設定で選んだSCSI IDと一致する必要がある。例えばSCSI IDが4番だったら [ID=4] と出るまでパッドの右を押す。割り当てを解除するには *UNASSIGNED* になるまで左ボタンを押す。


17. "BACK TO MAIN MENU", "SAVE CHANGES"を選んでパーティションをCMOSに書き込む。

18. メインメニュー経由でブートメニューに戻ってTownsOSのパーティションから起動。

 

これにより、CDもFDも使わず、SCSI2SDだけでCMOSが飛んだTOWNSの復活が可能。

Comments are welcome.  Send E-Mail to: 

Back to http://www.ysflight.com