2019-02-11 23:56 — asano
カテゴリー:
SBC6303にMC6850(ACIA)を増設してみました。
以前「MC6803を動かす」でターミナルから入力できないMC6803が見つかっていました。交換すれば動作するので個体の問題と考えられます。
もう少し追ってみたいのですがターミナルが使えないのでは効率が悪すぎます。せっかくバスがコネクタに出ていることでもあり、シリアルポートを増設してみたわけです。
基板は秋月のB基板、SBC6303より若干小さいようですが取り付け穴の間隔は一致しています。コネクタはスタックしたときに並ぶようにしています。
メインはもちろんMC68B50CPです。上のジャンパはボーレートを変えられるようにと用意しましたが、現在は左端のみが配線されていて9600bpsとなっています。コネクタはSBCシリーズにあわせていてFTDIのTTL-232R-5Vがそのまま使用可能です。
左列の一番上はSG-8002DCで周波数は1.2288MHzです。本当は153.6kHzにできればそのまま使えたのですが、最低周波数が1MHzなのでこれを8分周して使用しています。
下は分周器の74HC393です。よく考えたらEを使えば発振器は不要でしたね。
その下はアドレスデコーダの74LS138、A15~A10をG1, G2A, G2B, C~Aに入れているのでY0は$8000~$83FFとなります。MC6850のCS0, CS1, CS2にはA3, A4, Y0を入れているので、SBC6800, SBC6809と同じく$8018, $8019でアクセスできます。
右端の28ピンソケットは未配線ですが、近いうちにHM62256を搭載予定です。MC6803, HD6303の内蔵RAMは128バイトしかないのでプログラムを置くには小さすぎます。
RAMを載せるときは一つのピンに線を2本ハンダ付けしなくてはいけないのでちょっと面倒かもしれません。
ハードウェアができたら次はソフトウェアを何とかしなくてはなりません。SBC6303のLILBUGをACIA用に変更(SBC6800用のMIKBUGはRAMが不足で使えないと思います)することも考えましたが、使い慣れたモニタがありがたいのでMAA-1ボードのモニタを移植しました。
これで問題のMC6803を動かしてみると普通に動作します。当初シリアルの受信ができないのか、プロンプトを表示したところでハングアップしていたのか、区別できていなかったのですが、これでシリアル受信の問題である可能性が高いことがわかります。
コメントを追加