昨今のテレビはコンポーネントやS端子といった高画質アナログ系の入力端子が削除され、レトロ系デバイスを直に接続できるのがコンポジットビデオ信号くらいになってしまった。コンポジのボケボケ画面で我慢できるのは初代ファミコンくらいのもので、MSXでは文字の判読も困難である。
一部のPC用LCDでは正式に対応を謳っていなくても水平同期15kHzのアナログRGBを4:3表示できるものがあり、CenturyのLCD-8000Vや、cocoparの13.3インチIPS液晶が密かに15kHzに対応しているらしい。手に入る内に買っておこうとcocoparのものを2020年2月に楽天で入手した。残念ながら2020年6月現在はどこも品切れのようだ。
この製品、MENU長押しでファームウエアのバージョンを確認できる。ネットでは「Para V007」でないと縦横比が変更できないという情報があるが、入手した個体のファームはPara V007に該当。他のバージョンがあるかどうかは不明。
PC-6601SRに適当に繫いで表示テストしてみたところ、確かに15kHzの信号に対応しており、画面比4:3に設定可能のようだが、入力端子がいわゆるVGAコネクタ(3列Dsub15p)で、水平・垂直同期信号(HSYNC、VSYNC)にしか対応していないのがMSXユーザーとしては不満である。正攻法で行くなら外付けアダプタを作成し、ビデオシンクセパレータLM1881で同期分離することになるが、MSXのRGB端子にはLM1881をドライブできる電源出力がないので、別途ACアダプタが必要になってしまう。できればシンプルに直結したい…ということで、cocopar内部にLM1881を増設し、直接MSXの複合同期信号(CSYNC)を流し込めるように改造することにした。
この記事の情報を元に改造した結果、LCDモニタを壊してしまったり、身体や財産に不利益を及ぼしたとしても当方は責任を負えないので十分な知識とスキルを身に付けた上で自己責任にて行ってください。改造するとメーカー保証期間内であってもアフターサービスは受けられなくなります。記事の内容についてメーカーその他に問い合わせるのはご遠慮ください。
LM1881は、2pにコンポジットビデオ信号を入力し、1pにCSYNC、3pにVSYNCを出力するように設計されているが、経験的に2pにCSYNCを入力しても問題ない。1pから出力されるのはCSYNCであって、HSYNCではない点に注意。6pのコンデンサと抵抗は定数になっているので何も考えずにこのまま接続する。
手始めにブレッドボード上でLM1881のコンポジビデオ入力にMSXのCSYNCを入れ、1pと3pをcocoparのHSYNC、VSYNCに接続したところバッチリ映った。試しにVSYNCを外してみたところまったく問題なく同期した。実はこのモニタ、HSYNCにCSYNCを流し込めばVSYNCに信号を入れなくても映るっぽい。しかし、MSXのCSYNCを直にHSYNCに接続しても表示されない。問題は信号レベルで、通常CSYNCは0.3~1.0Vppであるのに対し、HSYNCはTTLレベル(4~5Vpp)である。CSYNCもTTLレベルが要求されるということのようだ。
確認のためMSX(FS-A1FX)のCSYNCをオシロで測定したところ、1Vppになっていた。このままcocoparのHSYNCに接続すると振幅が足りないが、LM1881を通すことでTTLレベルに変換される(過去記事でも似たようなトラブルを経験をしている)。cocoparを改造するならば、HSYNCに入った信号を強制的にTTLレベルに変換してしまえばOKだろう。ここで、LM1881のデータシートを紐解くと、絶対定格として下記のように書かれている。
LM1881はVccが5Vの場合、入力信号は3Vppまでしか許容されないが、Vccを8V以上にすれば6Vppまで可。入力端子には0.3~5Vppの信号を接続することが想定されるので、3Vppしか許容できないのはマズイ。よって、LM1881は12Vでドライブすることにした。その時出力されるCSYNCのレベルをオシロで測定したところ、約10Vppになっていた。ちなみにVcc=5VだとTTLレベルの出力である。Vccが大きくなると出力信号の振幅も大きくなる点には注意が必要だろう。
このレベルのままcocoparに突っ込むのは問題がありそうなので、LM1881で上げたレベルを再度落とすことになる。当初ツェナーダイオードで5Vに整形しようとしたがエッジが鈍って表示が横にズレたのでNG。シンプルに抵抗で分圧したところ良好な結果が得られた。諸々検証して書き上げた回路図がコチラ。
R93とR98が元からcocoparの制御基板に載っている抵抗。R93の手前で切り離し、スイッチでLM1881を経由できるようにした。CSYNC出力は手持ちの2.2kΩと4.7kΩを組み合わせて分圧したが、GND側並列の合成抵抗は1.5kなので1本に置き換えてしまっても構わない。これによりHSYNCの信号レベルは約4Vppになる。
制御ICにSYNC信号を流し込むポイントがコチラ。R93の100Ωチップ抵抗を取り外してパッドにジュンフロン線を接続した。R98は温存。パターンカットは不要。
外したR93は細かすぎて紛失したので(笑)裏面にリードタイプ100Ωをハックルーで貼り付けた。その他回路図通りに実装。なお、部品増設面の上にLCDパネルが載ることになるので、十分な隙間があるか確認しておいたほうが良い。極端に隙間が少ないとパネルにストレスが掛かった際に割れる危険性がある。
MSXを直結できるケーブルも作成した。市販のVGAケーブルをぶった切ってDIN8pコネクタを取り付けただけである。DINの4p(CSYNC)はDsubコネクタの13p(HSYNC)に接続する。Dsubの14p(VSYNC)はNC。RGBとGNDはそのまま配線。
LM1881を経由した状態で実際に動作させてみたところ、CSYNC 1VppのMSXでもHSYNC 5VppのPC-6601SRでもPCのVGA信号でも問題なく同期した。VGA信号はダメかなと思っていたが、意外とLM1881は高解像度の信号にも追従する模様。信号スルー用のスイッチは無くても良かったのかも。
なお、今回はナショナルセミコンダクタ社のLM1881Nを使ったが、想定外の使い方をしているので互換チップではうまく行かないかも知れない。中華製互換ICのAT1881で試してみたが、発振してダメだった。同様の改造をする際は、実装前にブレッドボードなどで実験しておくことをお勧めする。
外部音声入力端子の増設
cocoparはスピーカー内蔵だが、音が出るのはHDMI接続時に限られる。ステレオ対応なのにスピーカーが縦に配列されていたり、薄いプラ筐体がスリットでスカスカなこともあって音質はよろしくないが、RGB接続時に使えないのは面白くない。ということで外部音声入力端子を増設する。
制御基板に搭載されているのはデジタルアンプIC「PAM8003」である(データシートはコチラ)。7pと10pが入力端子になっていて、cocoparでは制御ICからコンデンサ(C6,C7)と1kΩ(R12,R13)を介して接続されている。PAMの内部ではオペアンプに接続されているようなので、ここに0.47uFと1kΩを介して並列に外部入力を繫いだらミキシングされて音声が出せるかも、と思って試してみた。
データシートの図に追記するとこんな具合。PAM8003のINLとINRにカップリングコンデンサと入力抵抗を介して外部音声入力端子EXL,EXRを接続する。
1kΩのチップ抵抗をR12とR13の根元に付け足して、適当なチップコンを経由してワイヤーを接続した。画像だと大きく見えるが実際は結構細かい。GNDの黒ワイヤーは右下のコンデンサに接続。ワイヤーを引っ張ると部品がもげるのでハックルーで固定した。
片ChにMSXの音声出力を接続したところ、RGB表示時にスピーカーから音声が出るようになった。cocoparの操作ボタンで音量コントロールも可能。RGBケーブルを引っこ抜くと表示が消えると共に音声もミュートされたので、非表示時はアンプもシャットダウンモードに制御されているようだ。
HSYNCスルースイッチと音声入力端子はサイドのプレートに固定した。なお、HDMI接続時はこれまで通り発音されるが、同時に外部入力に信号を入れると音声がミキシングされて出てくる。HDMI側のスピーカー出力はヘッドフォン接続でミュートされるが、外部入力側はミュートされず、ヘッドフォンからも音声は出なかった。このあたりは割り切って使うしかないだろう。
ちなみにこのモニタ、一応VESAマウント対応らしいが筐体の成型が悪く、ネジ穴が樹脂で埋まっていた。一応中にネジは埋まっていたので適当に掘り起こして引っ掛け用の金具をネジ止めした。これで邪魔にならずに運用できそう。
勉強になりました。