MILD7 More Information Lines on your Display and emulation of Video7 BIOS Version 1.30 Copyright (c) 1993, Altair☆ All rights reserved _____ ■ 概要 ■  ̄ ̄ ̄ ̄ ̄ ひと言で言うと、VGAの英語環境で80×60文字のテキスト・モードを実現するソ フトウェアです。null氏のVTE(NIFTY FIBMPRO/LIB 6 487)と同じ目的のソフトウェ アです。 通常は縦に400走査線しか使わないVGAのテキスト・モードで、480走査線を利用 できるようにするメモリ常駐型のVGA BIOSエクステンションです。 640×480ドットの液晶で上下に40ドットずつの空白が出ないテキスト・モード (80×30文字、80×34文字、80×60文字)が利用できるようになります。 特にPS/55noteなどのノートPCの液晶画面での英語テキスト・モードで上下に空 白がある場合、MILD7のテキスト・モードを利用すると、それが無くなり、とても 快適です。(^.-)v また、PC-TOOLSやDOS 6.x添付の各種テキスト・ユーティリティの60行表示(/60) オプションが、ごく普通のVGAで利用できるようになります。(VTEでは、これが できませんでした)。 デバイス・ドライバとしてもTSRプログラムとしても利用可能です。常駐メモリ 量は、デバイス・ドライバとして組み込まれた場合約650バイト、TSRプログラム として組み込まれた場合約900バイトとコンパクトです。(VTEは常駐量0でしたか ら、この点ではVTEに負けていますね。^_^;) _______ ■ 動作環境 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ VGA、またはその互換ビデオ・カードを搭載したコンピュータ。 DBCS対応のDOSを利用する場合、DOS 2.25以降(3.x未確認)のSBCSモード。 SCBS専用のDOSを利用する場合、DOS 4.01以降。 または、OS/2 2.xのPC-DOSセッション(全画面、ウィンドウともに可)。 Video7 VGA、VEGA VGAは、もとから80×60テキスト・モード43hをサポートして いますから、このMILD7の利用は無意味です。このソフトウェアを組み込もうと しても、その旨のメッセージを表示して、組み込む事はできません。 MILD7のVGA BIOSの拡張部分が、HP VectoraのHP拡張BIOSの一部と重なります。 HP VectoraでMILD7を利用する場合、HP拡張BIOSの一部(int 10hファンクション6Fh)が利 用できなくなります。(これは仕様です。将来のバージョンのMILD7に於ても、こ の問題の解消は予定していません)。 _______ ■ 変更履歴 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ Ver 1.23 ・ ah=1Bh; int 10hの応答内容の一部を改善。 Ver 1.24 (CompuServeに公開したバージョン; 日本国内では未公開) ・ MILD7が提供するビデオ・モードも、IBM VGA BIOS同様に、MSBがセットされ ていた場合、VRAMのクリアを行わないようにした。 Ver 1.25 ・ ON/OFF指定により、Video7エミュレーション機能のイネーブル/ディセーブ ルをできるようにした。 ・ ビデオ・モードとして、43hの他に、41hと5Bhを追加した。 Ver 1.30 ・ MS-Windows起動時に自動的にMILD7 OFFするようにした。また、Video7エミュ レーションのディセーブルで制限されるファンクションをAX=6F00h; int 10h のみに限定し、ディセーブル状態でもMILD7固有の画面モードはそのまま利 用できるようにした。 ・ MS-Windowsのマルチ・タスク環境に対応するために、インスタンス・データを 通知するようにした。 ・ パス名を指定せずに、LH(LOADHIGH)で常駐させようとした時に、うまくオプ ション指定を認識できない問題(DOSのLHのバグ)をMILD7側で逃げた。 ________ ■ 組み込み方 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ MILD7の機能を利用するには、まずMILD7の拡張VGA BIOSをメモリに常駐させる 必要があります。これには、デバイス・ドライバとして組み込む方法と、TSRプロ グラムとして組み込む方法のふた通りがあります。 デバイス・ドライバとして組み込む場合、CONFIG.SYSに『DEVICE=ドライブ名: ディレクトリ名\MILD7.EXE』を追加して下さい。TSRとして組み込む場合は、DOS のコマンド・ラインかバッチ・ファイルからMILD7.EXEを起動して下さい。組み込 み時のオプション指定は特にありません。 TSRプログラムとして組み込んだ場合、MILD7 /UNLOADで常駐解除できます。 ____________ ■ 画面モードの変え方 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ MILD7 80x43 (テキスト・モード 03H) MILD7 80x25 ( 〃 ) MILD7 80x50 ( 〃 ) MILD7 80x30 (テキスト・モード 43H) MILD7 80x34 ( 〃 ) MILD7 80x60 ( 〃 ) で、それぞれのテキスト・モードに切り替わります。 これらの画面モード切り換えはDBCS環境では無効です。 これらのうち、80×30、80×34、80×60のテキスト・モードがMILD7の拡張VGA BIOSで実現され、640×480ドット(テキスト・モード 43H)で表示されます。 これらの表示は、テキスト・モード 03Hと互換があります。 その他の80×25、80×50のテキスト・モードは元のVGA BIOSで実現されますか ら、720×400ドット(テキスト・モード 03H)の表示となり、80×43のテキスト・モー ドは元のVGA BIOSのEGAエミュレーションで実現されますから720×350ドット(テ キスト・モード 03H)の表示となります。(液晶やプラズマ・ディスプレイの機種で は、横720ドットの代わりに、横640ドットで表示される事があります)。 注: DOS/Vが普及するとともにVGAは640×480ドットの表示規格であるという誤 解も広がってしまいました。VGAは通常の英語テキストは720×400ドット で表示します。本来のVGA BIOSでは、640×480ドット表示はグラフィック ス・モードでしかサポートしていません。 Version 1.25以降のMILD7には、ビデオ・モード43hの他に、ビデオ・モード41h と5Bhが追加されています。41hと5Bhは、ビデオ・モード43hが初期化の際にディ フォルトで8×8ドット・フォントをローディングする代わりに、それぞれ、8×14 ドット・フォント、8×16ドット・フォントをロードします。すなわち、ah=11h; int 10hファンクションでフォント設定をしなくても、ah=00h; int 10の画面初期化 ファンクションの発行だけで、ビデオ・モード41hの場合、80桁×34行表示に、5Bh の場合、80桁×30行表示に画面設定できます。 MILD7 80x30やMILD7 80x34で画面設定した場合は、80×60文字モードと同様の モード43hが使われます。モード41hと5Bhは、ローディング・フォントを選ばずに 画面モードの設定だけでテキストの行数を設定しようとするソフトウェアの為に 用意したもので、MILD7自身が利用する事はありませんが、ユーザ・アプリケーショ ンから自由に利用して構いません。 PC DOS/V(またはIBM DOS/V Extensionを組み込んだIBM DOS)の場合、 > MILD7 80x60 > DSPX L と、操作しておけば、次回から、CHEV USした時に、英語環境が80×60のテキス ト・モードで開くようになります。 CHEV USで、80×34のテキスト・モードが開くようにするには、次のように操作 します。(「????」と示した部分は、利用している環境によって表示内容が異な る部分です)。 > DEBUG > -A > ????:0100 mov ax,5B > ????:0103 int 10 > ????:0105 > -G105 > > AX=005B BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 > DS=???? ES=???? SS=???? CS=???? IP=0105 NV UP EI PL NZ NA PO NC > ????:0105 ?? ??? > -Q > DSPX S ____________________ ■ DOS 6.xのテキスト・ユーティリティや ■ ■ PC-TOOLSから、60行表示を使う方法 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ PC-TOOLSやDOS 6.xのテキスト・ユーティリティ、例えばUNDELETEやCPBUCKUPで は、/60オプションを指定する事によって、これらのユーティリティを60行モー ドで利用できます。 これらのユーティリティのオプション指定の詳細については、それぞれのユー ティリティのマニュアルかヘルプ・メッセージを参照して下さい。 __________________ ■ グラフィックス・アプリケーション ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ CADソフトやMS-Windowsのアプリケーションのセットアップの際、MILD7が常駐 していると、Video7ビデオ・カードがエミュレートされるために、ビデオ周りの 選択メニューにVideo7 VGAと表示されることがあります。 MILD7が提供するのは、Video7のごく一部の機能だけですので、多くの場合、 セットアップ・メニューでVideo7 VGAを選択してしまうと、そのアプリケーショ ンは正常に動作しません。 MILD7 OFFと入力すれば、MILD7のVideo7エミュレーションのみをディセーブル 状態にできます。(ディセーブル状態でも、画面モード41h、43h、5BhのMILD7が 提供する画面モードは利用できます。PC-TOOLSやDOS 6.xのユーティリティの60 行表示は、Video7 BIOSを前提としていますので、ディセーブル状態では利用で きません)。 MILD7 ONで、エミュレーションを再開できます。 __________ ■ MS-Windows環境 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ MS-Windows用のアプリケーションの一部には、画面をより奇麗に表示するため に、使われているビデオ・カードの種類を調べて、自動的に最適の設定を選ぶ物 があります。 MILD7は、PC-TOOLSやDOS 6.xに添付されているユーティリティの/60オプショ ンが利用できるように、Video7をエミュレートしていますが、このエミュレーショ ンは、一部のMS-Windows用のアプリケーションがビデオ・カードの種類を誤認識 させてしまいます。そこで、Version 1.30以降のMILD7は、MS-Windowsが起動さ れると、自動的にVideo7エミュレーションが解除されるように改良してあります。 そのため、MS-WindowsのDOSプロンプトから起動されたPC-TOOLSやDOS 6.xに添 付されているユーティリティからは、/60オプションが利用できません。 もし、MS-WindowsのDOSプロンプト内でも、/60オプションを利用したい場合に は、PC-TOOLSやDOS 6.xのユーティリティを起動する前に、MILD7 ONと入力すれ ば、そのプロンプト内でのVideo7エミュレーションを再開できます。 複数のDOSプロンプトが起動されている場合、Video7エミュレーションが再開 されるのは、MILD7 ONを指定したDOSセッションのみです。 MS-Windowsを起動する前にはMILD7を組み込んでおらず、MS-WindowsのDOSプロ ンプトを起動してからMILD7を常駐させた場合には、MILD7拡張BIOSの有効範囲は、 そのDOSセッションだけですので、MS-Windows環境下であっても、エミュレーショ ンの自動解除は行われません。 MS-Windows起動時にVideo7エミュレーションの自動解除が行われた場合、 MS-Windowsを正常に終了すると、エミュレーションの状態はMS-Windows起動直前 の状態に自動的に復元されます。 但し、MS-Windowsの下で更にMS-Windowsを起動した場合・・・例えば、MS-Windows 3.1のエンハンスド・モードの下でDOSプロンプトを起動し、その環境で、Windows 3.0のリアル・モードを起動した場合など、MILD7のVideo7エミュレーション状態 の自動復元がうまくいかないことがありますので、ご注意下さい。(Windows 3.1 環境で、古いWindows 2.x用のアプリケーションを快適に動かすために、このよ うなWindowsの二重起動をすることがありますが、普通は滅多にこのような使い 方をする人はいないでしょうから、この問題点については、いまのところ、改善 するつもりはありません)。 ______________ ■ BIOSファンクョンの利用 ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ MILD7環境では、640×480ドットで表示されるテキスト・モードの番号を43hと決 めています。A.Idei氏作成のFDなど、ビデオの初期モードを指定できるアプリケー ションで、モード43hを指定することにより、MILD7のビデオ・モードを利用でき ます。(FD.CFGで、USVmode=43と指定します)。 日本語環境のSuper Driversをお持ちの方は、そのVMXコマンドを利用し、CHEV USで英語環境にしてからVMX 43とすれば、MILD7の80×60文字テキスト・モードに 切り替わります。 ビデオ・モード43hはモード03h互換です。(実際に殆どのBIOSファンクションは、 MILD7内部で、モード03hとして処理しています)。 ビデオBIOSの各種ファンクションについては、ここでは解説しませんので、そ の利用方法の詳細を知りたい方は、例えば『IBM Personal System/2 and Personal Computer BIOS Intarface Technical Reference (IBM S36X-2341)』や『Programmer's Guide to the IBM PC&PS/2 (Microsoft PRESS; 日本語版は翔泳社)』『Interrupt List (by Ralf Brown)』などの資料を参照して下さい。 MILD7が提供するビデオBIOSの拡張ファンクションについては、添付のソース・ コードの各ファンクションの最初の部分にコメントを記述しておきましたので、 そちらを参照して下さい。 このドキュメントでは、簡単なプログラミング例のみを紹介しておきます。 次のプログラム・コードは、ビデオ・モードを43hに切り換え、80×60文字のテキ スト・モードを初期化します。 > mov ah,0 ;Set video mode > mov al,43h ; Video mode=43h > int 10h Video7 BIOSエミュレーションが有効かどうかを調べるには、次のようなプロ グラム・コードを利用して下さい。 > mov ax,6F00h > xor bx,bx > int 10h > cmp bx,5637h > jne ・・・ ;Video7 BIOSエミュレーション、有効 > : ;Video7 BIOSエミュレーション、無効 ロードするフォントを変える事によって、他の行数のテキスト・モードも実現 できます。例えば、次のプログラム・コードは、8×16ドット・フォントを用いて 80×30文字のテキスト表示環境を初期化します。 > mov ah,0 ;Set video mode > mov al,43h ; Video mode=43h > int 10h > > mov ah,11h ;Text-mode charactetr generator function > mov al,14h ; Load BIOS ROM 8x16 font > mov bl,0 ; Load to block 0 > int 10h ___________ ■ MILD7 うらばなし ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ DOS 6.xで追加されたユーティリティ・ソフトの内の幾つかは、1970年代のApple II用コピー・ユーティリティCopyII+以来、様々なユーティリティで定評のある Central Pointe Software社からPC TOOLSというパッケージで販売されていた物 の一部が採用されています。 これらのツールのヘルプ・メッセージを見ると、/60という60行表示オプション がある事がわかります。 周知の通り、VGAは640×480ドットの表示能力と、そのBIOS ROMには8×8ドット の文字フォントを持っています。従ってVGAでも、80(=640÷8)桁 × 60(=480 ÷8)行の表示が可能な筈です。事実、null氏の傑作VTEは、VGAでの80×60文字テ キストを実現しています。 しかし例えばDOS 6.1で、UNDELETE/60とか指定しても、VGA BIOSが60行表示を サポートしていないという旨のメッセージが表示されてしまいました。 ハードウェアは60行表示の能力がありながら、BIOSソフトウェアにその能力が 不足しているためにそれが利用できないなら、その不足部分のソフトウェアを追 加すればいい。そういう発想で誕生したのがMILD7です。 _________ ■ Known Probrem ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ Central Point Software社のPC TOOLSに含まれる各種ソフトウェア・ツールの 60行表示に於て、画面が乱れて、醜くなることがありますが、実用上の問題はな いようです。 これは、MILD7のVideo7 BIOSエミュレーションのバグではなく、PC TOOLSのバ グのようです。本物のVideo7 VGAカードで、PC TOOLSを使ってみたところ、同じ 症状が出ました。 ___________ ■ Copyright Notice ■  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ Copyright (c) 1993-1994 Altair☆ 不許複製、無断転載禁止。 このソフトウェアは、Altair☆が自分で使う事を目的として作成したものです。 このソフトウェアの利用によりAltair☆以外の利用者が何らかのトラブルに出会っ たとしても、Altair☆は一切関知しません。 Altair☆ (NBG01720@nifty.ne.jp) http://www.vector.co.jp/authors/VA000199/