文書番号: 401174
最終更新日: 2004/04/27
この資料は以下の製品について記述したものです。
- Microsoft(R) C/C++ Development System for MS-DOS(R) and Windows(R)Version 7.0A (以下 C/C++ 7.0A)
- Microsoft(R) Visual C++(TM) Development System Professional Edition forWindows(R) Version 1.0 (以下 Visual C++ 1.0)
- Microsoft(R) Visual C++(TM) Development System for Windows(R) Version 1.5(以下 Visual C++ 1.5)
概要
この資料は、MS-DOS(R) 上のアプリケーションを NEC PC-9800 シリーズ用から DOS/V
用に移植するときのヒントを紹介したものです。
詳細
MS-DOS(R) 上で動作する NEC PC-9800 シリーズのアプリケーションを DOS/V 用に移植
する場合は、次の点を参考にして下さい。
1.ハードウェア
ハードウェアを直接操作しているプログラム( inp,outp など)は互換性がありません。
プログラムの書き換えが必要です。
2.BIOS( Basic Input Output System )
BIOS を直接コールしているプログラム( int86, int86x など)は互換性がありません。
プログラムの書き換えが必要です。
ただし、INT 21H を使用したシステムコール( intdos, intdosx など)は互換があり、
そのままでも使用できますが、インターフェースに違いがあるファンクションもあり
ますので注意して下さい。
3.エスケープシーケンスコード
MS-DOS(R) 上で動作する限り、エスケープシーケンスコードには違いはありません。
しかし、NEC PC-9800 シリーズでは、その機種固有のエスケープシーケンスコードが
拡張または変更されていますので、移植する際に調査する必要があります。
4.テキストとグラフィック
NEC PC-9800 シリーズでは、テキストとグラフィックが独立した領域を持っているため、
簡単にテキストとグラフィックを重ね合わせ表示ができます。しかし、DOS/V にはそ
のような構造がないため、テキストとグラフィックの重ね合わせ表示が簡単にできま
せん。
例えば、絵(グラフィック)が表示されている部分に文字を表示する場合を考えます。
NEC PC-9800 シリーズでは、テキストとグラフィックの領域が独立しているため、
うまく重ね合わせて表示されます。 DOS/V では、絵(グラフィック)が表示され
ている部分に文字を表示すると、文字に隠れた絵(グラフィック)の部分が文字の
大きさ分、四角く消えてしまいます。
このような現象を改善するには、テキスト表示もしくはグラフィック表示を、言語製品
に含まれている標準ランタイムライブラリ関数(グラフィックスライブラリ関数)
を使用せずに行う必要があります。具体的には、同等の機能を持つ関数をすべてア
プリケーション側で作成するか、一般に市販されているグラフィックスライブラリ
を使用します。
最後に
以上の内容は、プログラムを移植する際の一般的なヒント (注意点) です。
また、ハードウェアが変われば、その動作や操作方法も変わりますので、プログラム
が使用しているハードウェア環境が、移植先とどのように違うかなど十分に調べる
必要があります。
参考文献 (順不同)
「MS-DOSエンサイクロペディア Volume 1,2 」 アスキー出版局
「 PC-9801 シリーズ テクニカルデータブック」 アスキー出版局
「 PROGRAMMER'S GUIDE TO THE IBM PC&PS/2 」 株式会社翔泳社
「 PC&PS/2 ビデオシステムプログラマーズガイド」 株式会社翔泳社
「 IBM PC ビデオシステムプログラミング」 ソフトバンク株式会社
「プログラマーズ PC ソースブック」 インプレス
Keywords: C7 KBINFO VC10 VC15 KB401174
Technology: kbAudDeveloper kbvc150 kbVCsearch kbZNotKeyword3 kbZNotKeyword8