こんにちは、川合です。
OSASK/ATをqemu上で実行すると内部タイマがうまく働かなくてとても
遅くなってしまうという問題がありました。これを回避できるタイマド
ライバを書いたらとても快適になりましたので、リリースします。
http://k.hideyosi.com/osa_dir2.lzh (2.23MB)
手っ取り早くqemuを動かしてみるには、ディレクトリz_osabinの中の
!cons_9x.bat か !cons_nt.bat
(どちらを実行するかはつかっているOSによります)
を実行してプロンプトを出して、
prompt>run
としてください。もしくは、run.batをいきなりダブルクリックしても
いいですが。qemuがディスクイメージ内に入っているので、これだけで
OKです。
これで速さを実感すればqemuでOSASKは使いにくい、bochsのほうがい
いよ、という思いは断ち切れると思います。
あとは、たとえばあっきぃさんのOSASKアプリ「Mt.org0」で遊んでみ
たいと思えば、mt_org0.binをz_osabinの中にコピーしておいて、
prompt>run mt_org0
とすれば、このバイナリがディスクイメージ内で!built.binという名前
でコピーされた状態でOSASKが起動しますので、すぐに遊べます。
また、以前のPASS3v1ベースですので、make runなどももちろん使え
ます。bochsではなくqemuになるという違いはありますが。
デフォルトは800x600の16bitカラーにしてありますが、気に入らなけ
ればz_toolsディレクトリ内のOSASK0.PSFをいじってください。デフォ
ルトを32bitカラーにしなかったのは16bitカラーのほうがテキスト描画
が約2倍高速だったからです。たぶん8bitカラーにすればもっと速くな
りますが、せっかくのqemuなのでとりあえず16bitにしました。僕より
ももっといいCPUを使っていれば(僕はC3の533MHzです)、たぶん32bit
でもまったく問題はないでしょう。
肝心のパッチを当てたOSASKはどこにあるのかというと、ディレクト
リz_tools/osa_qemuの中の、OSASK.EXEとtimerdrv.tekです。ここの
OSASK.EXEは純粋なAT版で、もちろんこのままでもqemuで動かせますが
(最近のqemuは改良されて、特別なパッチがなくてもOSASK/ATが動きま
す・・・遅くはなりますが)、タイマの問題があるので、改造された
timerdrvを使うほうがずっといいです。
このディレクトリにAT版のOSASK.EXEとOSAIMGAT.BINを入れておくと
あとは更新日時を比較して自動でtimerdrv.tekを当ててosaimgqe.bin
を生成してqemuに渡すようになっています。そんなわけで、ver.4.5以
降が出ても、OSASK.EXEとOSAIMGAT.BINを上書きコピーしておくだけで
いつでも最新のOSASKをqemuで快適に使えるというわけです。
それでは。
--
川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! osask.jp kawai@imasy.org
Homepage http://osask.jp/