モニタの入手
さて、ここまででハードウェア側は完成しました。
次はソフトウェア側を対応させる必要があります。
H8はノイマン型のアーキテクチャです。
当然ながら、アドレス0番地から、逐次的にコードが実行されていきます。
そして、アドレス0番から128KBitには、ROMが割り振られています。
つまりこのままでは、SRAMに読みに行く前に、ROMに読みに行くことになります。
(ROMのコード次第では)増設したSRAMにアクセスすることは、不可能となります。
また、SRAMはあくまでも「RAM」なので、バックアップ用電源なしには、記憶内容は消去されてしまいます。
新規に立ち上げるたび、新たなコードを実行しようとするたびに、SRAMにコードを転送してやらないといけません。
これを実現するためには、「モニタ」に相当するプログラムをROMに書いてやる必要があります。
ですが全くの素人が、モニタを書くのは大変困難です。
他に、リモートデバッグ等の機能を実現したい場合などは、モニタ側でそのような機能を持ってやる必要があります。
このような場合、秋月製のリモートデバッガを使うのも手でしょう。
値段も2000円と手ごろですし、なにより確実に動きます。
しかし、残念なことに、増設したメモリにうまくアクセスできません。
デバッガ側での対応がされていないからです。
結論としては、日立製のリモートデバッガを入手し、自力で再構成するのが吉です。
http://www.hitachisemiconductor.com/sic/jsp/japan/jpn/Sicd/Japanese/Seminar/down.htm
の許諾に合意した上で、H8/300H(Tiny)の項目に進み、リモートデバッガを入手してください。
「MS-DOS版(C/C++コンパイラVer. 3.0) H8/300H用」のモニタをダウンロードします。
現在のモニタのバージョンは2.2Aです。
このリモートデバッガを用いると、困ったことがおきます。
秋月製のABS->MOTコンバータを使用した場合、ファイル仕様の違い(チェックサムの違い)が問題になってくるのです。
具体的には、リモートデバッグコマンドでファイルの転送を行ったとき、エラーが発生します。
このことは、トランジスタ技術1998年9月号の「AKI-H8マイコン・ボードにモニタを移植する」(海老原栄一氏著)
http://www.cqpub.co.jp/toragi/DLF/TR9809M1.htm
に書かれています。同時にこの問題の修正し方も書かれています。
(ここでは、その内容を一部引用させていただきます。)
CMD24.SRCを以下のように修正します。
元のコード
99行 NOT.B R6H ; Test Check Sum
100行 BNE ERR11 ; Check Sum Error
修正後のコード
99行 NOT.B R6H ; Test Check Sum
100行 BRN ERR11 ; Check Sum Error