自分自身のための ものづくり / 自分自身のためのものづくりメモ

突っ込みなどがありましたら掲示板にお願いします。

* DSC-UE4.3GのHDD換装

#PC #PC-98
 IDEのHDDをSCSIに変換するSDATを搭載のDSC-UE4.3G…の殻をヤフオク経由で入手した。早速、手持ちの6.4GBのHDDを入れたら無事認識された。

 しかし、他のHDDに変えると認識しなかった。
 手持ちのHDDで試した結果は以下の通り。
○Quantum Fireball CR 6.4G
×SAMSUNG SV0844A
×DK-238A-43
×MK2103MAV

 情報を求めてWebを彷徨うと
DSC-UE3.2Gを改造する
http://www11.cds.ne.jp/~youkan/y2k700/DSC-UE32.html
に、以下の記述があった。
ATAコマンドのIDENTIFY DEVICEを投げているとおぼしきところから追っていくと、怪しい部分が2つ見つかりました。
・Multiword DMA Capability を見て Mode 2 supported でなければエラーとしている。ここで該当ビットを見るのではなく即値の 0x04 と比較しているが、ATAPI-6のスペックを読むと「Mode 2 supported なら Mode1,0 のビットも立ててね」と書いてあるような気がする。0x07を返すHDDだとまずいっぽい。
・HDDから取得した総セクタ数をあらかじめ用意したテーブルのデータと順次比較し、「総セクタ数以下で一番近い容量のエントリ」を選択している。このとき実際の総セクタ数と決めうちで持っているセクタ数の差が0x100000(≒537MB)以上あるとエラーになる。つまり、このファームウェアはあらかじめ決められた数パターンの容量(9.1G/8.3G/6.4G/4.3G/3.2G/2.1G/1.2G + 0〜0.5G)しかサポートしていないのであった。これが20Gでも4Gでもダメだった原因っぽい。

 8.4Gのも4.3Gのも2.1Gのもダメだったのは、最初の条件に当てはまったっぽい。
 Interface 2000年7月号の「ATA(IDE)/ATAPIの徹底活用研究」を見てみたところ、ビット0,1,2が「マルチワードDMAモード0をサポートする」「(ryモード1又はそれ以下をサポートする」「(ryモード2または(ry」だそうだ。

#同じ悩みの人用の検索ホイホイ:DSC-UE4.3G, DSC-UE4.3G, DSC-UE8.3G,

create : 2007/01/21 (Sun)
update : 2007/01/21 (Sun)