*DOS Emulater の詳細ページ [#c0942f69] -ぼやきてきな開発状況 |部位|状況|近況| |ライブラリ|23%|OSASK側のAPIをデバイスエミュレータが使えるようにするライブラリ。現在ファイル関係実装中| |CPU|33%|プロテクトモードとFPU命令が使えない。32bitオペランド命令は使える。 とりあえずDOSで使うならこれでよさそう。あと、AAAやAAMなどの命令も使えない。まだINTR/NMIピンを見ていないため、IRQは分岐しない。また、インタプリタ形式(=bochs式)のみ。動的リコンパイルモードは原理の実装が難しい為、先送り。サポートしないかも。| |BootROM|7%|DOSエミュレータ部分実装中。BIOSも一部エミュレーションする。ファイル関係のライブラリが大体実装できたので次はEXEヘッダ…| |DEVICE|10%|AT互換機のハードウェアを一部再現。DOSエミュレータの場合はなくてもいいだろう。タイマ割り込みだけは実現しないといけないだろうか…。| |DMAC|20%|I/O入出力はOK。あとは転送をどういうタイミングで行うかだろう。| |PIT|5%|I/O入出力のみ。割り込みはまったく発生しない。| |PIC|50%|割り込みIRQも多分(PIC側は)実現。回転モードを使用できないが、問題ないだろう。| |VGA|1%|ハードウェアがあまり理解できずにいる。ATのグラフィック周りは不思議だらけだ。とりあえずVRAMに書かれているものをそのままテキスト表示してみる| |FDC|0%|フロッピーディスクのアクセスは割りと簡単そうですが、後回し。もしかしたら実装しないかも。| |ATA|3%|よく意味が分からない。AAや55をoutしているのはポートの存在チェックなのか?| |A20|0%|再現する予定はない。| |その他|----|いまのところなし。| -スクリーンショット --bochsのBIOS/VGA BIOSを使用して起動してみたところ~ //|#ref(biosboot.png)| #ref(biosboot2.png) --bochsのブートROMを自作のbiosに差し替えて実行してみたところ(bochsでの実行はこれから変更ありません)~ #ref(atbios6.png) --DOSEmulaterで実行した場合(ファイル選択画面)~ #ref(atbios8.png) --DOSEmulaterで実行した場合(!GUIDE!.TXTを選択した場合)~ #ref(atbios9.png) ~ //---なぜに文字が化けるのだ? Bochs BIOS の場合はVGA ROM BIOSから帰ってきてからもちゃんと文字列が表示されているのに…orz //---とりあえず文字化けはAH=0x13,AL=0x01のファンクションを使うことによって回避。 ---このスクリーンショットは、一連のハードウェアを初期化した後、直にbiosのDOS APIエミュレータによってDOS実行ファイル("COMMAND.COM"など)を読み込もうとしている。読み込んだ後は実行に移す。 ---読み込みに成功したので、次の段階へ!…EXEアローケーションして、PSP作成して、メモリブロック作成して…、実行を移す。これでいいのか…。何かが足りないような…? -開発段階で使用中のデータのダウンロード |名前|バージョン|用途|仕様|ダウンロード| |DOS API Emulation BIOS|Ver 0.1.3(α版)|Bochs対応BootBIOS|F8000~,32KB|#ref(ATBIOS.ROM)| ---- *コメントらん [#x582b549] -とりあえずDOS互換ファンクションをホスト上のハードウェア相当のレベルで実装して、biosからそのハードウェアに指令を出す形式にする予定を立てました。 -- [[nika]] SIZE(10){2006/07/09 (日) 09:57:10} -なんとなくスクリーンショットにも使用している自作BIOSを公開してみる(同じファイル名でその都度更新する予定です)。 -- [[nika]] SIZE(10){2006/07/10 (月) 00:29:39} -現在DOS APIの実装中です。それに伴って簡易的にスロットを扱えるサブルーチンを構築中。 -- [[nika]] SIZE(10){2006/07/10 (月) 06:47:28} -アプリ動作するまであと少し!?、とりあえずOSASK側のファイルを読み込めるようになりました。 -- [[nika]] SIZE(10){2006/07/11 (火) 13:31:57} -wikiのテスト -- [[osa:nika]] SIZE(10){2006/07/12 (水) 09:42:37} -とりあえず、ハードウェア相当で日本語を表示できるようにしよう(グラフィックモードでは無く(英語)テキストモードで)。ファンクションキーで切り替える、とか。 -- [[nika]] SIZE(10){2006/07/12 (水) 11:53:49} -日本語はとりあえずおいといて、メモリ管理(MCB関係)を実装中。 -- [[nika]] SIZE(10){2006/07/13 (木) 13:09:33} #comment