今日は趣向を変えて、ディスプレイの接続の幅を広げる実験をしました。
Bitfunx社のOSSC(Open Source Scan Converter)です。
1. レトロパソコンの解像度の話
まず大前提として、PC-88VA2のような超レトロなパソコンは、そもそも最近のディスプレイに画面を表示することができません。解像度が低すぎるのです。
最近のディスプレイの普通ぐらいがどのぐらいなのかよくわかっていませんが、まあたぶん、
- 1920×1080(フルHD)
- 3840×2160(4K)
- 7680×4320(8K)
あたりがよくある解像度なのでしょう。
で、PC-88VA2の解像度はというと、
- 320x200 主にアクションゲーム
- 640x400 一番普通に使われる画面モード。いわゆるPC-9801モード。
- 640x408 なんだかできるから作っちゃいました、みたいなモード
です。(その他にも何パターンかありますが、あとは上記の組合せです。)
因みに、縦408ピクセルって、たぶんPC-88VAシリーズのオリジナル画面モードなんじゃないかな?
まあ、とにかく解像度が全然違っていて、昨今のディスプレイではこれらの解像度の表示ができません。仕方がないので、これらの解像度に対応する中古ディスプレイを探すことになります。無いわけではありませんが、なかなか手に入りづらい状況です。
因みに私が今、メインで使っているディスプレイは、Century社のLCD-10000VH5です。
このディスプレイの解像度は1280x800ピクセル。そう、640x400ピクセルのちょうど縦横2倍なんですね。メーカ公式ではありませんが、640x400ピクセルの画面を表示することができるようになっています。
後継となる現行品はLCD-10000VH7という機種のようですが、この機種が640x400モードに対応しているのかは不明です。誰か試した人いないかな?
2. OSSC (Open Source Scan Converter)
さて、冒頭で紹介したOSSCですが、これは低解像度表示に対応していない最近のディスプレイにレトロパソコン、レトロゲーム機等の画面を映してしまう機器で、一般的には「アップスキャンコンバータ」と呼ばれているものです。そのオープンソースハードウェアがOSSCです。
色々なメーカから販売されていますがBitFunxはその中でもメジャーなメーカになります。
見た目はこんな感じです。
基板むき出しなものが多い中、Bitfunxはそれっぽいケースに入っています。
つないだらすぐに映るのかと思ったら、そういうわけではなかったようです。
とりあえず、電源をONしたら、リモコンの[3]ボタンを押します。
これは入力切換えですね。
- AV1: SCARTコネクタ
- AV2: Component端子
- AV3: VGAコネクタ
となっていますので、AV3入力を選択するということです。
(信号の構成の違いとかあるけど、細かいことは省略)
で、入力を選択したら画面は映ったのですが、左上方向にはみ出しています。
調整が必要なようです。
こちらのサイトによると、640x400ピクセルモードは、以下のように画面出力されているそうで、とりあえずこの通り調整すれば良さそうです。
- ピクセルクロック 21.0526MHz
- 水平同期周波数 24.83kHz
- フロントポーチ 80ピクセル
- 水平同期ピクセル 64ピクセル
- バックポーチ 64ピクセル
1スキャンライン分の論理ピクセル数を計算すると、
21.0526MHz / 24.83kHz = 約848ピクセル
640 + 80 + 64 + 64 = 848
なので、ちゃんと計算も合っているようですね。
OSSCでは、フロントポーチの入力はありませんが、同期ピクセル数、バックポーチピクセル数、アクティブピクセル数から計算するようになっているようです。
それで、調整した結果が↓こちらの画面になります。
設定を書き出すと以下の通りです。
- H. samplerate = 847.00
- H. s.rate frac = 847.00
- H. synclen = 72
- H. backporch = 72
- H. active = 640
- V. synclen = 15
- V. backporch = 19
- V. active = 400
- H. border = 0
- V. border = 0
- Sampling phase = 180 deg
うーん、なんか計算値と違うんだけどなあ。
まあ、表示できるパラメータが正解ということで。
使用したディスプレイは、DELLのU2410です。
このディスプレイの解像度は、1920x1200ピクセルです。そう、640x400の縦横3倍です。
ちょうどいい解像度のくせに、水平同期周波数24.83kHzに対応していないので、640x400の画面が表示できないのです。
しかし、これでもう安心。
表示できることが確認できました。
他にも色々と試してみたいことはありますが、今日のところはここまで。



