« AmigaOSのHDDジオメトリ (つづく…) | トップページ

2017年5月29日 (月曜日)

AmigaOSのHDDジオメトリ (つづき)

AmigaOS4.1FEをエミュレータにインストールしてる内に、以前にゾンビ化したA4000TのHDDイメージ(HDFファイル)でもブートしてみたくなって、やろうとしたら上手くいかなかったのでメモ。

A4000Tでは、SCSIの4GBのHDDを使ってた。HDDイメージを作った際、手近に4GBのファイルを保存できるメディアが無かったのかどうか忘れてしまったけど、HDD全体をイメージ化したRDB(Rigid Disk Block)ファイルではなくパーティション毎にイメージ化したHDFファイルを作ってた。
AmigaOSは、HDDにアクセスする際、LBA(Logical Block Address)ではなくCHS(Cylinder, Head, Sector)アドレッシングを使うみたい(?)で、パーティションをマウントするにはこのCHSのジオメトリ情報が必要。しかし保存していたHDFファイルに、それら情報は添えられてなかった(ばか)。

SCSIって普通LBAぢゃないの?と思いながら、ジオメトリ情報をどこかに保存してないか探すけど見つからず…。
xdftoolというHDFファイルの読み書きが出来るツールを作ってるヒト発見(GitHub)。
このツールがパーティションにアクセス出来るようなHead(Surface)数とSecter/trackを見つければいいんでは?と、それっぽいスクリプト書いて探ってみた。
昔触れていたATAの仕様が頭にあったのでHeadとSector/trackの最大値をそれぞれ15, 63にしてパラメータ振ってみたけど、バッチリな感じの数字は見つからず。ところどころファイル一覧くらいは見れる組合せはあったけど。

そうこうしている内に、昔のWinUAEの設定ファイルが見つかり見てみると…

  • blocksize="512" sectors="572" reserved="2" surfaces="1" devicename="DH0" (サイズ約200MB)
  • blocksize="512" sectors="572" reserved="2" surfaces="1" devicename="DH1" (サイズ約850MB)
  • blocksize="512" sectors="3326" reserved="2" surfaces="1" devicename="DH2" (サイズ約1GB)
  • blocksize="512" sectors="3326" reserved="2" surfaces="1" devicename="DH3" (サイズ約1GB)
  • blocksize="512" sectors="3326" reserved="2" surfaces="1" devicename="DH4" (サイズ約1GB)
  • blocksize="512" sectors="3326" reserved="2" surfaces="1" devicename="DH5" (サイズ約1GB)
  • blocksize="512" sectors="3326" reserved="2" surfaces="1" devicename="DH6" (サイズ約200MB)

…みたいな感じで予測は全然外れてた orz (そもそもHDDも4GBぢゃないみたい?)
Sector/track(sectors)もパーティションサイズに必ずしも比例していないようで。

今度からパーティション単位のイメージ作る時はCHSジオメトリも忘れずにメモります。

A4000tfusion50percent

ご参考までに画像はmacOS Sierra→(Parallels)→Windows10→(WinUAE)→AmigaOS3.9→(Fusion)→MacOS8.1…と起動してみた様子。

|

« AmigaOSのHDDジオメトリ (つづく…) | トップページ

Amiga 関係」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/144752/65324581

この記事へのトラックバック一覧です: AmigaOSのHDDジオメトリ (つづき):

« AmigaOSのHDDジオメトリ (つづく…) | トップページ