にがAT 番外編

〜PC-9821のFDD〜


NEC B5サイズノート型PC

PC-9821La10

 PC-9800シリーズ実機を保守する上で避けて通れないのがFDDの確保である。内蔵のHDDが壊れた時やCF化するとき、システムの起動ドライブとしてFDDが必要になる。

ウチのPC-9821La10は1999年頃にインターネットのfjの個人売買で買った覚えがある。CD-ROMやIDEインターフェイスカード、Qvisionの86音源+SCSI複合カードがついて5万円くらいだったか。買った当時からFDDは欠品していて、後から買えばいいかと軽く考えていたが、専用のFDDはオークションでも割と高値がつくようで、入手しないままズルズルと20年以上経過してしまった。

本体の電解コンデンサは10年ほど前に交換済み、その時にHDDをCF化したので2023年現在でも問題なく動作する。FDDがなかったため、PC-9801NX/C(FDD内蔵機)を利用してかなり苦労してCFカードにシステムインストールした覚えがある。

今回10年ぶりの保守として、CFの内容が消える前にバックアップを取ることにした。そこで必要となるのがFDD、ということで2023年現在ネットに出回っている情報でIBM PC/AT互換機用のFDDを接続してみることにした。


98とAT互換機のFDDの違い

PC-9800 2mode

2DD
2HD(1.2MB)
回転数
360rpm
360rpm
密度
Low
High

IBM PC/AT 2mode

2DD
2HD(1.44MB)
回転数
300rpm
300rpm
密度
Low
High
 98にAT互換機のFDDを転用するためには、歴史的経緯による違いを知る必要がある。ザックリ解釈すると、元々98とAT互換機のFDDのフォーマットとディスク回転数、記録密度信号の関係はこのようになっていたらしい。双方機種でディスクの回転数が異なっており、2HDフォーマットに互換性がないため、AT互換機が普及してくるとデータをやり取りできなくて困るようになった。


PC-9800 3mode

2DD
2HD(1.2MB)
2HD(1.44MB)
回転数
360rpm
360rpm
300rpm
密度
Low
High
High

IBM PC/AT 3mode

2DD
2HD(1.2MB)
2HD(1.44MB)
回転数
300rpm
360rpm
300rpm
密度
Low
High
High

 そこで、1993年頃に98ではディスクの回転数を300rpmに切り替えできる仕組みを追加して1.44MBに対応。AT互換機でも同様に360rpm切り替えで1.2MBフォーマットが読み書き可能になった。これがいわゆる「3mode FDD」である(日本ローカル仕様)。

3mode FDDの普及により、98-AT互換機間のFDのデータ互換性が確保されたが、よくみると2DDの回転数が両機種で異なっていることがわかる。両機種でディスクの回転数と記録密度信号の制御方法が異なっていることに起因しており、AT互換機用のFDDを98に転用した際に、2DDフォーマットが読み書きできない原因になった。後に具体的な解決法について記載するが、この件については試運転さんの記事(概要編実施編)で解説されており、各種AT互換機用FDDを98に接続する際の要点も記載されている。2DDの読み書きができなくても「起動ドライブとしてFDDを使う」のが目的であればとりあえず問題ないだろう。

 98でAT互換機のFDDを流用しつつ2DDもアクセス可能にするには、2DD時の回転数を300rpmではなく360rpmに制御することが課題となるが、おふがおさんの記事によるとMITSUMIのAT互換機用3modeドライブD353M3Dを改造することで98仕様の完全3mode化ができたとのこと(素晴らしい!)。 ということで当方でも同じメソッドでPC-9821La10用の外付けFDDをデッチ上げることにした。


MITSUMI D353M3D

 今回の改造対象であるMITSUMIのD353M3Dは国内では割と普及したモデルと思われ、2023年現在でもヤフオクで入手するのは難しくないだろう。 基板のバリエーションが複数あるようだが、制御ICにNCL039が使われていれば同様に改造可能と思われる。

2DD/2HD切り替え信号の処理

 おふがおさんの記事の内容をザックリ解釈して図示してみた。まずは2DD/2HD切り替えの仕組みだが、改造前のAT互換機仕様では2DD/2HDの識別はメディアのHD検出孔のセンサー(スイッチ)で行っている。98では本体がメディアにアクセスしてフォーマットを読み取って2DD/2HDの切り替えを行う仕様なので、センサーを取り外してかわりにFDDコネクタ2pに98からのDEN信号を入れる。

AT互換機仕様ではディスクの回転数はNCL039の制御下だが、98では本体がモータードライバを直接制御する。ただし信号を反転する必要があるので、FDDコネクタの1pから反転信号をモータードライバの回転数制御ピンに入れる。

DRIVESELECT/READY/DISKCHANGE信号の処理

 AT互換機と98ではFDDコネクタのピンアサインが微妙に違っているので、これらを入れ替えつつ、READY信号を生成してFDDコネクタ34pに入れる。READY信号のロジックについては、過去記事で解説した通りである。

実際の改造

 改造前の状態。必要な信号を色分けしてトレースした。要はNCL039の35,36,37pが追えればよいので基板のリビジョンが違う場合も参考になると思う。


これで信号切り離しポイントや取り出しポイントを把握できた。この基板ではDRIVESELECT信号とDISKCHANGE信号はパターンカットで切り離すしかないだろう。


画像が小さくて見づらいが、画像クリックで高解像度版を表示する。


DENと360/300信号は0Ω抵抗をずらしたり移動したりして切り離した。画像には写っていないが、2HD検出センサーも取り外している。後は図に従ってカットやIC増設して配線するだけである。

おふがおさんの元記事ではロジックICに7400や7402を使っていたが、自分は手持ちのワンゲートロジック2個で処理した。配線は細かくなるが、狭い隙間に実装できるのがメリット。

これで「98仕様の3mode FDD」に改造できたはずである。改造に成功していればこのままデスクトップのPC-9821に接続しても動作すると思われる。

こちらも画像クリックで高解像度版を表示する。



FDD ピンアサイン

AT互換機用

D353M3D

1 GND 2 DENSITY
3
4
5 GND 6
7 GND 8 INDEX
9 GND 10
11 GND 12 DRIVESELECT
13 GND 14
15 GND 16 MOTOR ON
17 GND 18 DIRECTION
19 GND 20 STEP
21 GND 22 WRITE DATA
23 GND 24 WRITE GATE
25 GND 26 TRACK 00
27 GND 28 WRITE PROTECT
29 GND 30 READ DATA
31 GND 32 SIDE1 SELECT
33 GND 34 DISKCHANGE

98仕様FD-1231T互換

改造後 D353M3D

1 360/300
2 DENSITY
3
4
5 GND 6
7 GND 8 INDEX
9 GND 10 DRIVESELECT
11 GND 12
13 GND 14
15 GND 16 MOTOR ON
17 GND 18 DIRECTION
19 GND 20 STEP
21 GND 22 WRITE DATA
23 GND 24 WRITE GATE
25 GND 26 TRACK 00
27 GND 28 WRITE PROTECT
29 GND 30 READ DATA
31 GND 32 SIDE1 SELECT
33 DISKCHANGE
34 READY

PC-9821La10 FDD Connector

1 +5V 2 INDEX
3 DRIVESELECT
4 +5V
5 GND
6 DISKCHANGE
7 360/300
8 READY
9 GND
10 MOTOR ON
11 DENSITY
12 DIRECTION
13
14 STEP
15
16 WRITE DATA
17 GND 18 WRITE GATE
19 GND 20 TRACK00
21 GND 22 WRITE PROTECT
23 GND 24 READ DATA
25 GND 26 SIDE1 SELECT

 98仕様のFDDといってもイロイロあるらしいが、今回のFDDは98仕様3mode対応のFD-1231T互換に改造されたことになる。厳密にはFD-1231TにはDRIVE1〜3用の選択信号があるが本機には存在しない。DRIVE0専用ということになるが、ノートPCの外付けFDDとして使うなら何ら問題はないだろう。なお、紛らわしいことに、FD-1231Tには98仕様とAT互換機仕様があるらしく、98仕様はP/Nが134-506790-011-xというフォーマットになっているそうだ。それ以外は特定機種用だったりAT互換機仕様だったりするので注意。このあたりの話はHAMLINさんのサイトの資料が詳しい。

 La10のFDDコネクタの配列をズバリ明示したサイトは見つけられなかったが、近縁機種PC-9821Nb7,Nr13のFDDユニットの結線La10の外付けFDDケーブルの情報が掲載されているサイト(工作室の記憶さん)があり、これを参考にして実機と照合しながら上表のピンアサインであると推定した。当方では電源ピン(+5V,GND)のみ導通と電圧を実機で測定して同定している。なお、上表のピン番号は千鳥配列で記載しているので注意されたし。

ケーブルの制作

 材料として、すだれケーブル、26pの圧着式MDRコネクタとSHELL、34pのフラットケーブル用コネクタ、電源コネクタとピンコンタクトを用意した。MDRコネクタはマルツで取り扱いがあり、圧着式の型番は「10126-6000EL」、半田付け式は「10126-3000PE」、SHELLは「10326-52A0-008」。MDRの圧着は未経験だったが、ステンレス定規をあてがいながらベンチバイスで片側ずつ段階的にカシメたらうまく行った。


FDD側の34pは一旦普通に圧着してコネクタをバラして引っこ抜き、目的のピンに植毛する感じで接続した。都合がいいことに、16-26pはケーブルを分離せずにそのまま22-32pに圧着できる。それ以外はバラバラなので間違わないように注意。ワイヤーが26本しかないので隙間ができるが仕方なし。使途不明の13p,15pのワイヤーが余るが、これらはFDD側でNCの12p,14pに植えておいた。電源ピンは1p,4pを+5V側、5p,9pをGND側として接続した。これにて全く半田付けをせずにケーブルが出来上がった。

接続をミスると98本体が壊れる恐れがあるため、通電前にしつこくテスターで導通をチェックしたほうが良いだろう。





成功!


 結果は一発で動作OK! おふがおさんが書いておられるように、2DD(8セクタ/9セクタ)、2HD(1.2MB/1.44MB)いずれも読み書きフォーマット可能であり、起動ドライブとしても使用可能であった。先人の知見に感謝! これで次のステップ(CF化HDDのバックアップとリストア)に進めるだろう。

 今回の工作には試運転さん、おふがおさん、工作室の記憶さん、HAMLINさんの記事を活用させていただきました。ありがとうございました。

 お約束ですが、この記事を見て改造などを行い故障やその他問題が発生しても責任は負えません。各自の責任において情報を広く集めて行うことをおすすめします。


ご意見、ご感想、ご質問はにがBBSまで!

Top pageへ戻る

copyright (C) 2023 Niga.