2019-04-08 23:48 — asano
カテゴリー:
W65C51と一緒に入手したもの、というよりこちらが本命でした。
MotorolaのMC146805E2Pというマイコンです。頭に「14」が付くのはCMOSだからでしょう、他にもMC/HD146818なんかが同様の命名ですね。
MC6800の命令を拡張し周辺デバイスを集積したMC6801, MC6803に対し、簡略化したのがこのMC6805ファミリです。メモリ空間が縮小されていますし、スタックも32バイトまでしか使えません。レジスタも必要最小限となっています。どことなくIntelのMCS-48と似た雰囲気が感じられます。
基本ROM内蔵で、ROM,RAMの容量やI/O本数, A/Dコンバータの有無などによって多くのバリエーションが存在します。ピン数も40ピン以外に28ピンのものなどもあります。開発用にはEPROMのMC68705や、日立からはピギーバックタイプのHD68P05V07なども出ていました。
このようなデバイスなので外部バスのあるものはないと思っていたのですが...
最近Twitterで外部バス品が存在するという話題がありました。
試しに探してみると容易に入手可能ということがわかり、買ってみたのがこれです。
外部バスのためにピンが使われてしまうのでI/Oは16本に減っています。外部バスはA0~A7とD0~D7がマルチプレクスになっていて、他にA8~A12があります。先に書いたようにアドレス空間が狭いのでA13から上はありません。他にR/WとアドレスラッチのためのAS、MC6800のφ2に相当するDSが出力されています。
8kBのアドレス空間のうち118バイトには内蔵RAMとペリフェラルが割り当てられています。
このような場合、内蔵デバイスへのアクセス時には外部バスは動かないのが一般的ですが、MC146805E2はちょっと違っていて内蔵デバイスへのアクセス時にもバスサイクルが実行されるのです。書き込み時には内蔵デバイスへ書き込む値を外部でラッチ可能になっていて、おそらくはデバッグに使用することを想定しているのではないかと思われます。読み込み時には外部バスからのデータは無視されるので特別なアドレスデコードは必要ありません。アドレスのイメージについては少し注意が必要ですが。
裏側にも「146805」が書かれていました。韓国製。
2732とMC6850(あるいはW65C51)でも付けてモニタプログラム載せてみるのも面白いかもしれません。まったくMC6805らしくない使い方ですが...
コメントを追加