マイコン
マイクロプロセッサ・マイクロコントローラ等です。
HD1-6120ボード(モニタ移植編)
HD1-6120ボードを作ってから約2年、ASが使えるようになったのでUniversal Monitorの移植に着手しました。
ボード完成以来ソフトウェア編での無限ループ確認くらいしかしていなかったのですが、やっとまともなプログラムが動かせます。いくつかあった問題は、ASはIM6100対応を行ない、EMILY Boardも12ビット8進表示モードを作ったことでほぼ解決しています。
残るUniversal Monitorの仕様は... 常に8進表示でダンプ時のASCII表示は無しとすることにします。
そう決まればあとは黙々と実装するのみです。
現在 D(ump), G(o), S(et) の各コマンドができて L(oad) はインテルHEXのみ実装してデバッグ中といった状況です。
ある程度のプログラムを書いてこのIM6100の癖がわかってきたので書いてみたいと思います。
uPD78CG14ボード(その2)
前回、ピギーバックのROMと内蔵RAMで動作したので、今回は外部RAMを追加してみます。
ハードウェア的には未実装だった74HC04, 74HC573, 62256を載せるだけです。
ソフトウェアとしては、内蔵ROM(ピギーバック含む)有効モードで起動するとポートD,FはポートになっているのでMM(Memory Mapping)レジスタを設定してバスに切り替えないといけません。
Universal Monitorのソースに追加しなくてはと読み始めたところ、MMレジスタの設定は既に書かれていました。uPD78C10ボードを動かしたときに、内蔵ROM無効の場合はROMアクセスのためにポートD,Fは自動でバス設定になるのですが、念のためにMMレジスタも設定していたようです。
uPD78CG14ボード(その1)
先日のuPD78CG14E、QUIPなのでユニバーサル基板では扱いづらい上にμPD7800ともピン配置が大きく異なるのでuPD7800Gボードを流用するわけにもいかず...
別な基板発注するついでに専用基板起こしてみました。
写真はとりあえず動作したところです。
I/Oピンを引き出すためのコネクタと外部RAMが未実装ですが、Universal Monitorは動きます。RAMが内蔵の256バイトしかないので大したことはできませんが。
このボードは以下のようなコンセプトで作っています。
MSM85C154
前回に引き続きピギーバック品をもう一つ。
沖のMSM85C154です。
対応するマスクROM品はMSM83C154で、これは80C51の拡張版です。本家のIntelは開発用としてはUV-EPROM内蔵の8751/87C51を用意していました
ROM無しタイプはI/Oピンが減ることもさることながらROMへの配線が面倒ですし、UV-EPROM内蔵タイプは専用ライタやアダプタが必要になるので、個人的にはピギーバックタイプは好きですね。ROMエミュレータを使えるのもメリットです。
uPD78CG14E
またちょっとレアなパッケージのマイコンを入手しました。
NECのμPD78CG14E、μPD78C10のピギーバックタイプです。
μPD78C1xシリーズの開発用で、他にUV-EPROMまたはOTP ROM内蔵のμPD78CP14というのも存在します。OTP ROMのは少量生産用ですね。
マスクROM品のROM容量は4kB/8kB/16kBですが、このμPD78CG14Eに載せるROMはなぜか27C256相当品と指定されています。A14に対応するピン27はVSS固定になっていますから前半16kB分しか使えません。
ASのNanoprocessor対応
1820-1692も例によって適当な開発環境が見当たりません。
というわけでCP-1600のときと同様にASのコードジェネレータを書いてみました。CP-1600同様これも書式は簡単で命令数も少なく、着手してから半日ほどでテストも含めて書けました。
現時点のパッチなどをhttps://electrelic.com/pub/asl-Nanoprocessor-20220616/に置いておきます。
- asl-1.42bld223を展開してそのトップディレクトリで
patch -p1 < Nanoprocessor.patch
でパッチを当てます。 - バイナリファイル
t_nano.ori
をtests/t_nano
にコピーします。
後は普通にビルドできるはずです。
HP 1820-1692
Twitter で存在を知って調べてるうちに、面白そうだ... 欲しい... 買おう... となって買ってしまいました。
HPの1820-1692、他にクロック(と電源電圧)の異なる1820-1691というのも存在します。
以前取り上げた1820-2151のような他社品のHP型番ではなく独自デバイスのようです。製造を他社に委託している可能性はありますが...
User's Guideを読んでいくとハード的にもソフト的にもかなり変わったプロセッサであることがわかります。
まずはハードウェアの特徴から。
NSC800ボード(NSC858編)
NSC800ボード(ソフトウェア編)
予告通りNSC800ボードのソフトウェア編をお送りします。
NSC800はソフトウェア的にはZ80互換なので基本的にはZ80用のUniversal Monitorがそのまま動作します。とはいえ例外もありまして今回は以下の3点を追加・変更しています。
一つ目はコンソールドライバです。
これまではZ80 SIOかHD64180系・Z280の内蔵シリアル用しか無かったのでEMILY Boardのものを追加しました。適当なCPUから移植するだけなのですが...
実はCONOUTルーチンでAレジスタ保存するのを忘れてハマってしまいました。