https://github.com/sk2sat/vm の設計とか色々見直して新しく作っているx86エミュレータ
make
ビルドには以下のオプションが指定できます.
BUILD_TYPE
: ビルドのタイプを指定できます.Debug
とRelease
が選択可能です.Debug
を指定すると,DOUT()
マクロによるデバッグ情報がエミュレーション時に表示されます.Release
を指定すると,同マクロを無効化してコンパイルします. デフォルトではDebug
が指定されています.
make run
サンプルのバイナリのエミュレーションのテストが行えます. これには以下のオプションが指定できます.
-
ARCH
アーキテクチャが選択できるような見た目をしていますが気のせいです. x86しか指定できないと思って下さい. -
MEMSIZE
メモリサイズを指定できます. 単位はMBです. デフォルトでは4MBになっています. -
BIOS
BIOSを指定できるような見た目をしていますが,これも気のせいです. 必ず--junk-bios
を指定してください. -
FLOPPY
フロッピーディスクイメージが指定できます. ようはブートデバイスを設定するところです.--fda hoge.img
のように指定してください. -
UI
ユーザーインターフェースを選択できます. デフォルトでは--gui
が指定されています.UI=""
のようにすると,ウィンドウを出さないで実行します.
全然実装が進んでいないため、よくエラーが発生します。ここにはエラーの種類のメモをしておきます。
not implemented
このエラーは、実装されていない動作が要求された時に発生します。このエラーのうち、
not implemented: code = 16進数
となっているものは、16進数が示す機械語が実装されていない、というエラーです。