FAMIRGB製作開始?

NESRGB相当の回路を作るのは、正直私には荷が重い。


電子工作といえば、公開されている回路図をそのまんま作ったことはあるが、
完全にオリジナル設計で作ったことは一度も無いのだ。


今回のFAMIRGBでは、標準ロジックICが20個以上の規模になりそうだ。
初めて設計するには複雑すぎる気がする。


こういう複雑なものを作るには、経験上、ちょっとずつ確実に事を進めるしかない。


電子工作で一番悲しいのは、
作ってはみたけどなぜか動かない、
うんともすんとも言わない、
測定器はアナログテスタしかなくて、
お手上げ状態ってやつではないだろうか。


まあ、私は何回かその状態になって、途中でぶん投げた経験が何度かある。
今回はそうならないように、
とにかく、
ちょっとずつ動作確認しながら、
回路が動作する状態を保ちつつ
少しずつ回路を追加していく感じでやってくことにする。


というわけで、ICが20個以上になると思われるFAMIRGBのうち、どこから作り始めるのが一番確実か考えた。
映像信号が何かしら出ていれば、テレビに映してCPUとPPUはちゃんと動いていることぐらいはわかる。
完全なゲーム画面のRGB信号にならないとしても、映像が出る状態を常に保ちたい。


CPUのバスに流れる信号をモディファイする回路は、しくじるとCPUもPPUもまともに動かなくなるだろう。
このへんは後回しにする。


PPUのEXT0〜EXT3からデジタルの映像信号を出すためには、PPUをスレーブモードに設定しないといけない。
具体的には、PPUのコントロールレジスタ1のbit6を1にすればいい。
これを回路的にやるのはけっこう大変だが、
あらかじめカセットのPRG-ROMのコードにパッチを当てておくことで実現すれば、簡単だ。
吸い出したカセットのPRG-ROMから、PPUのコントロールレジスタ1に値を書き込んでいるところを検索して、書き込んでいる値のbit6を1にした値に変更する。
それをEPROMに焼いて元のカセットに挿して動作させれば、回路的には何もしなくても、EXT0〜EXT3から映像信号が出てくるという目論見である。


完全な映像信号にするためには、これにEXT4の1ビットを足さないといけないのだが、それは難しいので、
とりあえずEXT0〜EXT3の信号をモノクロ8階調の映像信号とみなして、ディスプレイに映してみたい。
CLUTを通してないので、色をつけられないのでモノクロにしかならないが、ゲーム画面の輪郭ぐらいはなんとなく分かるのではないだろうか。


今の状態。


こんなのを作ってるくせに、うちにはもう21ピンRGBを入力できるモニターなどは
とっくの昔に無い。
昔は、NECのPC-TV454があったんだけど、捨てちゃった。


なので、今の回路は、アップスキャンコンバータの回路を組み込んで、VGAの信号(31kHz)として出力することを前提として、
最初から作ることにした。
もちろん、15KHzのRGBも別に出力できるようにはする。
写真中のNECのICが、15KHzから31KHzに変換するためのラインメモリである。
これなら、いつも使っているパソコンのモニタに映像を出力できる。


アップスキャンコンバータファミコン内蔵にしてしまうと、クロック系の回路が簡単になるし、ADコンバータも不要になるので、
けっこう簡単に作れそうである。