エントリー

2022年09月の記事は以下のとおりです。

SuperSerialCardの問題に決着を

 結局ADTProで動かなくてあきらめてしまったSuperSerialCardの自作プロジェクトですが,某オークションでSuperSerialCardIIが出てきたので無理をして買ってみました。

 確かめたかったことは,ADTProが自作したカードで動作しなかった原因です。自作のカードはシリアル通信は可能で,ADTProも古いバージョンに限定されますが,Bootloaderは起動しますし,一瞬ですがディレクトリを取得することも出来ています。

 ただ,そのシリアル通信も7bitだけが動作していて,8bitでは動いていません。

 こうなるともう回路の問題と言うより,W65C51Nに問題があるんじゃないのかという話になり,先に進めなくなってしまったのです。

 ここで,SuperSerialCardIIでADTProを動作させて動いてしまえば原因は自作のカードに内在したことが明確になりますし,もしW65C51NからR6551に交換して自作のカードが動作してしまえば,W65C51NとR6551の非互換にあった,ということになるでしょう。

 とはいえ,ADTProでの使用を前提とした自作カードの回路図が海外では公開されていて,そこでは当然現在入手可能なW65C51Nが使われています。

 実際これで使っているという話を見つけることは出来なかったのですが,なにより作者が動いていると言っているのですから,信じるしかありません。

 もちろん,広義の非互換として,端子のタイミングの違いなど,回路設計上で解決すべきものもあると思いますが,そうはいってもW65C51NとAppleIIのバスの間には大した回路も入っていませんし,今は考えないことにします。

 さて,早速実験開始です。

 まず入手したSuperSerialCardIIの動作確認です。ジャンパブロックをTerminalにして(これで手持ちのクロスケーブルが使えるようになる),もういきなりADTProを起動します。

 ホストはMacBookAirです。これはEthernet経由でもホストとして使っています。

 するとあっさり動作。ホストからデータを受け取りフロッピーに書き戻すところまで問題なく終わりました。あっさりと書きましたが,実はPL2303を内蔵したUSB-シリアルケーブルではエラーが発生してフロッピーへの書き戻しは出来ても,Bootloaderが上手く動作せず,一度も起動に成功しませんでした。

 そこで秋月で調達したFDTIのチップを搭載したUSB-シリアルケーブルに変えたところ,嘘のように上手くいくようになりました。とはいえ,Bootloaderは微妙なところで,ProDOSの起動に失敗することもしばしばで,ADTProの起動まで到達出来ないケースは感覚的に2割ほどという気がします。

 次に気になっていた事ですが,AppleII側から8bitで通信出来ていなかった件を確かめます。先に結論を書くとこれは変化なし。PC側からは8bitで文字化けしませんが,AppleII側からは8bitでは文字化けします。ここはもしかしたらROMに依存した問題なのかも知れません。

 さて確認作業の本命,6551の入れ替えです。すでに自作品と本物の間で動作に違いがあったわけですが,それが6551の違いによるものかどうかがこれでわかります。

 結果は,SuperSerialCardIIに搭載されていたR6551を自作品に取り付けるとADTProが動作しました。逆にW65C51NをSuperSerialCardIIに取り付けると,動作しませんでした。

 少なくとも,R6551を使えば動作するようになるのは事実ですが,逆にW65C51Nを使えば動かないというのはちょっと判断が難しく,実はどちらでも動くはずのターミナルモード(CTRL+AからTで移行)で,W65C51Nを搭載したSuperSerialCardIIが全く動かなかったのです。

 そもそもチップが動作していない状態で,クロックの供給方法がそれぞれのカードで違うので波形を見ていないのでなんとも言えませんが,おそらくクロックが発振していないのではないかと思います。

 ということで,とりあえず自作でもR6551を使えばちゃんと動作する事は判明しました。

 しかし課題も残りました。

 自作カードに用意した10ピンのコネクタはSuperSerialCardのものと同じ形状なのにピン配置が異なります。これは手持ちの関係で10ピンコネクタも9ピンのD-subも圧着のものを使って,フラットケーブルで直結したものを使いたかったからで,カード上のコネクタのピン配置を変更してあわせていました。

 しかし,SuperSerialCardIIとケーブルを共通にしておく方が混乱もないでしょうから,自作品のピン配置を変更します。とはいえこれがなかなか大変で,特にスレート結線のMODEMとクロス結線のTERMINALの両モードを切り替えられるようにするのはなかなかややこしく,何度も失敗しました。

 しかも,DCDとCTS,DSRの3つを12Vでプルアップしておらず,そのせいでSuperSerialCardとはことなる挙動をしていました。特にDCDがHighになっていないことで,通信が始まってくれませんでした。 

 次にW65C51NがSuperSerialCardIIで本当に動かないのか、と言う問題です。SuperSerialCardとして機能しないのか,あるいはADTProで動かないのかによるわけですが,クロックの発振が止まっているなら自作品以下の状態ですから,これは対応しなければいけません。

 情報によると,プロセスの違い(W65C51NはCMOS)から,水晶発振子に1MΩを並列に取り付けないと発振しないそうなので試してみたところ,クロックは無事に発振して,通信が行われるようになりました。

 しかしADTProは動作せず。つまり自作品と同じ状態になったわけで,これはもうW65C51Nが原因だったと確定させてもよいのではないでしょうか。

 最終的には,W65C51Nを使った自作カードでADTProが動くようにしたいですが,チップ依存の問題なら詰みますから,動かないならその原因くらいははっきりさせたいところです。

 W65C51Nを使ってADTProが動かなかったという話を私は見つけることが出来ずにいて,逆に明確に動作したという話もありません。SuperSerialCardが高騰しているため(といっても$50くらいで高騰といっているので日本国内との感覚のズレはあると思いますが)自作した人はいて,その方々はW65C51Nを使っている,ということで,間接的にADTProが動いているんだろうと推測される程度です。

 でもやっぱり自作品でADTProを動かしたいですよね。組み立てや設計が原因ではなく,チップのせいで動かないというならなおさら悔しいじゃないですか。

 そこで,あやしい部品が簡単に手に入るAliexpressで探してみると,ロックウェルのR6551がゴロゴロしています。送料を入れても$10未満です。ものは試しにと,先日の387SXに気をよくして,R6551を頼んでしまいました。

 加えて少し時間のあるときに,ADTProのソースを読んでみました。するとW65C51Nのエラッタに引っかかる部分がバッチリありました。つまり,ADTProがW65C51Nで動かないのは当然で,おそらく世界中の誰もW65C51Nで動かせていないのではないかと思います。

 問題は,W65C51Nがステータスレジスタのbit4を,常に1にしているという点です。ここは本来Trasnmitter Data Register Emptyというフラグで,0なら転送中,1なら空っぽになったことを示すもので,W65C51N以外はすべて機能しています。

 このビットを監視し,空っぽになるまでループするというコードをみんな書いているわけですが,悪いことにW65C51Nはここが常に1になるというエラッタがあるので,ループを素通りしてしまいます。

 さらに悪いことに,W65C51Nはこれを「仕様」としてデータシートを改訂し,しれっと対策版のW65C51Sに切り替えています。

 しかし,市中の在庫はエラッタを含むW65C51Nが大半です。私も2つ買ってどちらもエラッタのあるW65C51Nでした。

 ここが常に1ですので,いつも通信していない状態と認識され,実は送信が終わっていないのに新しい送信データがレジスタに書き込まれてしまいます。これじゃデータの通信など正しく出来ません。

 そこで,bit4の確認を行う代わりに,少しループでウェイトを入れてやるのがいいそうです。実際,日本の方でもW65C51Nで苦しんでいた方が,この対策でサクッと動くようになったと書かれていました。

 それでADTProですが,まさにbit4を確認してループするコードになっていました。ここをウェイトにすればきっと動くようになると思うのですが,ビルド環境を整えるのも面倒ですし,原因がはっきりしたという事で,もうこれでいいです。

 最新のADTProのリリースが2020年11月ですので,その後も誰も指摘していないし,誰も対応して欲しいとは言っていないのでしょう。AppleIIのコミュニティは活発かと思っていましたが,実は案外そうでもないのかも知れません。

 ということで,一連の検討で明らかになったことは,W65C51NではエラッタのためにADTProは動かないということ(これはもっと早くにソースを見ていればわかったこと),R6551を使えば動くという事,自作品でもR6551なら問題なく動くということでした。

 結局W65C51Nのエラッタに振り回されただけだったというオチですが,結論が出てうれしいと言うよりも疲れました。時間も労力も費用もかかってしまいましたが,あまりいい勉強になったと言う気もしません。やっぱソースをきちんと見るべきだったなあと思います。

 さて,あとはAliexpressからR6551が届くのを待つばかり・・・

 

PC-386 Book Lの復活劇 その8 ~コプロセッサでパワーアップ

 PC-386 Book Lのメニューの1つ,数値演算プロセッサを入手しました。

 数値演算プロセッサ?なんじゃそりゃ?という反応が返ってくることだろう事をふと思うと,そういう時代になったんだなあとつくづく思います。

 数値演算プロセッサ(NDPともいいます)とは,浮動小数点演算を行うプロセッサです。いろいろな種類があるのですが,多くはCPUごとに専用の設計され,文字通りコプロセッサとしてCPUにくっついて浮動小数点の演算に関する命令を拡張するようになっています。

 なぜこれが現代では廃れてしまったかというと,すでにCPUに統合されているからです。歴史的経緯を見ていくと,もともとディスクリート部品で作られていたCPUがLSIになるとき,回路規模を小さくするために別チップに分けたというのが正しいと思います。

 さらにいうと,当時のLSIになったCPUの用途では浮動小数点の演算への需要が低く,回路規模が大きくて高価になりがちな機能を省くというのは合理的でもあったのです。

 8080やZ80などの乗除算命令さえ持たなかったCPUの時代には,命令を拡張するという考え方はなかったですし,専用の数値演算プロセッサも作られなかったですから,I/Oデバイスの1つとして演算を行うLSIが使われていました。

 これらはいわば関数電卓そのもので,関数電卓からキーボードとディスプレイをはずし,かわりにCPUに繋がるバスを用意したもの,という感じでした。だから演算速度も極端に遅く,これを使おうという動機はsinやcos,eといった関数が使いたいというものだったんじゃないかと思います。

 16ビットの8086には8087という命令を拡張する数値演算プロセッサが開発されました。CPUにくっついて動作するのでコプロセッサと呼ばれたものの1つとして知られていますが,ライバルだった68000には数値演算プロセッサは用意されず,32ビットの68020用に開発された数値演算プロセッサ68881が流用されていた感じです。

 ついでにいうと,68000には数値演算プロセッサの接続はI/Oデバイスとしての接続以外に方法がなく,命令の拡張という形式を取ることが出来なかったという点で,実は8086の方が有利でした。

 インテルのCPUには伝統的に数値演算プロセッサが用意されていて,8086には8087,80286には80287,80386には80387が開発されました。

 30386はバス幅が32ビットの80836DX,16ビットの80386SXが作られましたが,それぞれに80387DXと80387SXが用意されていました。そういえば387DXはセラミックPGAという立派なパッケージ,一方の387SXはPLCCでこのあたりからも格の違いを見た気がします。

 私がこの目で確かめたわけではありませんが,コプロセッサとして動作するのは8087で,80287や80387では一種のI/Oデバイスとして機能するらしく,動作が8087とは異なるんだそうです。

 で,この数値演算プロセッサですが,メーカー純正品は10万円近く,インテルのリテールは3万円ほどだったと思います。後にサードパーティからのコンパチ品が登場すると1万円くらいで手に入るようになりましたが,果たしてそれだけの効果があったかというとそうでもなく,通常のDOSやワープロ程度では浮動小数点演算の世話にはならないからでした。

 次の486の世代では数値演算プロセッサが内蔵され,ようやく最近のCPUと同じになるのですが,内蔵されていない80486SXという品種もあり,内蔵されていた80486DXとは区別されていました。

 本当かどうかはわかりませんが,人づてに聞いた話では,80486DXのうち浮動小数点演算プロセッサにエラーがあったものを80486SXとし,逆にCPUにエラーがあった不良品を80487SXとして売っていたそうです。そんなことで安定的に量産など出来る訳がないので,あったとしても初期の立ち上げ段階だけだろうと思いますが,大きさからピン配置までそっくりだったことを考えると,あながち嘘でもないと思います。

 Pentiumからはさすがにそういうことはなく,数値演算プロセッサは内蔵されて今日に至ります。

 話を戻すと,PC-386 Book Lに搭載されたCPUは80386SXです。数値演算プロセッサは内蔵されておらず,80387SXという別チップを取り付けなければなりません。しかし当時のことですから,数値演算プロセッサを使うようなアプリケーションは少なく,なくても全然困りませんし,取り付けたところで気分的なもの以外の効果は薄いです。

 そしてそれ以上に,今は入手が難しくなっています。中古品が潤沢にあるかといえばそんなこともなく,既に歴史上のチップになった感じさえします。

 探してみますが,あいにく見つかりません。互換品も見つからず,まあいいかとあきらめていましたが,こういう場合はaliexpressだと探してみると,やっぱり売っていました。価格から見て中古品でしょうし,そもそも偽物かも知れません。どちらにしてもあやしいのは間違いなく,本当に届くのか,本当に動くのかと気になるのですが,こういうのは試してみるのが面白いでしょう。

 9月初旬に注文したものが,9月19日に届きました。aliexpressも早いケースがあると噂に聞いていたのですが,物流がまだ落ち着いていないこのご時世で,よくこの期間で届いたものと思います。

 開封すると,形こそ同じですがどうみても387SXとは違う刻印のチップが2つ出てきました。なになに?BB?VECANA01?

 やられた!と思って自分の注文を確認してみると,なんと私のミスでした。

 商品名は80387SXなのですが,なんとまあ,色の選択に80387SXとVECANA01があり,私は運悪くVECANA01を選んでいたのでした。

 いや,VECANA01というチップを私が知っていれば間違うことなどなかったと思うのです。しかし不勉強な私は,Burr-Brownからこんな名前のチップが出ていた事を知らず,品名さえ間違っていなければ正しいものが届くと信じて疑わなかったのです。

 価格が高いなら返品するのですが,送料まで入れて10ドルくらいの買い物ですから,ここで送料を私が負担して返品しても差額は数百円です。バカバカしいので,違うお店で387SXを買い直しました。

 お値段はほぼ同じ,送料もほぼ同じなのですが,今回はさらに早い到着日時が設定されています。9月22日に注文して,なんと9月27日に私の手元に届きました。

 開封すると今度は間違いなく387SXです。動作クロックは25MHzまでOKと刻印されているもの(16-25MHzとあります)なので,クロックアップしてある私のマシンでも問題はないでしょう。

 とりあえずPC-386 Book Lに取り付けてみましょう。昔からPLCCというこの手のパッケージは取り付けが難しいですし,取り外しは専用工具がないと絶望的です。

 電源が入り,DOSが起動してくれたので,システム情報を確認するとちゃんと認識しています。メモリスイッチを設定してから浮動小数点演算を使うベンチマークを取ってみると確かに動作していることが確認出来ました。これでOK。というかこれ以上することがありません。

 しかしですね,別にかな漢字変換が早くなったわけでも,スクロールが高速化したわけでも,ファイル操作が快適になったわけでもないので,日常的にはなにも変わりません。これは本当に気分のものだと思いました。

 ・・・ところで先程のVECANA01,これ,12bitのADCなんですが,なんと10chです。というのも,モーター制御に使うADCらしく,ベクトル制御用に多chのADCが欲しい人向けに1990年代後半に市場に出ていたもののようです。

 12bitでサンプルレートが1.25Mくらいですので,汎用のADCと思えば使えなくもありませんが,10chもいりませんし,このくらいのADCなら内蔵品で十分ですので,正直ゴミだなと思います。

PC-386 Book Lの復活劇 その7 ~画面の乱れを修理

 PC-386 Book Lですが,ここへきて動作の不安定さが無視できなくなってきました。

 ちょうどクロックアップによって画面表示が乱れるようになったことを先日書いたところですが,起動時などコンパクトフラッシュへのアクセスで乱れることがひどくなりました。翌朝まで放置すると嘘のように症状が消えているのですが,午後になると復活し,夕方には画面が出てこなくなるほどです。

 フロッピーディスクドライブの2へのアクセスで画面が乱れたり,特定のアプリを起動すると乱れたりと,もう何が何やらという感じなのですが,高負荷がかかると発生するような気がしたので,電源まわりを確認してみることにしました。

 しかし結果は問題なし,綺麗な電源が供給されています。

 そうこうしているうちに画面に縞模様が出始めてしまい,本気で修理をしないといけなくなってしまいました。

 縞模様も画面の乱れも既知の問題で,前者はLCDコントローラとLCD用のVRAMの接続の問題で,かつては液漏れしたコンデンサの電解液で腐食して切れたパターンを修復して解決しました。

 後者はLCDコントローラの水晶発振子の足下に染み込んだ電解液のせいで発振が止まっていたことが原因だったのですが,発振波形を見てみると正常で今回はこれとは関係がなさそうです。

 まずわかりやすい縞模様から。VRAMの波形を見ていると,クロストークがひどい信号が見つかりました。仮に正常に動いていてもこの波形は放置できないので,パターンをカットして修復します。

 結果,クロストークはもちろん,縞模様も解決しました。これは1時間ほどで解決。

 難航したのは表示の乱れです。なにせ現象を安定して再現出来ないですし,外部ディスプレイではなにも問題がありません。なかなか尻尾がつかめず時間ばかりが過ぎていくわけですが,どうもLCDコネクタの信号の1つに,表示の乱れと同期して波形が変化するものがあることが判明しました。

 この信号,表示が消えているときは0V,表示がONの時には-15Vになるものです。どういう信号かよく分かりませんが,電源のように大電流の回路ではないので,なにかの信号だろうと思います。

 これを追いかけて行くと小さなトランジスタに行き着きます。おそらくLCDのON/OFFを制御しているのだろうと思い,暫定的にこのトランジスタを常時ONとしてみました。

 すると画面の乱れはなくなったのですが,画面の文字や表示内容が出たり消えたりとなってしまい,結局使い物になりません。LCDをOFFするのと同時に表示内容も消すという丁寧な回路なんだろうと思いますが,こうなってくるとそれらの回路に指令を出す部分がおかしいという事になりそうです。

 しかし,それを追いかけるのはちょっと難しく,現状が再現しなくなったことで一度組み立てたのです。

 しかし,ゲームで遊んでいると,ドライブ2へのアクセスで画面が出てこなくなり,もう一度分解して修理を行う事にしました。

 今度は,メイン基板を裏返して動作させ,徹底的に波形を見て回ることにしました。どうせ電解液による基板の腐食が原因でしょうから,中間電位が出ていたり,クロストークが出ていたら,そこがあやしいです。

 あちこち触っていると,ぱっと画面が正常になる事がありました。いよいよ尻尾をつかんだかと思ったのですが,再現性がありません。指で触っていくと反応が出てきますが,どうも指ではなく,手のひらの腹の部分で基板に触れていたところが問題の箇所だったようで,ここに指を近づけると画面が正常になります。

 再現性は100%。ここに何かがあるに違いありません。

 更に範囲を狭めていくと,1つのスルーホールに絞られました。ここに指を近づけるだけで正常になり,1cm以上離すと画面が乱れます。

 早速スルーホールの導通を確認しましたが,やはり高抵抗を示しています。配線はゲートアレイから74HC74に入っていて,この出力が画面表示のトランジスタを叩いているようです。

 スルーホールを補修して両面を接続し,この配線を修復したところ,問題が完全に消えました。ビンゴ,これが原因だったようです。

 それ以後は嘘のように画面も動作も安定し,しかもクロックを25MHzまで上げても問題がないことまでわかりました。

 ということで,現在のクロックは25MHzとなり,ノートンのSIでは4.77倍にまで処理速度が上がっています。もともとメモリがない機種ですので仮想86モードで動かす事もありませんので,クロックを上げても問題が出にくいのかも知れません。

 実に快適,DOSマシンとしてはなかなか実用的なマシンになったのですが,これまで無傷でやってきたLCDの表面に,今回の修理で傷を付けてしまいました。最後の最後にこういうことをやってしまう自分のいい加減さに落胆するもの,まあそれも私の持ち物の証か,という気分もあって,愛着が沸いてくるから面白いものです。

 さて,残りのテーマは数値演算コプロセッサとメモリです。先に書いておくとメモリはどうにも手がありませんが,数値演算コプロセッサは手があります。待て次号。


PC-386 Book Lの復活劇 その6 ~禁断のクロックアップ

 PC-386 Book Lですが,とうとうクロックアップを試してみました。NECのPC-9801とは違って,EPSON機はクロックアップしやすいことで当時から知られていて,クロック耐性もさることながら,シリアルポートやその他のクロックが別のクロックから生成されるようになっていることが多いことは大きなメリットだと思います。

 PC-386 Book Lも16MHzのCPUクロックを生成する32MHzのクロックは独立していて,これを交換すれば簡単にクロックを上げることが出来そうです。

 ただ,さすがに小型モデル(小型と言うほどでもないんですが)なので,スペースは厳しく,二階建ての基板なので高さ方向が厳しいです。

 とりあえず分解,32MHzのクロックオシレータを取り外し,ソケットにします。そしていきなり50MHzに交換。失敗、起動すらしません。

 壊したかと基のクロックに戻せば起動します。40MHzもOK。44MHzもOK。ならば48MHz(実際には47,92MHzくらい)でも大丈夫そうです。

 しばらく動かして見ましたが暴走することもなく,安定稼働しているように思えます。さっさと組み立てて普段使いで叩いてみましょう。

 NORTONのSI.EXEではキャッシュONで3.00倍から4.55倍とクロック分だけ速度が上昇しています。いいですねー。

 ただ,体感上の速度向上はあまり感じず,それはEPSON機がEGCを持たず,画面の描画という最もわかりやすい速度向上がもともと少ないことがおおきいと思います。とはいえ,DOSで運用すればもう大した差はなく,ちょっとした待ち時間が減ったことで早くなったと感じる事がほとんどです。

 とりあえずこれで2時間ほど使っていましたがトラブルなし。しかし翌日画面が乱れることがあり,時間が経つと直ったり,クロックを落としたらおさまったりするのですが,外部ディスプレイでは乱れていないので,LCDようのVRAMがクロックに追いついていないんだろうと思います。

 致命的な問題ではないですし,それほど発生頻度も高くないのでこのまま行きますが,結構ギリギリで動いていることがわかったので注意しておこうと思います。

 それにしても,30年前に流行したことを,たった数週間に圧縮して楽しむのも,レトロPCの醍醐味かも知れません。ただ当時は改造の対象となったマシンがメインマシンで,仕事もゲームもメールもすべてこれで行っていましたから,失敗の影響が今とは桁違いに大きく,まあ壊れてもいいか,くらいで取りかかれる今は,純粋に楽しみだけで行えることが良いなと思います。(でも,上手くいったときに得られるメリットもその分ほとんどないわけですが)

 

DiskIIの国産コンパチドライブを入手し苦労する

 PC-386 Book Lにかまけている間に,次の課題としてAppleII用のディスクドライブを入手していました。わざわざDiskIIと書かないのはそれが互換品だったからなのですが,結構よい値段で落札することになってしまいました。

 PAXエレクトロニカという会社の互換ドライブなのですが,この会社,1980年代の前半には雑誌に広告を良く出していた周辺機器のメーカーでした。調べていませんが,PAXソフトニカというソフトハウスもあり,私はここのベースボールというゲームを散々遊んだ覚えがあります。

 閑話休題。フルハイトのドライブはすでにDiskIIを復活させて(これも壊れているのにいいお値段でした)調子よく使っているのですが,もう一台のドライブがハーフハイトの互換品(チノンのドライブです)で,高さが揃っていないがちょっと気に入りません。

 ドライブの信頼性としてはハーフハイトの互換品の方が優れているので外したくはないのですが,このドライブは壊れてしまうと修理が難しそうで大事に使いたいという気持ちもあります。

 かといって高額になりがちなDiskIIをもう一台というのはさすがにしんどいので,安く手に入るだろうと今回の互換品を落札したというわけです。

 届いてみると,結構丁寧に扱われていて程度は良さそうです。分解するとドライブは松下のJK870というドライブです。これは初めて見たかも。しかしSA-400のデッドコピーじゃないかと思うほどそっくりで,当時のドライブはアルプスのものも含め,特にヘッドのシーク機構がどれも同じです。それだけSA-400の完成度が高かったという事なんだろうと思います。

 アナログボードはDiskIIのコピーのようですが,よく見ると一部異なる点もあります。真面目に調べるとリファレンス(部品の番号ですね)は同一,しかし基になったアナログボードのリビジョンが古いらしく,部品がいくつか減っていますし抵抗の値も古いものがついています。

 また,本家は精度の高い部品を使っている箇所も,安価な一般品をそのまま使うなど結構雑な印象をうけますが,それでも当時は純正よりも精度が高い等と言われたそうですので,わからんものです。

 ベルトはちょっと伸びていますが再利用可能,ケーブルも問題なしですが,ドライブ自身は油が抜けているので動きがちょっと渋いです。

 さっと清掃と注油を行って試しに通電です。とりあえず回転数はきちんと出ていますし,読み書きも一見すると問題なしでした。これはあたりかもと思ったのですが,locksmith6.0で確認すると,やはり読めないトラックがポロポロと出てきました。

 ヘッドの清掃等も行いましたが改善せず,試しにと半固定抵抗をいじるとエラーの頻度が下がってきました。これで騙し騙し使えるかもと思ったのですが,さすがに気持ちが悪いのでもう少し調べてみましょう。

 とにかく波形を見ないとと,TP5の波形を確認します。DiskIIなら1周期4us,ピークは2.5us程度になるはずなのに,ピークの位置が大きくずれています。しかしこれを調整する半固定抵抗がこのアナログボードでは省略されているので,手が打てません。

 ならばと半固定抵抗を取り付けて,ここを2.5us程度になるよう調整をしました。これでいけるだろうと思って試すと,全く読み込み出来なくなっていました。これは深刻です。

 波形を慌てて確認すると,1周期の長さが5us以上になってしまっていました。AppleIIのディスクは4usが1つの単位ですので,ここが狂うのはまずいです。そこでここを4usにすると嘘のようにエラーがなくなりました。

 しかし,ピークまでの時間は2usを割っています。これでいいのかなあと思っていたのですが,この波形はワンショットマルチのタイミング回路の波形で,コンデンサの充放電の状態が出ています。

 ここでリードデータの波形(TP7)と比べて出せばもっとよく分かるんじゃないかと思いますが,仮にわかったとして具体的な手を打つにはMC3470の中身をもっと詳しく調べないといけませんし,実質的なリードエラーがないならそれでいいかと,なんだか低い方に流れてしまっています。

 しかし,samsのサービスマニュアルではTP5の波形を確認することはやっていないんですよ。正確に言うとピークの値を2.5usにせよとか,そういったことは書いていないのですが,TP7との差を表示してクロスオーバー歪みが小さくなるところに調整するのだそうです。でもこれで時間の調整って出来るのかなあ。

 まあやってみるのがよいだろうと,samsのサービスマニュアルに従って試してみましたが,ピークの位置は相変わらず2usを割っていて,うまく調整も出来ません。もう一台ある本物のDiskIIを波形を比べて見ると,その違いは一目瞭然です。エラーは出なくなっていますし,実用上はなにも問題はないのですが,やはり気持ち悪いです。

 そこで勇気を出して,本物の基板を互換ドライブに取り付けて動かして波形を見ます。完全互換のコピー基板かどうかわかりませんので,最悪壊れることもあるかも知れないのですが,とりあえず動いています。もし波形がおかしければドライブのメカに違いがあるという事になります。

 結果,綺麗な正しい波形が出てきました。つまり,違いはメカでは鳴く,基板にあるという事です。そこでここからは作戦変更。DiskIiの基板と同じ動作,同じ波形になるように,徹底的に合わせて込んでいくことにします。

 まずはワンショットのタイミング。調べてみると回路や定数は同じですから,同じ波形が出ないといけないですが,そうはなっていません。そこで,タイミングを作るコンデンサ(330pF)も含めた端子の容量を確かめて見ると,本物は340pFくらい,これに対してコピー品は420pFと大きく異なっています。120pFも違ってくればそりゃタイミングも変わってくるだろうと,コンデンサの容量を減らしてみました。80pFほど多いので220pFに交換してみます。

 するとタイミングがかなり長くなり,規定の範囲を超えるくらいになりますが。ビンゴ,これが原因だったみたいです。

 そこで今後は270pFに交換します。60pFくらい小さくしていますので,調整範囲に入ってくるはずです。これも正解,うまく調整範囲に入ってきました。半固定抵抗に交換して調整を試みると,1周期で4us,ピークまでが2.9usと,オリジナルとほぼ同じ波形になりました。

 とはいえ,なんでこんな事になっているのかという気持ち悪さはのこります。MC3470の劣化が進んで端子の静電容量が増えてしまったのか,それとももともとこんなもんだったのか。こんなもんだったとして,今まで動いていたのは(前のオーナーも含めて)気のせいだったのかどうなのか。

 劣化によって起きているなら,今後も進行するでしょう。気を付けておかねばなりません。

 さて,2つの半固定抵抗を調整してエラーの出やすいディスクでも同じような傾向のエラーが出るように調整をすませて,オリジナルのDiskIIとほぼ同じ読み取り性能になるようにしました。これで基本的な問題は解決です。

 しかし組み立ててテストを繰り返していると,気になる問題が・・・

 インユースランプ(アクセスランプ)の点灯と消灯がゆっくりなのです。スパッとついたり消えたりではなく,ジワジワ明るくなったり暗くなったりします。うーん。

 別に実害はなさそうなので放置することも考えましたが,同じ動作をする基板に仕上げると決めた以上,同じにしないといけません。

 基板をよく見てみると,いくつかの部品がありません。回路図を見てみると,5回ほど修正が入っていることがわかりますが,修正箇所がことごとく入っていない事に気が付きました。つまり,この基板は初期型のDiskIIのコピー品だったという事です。

 ならばと修正を追加していきます。本体とのインターフェース部分のプルアップ抵抗がいくつか違っていたこと,それと静電対策と思われるダイオードの追加をします。

 しかしこれでもインユースランプはおかしいままです。これはいよいよ本腰を入れて調べようと波形を見始めますが,LEDの回路も電源のON/OFFを行うトランジスタも正常です。そこで基本に立ち返って本物の基板を確認すると,ドライブを繋がるコネクタのパターンがちょっと違います。

 本物は13ピンが分かれていますが,コピーはわかれておらず,10,11,12,13ピンの4ピンが繋がっていました。これはおかしい。

 回路図をみると,修正箇所に記述がありました。もともとこの4つはくっついていたが13ピンだけ分けた,と。

 10,11,12ピンは12Vなのですが,トランジスタによるスイッチでON/OFFされます。13ピンは12Vが出っぱなしで,これはモーター駆動回路に供給されます。

 で,この4本がくっついているということは,モーター駆動回路もON/OFFされた12Vで動作していたことになるわけで,さらに電源でLEDが点灯されていることから,電源の立ち上がりと立ち下がりがゆっくりになってしまい(モーター基板の電源ラインのコンデンサよるものでしょう),LEDもゆっくり明滅したということです。

 回路図の修正指示通り,13ピンを分離し,ここを常時12Vに繋ぎます。ビンゴ,これでLEDが本物と同じようにスパッと明滅するようになりました。

 しかし,今度は本体の電源を入れたときに一瞬インユースランプがちらっとついてしまうと言う新たな問題が発覚。これは12VをON/OFFするパワートランジスタのベース電位がエミッタの電位よりも低い状態が長く,12Vの立ち上がりまでON時間が続いてしまうことにありました。

 PNPトランジスタには良くある事で,これを防ぐにはエミッタとベースの間に1kΩ程度の抵抗をいれて,ベースとエミッタと電位をあわせて確実にOFFしておくようにします。しかし,本物にも最新の回路図にもそれがありません。

 それで本物は点灯せず,コピー品は点灯します。この違いは何だという事になるのですが,とりあえずこの1kΩは必要なものなので躊躇せずコピー品に取り付けますと,立ち上げ時に光ることが完全になくなりました。正解です。

 ではなぜ本物は抵抗がなくても大丈夫なのか,なのですが,これはもうトランジスタの特性の違いとしか言えません。ベースとエミッタの電位差としてちょうど0.4Vあたりから0.6Vくらいの過渡的な変化の領域ですから,実はhFEが小さくてLEDを点灯できないくらいしかベース電流が流せなかったとか,トランジスタがONするベース電圧が高かったとか,そういう事情だと思います。

 トランジスタは本物がモトローラのものだと思いますが,コピー品はソニーのものでした。このあたりの違いもあるんじゃないでしょうか。どっちにして,ベースとエミッタ間には抵抗は必要です。

 あとは細かい調整を行って出来るだけ近づけていきます。コピー品はヘッドロード用のソレノイドは残っていて,本物の基板を接続するとカチャカチャと動くのですが,コピー品は動かないのでその原因も調べたところ,ソレノイドの片側のGNDがコピー基板では浮いていて動作しないこともわかりました。引っかかったのは,両面基板で裏と表が同じ場所にあったので目視では繋がっていると思っていたのに,テスターで調べてみると繋がっていなかったということでした。ここはスルーホールではなかったみたいです。

 これでほぼ同じレベルになりました。

 ここまでに電解コンデンサの交換や新しいリビジョンにあわせた定数の変更,必要な箇所のマイラコンデンサをマイカコンデンサに交換する,抵抗をカーボンから金属皮膜にするなどの改修を行ってありますが,随分安定性も向上したようです。

 確かにDiskIIで揃えるのも気持ちのいいことなんですが,せっかくですのでいろいろな種類のドライブで試して違いを楽しむのも面白いでしょう。なにせ40年前のものですので,その頃の状況に思いを馳せて,DiskIIの半額で手に入った国産の互換品を味わってみたいと思います。

ページ移動

  • ページ
  • 1
  • 2

ユーティリティ

2022年09月

- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed