V20-MBCエミュレータの開発 その7

エミュレータ開発の現状報告

ここんところドハマりする事もなく順調に進んでいるエミュレータ開発。

まずはAドライブにある基本コマンドを動かすのを最優先にしてた。

最後の難関はDDT86.CMD(デバッガ)かなぁ…と思って、中間目標としてました。

 

そしてついに…

f:id:PocketGriffon:20200826131021p:plain

DDT86が起動出来るようになった!\(^O^)/

驚いた事に、16進ダンプの表示にDAA命令が使われていたw

まぁ起動だけだったらそんなに難しくない。

f:id:PocketGriffon:20200826131115p:plain

アセンブラもしかり。

そして最大の難関と思っていたトレース機能!

f:id:PocketGriffon:20200826131159p:plain

よし動いた!(^-^)

いや嬉しいね、これは!

 

トレース機能が難しいと感じていたのは、CPUエミュレーションに機能追加が必要だからだ。

トラップフラグ(TF)をサポートせねばならず、少し特殊な構造を追加する必要があった。

「TF=1の状態で1命令実行したらINT 01hを発行する」という、言葉にしたら1行で済む話なんだけど、これは初期の設計段階から構想に入っていないとちょっとだけ面倒(^^;

 

f:id:PocketGriffon:20200826131901p:plain

デバッグ対象のファイルを読み込んであれこれする…みたいな事が出来るようになった!

段々と安定してきたなー!(^^)

 

この先の予定

Aドライブの中に入っているコマンドは大方動くようになってきた。

ASM86やEDは起動させただけだけど、まぁとりあえずはUsageが表示出来たw

Bドライブ以降のドライブへ動作確認を進めていくか、それとも先にRTC(リアルタイムクロック)の実装をするか…。

うむむ…悩む…。

悩むけど、Aドライブに未練を残すのは良くないな…と、今思ったのでRTC実装する!(^^;

#仕事じゃないからやりたい放題ww

 

まだまだ最終目標に到達するまでにやらないとイケナイ事が山ほどあります!

もうしばらく…だいーぶしばらくお付き合いくださいませ!

 

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