V20ボードでMS-DOSを動かしたい! その4

おしながき

V20-MBCエミュレータの作成 ←開発中

 ・エミュレータ上でautoboot.binの実行(これは出来た)

 ・エミュレータ上でCP/M-86を起動 ← イマココ

 ・エミュレータ上でMS-DOSを移植して起動(予定)

V20-MBC上でMS-DOSを起動(予定)

※項目を大きくしすぎて何も進んでないw

 

V20-MBCエミュレータ現状

f:id:PocketGriffon:20200814235310p:plain

2020年8月14日までのエミュレータの様子。

V20が起動して109,779ステップ目でキー入力が入った様子。

起動してプロンプトが出てるんだけど……??(後述)

 

実装した8086の命令数は73。Prefix系(FFやFE)を実装しているので、実際は100を超える実装がされていると思う。もはや数えてない(^^;;

 

Atmega32A側のエミュレーションは、ディスクの情報をV20へ戻せるようになり、一通りの準備が整った状態…と思いたい。まだRTCなどの対応を組み込んでいないが、CP/M-86の起動を優先させているので後回し。

大してソースを読まずに実装を始めてしまったおかげで、ひどく遠回りな実装をしてしまっている。MS-DOS移植開始までに綺麗に直したいところだけど…ぐぬぬ

 

そして話は画面写真に戻るけれども、プロンプトが出て「DIR」と打ち込んでるつもり。実際にキーを打ってるのではなく、プログラムでキー情報を発生させている。

本来ならば「DIRコマンド」として認識して欲しいんだけど、なぜか1文字ずつ解釈される変な状態(T^T)

 

こういう…中途半端な状態で動いてしまっている場合、デバッグが非常に難しい。実装を始めてから関数の仕様を変えてしまったモノもあるし、アドレッシングの解決に面倒な事をしているのもある。バグの原因に身に覚えがアリアリだ!(T-T)

 

ちゃんと絞り込んでいくとはいえ、10万行を超える逆アセンブルリストとにらめっこせねばならない。

根気の要る作業だ。

 

取り急ぎこんな感じです!

ではまた次回!(^-^)ノ