こちらの記事 の続きです。
先日自作したPC-8801FH用拡張メモリは4バンクまたは8バンクを搭載しているんですが、n88-日本語BASICはバンク0のメモリしか使わないので、他のバンクも動くのかわかりませんでした。
残りのバンクの動作確認をするためにメモリチェック用のツールを探していたんですが結局見つからず、「なければ作ればいいじゃない」と毎日こつこつと二週間ほどかけて作りました。
Z80の割り込みベクタが0番地付近にあることをすっかり忘れていて、割り込み禁止をしないまま本体ROMから拡張メモリに切り替えていたため、動作が全然安定しなくてハマりました。
これに早く気づいていたら数日でできたプログラムなんですけどねぇ。
○拡張メモリ8バンク(256KB)バージョンの動作結果
PC-88FH(黒)に載せている8バンク版の拡張メモリの動作確認結果です。
無事動いているみたいです。
○拡張メモリ4バンク(128KB)バージョンの動作確認
PC-88FH(白)に載せている4バンク版の拡張メモリの動作確認結果です。
こちらも無事動きました。
◇◇◇
ちなみに今回作った拡張メモリチェックツールですが、画面への表示はBASIC、実際のメモリチェックはマシン語で作ってあります。
拡張メモリのアクセスはマシン語でないとできないのでマシン語プログラムは必須なんですが、画面表示をマシン語でおこなうのはちょっと面倒なので、そっちはBASICで行なうことにしました。
マシン語のアセンブルにはHIT-88を使いました。
HIT-88はPC-88のマシン語プログラミング関係の本を多数出版されている日高 徹氏謹製のセルフアセンブラです。
PC-88用のマシン語プログラムを作るときには未だに愛用しています。