V60ボード(ソフトウェア編 その3)
だいぶ間が開いてしまいましたがV60版Universal MonitorでもR(egister)コマンドを使用できるようにしました。
基本的に他のアーキテクチャと同様ですが、気になる点を何点か記しておきます。
一点目はレジスタ名のテーブルです。
Universal MonitorではRコマンドでレジスタ名を認識するためツリー構造のテーブルを使用しています。今回もそれを踏襲していますがr0~r31をそのまま持つと無駄にテーブルが大きくなるので、プレフィックス部分(個々の例では「r」)のみを登録して後ろの数字によって切り替える仕組みを導入しました。
二つ目はr31(SP)の扱いです。
最近のお買い物(2025/08)
今月は新型コロナに罹ってしまいおとなしくしておりました。(5年間逃げ切ったのに……)
幸い発熱したのと喉が痛かっただけで済みました。喉もネット見ると水飲むだけで痛いみたいな話もありましたが、飲食には影響ない程度だったので軽く済んだ方だったと思います。
今年もMI68にて展示します
10月12日(日)に開催される第15回 マイコン・インフィニット☆PRO-68KにElectrelicとして出展します。
今のところ以下の展示を予定しています。
- EMILY Board
プロセッサボードとしてはV60ボード他、何枚かを予定しています。 - Z80ボード
約40年前、中学生から高校生になった頃に作ったボードです。動態での展示予定。 - MC68010ボード
上のZ80ボードの3年後に作ったボードです。CP/M-68Kを動かして私がC言語の学習をしたボードでもあります。残念ながらCP/Mを動かす環境は再現できないので動かさない予定。
スペース等は決まり次第お知らせします。
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ファイルを頂きました。それから部品を揃えたりしていたのですが……
最近のお買い物(2025/07)
とあるマイコンのボードがちょうど動いたところなんですが、今日は月末のお買い物編をお送りし、マイコンボードについては明日にでも書こうと思います。

