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

はじめに

かつて、日本には日本電気が製造販売するPC-9800シリーズ(参考用:Wikipedia日本語版による「PC-9800シリーズ」)と呼ばれるパソコンがありました。このパソコンが日本国内での標準仕様であり、エプソンが互換機を出していました。

このパソコンは画面のサイズが横640縦400ドットに固定されており、この状態で半角文字を横8ドット縦16ドット、全角文字を横16ドット縦16ドットにそれぞれ固定されたフォントを用いていました。このため半角換算で横80文字縦25文字が最大表示文字数でした。

これに対してソフトウェアで出力するライン数を480ドットに増加させ、30行の表示を可能にするという試みが行われました。このソフトウェア群を総称して「30行計画」といいます(鮪方面発のソフトウェアであったように記憶しています)。480ドットの出力を得るために必要なのはこれらののソフトウェアだけであり、新たなハードウェアを求めるものではありませんでした。多くのディスプレイは多少の余裕を持って設計されており、多少の周波数変動には追従したためです。

当初の30行計画にはAPIがありませんでした。これに対して、APIを追加して、現在のモードや行数を取得したり、設定したりできるように機能を追加して、新たに開発されたのがlucifer氏による30行BIOSです。同種のソフトには早紀氏のTT.comというものもあります。双方にAPIの互換性はありません。このあたりの経緯はいろいろとあるのですが、私は30行BIOS側の人であり、客観的に書けるとも思えないので省きます(議論にも参加していませんでしたので、書くに書けないという状態でもあります→ログは読みましたけれど)。

30行BIOSが実現したのは最短2行から最長50行までの可変表示を行える拡張モードと標準モードを切り替えることができるという機能です。私も当初は1ユーザーとして対応ソフトの作成やバグ報告とその対策方法について30行BIOSのドキュメント担当者のwalker氏に某草の根ネットのメールでせっせと報告していました(後に私はある事件で反運営側にいたと誤解されて、ID登録を拒否されるという事態に発展しました)。

そんなある日、30行BIOS開発者のlucifer氏が仕事の都合で渡米するので、後継開発をしないか、という提案をwalker氏から受けました。これを私が受けて、30行BIOS ver1.20以降の開発を担当しました。このメールを受け取るときに前後して、私は30行BIOSのバグ修正に関する提案や、拡張をする単独の常駐ソフトウェアであるEX30の開発と、横方向の画面拡張の可能性に関する提案をしていました。EX30については、私が30行BIOSの後継開発をするということで非公開とし(もしかすると、ちゅ~たさんや一部の方々にはメールで配っていたかもしれません)、横方向の拡張は別プログラムとすることに方向転換を図りました。

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

しばらく30行BIOSのソースコードの構造に慣れること、バグを取ること、機能を拡張すること、液晶を搭載したノートパソコンでも動作するようにすること、に注力して横方向の画面拡張には手をつけていませんでしたが、しばらくしてから30行BIOSのアドオンとして90桁BIOSを開発しました。90桁BIOSの誕生までには、90桁BIOSの中核処理である「画面表示処理(文字の表示やエスケープシーケンスの処理)」だけを抽出した「ctest.com」というソフトウェアを根気強く使用してバグレポートしてくれたちゅ~た氏の貢献がありました。今でもとてもとても感謝しています。

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

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

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

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

30行BIOSシリーズ

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

30行BIOSの種類
適用 説明 バージョン ダウンロード 最終更新日
デスクトップ版 ブラウン管を採用したディスプレイ用です。全ての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(ボーランド)が必要です。ビルドの方法他、詳しいことは付属のドキュメントを参照してください。 Ver1.50β版 フルセット 30bld150.lzh 1998/09/15

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

90桁BIOSシリーズ

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

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

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

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

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

種別 説明 バージョン ダウンロード 最終更新日
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

サンプル用ソフトウェア

種別 説明 バージョン ダウンロード 最終更新日
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

最後に

既にこのページで公開しているソフトウェアは公開する必要性というか、価値というか。そういうものがほぼ無いものと思っていました。しかしながら、あるWebページおよび掲示板でまだまだ必要としている方々がいらっしゃることを知りました。それを読んで、このページを作成して公開することを決意しました。このページが存在しているのは、それに関わる皆様の熱意によるところがとても大きいです。今後も歴史の1ページ、そして現代も続く歴史の一部として参照していただければ幸いです。

このエントリーをはてなブックマークに追加