部位 | 状況 | 近況 |
ライブラリ | 23% | OSASK側のAPIをデバイスエミュレータが使えるようにするライブラリ。現在DOS側物理メモリ関係整理中 |
CPU | 33% | プロテクトモードとFPU命令が使えない。32bitオペランド命令は使える。 とりあえずDOSで使うならこれでよさそう。あと、AAAやAAMなどの命令も使えない。まだINTR/NMIピンを見ていないため、IRQは分岐しない。また、インタプリタ形式(=bochs式)のみ。動的リコンパイルモードは原理の実装が難しい為、先送り。サポートしないかも。 |
BootROM | 7% | DOSエミュレータ部分実装中。BIOSも一部エミュレーションする。ファイル関係のライブラリが大体実装できたので次はEXEヘッダ…、じゃなくてメモリ周りを一応整理中。 |
DEVICE | 10% | AT互換機のハードウェアを一部再現。DOSエミュレータの場合はなくてもいいだろう。タイマ割り込みだけは実現しないといけないだろうか…。ハードウェアドライバ別組み込み式を採用。DOSEmulaterが各デバイスファイルを読み込み、初期化処理に実行を移す。実行された側がハードウェア(メモリ/IOやサブルーチン)を登録してゲストOS側からのアクセス等があった場合に直接的にプロセスをデバイスファイル側がDOSEmulaterの資源なども使用されつつエミュレーションする。 |
DMAC | 20% | I/O入出力はOK。あとは転送をどういうタイミングで行うかだろう。 |
PIT | 5% | I/O入出力のみ。割り込みはまったく発生しない。 |
PIC | 50% | 割り込みIRQも多分(PIC側は)実現。回転モードを使用できないが、問題ないだろう。 |
VGA | 1% | ハードウェアがあまり理解できない。ATのグラフィック周りは不思議だらけだ。画面をONするのに一体何ヵ所出力しないといけないだろう。まぁとりあえずはTextVRAMに書かれているものをそのままテキスト表示してみる。 |
FDC | 0% | フロッピーディスクのアクセスは割りと簡単そうですが、後回し。もしかしたら実装しないかも。 |
ATA | 3% | よく意味が分からない。AAや55をoutしているのはポートの存在チェックなのか?、でもちゃんと無視されていないのか?(書かれたAAや55を読み出し時にそのまま戻すことが) |
A20 | 0% | 再現する予定はない。一応DOSでもHMA等を利用するはずだし、第一自作BIOS自体がA20を当てにしないから大丈夫だろう。 |
その他 | ---- | いまのところ予定は無い。が、ここに書かれることも無い(笑)。 |