PC-9800シリーズ用30行BIOS&90桁BIOS

はじめに

このページでは日本電気(NEC)がかつて販売していた「PC-9800シリーズ」およびセイコーエプソンがかつて販売していたPC-9800シリーズの(国民機を名乗った)互換機に対応する、私も開発に関わった画面表示拡張ツールの「30行BIOS」と「90桁BIOS」および関連するユーティリティー・ソフトウェアの紹介と配布を行っています。

目次

PC-9800シリーズの画面表示仕様

1982年に日本電気が発表した「PC-9801※1」の高解像度モードでは、テキストとして半角80文字(全角40文字)×25行または半角80文字(全角40文字)×20行の表示を行うことができました。

PC-9800シリーズのメインストリーム以外では、PC-98XA/XL※2などのハイレゾリューションモードを搭載した上位機が登場し、さらに32ビット仕様のNESAを搭載したPC-H98シリーズ※3の投入、単発となったPC-98GS※4という固有の設計を持った機種などが存在していますが、これらは互換性や価格などの要因により広範囲に普及するに至らず、結果として基本仕様を継承して新たな画面モードを追加しつつ進化を続け、1992年に販売を開始したPC-9821※5ではついに半角80文字(全角40文字)×30行の表示に対応します。

この後、この基本仕様を継承しつつPC-9800シリーズは1997年のPC98-NXシリーズへの転換まで発展を続け、この表示仕様が最後のPC-9800シリーズとして2003年に終売することになったPC-9821Ra43シリーズ※6まで維持されました。

メインストリームの機種ではテキスト表示は以上のようにあまり拡張されずに来ていますが、グラフィックス表示については

  • 1982年10月発表:原初のPC-9801では640ドット×400ラインのデジタル8色でスタート
  • 1985年04月発表:PC-9801U2※7でオプションのPC-9801U-02※8を搭載した状態で640ドット×400ラインのアナログ4096色中16色表示の追加とグラフィックス描画機能の強化
  • 1985年06月発表:PC-9801VM※9では640ドット×400ラインのデジタル8色2画面またはオプションのPC-9801-24※10を搭載した状態で640ドット×400ラインのアナログ4096色中16色の2画面のサポート※11
  • 1986年10月発表:PC-9801VX※12ではさらなるグラフィックス描画機能の強化
  • 1992年11月発表:初代PC-9821では640ドット×480ライン表示の追加(同時にテキスト表示も30行をサポート)と約1677万色中256色表示の追加、さらなるグラフィックス描画機能の強化

というように、互換性を保った拡張が逐次行われてきました。

「30行計画」の登場

1992年初頭(あるいは1991年後半でしょうか?)、まぐろ方面よりHirononさん、Shinchanさん、masakunさん、Pururunさんらによる「30行計画」が世に出ます。

これは初代PC-9821が発表されるよりも前にテキストの30行表示を可能とするソフトウェア群で、画面を拡張するEXTS.EXE、CRT-BIOSを拡張するEE.COM、ファンクションキーの表示を30行対応にするFKEY30.COMなどの複数のソフトウェアによって構成されていました。

30行計画が画期的だったのは、ソフトウェアのみでテキスト表示を拡張するという点にあります。ディスプレイを含む、ハードウェアの変更を必要としません。多くのディスプレイは多少の余裕を持って設計されており、若干の周波数変動には追従することを期待して、ソフトウェアで表示用パラメーターの変更を行うことで30行表示を行うというものでした。

グラフィックスについては400ライン分を繰り返して表示するか、テキスト表示とは位置をずらして400ライン分のみを表示するかという選択を行うことができました。

※この上記部分についてはリアルタイムで状況を見ていたわけではないので、内容に誤りがあるかもしれません。その場合はメールにてご指摘をいただければと思います。

「30行BIOS」の登場

1993年4月、『「30行計画」を統合・拡張する』ということで正式リリースされたのがluciferさんによる「30行BIOS」です。

30行計画ではいくつかのソフトウェアを組み合わせることで実現していた30行環境を1本のソフトウェアで実現し、30行固定ではなく2行から50行の可変とし、30BIOS-APIというCRT-BIOSを拡張するAPIを導入し、アプリケーション・ソフトウェアから30行環境(30行BIOS)を制御可能とするものでした。このソフトウェアの開発者はluciferさんで、付属のドキュメントについてはwalkerさんが書かれています。

私と30行計画の出会い

私が30行計画を知ったのは、おそらく1992年末ごろから1993年の初頭ごろのどこかであったろうと思います。当時所属していたパソコン通信の草の根ネットで知り合った方のご自宅において、30行計画を見せていただいたのが発端です。

帰宅後、早速30行計画を私自身が使用していた本体PC-9801ES2とディスプレイXC-1498CII(三菱電機製)の組み合わせで動作させてみて、本当に30行表示がされたのにとても感動を覚えたのを深く記憶しています。

ただ、30行環境では動作しないソフトウェアも結構あり、その中の一つが当時私が使用していた日本語入力ソフトウェア「ATOK7(一太郎Ver4.3付属版)」でした。これでは不便だということで解析をして自身で動作するようにパッチあてをして動作させていました。これが後の「ATOKPLUS」へと続いていくことになります。

私と30行BIOSの出会い

とある草の根ネット上で前述のATOK7を30行計画に対応するためのパッチを公開したところ、30行BIOSのドキュメントを担当していたwalkerさんと知り合いました。そしてそのwalkerさんが該当する草の根ネットに30行BIOSをアップロードし、それを私がダウンロードしたことで30行BIOSと出会いました。

初期のころはwalkerさんのリクエストでwalkerさんの手元のATOK7にパッチがあたるように調整をかけるようなことをしていた覚えがあります。また、私も30行BIOSの1ユーザーとして対応ソフトの作成やバグ報告とその対策方法についてwalkerさんに某草の根ネットのメールでせっせと報告していました。

そんなある日、30行BIOS開発者のluciferさんが仕事の都合で渡米するので、後継開発をしないか、という提案をwalkerさんから受けました。これを私が受けて、30行BIOS ver1.20以降の開発を担当することになり、現在に至っています。

90桁BIOSの着想と開発

30行BIOSの後継開発を引き受けた段階で、私の中には「縦方向ではなく横方向にも画面拡張を行いたい」という願望がありました。特に具体的に考えていたわけではないのですが、技術的には可能なのでいつかはやりたいと考えていたのです。

しばらく30行BIOSのソースコードの構造に慣れること、バグを取ること、機能を拡張すること、液晶ディスプレイを搭載(内蔵)したノート・パソコンでも動作するようにすること、に注力して横方向の画面拡張には手をつけていませんでしたが、しばらくしてから30行BIOSのアドオンとして90桁BIOSを開発しました。

90桁BIOSの誕生までには、90桁BIOSの中核処理である「画面表示処理(文字の表示やエスケープ・シーケンスの処理)」だけを抽出した「CTEST.COM」というソフトウェアを根気強く使用してバグレポートしてくれたちゅ~たさんの貢献がありました。今でもとても感謝しています。

また、私自身は「猫の日曜日(すみません、作者のお名前は失念しました…タイトルも間違ってるかもしれません)」というエスケープ・シーケンスと文字だけで構成されたアニメーション・テキスト(現代で言うAAの動いて色がついた版だと思っていただければイメージが伝わるでしょうか?ESC劇場とも呼ばれていたようです)を表示して、オリジナルの処理と寸分たがわずに表示するように調整していきました。

90桁BIOSは同種のソフトが存在していなかったことや、リリースがWindows95の発売以降と比較的遅かったことからあまり広まることはありませんでしたが、私自身が市販ソフトでかなりのユーザーを獲得していた「VZ Editor 1.60(ビレッジセンター)」に対する90桁BIOS対応パッチを作成して配布したこともあり、多少は使っていただけたようです※13

作成するのに苦労した日本語入力ソフトウェア(Front End Processor : FEP)を30行BIOS/90桁BIOS対応にするKKCDRVを当初シェアウェアとしていた点ももしかすると影響したのかもしれません。最初から(通称の意味での)フリーウェアにしておけばよかったかなぁ、などと思っています(同ソフトウェアに関して、シェアウェアという記載のあるファイル・パッケージの配布は誤解を招くので停止していただけるように要請いたします)。

このようにして90桁BIOSは誕生し、現在に至っています。

30行BIOSシリーズ

30行BIOSはPC-9801/PC-9821シリーズの画面を縦方向に拡張(行数増加)するMS-DOS用常駐ソフトウェアです。現在、30行BIOSには以下の4種類が用意されています。なお、80186/V30以降に搭載された命令の一部を使用している関係で、PC-9801初代で使用する場合にはCPUをV30(μPD70116)に載せかえる必要があります。

種類 説明 バージョン ダウンロード 最終更新日
デスクトップ版 ブラウン管を採用したディスプレイでの使用を想定したものです。2020年現在において販売されているPC-9800シリーズ対応の液晶ディスプレイにおいても、一部の製品で使用することができます。全ての30行BIOSの基本はこのバージョンで、その他のバージョンはこのバージョンから派生しています。PC-9800シリーズ以外にも互換機のEPSON PCシリーズでも動作します。またノート・パソコンで使用する場合も外部ディスプレイを接続している場合には使用可能です。 Ver1.41正式版 フルセット 30B_141.LZH 1996/11/05
9821NOTE版 PC-9821シリーズのノート・パソコンの始祖にあたるPC-9821Neに搭載された表示モードと互換性のあるノート・パソコン及びデスクトップFiNEシリーズ用のバージョンです。MS-DOSにて480ラインの液晶を隅々まで使用することができます。実際の液晶サイズが640×480を超える機種でも、該当する機種であれば640×480の液晶サイズで使用可能です。 Ver1.41正式版 LDF形式差分 TO_9821N.LZH 1996/11/07
9811NOTE版 PC-9821シリーズのノート・パソコンのうち、PC-9821Ne互換の表示モードを持たない480ライン液晶搭載機種向けのバージョンです。全ての機種で動作するかどうかは分かりませんが多くの機種で動作することが確認されています。 Ver1.41β版 LDF形式差分 TO_9811N.LZH 1996/11/19
9801NOTE版 400ライン液晶を搭載し、画面の表示サイズを変更できない機種向けの30行BIOSです。この30行BIOSは1行の高さを削減することで表示する行数を調整するようにした特殊な30行BIOSです。このため30行BIOS対応ソフトでも一部動作しないものがあります。 Ver1.50β版 LDF形式差分 TO_9801N.LZH 1998/09/15
ソースコード ソースコードは新たな機種にさかきけい以外のどなたかが対応する作業を行うために公開しています。暫定公開版のため、二次配布はご遠慮ください。ビルドにはTurbo Assembler(Borland / ボーランド)が必要です。ビルドの方法他、詳しいことは付属のドキュメントを参照してください。 Ver1.50β版 フルセット 30bld150.lzh 1998/09/15

上記の説明を確認し、必ずご自身の環境に合ったバージョンをご使用ください。適切なバージョンを使用しなかった場合、最悪の場合にはディスプレイを破壊する可能性があります(特にCRTディスプレイの場合)。また実行する前に必ず付属のドキュメントを熟読してください。使用の方法を誤ると最悪の場合にはディスプレイを破壊します(特にCRTディスプレイの場合)。

90桁BIOSシリーズ

30行BIOS Ver1.40以降(デスクトップ版のみ)と組み合わせることで画面を横方向に拡張(桁数増加)するソフトウェアです。これによりディスプレイを性能ぎりぎりまで使用することができます。なお、1995年発売のPC-9821Xa7/Xa9/Xa10以降の機種では本体の仕様変更の影響を受けるため、残念ながら使用することはできません。

デスクトップ版の30行BIOSと組み合わせて使用することからわかると思いますが、使用可能なディスプレイは外部接続のディスプレイのみです。

バージョン ダウンロード 最終更新日
90桁BIOS Ver0.01正式版 90B_001.LZH 1997/03/17

実行する前に必ず付属のドキュメントを熟読してください。使用の方法を誤ると最悪の場合にはディスプレイを破壊することがあります(特にCRTディスプレイの場合)。

補助ソフトウェア・シリーズ

30行BIOSや90桁BIOSなどを使用する場合に有用なソフトウェアです。

種別 説明 バージョン ダウンロード 最終更新日
FEP補助 30行BIOSおよび90桁BIOSに対応していないMS-KANJI API対応のFEPを同環境で使用できるようにするための常駐ソフトウェアです。このソフトウェアを常駐させるとMS-KANJI APIを使用してFEPを変換エンジンとしてのみ使用し、キー入力処理、画面出力処理等を全て代行します。 Ver0.05 KKC_005.LZH 1999/09/17
VZ Editor 90桁BIOS対応パッチ ビレッジセンターより販売されている「VZ Editor 1.60」を90桁BIOSに対応させるためのパッチです。実行ファイル差分とソース差分の両方が格納されています。差分は市販そのままのファイルからの差分とちゅ~たさんの「cyu-patch」からの差分の両方が格納されています。 —- VZ90_SRC.LZH 1996/10/14
ATOK6~9 30行BIOS/TT.com対応パッチ ジャストシステムのMS-DOS版「ATOK6」~「ATOK9」を、30行BIOSおよびTT.comに対応させるための常駐ソフトウェアです。数多く存在するマイナーバージョンすべて(1999年9月6日現在、パッチが当たらないという報告はありません)に対応しており、あたかも最初からATOKが可変行数環境に対応しているかのように動作します。 Ver1.10 APV110.LZH 1995/08/06
30行BIOS専用グラフLIOサポート・ドライバー 30行BIOSの使用によってグラフLIO(GLIOともいう)を用いたソフトウェアを使用した際に画面が乱れる(グラフィック画面が乱れる)場合において、正常に表示されるようにするためのサポート・ドライバーです。 Ver1.02 30GLIO.LZH 1999/09/17

サンプル用ソフトウェア

種別 説明 バージョン ダウンロード 最終更新日
256色対応MAG/Piグラフィックローダー 標準モードと30行BIOSと90桁BIOSによる拡張モードをサポートする、PC-9821シリーズ用256色対応グラフィックスローダーとそのソースコードです。Borland C++とMicrosoft C++でのコンパイルが行えます。 —- FILL.LZH 1996/11/07
256色対応MAG/Piグラフィックローダーのパッチ差分 パレットの変更で表示にノイズが載る機種に対する対応策を盛り込む差分です。 —- FILL_UP.LZH 1996/12/04

まとめ

かつてPC-9800シリーズとMS-DOSの環境が私のプログラミングを行うメイン環境でした。現在はWindowsがメインになっていますが、時にはそんな昔のことを思い出します。

なお、2020年7月現在においてPC-9821Xt/C10W※14をかつてのように使用できる状態にして設置をしました。時には当時を思い出してプログラミングをしたいと思います。よって今後は時々このページを更新していくことがあるかもしれません。