ボードに電源を投入してモニタが起動するときに
"** MC68000 CPU board monitor Ver2.00 **"
という文字列をターミナルに送信するように作ったはずなのですが、なぜか必ず
"AU♂ス・早オスケ・ムスノ〆碧ノケチチ←ゥ5)甫黒チム・スケ・≦ム・チチムチチナ"
と化けていました。その後の文字列送信では全く問題ないし、
後からこのROM内ルーチンをモニタからジャンプしても正常に表示します。
いろいろ調べてみるとIO初期化後直後にシリアル出力するのがまずそう。
はじめこうなっていたのを
bsr ioinit /*IO初期化*/
lea titlmsg,a0 /*メッセージ文字列ポイント*/
bsr print /*文字列出力ルーチン*/
IO初期化の後で数μsの待ちを入れたらOKになりました
bsr ioinit
wait:
move.w #$1000,d2 /*IO delay */
l1:nop
dbra d2,l1
lea titlmsg,a0
bsr print
MC68901内のボーレート発生用のタイマのカウントが不定だったせいかもしれません。
ANK文字のフォントデータを拾ってきて差し替えました。狭いフォントをつかうと
1行24文字までなんとか表示できます。