CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

モニタ搭載

シリアル通信による1文字入力CONINと1文字出力CONOUTが出来たのでこれらを使ったモニタプログラムをROMに搭載します
 
はじめデバッグに使ったボードに既に搭載されているモニタのシリアルI/F部分だけ差し替えれば良いと思ってたのですが、あらためてこのモニタのソース、バイナリを見てみるとコードだけで6kバイト、ワーキングエリアとスタックの確保のためにRAM領域を460バイトも要求する「豪華仕様」でした。
メモリ操作のほか逆アセンブルブレークポイントの設定もできる高機能なんですが、今回のターゲット:ROM2Kバイト、RAM256バイトの貧乏環境ではそんな機能は不要だし大体このモニタ自体が載りません。
 
そのため最小限の機能のみ、RAMを最大限ユーザに開放できる簡易モニタをはじめから作り直しました。今まで他のCPUボードの立ち上げでも作っていた「原始モニタ」相当の機能です。
 
モニタの核の部分はこれだけ。
 
イメージ 1
コマンドは「D」:メモリダンプ表示、「L」:ホストからのプログラムロード、「G」:実行の3つしかありません
しかもこれらの対象領域はRAMが存在するFF00H~FFFFHに決まってますから引数パラメータは必要ありません。これに各コマンドの処理の本体、シリアル入出力処理その他を結合してバイナリサイズは500バイトちょっとに収まりました。
 
以下はターミナルからの操作例です
イメージ 2
これで一応モニタは完成ROM内容もFIXしたので8755をボードに直接挿入。
8085と8155もセラミックパッケージのものに換装してみました
イメージ 3