あーでもCP/MエミュレータにしてはDPBとかは取ってこれないから不不完全すぎるなあ。まだ公開には程遠いか。。。。そもそも既存の何十年か熟成改良されてきたものより多少速いハズというだけな程度だし、まあしばらく熟成改良していくかいな。DOS版を今更熟成させててどうするではあるけど。
で、i8080エミュレータの「i8086上ででは速い」というのをDOS上のi8086アセンブラで書いたわけですが、「遥かに遅くてもいいからCで書いてポータブルにしましょう」のほうが実用性は高い。はず。エンジンとフロントエンドを分離したのでエンジンをCで書けばダイブそっちへ進むね。
まあフロントエンドとエンジンをメモリ直接参照したりソフトウエア割り込みで繋いだりというDOSな繋ぎ方してるのでこの辺りも整理しないとポータブルにはならないけど。CP/Mエミュレート部分でDOSのCP/Mコンパチ呼び出しに繋いじゃってるぶんもCで書き直さないとダメだし。先は長い。
イニシエに馴染んでいたことをやってるので、まあリハビリとしてはヨロシイかなと思うけど。なにしろi8080なので実用性ならあんまり無い。でもまあ目の前にリセット直後は凄く速い8086コンパチであるマシンが何台もあるわけなので、i8086のエミュとかは書いたって全然しょうがないし。
i8080のエミュレーターが一段落したらPICやAVRのエミュレータを作ってみるのは便利か知れず、その練習には勝手知ったるi8080をやってみるのはまあいいかもしれないなという感じ。