ページへ戻る

− Links

 印刷 

HOSINO​/16bitの.comアプリをefg01で のバックアップ差分(No.1) :: OSASK計画

osaskwiki:HOSINO/16bitの.comアプリをefg01で のバックアップ差分(No.1)

  Next »[4]
1: 2010-01-19 (火) 02:10:15 HOSINO[5] ソース[6]
Line 1: Line 1:
 +*不完全MS-DOSエミュレータ製作計画 [#b3d34080]
 +この計画は星野個人的なものであり、osask計画のサブプロジェクトなどではありませんが、何かご存知でしたら是非お教えください。~
 +**現状目標 [#kffffa0c]
 +16bitで.com形式が動くだけの、エミュレータと言えるかかなり怪しいアプリを作るかもしれません。~
 +
 +**現状成果物 [#qe6e226e]
 +特にありません。~
 +
 +**開発記 [#sfdaa7bf]
 +開発の様子やらなんやらをたまに書き込みます。(もしかしたら規約違反?)~
 +読んでもどうしようもない個人的な感想なども多いです。~
 +
 +***MS-DOSエミュレータについて [#v1bfe10d]
 +16bitなら簡単そうで、そこらじゅうにソースが転がってもよさそうですが、なぜかこの類の私が手を出せそうなフリーソフトは見当たりませんでした。~
 +でもよく考えたら、windowsがコンソール上でMS-DOSをエミュレートしてくれるので、わざわざ作る必要も確かになさそうですが…~
 +私は初めてのパソコンがwindowsの世代なので、ms-dosの事は正直よくわかりません。~
 +とりあえずCPU固有の命令(mov ax,10とか)以外はint 0x21でのシステムコール系統を何とかすればいいかなぁ、と楽観視しています。~
 +でも、そもそもシステムコールは文字の出入力とファイル操作以外に何をするのかわからない、とかいうレベルです。~
 +開発方針としては、naskを使ってmov ax,bxとかがどんなコードに変換されているのか地道に調べるところから始めようかと…。~
 +手元にwindowsのコンソールというmicrosoft公認(?)のms-dosエミュレータが有るので、これを積極的に活用していくつもりです。~
 +ちなみに、最終的にはこの計画で調べた機械語を基にして、16bitのみ対応の超小型アセンブラを作るつもりです。~
 +とはいっても、今のところ絵に描いた餅ですが…。~
 +(サイズはnaskの1/2、機能はnaskの1/10みたいな感じで…。)~
 +
 +***エミュレータの基本構造 [#q8c1a1cd]
 +私自身がこれまでにエミュレータを作ったことは有りませんし、ソースを眺めたこともないので、一般的なエミュレータとはかけ離れたものになると思います。~
 +一応の方針としては、当たり前かもしれませんが「ファイル読み込み--->エミュレート--->終了」という感じでしょうか?~
 +
 +***リアルモードでのレジスタの挙動 [#o09679fc]
 +よく考えたら機械語うんぬんかんぬん以前に、レジスタについて理解していないことが多すぎたので、そこの辺の詳しい挙動を調べてみます。~
 +これにはwindowsコンソールのdebug機能が便利そうなので使ってみました。~
 +(microsoftが作ってるので結果の信憑性も高そうですし。)~
 +''実験その一/alやahに0x100以上を入れて見る''~
 +当たり前ですが無理でした。~
 +mov al,0x100ぐらいは値がahに繰り上がってah=0x01、al=0x00になるかも…と思ってやってみただけなので。~
 +''実験その二/alに0xffを入れた後inc alしてみる''
 +結果はax=0x0000でした。~
 +これも同じくahへの繰り上がりシステムを恐れてやってみましたが、以外とalとahは疎遠のようです。~
  Next »[4]