[osask 7158] Re: src47b.

小柳です。こんばんは。
大変遅くなりましたが、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

ML番号でジャンプ
ML単語検索