Bernie さんのHP のBarnOut に、JOTさんが書かれている情報を元に実装してみました。
色ずれじゃなくて、原理的に色が出るのかー。コンポジット信号の資料を見れば分かるんでしょうけど、勉強不足ですね。
結局、JOT方式をそのまま実装してもうまく行かなかったので、いろいろ試行錯誤した結果、以下の通りにしました。
表示するドットが1の場合は、左右1ビットの値を見て、白か緑(桃)を決めます。
表示するドットが0の場合は、左右2ビット(つまり5ビット見る)を見て、色を決めます。
さらに1ドットを左右半分に分け、片方を黒、もう片方を桃(緑)、という風に色を出します。
今のFPGAの実装ではVGA に表示しているため、PC-6001 の1ドットは VGA では2ドットになるため、1ドットを左右違う色を出力できます。
実装した結果、まあまあ満足する結果となりました。まだ改善の余地はあります(例えば、左右は非対称なだとか)。
AXシリーズのゴットハリケーンの画面です。上が実機(PC-6601SR)、下が FPGA の出力です。字は読みやすくなっていますが、下の緑に塗っている所と白の枠線の間に、黒のすき間が空いています。
MIAのSPACYのタイトル画面です。上が実機、下がFPGA の出力です。緑の字と、左の白の間のすき間が目立ちます。
このすき間は意図的に空けているので、とりあえずこのままとして、また次の機会に修正する事にします。
カラーセット1についても今回は実装しなかったので、また次の機会ということで。

