uPD78C10ボード
カテゴリー:
ASのCP-1600対応などで停滞していましたが、2週間ほど前から作り始めていたμPD78C10のボードが動き始めました。
例によってEMILY Board仕様です。
μPD78C10ボードと銘打っていますが、少々の改造(63ピンと64ピンを短絡)でNMOS版のμPD7810もいけると思います。μPD7807もざっと見たところいけそうなのですが、どうでしょう。
マイクロプロセッサ・マイクロコントローラ等です。
ASのCP-1600対応などで停滞していましたが、2週間ほど前から作り始めていたμPD78C10のボードが動き始めました。
例によってEMILY Board仕様です。
μPD78C10ボードと銘打っていますが、少々の改造(63ピンと64ピンを短絡)でNMOS版のμPD7810もいけると思います。μPD7807もざっと見たところいけそうなのですが、どうでしょう。
CP-1600を実際に動かしてみるとなると問題になるものの一つとして開発環境をどうするかというのがあります。
ざっと探してみましたが使えそうなアセンブラが見当たりません。
Cコンパイラなどが無いのはともかく、アセンブラも無いのはさすがに困ります。いくら昔を懐かしむといっても今さらハンドアセンブルはしたくありません。
というわけで以前ASをMN1610対応させたようにCP-1600対応のコードジェネレータを書いてみました。
16ビットワードマシンであることなどMN1610に似ている点もあり、基本的な枠組みはMN1610とほぼ一緒です。
続いて各命令のデコーダを書いていきますが、結論から言うととても楽でした。
また買ったまま忘れていたデバイスです。最近ブレッドボードで動かそうとされている方がいて思い出しました。
General InstrumentのCP-1600A、1982年48週の製造のようです。
TMPZ84C015にはA7RFという出力があって、リフレッシュアドレスが8ビットになっているのですが、そうなるとR
レジスタの動きはどうなるのだろうという疑問が出てきます。ならば現物で確認するのが一番、というわけでAKI-80を引っ張り出して動かしてみることにしました。
いずれEMILY Boardにつなげてみたいということでそれを意識した配置にしています。
でもまずは上記の疑問を解決したいということで最低限の配線しかしていません。
μCOM-87シリーズはQuad in-line Packageで取り上げたμPD7800Gがありますが、シュリンクDIP品を見かけたので買ってみました。
μPD78C10ACW、μCOM-87ADファミリの一員です。NECの独自アーキテクチャのいわゆるワンチップマイコンです。
レジスタセットはBC
, DE
, HL
などというのがあって、しかも2セットを交換できるなどZ80によく似ています。命令は(まだデータシートを流し読みしただけですが)ニーモニック数が多い印象ですね。
手持ちのINS8073/Nを仮に載せていたINS8070ボードですが、INS8070も到着したことですし、INS8073でやろうとしていたことも一通りできたので、本来のINS8070に載せ替えました。
INS8073とINS8070の違いは内蔵ROMの有無だけですのでそのまま載せ替えられますが、メモリ配置は変更が必要です。
0x0000番地から起動用のメモリが必要なので0x1000~0x1FFFに配置していたものを0x0000~0x0FFFに移動しました。0xF000以降をRead Onlyにしておく理由もなくなったので書き込み可能にしました。
INS8073のBASICでユーザが用意したコンソール入出力ルーチンを使う方法を予定していましたが、到着を待っていたCPUが届いたので先に取りあげることにします。
National SemiconductorのINS8070、そもそもINS8070ボードを製作した目的のデバイスです。
製造は1983年の26週のようですね。
前回書き始めていたモニタですが、いつものようにD(ump)コマンドが動くころには慣れてしまって残りはサクサク進み基本的なD,G,S,Lコマンドはすぐにできました。今回はちょっとわけあってP(unch)コマンドも追加しています。
SC/MP(I と II)とは以下のような相違点があります。