SBC6809Eが完成

[2022/2/2追記]
MC6883は高速モードだとDRAMのリフレッシュをしないようなのでEPROMには標準モードまたはマップタイプ#0アドレス依存モードのBASICを書き込んでください。その際EPROMにはBASICの先頭アドレスが$E000となるように書き込みます(SBC6809と同じ)。

レトロCPUがまだレトロではなかったころMC6809EとMC6883を入手した知人が自作のコンピュータを見せびらかしに来て以来ボクはずっとそれらに憧れがあった。MC6809Eは比較的入手しやすい。MC6883は少なくとも国内だと入手困難。何かの機会にそんな話をしたところRetro PC Galleryを運営するはせりんさんが手持ちのMC6883をプレゼントしてくださった。おかげで下のようなコンピュータを完成できたから情報をまとめておく。

SBC6809E全回路図(PDF)-SBC6809E_sch.pdf
SBC6809E部品表(PDF)-SBC6809E_bom.pdf
SBC6809Eデータパック(OneDriveからダウンロード)-sbc6809e_datapack.zip
プリント基板頒布元-オレンジピコショップのSBC6809E専用プリント基板

MC6883はくだんの知人からDRAMコントローラと聞かされていた。しかし、そういう観点で見るといろいろ親切すぎるし一部に役割不明なピンがある。改めて調べたら、これはCoCoの愛称で知られるタンディー・カラー・コンピュータのカスタムICらしい。役割不明なピンはビデオ表示用。ビデオ表示までやると10cm四方のプリント基板にはとうてい収まらないので、いつもどおり端末をつないで操作する形式をとった。

MC6883が要求する原発振周波数(クロックの16倍)とリフレッシュ頻度、MC6850が要求する通信クロック、MC6809Eが要求するリセット信号はPIC12F1822で作ることにした。ビデオ表示をやらないことはむしろ設計上のメリットになる。NTSCのタイミングに合わせる必要がないため、原発振周波数を上げてMC6809Eを最高速(1MHzまたは2MHz)で動かせるし、リフレッシュ頻度を下げて過剰なリフレッシュを避けられる。

MC6883はソフトウェアでマップタイプの#0と#1を切り替えられる。#0は簡単にいうとCoCo互換でRAMが32Kバイト×2バンク。#1はRAMがほぼ64Kバイトだが普通サイズのROMを取り付ける余地がなくてBASICは外部から読み込む想定。どっちもいまいち。ボクの理想はRAMが約56Kバイト、ROMが8Kバイト、IOが256バイトの、いわば普通の構成、しいて言えば変形#1。以上のどれでも実現できるようにアドレスデコーダをGALで作った。

MC6883はさらにMC6809Eへ出すクロックも標準モード1MHzと高速モード2MHzをソフトウェアで切り替えられる。試作機は高速モードに対応したMC68B09EとMC68B50を取り付けてあるが、情けない話、アクセスタイムの速いDRAMを買う経済的余裕がなくて高速モードを試していない。したがって推奨は標準モード。データパックには4種のBASICを用意してあり、そのうちBASIC9E_map1_slow.hexを使っていただくのが無難。

以上のとおり製作するとマップタイプは変形#1、RAMが約56Kバイトになる。BASICはリセット後にRAMの容量を調べるから起動まで少々(約1秒ほど)待たされる。実はこのBASICもCoCo由来で、RAMが32Kバイト以上あると空き容量を負の数字で表示する。正の数字に直せば約56Kバイトとなって実態と一致する。それ以外は今のところ問題なく動作している。今後もし新たな問題が発覚したらマップタイプ#0を推奨に変更しようと思う。

通信速度は9600bps、通信形式は8ビット、パリティーなし、ストップビット1です。

SBC6809Eのプリント基板は、当初、プリント基板CADの自動配線がネを上げたのを手配線で何とかまとめた労作。頑張った証として頒布することにしたが、みんなも作ってねと気楽に言うことはできない。MC6883が入手困難だし、DRAMを8個揃えると結構な出費になる。だから、すでにそれらを持っている人に言いたい。凄いだろ、DRAMが64Kバイトあるんだぜ、PIC12F1822でリフレッシュを最適化しているんだぜ、動かすと面白いぞ。

カテゴリー: 6809 パーマリンク

SBC6809Eが完成 への1件のフィードバック

  1. ピンバック: MC6883と68系MPUでDRAMマイコン(1)〜 SBC6303にMC6803EPをのせる | KUNINET BLOG

コメントを残す