2019-09-20 23:54 — asano
カテゴリー:
メモリ基板: 現状と今後の予定で製作中と書いた6502ボードが動き出しました。今回はハードウェア編です。
メモリボードに接続することを前提にしているので6502以外には6551 ACIAを積んでいるだけです。
メモリボードの共有メモリ経由でコンソールが使えればACIAは無くても困らないのですが、6551を使ってみたいという気持ちもあって搭載してみました。
R65C51P2は上述のACIAです。古い設計のデバイスですがボーレートジェネレータ内蔵なのがありがたいです。
その右はリコー製のRP65C02G、ご本尊の6502です。6502は何種類か持っているのでそのうち入れ替えてみたい気もします。
左下の6ピンのコネクタはコンソール用でTTL-232R-5Vに合わせてあります。
次は発振器のSG-8002DC、シリアルのクロック用に1.8432MHzです。R65C51内蔵のボーレートジェネレータはカウント値を自由に設定できないのでMPUと共用にはしませんでした。下手に分周器を使うより小さくてすみます。
次のSN74LS139はR/W, φ2からRD, WRにデコードするのに使用しています。残り半分はアドレスデコーダです。
HD74ALS00Pはアドレスデコードにわざとイメージを作っています。
74LS139で$0000~$3FFF, $4000~$7FFF, $8000~$BFFF, $C000~$FFFFの4つにデコードします。$8000~$BFFFはACIAに使います。スタックは$0100~$01FFに固定されているので$0000~$3FFFはメモリにする必要があります。またリセット時には$FFFC,$FFFDからアドレスを読むので$C000~$FFFFもメモリにする必要があります。
本当は74LS08でよいのですが手持ちの関係で74ALS00を使いました。
右下端はMPUクロック用のSG-8002DCです。
基本的にアドレスとデータバスはMPUとコネクタを繋ぐだけ、あとはRD, WR信号を作ればよいようになっています。今回はACIAを載せたので若干複雑になってしまっています。
メモリボードとの接続状態です。
34ピンと20ピンのリボンケーブルで接続します。電源もメモリボードから供給されます。
動作確認とソフトウェアについては次回のソフトウェア編で書きたいと思います。
コメントを追加