AppleIIの色ズレを対策する
- 2022/11/18 11:42
- カテゴリー:マニアックなおはなし, make:
最近,私のAppleIIはテキストモードで派手に色ズレが起きるようになってきました。
AppleIIは,テキストモードではカラー表示を行いません。ですが初期のAppleIIは積極的にNTSCのカラーバースト信号(3.58MHzですね)をOFFにすることをしていませんでした。
そのため,テキストモードでも文字に色がついてしまい,滲んで見にくくなってしまうことが指摘されていたようで,後にテキストモードではカラーバースト信号をトランジスタでGNDに落としてしまう回路が追加されています。
カラーバーストがないビデオ信号というのは白黒時代のビデオ信号そのものですので,モニタ内部では輝度信号だけのモノクロ信号として処理されるようになります。具体的にはカラーバーストを使った色信号の復調回路が完全に殺され,輝度信号だけでCRTが駆動されるようになるわけです。
私のAppleII(もとはJ-plusなんですが)でもこの「カラーキラー」と呼ばれる回路は入っているので,多くの場合はテキストモードでカラーバーストが出なくなり,画面には滲みのない完全なモノクロ画面が表示されるようになっています。
しかし,最近不安定で,一度グラフィック画面に切り替えてしまうとテキストモードに戻してもに色のじみが消えないとか,色のにじみが起動時から出てしまうなどの問題が頻発するようになりました。
カードをたくさん追加するようになってから頻度が増えたので,電源の問題だろうと思っていたのですが,テキストモードでのにじみ方がひどくなって来ていることや,頻度が上がって実害が無視できなくなってきたことから本気で対策することを考えました。
最初に行うことは,ビデオ出力レベルの調整です。私はNTSC-HDMI変換器を間に挟んでおり,こいつとの相性かも知れないと思ったので,まずは適正レベルに調整することを行いました。レベルが1Vp-pになるようにオシロスコープ波形を確認し,TRIMを調整します。
ですが,やはり根本的な問題はこれではないようで,にじみは解決しません。
カラーキラーが動いていない,あるいは不完全なのかも知れないので,カラーバーストの波形を確認します。カラーモードでは正確な3.58MHzが観測されますが,テキストモードでは3.58MHzのレベルがぐっと下がっていることが確認出来ます。
うーん,しかしながら,カラーバーストは完全に消えておらず,半分くらいのレベルに下がっているだけですし,何周期かおきに大きなトゲが出ています。3.58MHzとは異なるノイズのようなものも載っていて,とにかく汚いです。
広く知られているように,カラーバーストは色信号の基準となる位相を伝送するもので,色信号はこのカラーバーストとの位相差で色を伝送する仕組みです。
本来,カラーバーストが3,58MHzから大きく外れてしまうと,モニタ側のPLLのロックが外れて白黒信号として扱われるわけですが,どのくらいでPLLがロックするかはモニタによるところがあるので,私のAppleIIでもカラーキラーが働かない場合もあるのでしょう。
しかも,その3.58MHzがフラフラして。それにPLLがロックするようなことがあると,派手に色がずれるというのも道理です。アナログ時代の画質は,とにかく輝度信号の周波数特性が平坦で高域まで伸びていることと,カラーバーストがしっかりしていることが重要なのです。
推測するに,トランジスタで作られたカラーキラーでは,カラーバーストの期間を完全にGNDに落せず,漏れ出てきたカラーバーストにあちこちから回り込んできたノイズで汚された変な信号がカラーバーストとして混合されているということでしょう。
ですので,同じように色ズレが出ていても,グラフィックモードでカラーキラーが働いていないときの方がずっと綺麗な表示で文字も読みやすいです。
さて,原因がわかったところで対策です。
簡単な方法としては,カラーキラーを殺してしまうことです。テキストモードでもグラフィックモードと同じようにカラーバーストを有効にすれば,テキストモードでも色のにじみはありますが,今よりずっとましなにじみになります。
初期のAppleIIと同じ回路になるわけですが,これはレトロPCとしては趣のある画面ではあっても実用性を損なっていて,長時間の使用には耐えないでしょう。MSXやPC-6001などのホビーマシンで文字がにじんでしまう事は許せても,プログラムやビジネスで使用するAppleIIでは厳しいからこそ,後のAppleIIでは改良されているわけですし。
ではどうずるか。カラーキラーのトランジスタのベース電流を増やして,よりカラーバーストをGNDに流し込んでやるという対策が海外で行われていることを知りました。現在4.7kΩのベース抵抗を2kΩに半減してやると,カラーキラーが確実に働くようになったということです。
これは簡単な改造で,ベース電流は現状1mA,これを2mAにわけですが,hFEが仮に200としてコレクタ電流は200mAから400mAに増やせることになるでしょう。2N3904としては400mAは流しすぎなのでちょっと怖いんですが,そもそもこのトランジスタのコレクタには1kΩが入っていますので,実は5mA以上の電流は流れません。ということはベース抵抗を小さくしてもあまり効果がないんじゃないかと思います。
最後期のAppleII(Rev7の後期とRFI)で採用された対策回路はもっと積極的で,カラーバーストを74LS02でカットしてしまうと言う回路が追加されています。トランジスタによるカラーキラーも入っているので,2つの回路でより確実に,ということでしょう。
で,うちのAppleIIはどのリビジョンなのか調べてみたら,Rev7の後期モデルでした。カラーキラーは74LS02によって積極的にカットされる回路でしたが,H2という信号の反転はトランジスタを使ったもので,RFIに特徴的な74LS02を使ったものではありません。
さらに謎なのは,使われているトランジスタの種類が一部違っていたことです。回路図では2N3904という汎用の小信号トランジスタ(そう,日本で言う2SC1815みたいなやつです)なのに,カラーキラーとSOFT5反転のトランジスタが,ダーリントントランジスタになっていたのです。
ダーリントントランジスタだと,確かに少しのベース電流で確実にトランジスタをON出来ますが,今回の使い方では2N3904で十分なはずで,hFEが極端に大きい方がむしろノイズを大きくしてしまうんじゃないかと思い,2SC1815に交換しました。
さらに,H2の反転も余っている74LS02に作り替え,RFIと同じ回路にしてみました。(ただし,RFIでは垂直同期信号がより正確になるように74LS02を2つ使って回路を修正しています。そのためRev.7とは異なる回路になっており,Rev.7を完全にRFI同等にするのはやめておきました。)
それでもやはり色のにじみは改善されません。カードを2枚くらい挿しただけだと大丈夫なんですが,3枚にするともうダメです。最初電源周りを対策すれば解決するだろうと思っていたのが甘かったようで,ちょっと目処が立たなくなってしまいました。
TEXTモードではカラーバーストを混合する直前で,GND(それもビデオ出力端子のGND)に落とすのが効き目があるとわかって,リレーを使ったりしてみましたが,少しましになった程度です。
しかもレベルを適正にすると画面が白く飛んでしまい,文字との区別がつきにくくなるという強烈な障害も発生するようになりました。これ,結局コンポジット信号の質が悪すぎることに原因があります。白く飛ぶのは黒レベル(ペデスタルレベル)を捕捉し損ねている結果ですし,波形を見ていればさもありなんというくらいのひどい波形です。
こうなってくると小手先の修正では手に負えなく,次の一手としてビデオ信号の変換器を交換してみることにしました。
私がこれまで使ってきたのはコンポジット-HDMIの安い変換器です。解像度は低く,モヤーっとした眠い画像ですが,色はしっかり出ますし,AppleIIだけではなくPC-6001でもM5でもちゃんと変換出来るので気に入って使っていました。
今回試したのは,コンポジットをVGAに変換するものです。アナログRGBにするわけですので,デジタルに直接変換するものとは違い,変換品質にはあまり期待していませんでした。
値段は少し高くて1500円ほどしましたが,これは正解でした。
黒レベルの捕捉は失敗しませんし,カラーキラーもきちんとかかります。変換後の画像もなかなかシャープで,これまでのものよりもずっと高品位です。惜しいのは復調の品質が良すぎて,元の信号の品質が悪いことが露呈してしまうことでしょうか。
しかも,RGN入力端子を持っているので,ボタン1つで切り替えが出来ます。これで80桁カードとの切り替えもワンタッチです。
あれこれ悩むより,これで対応した方がずっと早くて確実な方法で,私はリレーを使った回路を取り外してしまいました。
これで色ズレの問題は決着なのですが,いつの間にか起動しないゲームが出てきていることが発覚しており,一難去ってまた一難を地で行っている感じがします。
どうするかなあ。