小柳です。こんばんは。 大変遅くなりましたが、make47aをベータリリースします。 http://homepage1.nifty.com/dreaming/osask/make47a.lzh 作業内容は以下の通りです。 ・pcat の Makefile を [OSASK 7151]に従って書き換え ・VMware version 3.0 をターゲットとする。make vm, make img_vm を作成 ・define マクロを VMWARE から VMWARE3 に変更 ・Bochs をターゲットとする make bo, make img_bo を作成 私は、VMware 4.5 にアップグレードしましたが、このバージョンから VESA 2.0 に完全対応しており、PCAT用のバイナリがそのまま動作します。 PCATの簡単おすすめパックのディスクイメージで、問題なく立ち上がります。 VMwareの以前のバージョンにおいて、LLDT(DX), DX == 0 でハングするバグも 修正されていました。 VMware/Bochs をターゲットとしてビルドできることは試しましたが、 全て VMware 4.5 上で起動することを確認したのみで、 Bochs での動作確認はまだ行っていません。 残りの作業は、 ・最新のBochs上での動作確認 ・makeドキュメントの追加と修正 です。これが終わったら、一般公開します。 Hidemi KAWAI wrote: > こんばんは、川合です。 > > このMakefileを今後僕自身が使うかどうかですが、たぶん使うと思い > ます。ただOSASK ver.4.8では古いMakefileで作っている部分があるの > で、完全移行はver.4.9以降になるかもしれません。 了解です。 > ただosalinkは「入れ替える」という機能を持っておらず、したがっ > てpcatのosask.exeの後ろにtimerdrv.tekをくっつけて、それでもとも > と入っていたAT用のtimerdrv.tekは内部に死蔵させます。timerdrv.tek > は結構小さいですし、qemuのために(=make runのために)複雑なこと > をするのを避けたかったので、この仕様で満足しています。 bochs や vmware3 ディレクトリのMakefileを見れば分かりますが、DEFINES_AT を定義に追加して、osalink1.opt を追加するだけで、それぞれのバイナリが 作成できます。ただし、VPATH で ../pcat を指定しているため、make clean で pcat/OSASK.EXE を削除しておかないと、pcat/OSASK.EXEを最新と判断するため、 make が行われません。qemu も川合さんが問題にしなければ、このやり方に直して おきます。 ---------vmware3/Makefile の中身---------- include ../pcat/Makefile DEFINES_AT += -DVMWARE3 VPATH += ../pcat ----------------------------------- > とても興味深いです。VPATHというのは、設定だけされていてどこか > らも参照されていないようですが、これはつまり特別な変数なのでしょ > うか。make.exeがこれを自動的に参照し、必要に応じてカレント以外か > らも探してくれるようになる、と。 そういうことです。ぜひ取り入れて下さい。 あと個人的に気になっているのは、osalink の仕様です。 普通のリンカと同じように、 ・コマンドラインで、オブジェクトとターゲットを指定できるようにする ・オブジェクトは別ファイルに書いておいて、指定しても良い という感じに変更したいです。 make で OSASK.EXE を生成するのに必要なオブジェクトが指定されているのに、 それとは別に、osalink1.optを静的に生成するのが気持ち悪く感じます。 追記: VMware はスナップショット機能をもっており、 ある瞬間の仮想マシン状態を保存し、いつでもその状態に復帰できます。この動作 は非常に速いです。OSASKでブザーでメロディーを鳴らしている際中にスナップ ショットを取ると、復帰した時にその音から鳴ります。 タスクセーブもこんな感じでできるようになるといいですね。 それでは。 -- 小柳 雅明(http://homepage1.nifty.com/dreaming/) 「人の足を止めるのは"絶望"ではなく"諦観" 人の足を進めるのは"希望"ではなく"意志"」 -- ARMS