現在地

マイコン

マイコン

マイクロプロセッサ・マイクロコントローラ等です。

MCS8085でUniversal Monitor

MCS8085でUniversal Monitorを動かそうとするとネックになるのは以下の二点です。

一つ目はUART機能が無いこと。シリアルI/O用としてSID, SODが引き出されているのでソフトウェアUARTを実装する必要があります。

二点目はROM容量が2kBと小さいこと。現状のUniversal Monitor 8080は約2.5kBのROMを必要としますから二割ほど減らさなくてはなりません。

これらの点を何とか解決できれば動かせそうです。

まずはソフトウェアUARTですが、基本的にはCOSMACのソフトウェアUARTをそのまま8085に移植しました。

ロジックができたら1ビットの時間を合わせます。SIDから読んだビットをそのままローテートしたりできて条件分岐の必要が無いのでクロックを数えるのはCOSMACより楽ですね。分岐があるとルートごとのクロック数を揃えなくてはなりません。

8085 SID,SOD引き出しアダプタ

テーマ:

カテゴリー:

8085のSID, SODピンを引き出すアダプタ(下駄)を作ってみました。


ことの発端はMCS8085Universal Monitorを移植しようと思ったことです。MCS8085にはUARTのハードウェアは無いので必然的にソフトウェアUARTを書く必要があります。

ただMCS8085のROMは8755というUV-EPROMとパラレルI/Oが一体になったもので、いつものROMエミュレータが使用できません。

μPD78C10ボード(ソフトウェア編)

ボードが出来たら当然次はソフトウェアを何とかしなくてはなりません。

いつものようにUniversal Monitorを移植することにします。

こういうのってCなどの高級言語か擬似コードを元にアセンブリ言語に変換していくのが一般的なのかもしれませんが、私の場合は似たプロセッサ向けのアセンブリ言語のソースを見ながら直接アセンブリ言語で書き下ろしています。

元にしたソースのバグを発見したり、最適化を思いついたりすることもありますね。ある意味コードレビューしているようなものですから。

今回は8080用を元にしていて、現時点でD(ump), S(et), G(o), L(oad), P(unch)の各コマンドが動いています。ここまでで感じたことをあげてみます。

  1. ニーモニックは8080にそっくりなものが多い。SHLD, LXIなど

uPD78C10ボード

テーマ:

カテゴリー:

ASのCP-1600対応などで停滞していましたが、2週間ほど前から作り始めていたμPD78C10のボードが動き始めました。


例によってEMILY Board仕様です。

μPD78C10ボードと銘打っていますが、少々の改造(63ピンと64ピンを短絡)でNMOS版のμPD7810もいけると思います。μPD7807もざっと見たところいけそうなのですが、どうでしょう。

ASをCP-1600対応に

CP-1600を実際に動かしてみるとなると問題になるものの一つとして開発環境をどうするかというのがあります。

ざっと探してみましたが使えそうなアセンブラが見当たりません。

Cコンパイラなどが無いのはともかく、アセンブラも無いのはさすがに困ります。いくら昔を懐かしむといっても今さらハンドアセンブルはしたくありません。

というわけで以前ASをMN1610対応させたようにCP-1600対応のコードジェネレータを書いてみました。

16ビットワードマシンであることなどMN1610に似ている点もあり、基本的な枠組みはMN1610とほぼ一緒です。

続いて各命令のデコーダを書いていきますが、結論から言うととても楽でした。

TMPZ84C015のRレジスタ

テーマ:

カテゴリー:

TMPZ84C015にはA7RFという出力があって、リフレッシュアドレスが8ビットになっているのですが、そうなるとRレジスタの動きはどうなるのだろうという疑問が出てきます。ならば現物で確認するのが一番、というわけでAKI-80を引っ張り出して動かしてみることにしました。


いずれEMILY Boardにつなげてみたいということでそれを意識した配置にしています。

でもまずは上記の疑問を解決したいということで最低限の配線しかしていません。

uPD78C10

テーマ:

カテゴリー:

μCOM-87シリーズはQuad in-line Packageで取り上げたμPD7800Gがありますが、シュリンクDIP品を見かけたので買ってみました。


μPD78C10ACW、μCOM-87ADファミリの一員です。NECの独自アーキテクチャのいわゆるワンチップマイコンです。

レジスタセットはBC, DE, HLなどというのがあって、しかも2セットを交換できるなどZ80によく似ています。命令は(まだデータシートを流し読みしただけですが)ニーモニック数が多い印象ですね。

INS8070ボード(その2)

テーマ:

カテゴリー:

手持ちのINS8073/Nを仮に載せていたINS8070ボードですが、INS8070も到着したことですし、INS8073でやろうとしていたことも一通りできたので、本来のINS8070に載せ替えました。


INS8073とINS8070の違いは内蔵ROMの有無だけですのでそのまま載せ替えられますが、メモリ配置は変更が必要です。

0x0000番地から起動用のメモリが必要なので0x1000~0x1FFFに配置していたものを0x0000~0x0FFFに移動しました。0xF000以降をRead Onlyにしておく理由もなくなったので書き込み可能にしました。

ページ