
概要
====

SVGA256.DRV にパッチを当てて VMware で動作するようにするものです。
SVGA256.DRV は Windows 3.x 用の 256 色ビデオドライバですが、そのまま
では特定のビデオカードでしか動作しません。本来は Windows 3.11 や WfW
3.11 に含まれているものですが、インターネットで見つけることが
できるはずです ("SVGA.EXE" を検索)。日本語版 Win 3.1 でも問題なく
動作します。

後述のように制限・注意点もいろいろありますが、640x480/16 画面よりは
よっぽどよいでしょう。また激速というわけにもいきませんが、VGA よりも
だいぶ高速でレスポンスもよいです。

このパッチは Japheth 氏の SVGApatch (http://www.japheth.de/) を元に
作成しました。彼のバージョンは汎用 VESA 互換といった感じのものです。
それに VMware 用の調整・VMware 特有の問題の修正などを加えたのがこの
パッチです。Japheth 氏に感謝。


インストール
============

 1) WINDOWS\SYSTEM ディレクトリに SVGA256.DRV があるかどうかを確認
    します。ない場合は SVGA.EXE を入手し、空のディレクトリで SVGA.EXE
    を実行します。SVGA256.DRV を含むファイル群が解凍されます。

 2) SVGA256.DRV と同じディレクトリで VGAPATCH.COM を実行します。
    パッチの経過が表示されるはずです。事前に SVGA256.DRV のバック
    アップを取っておいたほうがよいかもしれません。

    このパッチは、以下のバージョンの SVGA256.DRV で動作確認済みです。

    - 日付: 1993/2/23 サイズ: 117,312 bytes バージョン: 4.0.0.52490
      ネットで出回っている SVGA.EXE に入っているもの。
      SVGA.EXE は２〜３種類の違ったバージョンが出回っているようですが、
      確認できた範囲では含まれている SVGA256.EXE は全て同じバージョン
      でした。

    - 日付: 1993/11/11 サイズ: 117,440 bytes バージョン: 3.11.0.300
      Windows for Workgroups 3.11 に入っているもの

    - 日付: 1993/12/31 サイズ: 117,456 bytes バージョン: 4.0.0.58
      Windows 3.11 (英語版) に入っているもの

 3) Windows では「メイン」→「Windowsセットアップ」、DOS からだと
    WINDOWS\SETUP.EXE を起動して "Super VGA 1024x768 256" ディスプレイ
    を選択します。SVGA.EXE から SVGA256.DRV を入手した場合は、最初に
    "その他のディスプレイ" を選択して SVGA256.DRV を解凍したディレ
    クトリを指定する必要があります。SVGA.EXE に含まれるドキュメント
    にも目を通しておいたほうがよいでしょう。

 4) Windows を起動または再起動します。


制限・注意
==========

 -- まともに動くのは 1024x768/256 モードのみです。640x480 と 800x600
    の 256 色モードも一応動作しますが、これらの場合でも VMware ゲスト
    領域は 1024x768 となります（Windows はゲスト領域の一部だけを使用
    することになります）。16 色モードは動作しません（VMware は 16 色
    SVGA モードをサポートしません）。

 -- WfW でファイル／プリンタの共有を有効にした場合、Windows 開始時に
    画面が乱れます（ちょうどログオン画面が出るはずの時です）。
    この場合、一度 Ctrl+Alt+Del (Win ホストでは Ctrl+Alt+Ins) を押して、
    表示されるブルースクリーンでもう一度何かキーを押すと画面が回復します。

 -- DOS プロンプトをウィンドウモードで開始することができません。
    またフルスクリーンからウィンドウモードへの切り替えは可能ですが、
    その逆（ウィンドウからフルスクリーン）はまともに動作しません。
    ですから、DOS プロンプトは常にフルスクリーンで開始して、必要に
    応じて Alt+Enter でウィンドウモードに切り替える、というのがお勧
    めです（ていうかそれしかできません）。

 -- ウィンドウモードの DOS プロンプトでビデオモードを切り替えると
    （CHEV、US/JP コマンドによる日本語と英語の切り替えも含みます）
    システムがクラッシュすることがあります。
    フルスクリーンの DOS プロンプトでは大丈夫です。

 -- 上に挙げた二つ以外にも、ウィンドウモードの DOS プロンプトは全体的
    に大小の障害満載です。基本的にウィンドウモードの DOS プロンプトは
    避けたほうが良いでしょう。

技術情報
========

誰か Win 3.x のドライバに詳しい人が修正してくれることを期待して、
上に挙げた問題の技術的な内容を（わかる範囲で）書いておきます。

 1) ディスプレイサイズの問題

    SVGA256.DRV は、論理スキャンライン長を 1024 固定で扱っているよう
    です。しかし、VMware は実画面の幅と同じ論理スキャンライン長しか
    サポートしません。たとえば VMware のゲスト領域が 800x600 の場合、
    VMware は論理スキャンライン長 800 しかサポートしません。それに
    対してドライバ側は 1024 を想定しているため、その結果はぐちゃ
    ぐちゃの画面表示となります。このため、Windows のディスプレイ
    サイズに関わらず、ゲスト領域サイズを 1024x768 (VESA モード 105h)
    固定とすることにしました。（カーソル描画とテキスト描画に関しては
    どこを修正すればよいのかわかったのですが、肝心のウィンドウ描画で
    修正する個所が見つけられなかったので…）
    みっともないですが、少なくとも使い物にはなります。

 2) ファイル／プリンタ共有の問題

    これは全く見当がつきません。関連に気が付いたのも偶然ですので…

 3) DOS プロンプトの問題

    ウィンドウモード DOS プロンプトの問題は、パッチ版 SVGA256.DRV
    に対応する仮想デバイスドライバ（VDD）がないためだと考えています。
    誰か？
