6502ボード(ハードウェア編)
カテゴリー:
メモリ基板: 現状と今後の予定で製作中と書いた6502ボードが動き出しました。今回はハードウェア編です。
メモリボードに接続することを前提にしているので6502以外には6551 ACIAを積んでいるだけです。
メモリボードの共有メモリ経由でコンソールが使えればACIAは無くても困らないのですが、6551を使ってみたいという気持ちもあって搭載してみました。
個人的に製作してきたものの紹介です。
電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。
回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。
残っていないのではなく、そもそも書かないことが多かったためです。
もちろん仕事ならば書きますが。
特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。
5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。
メモリ基板: 現状と今後の予定で製作中と書いた6502ボードが動き出しました。今回はハードウェア編です。
メモリボードに接続することを前提にしているので6502以外には6551 ACIAを積んでいるだけです。
メモリボードの共有メモリ経由でコンソールが使えればACIAは無くても困らないのですが、6551を使ってみたいという気持ちもあって搭載してみました。
今回はメモリ基板の現状と今後の予定を書いてみます。
まずは今動いているところです。
ターゲットCPU基板がまだ1枚も完成していないのでターゲット側からのアクセスは未確認ですが、ただ接続するだけなのであまり心配はしていません。
ROMエミュレータではアクセス中はターゲットからのアクセス不能になり暴走するのでアクセス中"L"になる信号を用意していましたが、せっかくDPSRAMを使っていることでもありRAMアクセスとは独立させています。
前回に引き続きメモリ基板についてです。今回はDPSRAM構成になった理由を書いてみたいと思います。
これまでに検討した方式には次のようなものがあります。
起動させるだけならこれでも構いませんが、何らかのモニタを動作させようとすると最低限コンソールが必要です。
作りかけで何度も中断し放置してきたメモリ基板がやっと動き出しました。
これ構想しはじめたのは何年も前、製作に着手してからでも半年近く経過しています。一気にやれば大して配線量はないんですけどね。
ここでも紹介しているように歴史的なプロセッサを多数持っていますし、珍しいのを見かけて買ってしまうことも多くどんどん増えています。できれば単なるコレクションではなく動かしたいと思っているのですが...
今時のマイコンは高速なので、周辺回路(最低限メモリとUARTなど)をエミュレーションさせる方法もあります。AVRマイコンなどのGPIOをターゲットのバスに直結してあとはソフトウェアで処理するわけです。これはこれで面白いとは思いますが、個人的にはちょっと違う気がします。
TTLをディスクリートで作ってみた・続・TTLをディスクリートで作ってみたではとりあえず電圧を測っておけばと思っていましたが...
結局、電流を測れるようにジャンパをに追加しました。必要に応じてジャンパを抜いて電流計を挿入します。
これでいくつかの場合について動作を追ってみました。
以下の回路図で青地で書かれているのは実測値、赤字で書かれているのは計算値です。数字が単独で書かれているのは電圧(V)、矢印とともに書かれているのは電流(mA)です。入出力の「1k」はもちろん抵抗値1kΩです。
AKI-ROMがなぜかもう1枚出てきちゃいました。
こちらにはDC-DCが搭載されていない他、左下のスイッチやZIFソケットからも別の個体であることがわかります。
2枚作った理由は...、例によって使いたいときに行方不明だったからでしょうね。
秋月のキットとしては高価な部類に入るのでよほど急いで必要だったのでしょう。となると、Flash EEPROMを飛ばしてしまったP/I-P55TP4Nの復活の時かもしれません。数万円のマザーボードの修復のためとなればそう高いとは感じないでしょうから。
Universal Monitor Z8の基本機能が現在対応している全プロセッサで使用可能になりました。
前回はコマンドの概要のみを書きましたが、今回はコマンドラインの形式も書いておきます。
コマンドは原則1文字ですが、PI
などのように2文字のものも一部あります。
<addr>,<offset>といった数値パラメータは16進表記で必要以上の桁数を入力した場合は末尾が使用されます。
英字の大文字小文字は区別されません。
コマンドとパラメータの間・パラメータとカンマの間には空白を入れても構いません。ただし行入力バッファは短いので注意してください。