現在地

マイコン

マイコン

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

2650ボード(2651編)

Universal Monitorの基本機能が動くようになったので、保留してあった2651を動かしてみることにします。


空きソケットに残りのICを搭載します。

コンソールドライバのソフトウェアも書かなくてはなりませんが、既に2650のプログラムには慣れているのでどうということはありません。

2650ボード(ハードウェア編)

テーマ:

カテゴリー:

今度はSignetics 2650Aを動かしてみました。


例によってEMILY Boardで動かすことにしました。

CPUの他にシリアル通信用の2651 Programmable Communication Interface(PCI)も搭載します。

まずは動作に最低限必要なデバイスのみを載せて試してみることにします。

uPD7807

テーマ:

カテゴリー:

uPD78C10ボードでμPD7807もいけそうと書きましたが、現物を入手しました。


μPD7807CW、1988年36週の製造ですね。パッケージはシュリンクDIPの64ピンです。

ボードを作ったころから探していたのですが、出品が少なく高価だったりして半ば諦めていました。ところが国内ショップの新着情報を見ていて偶然発見、eBayのほぼ半値だったので即購入したのです。

ハードウェア的にはピン配置はμPD7810/μPD78C10と大差はありません。

63ピンがCMOSのμPD78C10では低消費電力モードへ移行させる機能であるのに対し、μPD7807, μPD7810では内部RAMのバックアップ電源ピンになっています。

MN1613でマンデルブロ集合

カテゴリー:

前回DC擬似命令で浮動小数点数を扱えるようになったのでテストを兼ねてASCIIART(マンデルブロ集合)を描かせてみました。


元はBASICのプログラムですがアセンブリ言語で書き直しました。16ビット整数や浮動小数点数がそのまま扱えるからか8ビット時代にアセンブリ言語で書いていて感じた面倒さはあまりなくスラスラ書けますね。

計算範囲と条件は はせりん@haserin09 さんの「番外編:ASCIIART(マンデルブロ集合)ベンチマーク」に合わせています。

実行してみたところ9600bpsのシリアルが足を引っ張っているように感じたので、計算はするけど画面出力を止めたバージョンも作って比べてみました。

ASに新CPU対応を(続編)

カテゴリー:

ちょうど2年前にASのMN1613対応を行ないましたが、セグメント関係と浮動小数点関係が積み残しになっていました。

今MN1613が話題になっていることでもあり対応方法を考えていたのですが...

先日のUniversal Monitorの拡張を行なう中で他にも機能不足を感じる点が出てきました。

      29/     80F : 5374 7269 6E67      	DC	"String",CR,LF,0
              812 : 000D 000A 0000    

これは意図した結果ではありません。STROUTルーチンはバイト単位で取り出して処理するのでこのように途中に"00"が入るとそこで終了してしまいます。

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もざっと見たところいけそうなのですが、どうでしょう。

ページ