[OSASK 5143] chuck2a(Re: chuck2t).

  こんばんは、川合です。

  chuck2aをベータリリースします。基本的な機能についてはTOWNS版と
同じなので[OSASK 5137], [OSASK 5142]を参照してください。

  ここではまずAT版固有の機能について説明します。

・リアルメモリの利用状況:

  直接起動ディスクで起動すれば、空きは636KBです。DOSを経由して
起動すればその分は減ります。

・キーボードインターフェース周り:

  ちょこっと変わりました。もしかしたらエミュレータとの相性がこれ
で改善したかもしれません(BochsやVirtual PCなど)。また今まで起
動できないと報告されたマシンでも起動できるようになったかもしれま
せん。また起動時にキーを押しているとうまく起動できないという報告
があったように思いますが、それも改善したかもしれません。

  これら全てについて、かえって悪くなったという可能性もあります。
期待することなく、まずはチェックしてみてください。もし試した人が
いましたら、是非ご報告ください。

・直接起動ディスク関係:

  直接起動ディスクはもちろん作れますが、chuck2aでは"OSASKBS1.BIN
"というファイルを要求します。従来のOSASKBS3.BINではなく、今回バ
ンドルしたOSASKBS1.BINをあらかじめディスクに入れておいてください
。なおかつて僕はOSASKBS1.BINをリリースしたかもしれませんが、一部
にしか互換性がありませんので、古いのを使わないようにしてください
(それに今回の方が性能がいいはずですし)。

  直接起動ディスクを作ると(フォーマットスキップしなければ)、OS
ASK.SYSという72KBのファイルができるはずです。これは今まで不良セ
クタにしていた部分をファイル化しただけです。このサイズを超えると
chuck2aでは扱えません(手抜きです)。大きなディスクイメージをく
っつけて大きなOSASKを作らないようにしてください。まあ、直接起動
ディスクでディスクイメージ付きを使う人は普通いないと思いますが。

---

  今度は、直接起動に関する一般論を書きます。

  今回のバージョンアップで、簡単なローダーさえ書けばOSASKの直接
起動ができることになりました。今まではディスクイメージバンドルが
できなかったので、なんとかOSASKを起動してもFDが使えない限りアプ
リが全く利用できず、面白くなかったわけです。

  ということでまずはディスクイメージバンドル版のロード方法につ
いて書きます。

・どこに何をロードすればいいのか?
  →OSASK.EXEをリアルメモリ内にロードすればいいです。他にロード
すべきものはありません。OSASK.EXEはどこにロードしてもかまいませ
んがDOSのEXEファイルのルールにしたがってリロケートしてください。
もしリロケート済みのバイナリが必要なら、小柳さんのEXE2SYSを使っ
て0x8000〜用にリロケートしてください。EXE2SYSを書き換えれば他の
アドレス用のイメージも作れるでしょう。

・各レジスタの初期値は?
  →CSはOSASK.EXEのバイナリの先頭を指しているようにします。IPは0
です。DSはCSと同じ値にしておいてください。SS:SPは256バイトくらい
あれば十分です。OSASK.EXEとかぶらないようにしてください。その他
のレジスタについては任意の初期値でかまいません。

  これだけです。単純明快です。このルールはAT版、TOWNS版、98版に
共通ですので、ブートセクタを書きたくなったらこれを思い出して書い
てみてください。

  次にディスクイメージをバンドルしない場合のロード方法です。

  上記に加えて、FDのトラック0〜1の内容を物理アドレス0x1000にロー
ドしておかなければいけないだけです。AT版なら18KB、TOWNS版や98版
なら16KBです。

  それで、AT版に限った話ですが、実は汎用デバイスIPLが手元にあり
ます。多分これを使えばどんなデバイスからでも直接起動できます。BI
OSを使っています。時間ができたら、これもテストしてリリースしたい
です(ひとりごと:FD+HD起動だとそれほど面白くないかもしれないけ
ど、CD-ROM起動とかだったら面白いかな?HDのみで起動するというのは
、やっぱりちょっとテストがこわい・・・)。

  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/


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