2020-12-17 21:39 — asano
カテゴリー:
いつ買ったものか忘れてしまったのですが、そう昔ではなかったと思います。去年だったか、今年になってからだったか...
このCDP1806ACEはCDP1802の後継プロセッサ、以前取り上げたCDP1802はHarris時代のものでしたが、これはオリジナルのRCAマーキングです。
これCDP1804~1806の3種あり、CDP1802からの主な改良点はそれぞれ以下の通りです。
- CDP1804
- サブルーチンコールを含む32の命令の追加
- 2kBの内蔵マスクROM
- 64バイトの内蔵RAM
- 8ビットのカウンタ/タイマ
- CDP1805
- サブルーチンコールを含む32の命令の追加
- 64バイトの内蔵RAM
- 8ビットのカウンタ/タイマ
要はCDP1804から内蔵ROMを取り除いたもの
- CDP1806
- サブルーチンコールを含む32の命令の追加
- 8ビットのカウンタ/タイマ
要はCDP1805から内蔵RAMを取り除いたもの
命令の追加はCDP1802では未使用であった68
をプレフィックスとした2バイトを使うことで実現しています。
68
、CDP1802のオペコードの唯一の空きですが、よくこれをDecrement Reg X(DRX
)などとせずに空けておいたものです。
2バイト目にはかなりの空きがありますから、実行すると何が起こるのか試してみたい気もしますね。
内蔵マスクROMはアドレスの上位5ビットを任意(マスクで設定)に設定できるので2kB単位でアドレス指定できます。上位アドレスはDon't careにも設定できるので複数アドレスに出現させることもできるようです。内蔵ROMのアドレスが変更できるのは珍しいですが、リセット時の実行開始アドレスは0000Hに固定されているので変更する必要はあまりないように思うのですが...
内蔵RAMはCDP1804のROM/RAM Modeでは上記ROM同様アドレスの上位10ビットを任意にマスクで設定します。ROMのアドレスと重なっている場合RAMの有効なアドレスではRAMへのアクセスが優先されます。CDP1805およびCDP1804のRAM Only Modeでは外部でデコードしなくてはなりません。
カウンタ/タイマは専用命令でアクセスします。
CDP1802とCDP1804~CDP1806は基本的にピン互換ですが、ピン16のみ異なっています。
- CDP1802
CDP1802ではこのピンはVCC(I/O電源)でした。このファミリは電源電圧によってクロック上限が変わる(電圧を上げたほうが高クロックで動作する)ものがありますが、外部のロジック電圧が5Vでなくなると使いにくいのでI/O電源を別に供給できるようになっていたのでした。このCDP1802AC(Eはパッケージ)はVDD=5Vで3.6MHz(3.2MHzとする資料も)動作可能ですが、CDP1802A(Cが付かない)はVDD=10Vとすることで4MHzまで、さらにVCC=10Vとすることで6.4MHzまで動作します。まぁ6.4MHzのためには外部ロジックも10Vにしなくはならないので電源ピンを分けてあるメリットも無くなりますが... - CDP1804 RUN (ROM/RAM) Mode
内蔵ROM/RAMにアクセスしていないことを出力するEMS(External Memory Select)です。外部メモリのセレクト信号として利用できます。 - CDP1804 RUN (RAM Only) Mode
内蔵RAMをセレクトする入力ME(Memory Enable)です。 - CDP1805
内蔵RAMをセレクトする入力ME(Memory Enable)です。 - CDP1806
電源VDDです。
ピン40のVDDとピン16のVCCともに5VにしておけばCDP1802もCDP1806もそのまま差し替えが可能になります。内蔵RAMが不要であればCDP1805もそのままOKでしょう。
最後に裏側の写真も載せておきます。
なんか表側と雰囲気違いますね。またリマーク品を掴まされたのか?
早く動かしてみたいものです。
コメントを追加