ラズベリーパイを使ったエミュレータマシンを作りゲームを楽しんでいますが
RGBブラウン管に映してみたくなりいろいろ調べてみました
アナログRGB出力のためのVGA666アダプター!
まずブラウン管に出力するにはアナログ信号でないといけません。
HDMIをアナログRGBに変換するのも手ですが
今回このVGA666アダプタを手配。
このアダプターを使うとGPIOからダイレクトにVGA信号が出せるそうです
Aliで540円くらいだったんで入手しました
各色6ビット出力なので666だそうです
フルカラーではないですがレトロゲームを映すなら十分な色数。
装着。
ケースの蓋がつけられなくなるので蓋を削る必要がありますな
設定が必要
設定はこの動画を参考に
動画の説明にある通り、ラズパイのコンフィグファイルに
dtoverlay=vga666
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
#hdmi_timings=336 1 10 30 34 252 1 15 3 42 0 0 0 50 0 6400000 1 # 336:252 6.4MHz progressive
#hdmi_timings=336 1 10 30 34 252 1 15 3 42 0 0 0 50 0 6400000 1 # 336:252 6.4MHz progressive
#hdmi_timings=256 1 6 17 18 192 1 26 22 29 0 0 0 60 0 4800000 1 # 256:192 Sega Master System (NTSC)
#hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1 # 256:224 NES, SNES (NTSC)
hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC)
#hdmi_timings=320 1 14 46 28 256 1 17 32 9 0 0 0 50 0 6400000 1 # 320:256 Amiga (PAL)
を追記すればよし
一般的なレトロゲームの320x224の解像度になります
15Khz対応ブラウン管につなぐ
VGA端子が直に生えているアーケードモニターに接続してみました
映った!
(色が酷いことになってたんでこの後消磁しました)
大事なのはピクセルアスペクト比を1:1にすること
そうでないとスケーリングがかかってドットがガタガタになります
まぎれもない240pのドットバイドット表示!
アケ基板実機と遜色無い見た目でぱっと見わかりません
VGA→RGB21ピン変換ケーブルを自作してWEGAに映してみた
同期信号を混合させる必要がありますが
簡単にダイオードをかませたあとHVをショートさせて対応。
(本当はICとかを使うらしいですが。。)
320x224の解像度のネオジオなどと相性がいいです
問題点
・320x224より大きい解像度のゲームは縮小されてガタガタになる
横384ドットのゲームとかがネック
・横256ドットのゲームは左右に黒帯ができる
ファミコン、スーファミとかが該当
そこまで気にならないしモニター側の調整でどうにでもなる問題かな
特殊な解像度のゲームはSDカードを分けて差し替えるというのも手かな
やはりブラウン管で遊ぶレトロゲームは最高ですわ
コメント
自作のVGA-RGB21変換ケーブルの作り方をもっと詳しく教えてもらっていいですか?
実は私もあなたと全く同じことをやろうと考えていました。
なのでお願いします!
RGB21ピン – Wikipedia
https://ja.wikipedia.org/wiki/RGB21%E3%83%94%E3%83%B3
VGA端子 – Wikipedia
https://ja.wikipedia.org/wiki/VGA%E7%AB%AF%E5%AD%90
各コネクターを用意してRGBとGNDと同期信号を繋ぐだけです
音声は適当にヘッドホンジャックなど付けて外に出してください。
同期信号は複合同期にしないといけないので
https://blog.goo.ne.jp/timatima-psu/e/29040d64128f86903024a3dc6575b423
こちらなどを参考に混合してください。
案外ダイオードを入れてショートさせるだけでも映ったりするんですが自己責任で。