今年もMI68にて展示します
カテゴリー
10月12日(日)に開催される第15回 マイコン・インフィニット☆PRO-68KにElectrelicとして出展します。
今のところ以下の展示を予定しています。
- EMILY Board
プロセッサボードとしてはV60ボード他、何枚かを予定しています。 - Z80ボード
約40年前、中学生から高校生になった頃に作ったボードです。動態での展示予定。 - MC68010ボード
上のZ80ボードの3年後に作ったボードです。CP/M-68Kを動かして私がC言語の学習をしたボードでもあります。残念ながらCP/Mを動かす環境は再現できないので動かさない予定。
スペース等は決まり次第お知らせします。
V60ボード(ソフトウェア編 その2)
動かなくて悩んでいた例外処理ですが、わかってみれば簡単なことでした。
例外関係をもう一度始めから実装しなおしてみました。今度は一歩ずつ確認しながら進めていったのですが、やはり変です。デバッグ用にストア命令を追加したりするととたんに動作が変わってしまいます。
広義のprintfデバッグです。HEXOUT8ルーティンなどを使ってコンソール出力するのも手ですがそれだとスタックを消費するので
MOV R0,/0F80Hなどとしてメモリに書きます。EMILY Boardではプロセッサの状態にかかわらずメモリを読めますのでこれで十分です。
どう考えても関係なさそうなところを変更しても影響が出ます。
なにか重大な勘違いをしているのではとリファレンスマニュアルを読み直していると……
割込・例外のハンドラはワード境界になければならないと書かれているではないですか。
ハンドラは後ろの方にあるので変更のたびにアドレスがずれてこの条件を満たしたり満たさなかったりしたようです。各ハンドラの前にALIGN 4を追加したところ安定して動作するようになりました。