2022年
新年明けましておめでとうございます。
本年もどうぞよろしくお願いします。
これまでに色々なプロセッサを動かしてきましたが、まだまだ動かしてみたいものは山積しています。H8/500, H16, H32, CP-1600, V60, NS32016, ... この1年でどれだけ動かせるでしょうか?
あとプリント基板、何度も着手はしているものの手配線が手っ取り早いと諦めてしまっています。今年こそは作りたいですね。
新年明けましておめでとうございます。
本年もどうぞよろしくお願いします。
これまでに色々なプロセッサを動かしてきましたが、まだまだ動かしてみたいものは山積しています。H8/500, H16, H32, CP-1600, V60, NS32016, ... この1年でどれだけ動かせるでしょうか?
あとプリント基板、何度も着手はしているものの手配線が手っ取り早いと諦めてしまっています。今年こそは作りたいですね。
Universal Monitorの基本機能が動くようになったので、保留してあった2651を動かしてみることにします。
空きソケットに残りのICを搭載します。
コンソールドライバのソフトウェアも書かなくてはなりませんが、既に2650のプログラムには慣れているのでどうということはありません。
2650ボードが動き始めたのでソフトウェアを書いていきます。
前回ループが動作したのでメモリからの読み出しは動いており、次は書き込みができることを確認しなくてはなりません。
テストコードを書いても良いのですが、EMILY BoardのUART機能を使うための初期化ルーチンを動かしてみることにします。これはメモリに数バイトの定数を書き込むだけなのでこのテストにはうってつけです。
正しく書けたかどうかはEMILY Boardの機能でメモリをダンプしてみれば一目瞭然です。
特に問題なかったのでいつものように1文字出力・メッセージ出力・行編集と進めていきます。
ここまで動くようになる頃にはだいぶ慣れてきていますので、あとは黙々と実装していくだけです。
例によって書いていて気になったことをあげてみます。
今度はSignetics 2650Aを動かしてみました。
例によってEMILY Boardで動かすことにしました。
CPUの他にシリアル通信用の2651 Programmable Communication Interface(PCI)も搭載します。
まずは動作に最低限必要なデバイスのみを載せて試してみることにします。
先日入手できたuPD7807ですが、uPD78C10ボードを若干変更することで動かすことができました。
μPD78C10をμPD7807に載せかえるにあたって問題となりそうなのは以下のピンです。
通販で部品買っていると「あとちょっとで送料無料」や「どうせ送料払うなら」などでつい余計なもの買ってしまうんですよね。というわけで今回はμPD7807のついででうちに来ることになった石たちです。
まずはTIのSN74L71N、1972年34週の製造です。
パッケージの両端が切断したようになっているのはまさか多数並べた状態で成型しているのでしょうか。あまりメリットが思いつかないのですが。
以前にも書いたように74Lというのがかなりレアですが、71というのもあまり見かけないファンクションです。プリセットとクリアのついたRSフリップフロップなのですが、RとSの入力にそれぞれ3入力ANDが付いているというもの。ピン数の関係で2個入りではありません。
uPD78C10ボードでμPD7807もいけそうと書きましたが、現物を入手しました。
μPD7807CW、1988年36週の製造ですね。パッケージはシュリンクDIPの64ピンです。
ボードを作ったころから探していたのですが、出品が少なく高価だったりして半ば諦めていました。ところが国内ショップの新着情報を見ていて偶然発見、eBayのほぼ半値だったので即購入したのです。
ハードウェア的にはピン配置はμPD7810/μPD78C10と大差はありません。
63ピンがCMOSのμPD78C10では低消費電力モードへ移行させる機能であるのに対し、μPD7807, μPD7810では内部RAMのバックアップ電源ピンになっています。
前回DC
擬似命令で浮動小数点数を扱えるようになったのでテストを兼ねてASCIIART(マンデルブロ集合)を描かせてみました。
元はBASICのプログラムですがアセンブリ言語で書き直しました。16ビット整数や浮動小数点数がそのまま扱えるからか8ビット時代にアセンブリ言語で書いていて感じた面倒さはあまりなくスラスラ書けますね。
計算範囲と条件は はせりん@haserin09 さんの「番外編:ASCIIART(マンデルブロ集合)ベンチマーク」に合わせています。
実行してみたところ9600bpsのシリアルが足を引っ張っているように感じたので、計算はするけど画面出力を止めたバージョンも作って比べてみました。
結果は、表示ありで約7秒、表示無しで約6秒といったところでした。思ったほどシリアルの影響は出ていません。