PPUアドレスの取得回路をTINA-TIでシミュレーションした

いままで適当にExcelで図をかいて回路を設計してたんですが、
それだとなかなか実装するまで間違いに気がつかなかったりで、
ユニバーサル基板上で配線してから
あー間違ってたー
配線しなおしだーってなってたんです。



回路のユニットごとに回路シミュレータである程度検証してから
基板に実装することにしました。
この図は、ファミコンのCPUがPPUアドレスの値を書き込んだときに、その値を拾うための回路です。
74HC163という、カウント値をプリセット可能なカウンタICを使っています。
それを4つ並べて、16ビットの値を保持できるようにしています。



フリーの回路シミュレータをいくつか試したのですが、
LTSpiceは使い方が難しい感じでした。

上の図は、TINA-TIという回路シミュレータの画面キャプチャです。
私にはこれが一番分かりやすかったです。
ちゃんと日本語版もあります。


TINAはDesignSoftというハンガリーの会社の製品らしいのですが、
それをテキサスインスツルメンツが自社製ICのモデルをのっけて
無償提供しているバージョンがTINA-TIらしいです。
テキサスインスツルメンツ製ICのモデルしか入っていないわけではなく、メジャーどころの部品はけっこう入っているようです。
74シリーズの標準ロジックICもよく使われるのはだいたいありそうです。


したからダウンロードできます。
http://www.tij.co.jp/tool/jp/tina-ti


画面上でスイッチとかテンキーパッドを配置して、
それをマウスクリックかキーボード操作で操作することができます。
そのときの回路の状態をLEDで表示したり、仮想的なオシロスコープで見たりすることができて、
とても直感的だと思いました。


ファミコンCPUのデータバスの代わりとして、4bitの値を入力できる16進のキーパッドを使っています。
CPUからのR/Wの信号は、プッシュスイッチです。
これをぽちぽち押しながら、なんとなくちゃんと動きそうなことを確認しました。