[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1964] エミュレーター(Re:OFF会の報告).



  こんにちは、川合です。


nabe さんは 2001/08/29 00:12:26 の「[OSASK 1963] Re: OFF会の報告
」で書きました:

>もう既に川合さんが書かれてるかもしれませんが、
>V98 は IA32 をエミュレーションしていません。

  いや、その、そう言い切られてしまうと、ちょっと弁解したくなりま
すが・・・。しかし、ええ、なべちゃんさんのおっしゃる通りです。

  V98では、インタープリタタイプのエミュレーターコアを採用してい
ました。あれが速かったのは、IA32にリアルモードのエミュレーション
のためのモード(V86)があって、その機能を活用していたからです。

  もちろん、このモードは全ての命令をエミュレーションできるわけで
はなく、必要に応じて自前のエミュレーターで処理していました。って
いうかこのエミュレーター部分が不要だったら、V98はあんなに大きな
サイズにはなりませんよ(笑)。

  したがって、OSASKでの標準的なエミュレーターアルゴリズムとV98で
のアルゴリズムは全く異なることになります。それゆえに、V98の頃の
実績でTOWNSエミュレーター/OSASKを想像したら、がっかりなさるかも
しれません(もっとよくなるという可能性もなくはないですが・・・笑
)。

>CPU モードは Windows の DOS 窓に相当する
>V86 mode で、8086 (not run protect mode) 相当の範囲で
>ハードウェアのみをエミュレーションしていました。
>VMware なども同じ形式ですね。

  DOS窓やVMvareがV86モードを使っているとは知りませんでした。

># 違ってたりして(笑)

  え?違うんですか???

---

  ついでなので、年内に作る予定のエミュレーターコアの簡単な目標ス
ペックを書いておきます。

・win32の場合:

  ハードウェアを直アクセスするものはとりあえず対象から外す。
  コンソールを優先するため、GUI関係のファンクションのサポートは
後回し。
  コードの自動最適化はまだ組み込まない。

・TOWNSの場合:

  ハードウェアを直アクセスするものはとりあえず対象から外す。
  BIOSやDOSコールを使うものをサポート。
  コードの自動最適化はまだ組み込まない。
  サウンドに関する知識が乏しいので、サウンド関係も後まわし。

  どちらも機能制限が決して小さいとはいえません。しかし、とりあえ
ず初版をさっさと作って、あとはゆっくり改良を重ねたいと思っている
ので勘弁してください(笑)。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/