X68kでover 1GなSCSI-HDDから起動する

 ウチの環境(X68000 ACE-HD + 純正SCSIボード)では、 (多分SCSIボードのROMに書いてあるプログラムが古くて) 1G以上の容量を持つHDDから起動できません。
# 起動以外のデータ置き場として使うだけなら、 GORRY氏のsusie.xを利用するのが簡単、確実です。

 これには諸説あって、

  1. 起動ドライブのパーティションサイズを1G未満にして、 かつ最終パーティションを最初の1G以内から確保する
  2. TNB製作所のgoverhd.xを使ってHDD内のbootプログラムを書き換える
  3. Hero氏のSxSIに付属するフォーマッタでフォーマットする
  4. E.Watanabe氏のch30_omake.sysをSRAM常駐させて、そこから起動する
などすれば回避できるとされています。 しかし、私の場合、結論から言えば最後の方法以外はからっきし駄目でした。

 最後の方法は基本的にXellent30ユーザーでないと使えない(インストーラは再配布禁止)のですが、 以下インストーラがなくてもインストールできる方法を記します。 同様の症状で悩んでいらっしゃる方の参考になれば幸いです。


  1. ch30_omake.sysを入手する
     これはE.Watanabe氏が開発なさったXellent30支援ツールで、 本来はメーカー純正のch30.sys(68030CPUモードで起動させるための SRAM常駐プログラム?)の機能追加版なのですが、この機能追加の中に 「SCSI1-ROM にパッチを当て、SCSIブート動作を正常にさせる」 というものがあります。 これを使って1G超なHDDからbootさせることが可能になります。
     このソフト自体ははフリーソフトウェアであり、入手も容易です。 NIFTY-SERVEや、 作者のwebページ (http://www.infonia.ne.jp/~ewat/) X68000 LIBRARY などから入手可能です。作者のE.Watanabe氏には感謝感謝!!

  2. インストールする
     Xellent30をお持ちの方ならch30inst.xを使ってインストールできるのですが、 そうでない場合は手動でインストールする必要があります。 以下、私が実際に取った方法を示します。 ここではdb.x(freeじゃない)を使っていますが、 他にsdb.xやgdb.xなどを使っても同様の作業は可能かと思います。
    1. SRAMの使用モードを"program"に設定する
       switch.xを使って変更します。 変更後は念のため再起動されることをお勧めします。
       ちなみに、 使用モードを"ramdisk"に設定してファイルコピーする方法は、 容量不足のため使えません。
    2. SRAMをクリアする
       昔ウイルス騒ぎがあった時に配布されたzap.xを使ったり、 デバッガを使ったりします。 私は後者の方法で対処しました(その場合は3.の設定を先に行う必要あり)。
      -fed0100 ed3fff 00

    3. SRAMを書き込み可能なよう設定する
       デバッガなどを使って、$E8E00Dの値を$31に書き換えます。
      -ee8e00d
      00E8E00C FFFF :FF31
      00E8E00E FFFF :^C

    4. SRAM($ED0100~)にch30_omake.sysをロードする
      -rch30_omake.sys,ed0100

    5. SRAMを読取専用に戻す
       デバッガなどを使って、$E8E00Dの値を$31以外にします。 (ただしパっと見は最初から$FFになっているように見えます)
      -ee8e00d
      00E8E00C FFFF :FFFF
      00E8E00E FFFF :^C

    6. SRAMから起動するように設定する
       switch.xを起動して、BOOTの項目を
      RAM0 $ED0100
      に設定します。
  3. 再起動する
     そのまま再起動すると「エラーが発生しました。リセットしてください。」 と出てにっちもさっちもいかなくなりますので(私はこれで2時間悩んだ)、 [XF1]か[登録]を押しながらリセットしてください。 私は[XF1]で上手く行きました。

  4. メニューの設定を行う
     まず「起動MPU選択」になるので、 (2) 68000を選択を選択します (だってこれしかないんだもん)。
     次にSCSIボードの選択になりますが、 ここではSCSI1を選択 (だってMach-2だったらこんな小細工しなくてもbootできるはずだし) します。
     そしてここからが重要なのですが、SCSIデバイス起動ID選択をする前に、 カーソルを下に動かして 「各種デバイス起動順序選択」 でSCSIの方がSASIより優先されるような設定にします (要はSTD以外)。 これをやらないとSCSI起動時 「エラーが発生しました。リセットしてください」が出ます。
     ここまで終わったら、起動ドライブを選択してください。 私の場合は問題無く起動できました。

現在までに判明している副作用

  • MOの物理フォーマットができない。 色々フォーマッタをとっかえひっかえしたがことごとく駄目。
    →まあ物理フォーマットは他機種でやればいいか。 どうせIBMフォーマット以外使わないし....
  • SxSIでMOを利用している場合、 MOを挿入してから本体を起動しないとアドレスエラーが出て起動できない。
    →結構不便。対策検討中。まあsusieを使えばよいのでしょうけど・・。

[トップページにもどる]
E-mail:

Comments