マイコン
マイクロプロセッサ・マイクロコントローラ等です。
V60ボード(ソフトウェア編 その3)
だいぶ間が開いてしまいましたがV60版Universal MonitorでもR(egister)コマンドを使用できるようにしました。
基本的に他のアーキテクチャと同様ですが、気になる点を何点か記しておきます。
一点目はレジスタ名のテーブルです。
Universal MonitorではRコマンドでレジスタ名を認識するためツリー構造のテーブルを使用しています。今回もそれを踏襲していますがr0~r31をそのまま持つと無駄にテーブルが大きくなるので、プレフィックス部分(個々の例では「r」)のみを登録して後ろの数字によって切り替える仕組みを導入しました。
二つ目はr31(SP)の扱いです。
V60ボード(ソフトウェア編 その2)
動かなくて悩んでいた例外処理ですが、わかってみれば簡単なことでした。
例外関係をもう一度始めから実装しなおしてみました。今度は一歩ずつ確認しながら進めていったのですが、やはり変です。デバッグ用にストア命令を追加したりするととたんに動作が変わってしまいます。
MOV R0,/0F80Hなどとしてメモリに書きます。EMILY Boardではプロセッサの状態にかかわらずメモリを読めますのでこれで十分です。
どう考えても関係なさそうなところを変更しても影響が出ます。
なにか重大な勘違いをしているのではとリファレンスマニュアルを読み直していると……
割込・例外のハンドラはワード境界になければならないと書かれているではないですか。
ハンドラは後ろの方にあるので変更のたびにアドレスがずれてこの条件を満たしたり満たさなかったりしたようです。各ハンドラの前にALIGN 4を追加したところ安定して動作するようになりました。
V60ボード(ソフトウェア編 その1)
前回書いたようにモニタ移植して例外処理を調べていたのですが、先日遂にコロナに罹ってしまいあまり進捗していません。
そこで現時点でのまとめを書いておこうと思います。
Universal Monitorの移植は基本MC68000用をベースにL(oad), P(unch)コマンドについてはH8/300H用を元にしています。この辺りの事情はNS32016のときと一緒です。早くMC68000用も長いアドレス対応しなくては。
いつものように移植にあたって気付いたV60の特徴を挙げてみます。
V60ボード(ハードウェア編)
一昨年のNS32016ボード以来なので一年半ぶりになるEMILY Board用のプロセッサボードになります。

ということでNECのV60(μPD70616)を載せたボードです。
EMILY Board使用なのでアドレスデコーダが不要(普通はROMとRAMが必要でアドレスデコードは必須)なおかげで部品点数は最小限で済んでいます。
NSC800 ADAPTER for SBCZ80
昨日予告したマイコンボード、Z80180-Z80 ADAPTER for SBCZ80などとともにはせりん@haserin09さんから頂いたボードです。

SBCZ80のZ80 CPUの代わりにNSC800を搭載できるアダプタです。
当時まだ動作確認が取れていないので製作は待ってと言われていたものですが、3月頃に確認の取れたJEDECファイルを頂きました。それから部品を揃えたりしていたのですが……
Super AKI-80を動かしてみた
秋月の2階にてしばらく前からSuper AKI-80の基板のみを280円という安価で販売しています。SuperではないAKI-80は持っているので様子見していたのですが、結局値段につられて買ってしまいました。
CPUは東芝のTMPZ84C015BF-12, RAMは32k×8bitのSRM2B256SLMX55が載っています。他に74VHCのロジックICが4つあります。その他の部品は各自で揃える必要があります。
NSC810
UA6527P
またちょっと変わったデバイスを調達してみました。

UMCのUA6527P、デートコードが1810だから2018年製…… いや、まさか、2018年まで作ってるとは思えないからリマーク品ですね。
このUA6527というのはRP2A03の互換品、つまりはファミコン互換機のためのプロセッサです。
既にRP2A03は持っていますが、買おうと思った理由は2つあります。
一つはRP2A03を1つしか持っていないので予備が欲しかったこと。



