VirtuaNES のソースをみた

以前記載した 24C01 の bit reverse については、ソースコード上で「本当はMSB->LSB」というコメントがあったのであえて DBZ1 のバグを容認する方針で実装したようです。それに追従する Nestopia はちょっとどうかと思いますけど。

ついで Datach のサブカートリッジの I2C CLK ですが、キャラクタバンクのアドレスに振られていました。これはキャラクタRAMだとキャラクタROM用のアドレス端子が不要になるので、PPU A12:10 を GND か Vcc で固定し、Charcter A10 を I2C CLK に配線したものと思われます。
LZ93D50 が DIP であれば比較しながらピンを探すことも出来ましたが、 QFP なので見送りました。

以前 JUMP2 のプログラムをみたんですが、これもキャラクタバンクを別の用途(Program A18 とかほかの拡張)に使用しており、キャラクタバンク用レジスタ8つに同じデータを書いていたのが奇妙でした。
どれかわからないのでとりあえず全部同じ値を書いてくれというような仕様書がプログラマに渡されたのでしょうか。

こういったキャラクタバンク用レジスタを別用途に転用できるなと思ったことはありましたが、実用されていたのはネガティブな方向に驚きました。

FCG-3 はキャラクタをRAMにすると UOROM のほのかなかほりを感じますね。