誘う98互換機+<外伝>(1) 98系メモリマップとは?

Kitsunone_shippo

狐の尻尾です。

8086を初代PC9801にした98本体は、その後のメモリマップを決定づけたことになっています。また、ある時からNECはMSDOS3.xをソフトウェアベンダーに無償で配布し、そこにはエプソンチェックができる仕掛けを提供していました。このエプソンチェックをどうしたのかなど、98互換機の仕掛かりをどうやって築いていけたかを語ります。<外伝>では、あるソフトベンダーが画面を揺らす方法を記載しました。

※誘うPC98互換機 投稿順indexはこちら

インテル社が16ビットCPUとして、最初に販売した8086です。また、アドレスビット20ビットですから、アドレスで可能な領域は1Mバイトです。

98本体(初代PC9801)は上記(インテル互換)μPD8086_5Mhz使用しています。640kバイトをメモリ空間とすれば、残りは386kバイトはシステム領域(グラフィック画面も含まれます)として利用します。この時の考え方が、その後の98本体のメモリマップに生かされています※1。この他、グラフィックチップGDCを2個(なぜ2個かは次回以降に説明します,)使っています。

ここで、98互換機の互換性ですが、一般的にMSDOS2.xを使っているユーザも、MSDOS5.x80を使っているユーザも、あるいはWindowsや特殊のOSも対象となるため、同等の環境を提供しなくてはなりませんでした。(昨今の、世の中は既にMSDOS5.0の時代だから、少し古いMSDOS2.xは対象外だとは言えないのです。)

また、ある時からNECはゲームメーカなどにMSDOS3.xを無償で配り出し、そこにはBIOSの中にある”NEC*****”なる文字列を認識することで、動きを始めることがができる仕掛けを用意したのです。これは世の中で「エプソンチェック」とよばれていました。そこで、98互換機を保証する為、別途フロッピーを用意して(SIP:ソフトウェアインストレーションプログラム)その文字列を認識する行為を除外する仕掛けを(要はFDDドライブでフロッピーを書き替える)用意しなくてはなりませんでした。

また、事業部とは別建屋ですが、互換性をチェックするところがあり、98本体の解析はハードやソフト無関係にまとめられ、当時はまだ電子ファイルのタイムスタンプがまともではなかったので、分厚いファイルに郵便局の消印(消印代として80円だった気がします)を得ていました(これが、著作権の回避だったのでしょう)。

完成後は、ほとんどがアダルト系のソフトウェアが主なものですが(この作業に関わるのはほとんどが女性でした)、98本体ではOKだが、98互換機だとこのページのこの部分にダメな部分があると真剣に言われたりしていました。

私の失敗談はアダルト系ではなく、ゴルフトーナメント関連で、縦のラインが200ラインと400ラインがあり、200ラインを指定しても200ラインにならないという初歩的なミスがあったことです。

そうこうしているうちに、黒船襲来(98本体のライバルとなるDOS/V機などで、NECもエプソンの互換機も認めざるを得なくなった)と裁判所の判断もいただき、98互換機ビジネスも満帆の時を迎えたのでした。

さて、私が互換機に参入した頃は、98本体(PC-9801 VX)には1台の中に80286とV30に一緒にあった頃です。DIPスイッチにより、どちらか一方しか動作できませんでした。その内80286は24ビットですから最大16Mバイトありましたが、前述のメモリマップを利用することが、最優先とされていました。

MSDOSのバージョンにもかかりますが、このメモリマップに追加されるはEMSメモリ(等)領域です。例えば、プロテクトアドレス100000h以上(1Mバイトの上)の領域16kバイトx2=32kバイトをアドレスc0000hからc7FFFh貼り付けることができる仕組みです。80386以降のCPUではこのEMS機能をCPUの中にある仮想86空間から簡単にできるようになりました。ただし、98互換機として、この機能も必須でした。※MSDOS参照

※1メモリーマップです。

<外伝>画面を揺らすゲームメーカ

ここで、表示領域のお話です。98本体でもラップトップパソコンを発売していて、型番としてPC-98LT緑色の液晶でした。ちなみに98互換機も同様のPC-286Lを発売していました。

この表示域はグラフィクが640×400ドットですが、文字表示も640×400ドットで、実は文字表示とグラフィックが1ドットずれていました。簡単に言えば、641×400ドットだったのです。CRTから見れば、この違いは分かりませんでした。液晶表示にすると横幅は640ドットですから、縦の線が1ドットかけてしまいまいます。98本体はこの差を誤魔化すため(?)かはわかりませんが、この補正機能を持っていました。要は640×400にする機能です。

とある、ゲームメーカがこの機能を見つけ出し、画面を1ドットずらす作業を行い、数秒の間画面が横揺れをお越し、「地震がきたー」と言う画面に利用したのです。液晶が発達しなければ起きなかった現象です。

誘うPC98互換機(2) PC98純正機よりPC98互換機の方が早い へ進む