エプソン互換機



エプソン互換機の概略(公私混同)


エプソンの企業戦略について簡単に説明します。
1986年、エプソンは当時日本国内でトップシェアを誇っていたNECのPC-9801シリーズの互換機を発売しました。 NEC製品と同等のスペックを、より安価で提供することで、NECの市場シェアを取り込もうという戦略で、 これは1995年頃まで継続されます。 これに対してNECは、自社製OSを他社製マシンで動作しないように制限する 「エプソン・プロテクト」と呼ばれる技術的対抗策を講じます。 エプソン側もこれに応戦、自社製マシンにSIP(System Information Patch)というプロテクト回避機能を添付し、 さらにエプソン互換機向けのMS-DOSを独自に開発するなどして、互換機市場での生き残りを図りました。 この対立はついに訴訟問題にまで発展しましたが、最終的には和解金によって決着がつきます。 その後、国内市場ではPC-98シリーズなどの独自仕様PCから、国際標準であるDOS/V機へと主流が移行し、 エプソンもVividy(ヴィヴィディ)やEndeavor(エンデバー)といったDOS/V機の製造・販売へと路線変更を行います。 これにより、NEC互換機としての歴史は幕を閉じることとなりました。

ここからは、私自身の体験談をお話しします。
当時、私はNECのPC-9801本体およびOSを所有し、NEC関連の業務にも携わっていたため、 エプソンがどのような互換機を出そうとも、そちらへ移行する理由はまったくなく、 互換機戦争についても無関心のまま傍観していました。 関わりを持つことになるのは、PC-9801エミュレータを使い始めた時のこと、 一連の騒動も世間から忘れ去られようとしていた頃です。 当時利用していた「ANEX86」は、NEC機ではなくエプソン互換機をターゲットとしていました。 ただ、その頃はエミュレータの性能や挙動について十分に理解していなかったため、 エプソン向けのMS-DOSを使うことには抵抗があり、実機時代に使い慣れていたPC-9801用のMS-DOSを使うことにしました。 そのため「エプソン・プロテクト」の解除がどうしても必要になったのです。 その後、エミュレータを「Neko Project II」に移行したことで、エプソン向けのOSや設定は不要になりました。 あわせて、「エプソン・プロテクト」を解除していた旧環境も、すべてNECの純正品で正規の方法を使って再構築し、 結果的にエプソンとの関わりは完全に終わることとなりました。

そのような事情から、エプソン互換機は歴史的にも、そして私個人にとっても、完全に過去のものとなりましたが、 今さらながら、当時の状況や技術的背景について一度まとめておきたいと思います。

「エプソン・プロテクト」は、MS-DOS 3.1 〜 5.0A の期間に実装されていた機能です。 MS-DOS 2.11の時代には、まだ他社互換機を排除する必要性はなく、 一方で6.2の時代になるとNECとエプソンの間で和解が成立し、この機能は廃止されました。

「エプソン・プロテクト」という呼称には、若干意訳的な印象もありますので、 その内容をもう少し正確に説明すると、次のようなものです。 NEC製以外のマシンで自社製のMS-DOSを動作させた場合に強制リセットが発生するなどの制御(制裁)が働き、 正常な動作をさせない仕組みが組み込まれました。 当時、NECの資産や市場を脅かす現実的な存在はエプソンくらいだったため、 このような制御は自然と「エプソン・プロテクト」と呼ばれるようになりました。 エプソンはこれに対抗し、自社パソコンに「SIP」ディスクを添付して出荷し、 NECのソフト資産がそのまま利用可能であるという点を、売り文句として継続しました。 また、エプソンとは直接関係はないものの、同様の機能を果たす「DISPELL」というフリーソフトも存在し、 互換機戦争の真っ只中では、こちらも多くのユーザーにとって貴重なツールでした。

訴訟に関しては、最終的にエプソンがNECに和解金を支払うことで、いつの間にか終結しています。 その後は、NEC製MS-DOSも互換機上で堂々と使える時代となりました。 しかし、和解の金額や経緯の詳細が公にされることはなく、私の記憶では 「なぜ和解に応じたのか」さえ、曖昧なまま幕が引かれた印象です。 関係者が暴露本でも出さない限り、その真相は永久に闇の中に葬られるのかも知れません。

ここで少し、突っ込みどころ満載の例え話を交えて、私なりに和解の事情を推測してみたいと思います。
日本独自のパソコンが一世を風靡した1980年代後半から1990年代前半は、 あえて例えるなら、日本史でいう「江戸時代」、すなわち鎖国状態に近い状況だったと言えます。 トップシェアを誇るNECは、さながら将軍家。 シェアでは劣るものの、X68000という熱狂的な支持を受けたシャープは薩摩藩、 FM-RやFM-TOWNSを展開していた富士通は加賀藩といったところでしょうか。 そして、時に対立しつつも、運命を共にする立場でもあったエプソンは、 NECと近い関係を持つ水戸藩と位置付けるのがしっくりくるように思います。
その後、DOS/V機という「黒船」が到来したことで、 「将軍家と水戸藩が争っている場合ではない」という状況が訪れたのです。 余談ながら、当時、田町のNEC本社「スーパータワー」に時折足を運んで仕事していた私は、 江戸城に出入りする御用商人だったということになります。

NECの互換機というポジションを徹底的に追求してきたエプソンでしたが、 DOS/V機への流れが決定的になると、その転換は驚くほど早く、 互換機路線をあっさりと見限りました。 以降、エプソンはパソコン分野よりも、プリンターやデジタルカメラなどの分野に より大きな力を注ぐことになります。


技術的な話をしましょう


まずNECが、どのバージョンに対してエプソン・プロテクトを実施したかと、 各解除ツールがどうのような挙動をするかを、下記にまとめます。
DISPELLは1.13が最終バージョンです。SIPは3.12が最終と思われますが、 私が3.07しか持っていないため、このバージョンでのみ動作確認しています。 後のバージョンでは直っているかも知れないことをご了承ください。 MS-DOS3.1(125・127)は解除は不要ですが、自動モードでエラー、 手動モードでは対応窓口に電話でデータ1〜3を確認となってしまいます。 5.0Aでは解除不要なリビジョンにまで解除を実施してしまいます。 ユーザーの立場で言うと、解除が必要なものを不要と判断されるのは困りますが、 その逆は問題にはならなかったのでしょう。
製品番号バージョン発売日エプソン・プロテクトSIP 3.07DISPELL 1.13
PS98-121-???2.0(2.11)1983/09/11 (日)エプソン・プロテクトなしエプソン・プロテクトなしガードがみつかりません
PS98-122-???2.0(2.11)1985/05/22 (水)エプソン・プロテクトなしエプソン・プロテクトなしガードがみつかりません
PS98-123-???2.0(2.11) 連文節対応1986/06/10 (火)エプソン・プロテクトなしエプソン・プロテクトなしガードがみつかりません
PS98-125-???3.11986/06/27 (金)エプソン・プロテクトなし自動はNG・手動も実質不可ガードがみつかりません
PS98-127-???3.11986/10/13 (月)エプソン・プロテクトなし自動はNG・手動も実質不可ガードがみつかりません
PS98-129-???3.11987/07/20 (月)起動途中でPCダウン自動でOKIO.SYS書き換え
PS98-011-???3.1 最終版 逐次変換1987/10/23 (金)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-012-???3.1 最終版 アプリケーション1987/10/23 (金)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-013-???3.31987/07/13 (月)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-015-???3.3A1989/02/17 (金)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-017-???3.3B1989/11/27 (月)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-019-???3.3C1990/07/12 (木)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-1002-?23.3D1991/01/08 (火)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-1003-?15.01991/11/08 (金)真っ暗な画面でPCダウン自動でOKIO.SYS書き換え
PS98-1003-?25.0A1992/11/11 (水)途中までプロテクト自動でOKIO.SYS書き換え
PS98-1005-?16.21994/12/09 (金)エプソン・プロテクトなしエプソン・プロテクトなしガードがみつかりません
こうして細かく見てみると、3.1〜5.0Aに対して施したと言われるエプソン・プロテクトですが、 3.1も一部の製品にはチェックがかかっていませんし、5.0Aもリビジョン5にはかかっていません。
5.0Aは、実は内部で細々した改修が行なわれており、和解したタイミング以降ではエプソン・プロテクトはかかっていません。 ただ、チェック処理はそのまま残し、チェックを呼び出す部分を無効にしたため、 チェック処理のパターンを検出してパッチを当てる方法では解除が未対応と判断され、 これも無害ではありますが、行う必要のない解除が実施されます。
製品名製品番号リビジョン1.44MB FD対応1GB超HDD対応エプソン・プロテクト
5.0A0102h0001h××
5.0A0102h0003h×
5.0A0104h0004h×
5.0A0105h0005hなし


エプソン互換機の本体にSIPが添付されているにも関わらず、敢えてDISPELLというフリーソフトを作成・配布した理由は、
 @SIPは本体購入時のバージョンのため、その後の製品で解除出来ないケースにも対応したい
 ASIPはDiskーBASICでパソコンのリセットが常に必要、より使いやすいMS-DOSのEXEファイルとして提供したい
といったところでしょうか。
SIPはNECの製品のバージョンまでチェックしていて、実は微妙に間違っていたりしますが、 解除の目的は果たしていますので大した問題ではないと思われます。

SIP自体がDiskーBASICで作成されているため、NECのDiskーBASICにも対応しています。 因みに、私が所有していたPC-9801RA21に添付されていたN88BASICのDiskーBASIC版は 「V6.1 PC-98D60」だそうで、SIPで解除できました。ただし、エプソンの実機も所有しておらず、 エミュレータのANEX86はDiskーBASIC未対応のため、解除後のディスクの動作確認はできていません。


MS-DOSの実行ファイル形式で提供される「DISPELL」は、チェック対象をMS-DOSのドライブで指定するため、 DiskーBASICには未対応です。

私が気になるのは、DISPELLの作者がどうやって開発(特に解析)をしたかです。 エプソンの実機はもちろんのことSIPも当然持っていたであろうし、 NEC版のMS-DOSも一通り揃えていたのだろうと思います。 まずは、5.0Aのリビジョン04hを使用して、SIPとDISPELLでプロテクト解除を行って、 その書き換え方法を比較してみました。

※真ん中がオリジナル、左側がSIP、右側がDISPELLで解除した結果です
※赤色がSIPでの差分、黄色がDISPELLの差分となります

結果は、パッチの宛て方が違うことがわかりました。 SIPはチェックで引っかかってもOKの時に遷移する場所に行くようにしているのに対し、 DISPELLはチェックそのものをしないようにしています。 プロテクトが解除済みかどうかの判定は、 自分が書き換えを行った後の内容と一致しているかどうかで判断するため、 SIPで外してもDISPELLでは未処理となりますし、その逆もしかりです。 全く同じパッチの当て方をすれば、このような事態は避けられたはずで、 その方が開発も動作確認も楽だっただろうと思いますが、 何故そうしなかったのか、あるいはそうできない理由でもあったのか、私にはわかりません。


逆アセンブルした内容を添付します。
 青色部分:各レジスタをPUSHするところから逆順にPOPするところまでがサブルーチン、その入口と出口
 緑色部分:チェック処理、ROM部分の'NEC'の文字などをチェックします
    ※実際のチェック処理はもう少し複雑ですが、説明のため簡略化してます
サブルーチンの呼び元へ戻ればOK、戻れなければPCダウンとなります。 黄色の部分がパッチ、3種類あります。どれがひとつで解除が行われ、 複数行ってもユーザーから見た動作に変わりは無いです。

DISPELLというフリーウェア、当時これだけのツールを無償で提供した作者には感謝と尊敬の意を表しますが、 もう完全に過去の遺物になりました。SIPも含めて今後使うことはないでしょう。


ANEX86の存在意義


PC-9801のエミュレータとしてANEX86を使っていた時期がありましたが、 Neko Project IIの方が機能がいいと判断したため、そちらへ移行し構築した環境を作り直すことにしました。 ところが、Neko ProjectはIDEのエミュレートを行っており、 SASIをターゲットとしたMS-DOS 2.11は動かないことが判明しました。 100%移行の目論見は見事に打ち砕かれ、私はその時点でサジを投げました(SASIだけに・・・)。 このあたりのことは ここに詳しく書きました ので、興味ある方はそちらを参照してください。

そんな訳で、メインはNeko Project IIとしながら、ANEX86も手放せないツールとなりました。 せっかくなので、ANEX86でエプソン用のMS-DOSの環境を構築しました。

思ったよりもNEC版との差異がなく、特に何の問題もなくインストールができました。
NECオンリーの私には、起動画面がちょっと見慣れないですが、DOS SHELL画面が起動してしまえば、 NEC版と見分けが付きません。
エプソン用のOSは、NECのマシン(Neko Project)でも問題なく動きます。 どうせなら「NECプロテクト」でもかければよかったのに、と思うのは私だけでしょうか?

エプソンの自社用MS-DOSのバージョン一覧です。
バージョン名  発売時期    主な機能・変更点
MS-DOS Ver.2.111988/06/01 (水)ESC/P プリンタ対応、拡張フォーマット (<40MB)、LIB/LINK コマンド搭載(MASMなし)
MS-DOS Ver.3.11988/12/01 (木)ADDDRV/DELDRV/FILECONV/MENU/SETUP コマンド追加
MS-DOS Ver.3.1
Rel.2.0, 2.05
 Rel(リビジョン)番号付きのマイナーアップデート
MS-DOS Ver.3.31992/02/01 (土)BATKEY/COLOR コマンド追加、ウイルスチェックやオープニングロゴ、起動時設定機能
MS-DOS Ver.4.01
Rel.1.10
1990/02/01 (木)大容量 HDD(<2GB)、SCSI、ハイレゾ対応、EMS/グラフィック/フォントドライバ追加
MS-DOS Ver.4.01
Rel.2.05
 バグ修正やドライバ類の調整
MS-DOS Ver.5.0
Rel.1.0, 1.1, 2.0
1992/02/01 (土)HMA/UMB 対応、DOS シェル、UNDELETE/UNFORMAT/SMARTDRV.SYS を搭載
MS-DOS Ver.6.2
Rel.1.0
1995年1.44MB フロッピーディスク対応。Windows 用 UNDELETE/BACKUP ユーティリティ追加

エプソン・プロテクトの解除については、NECが和解に応じた実績があるため、 過去に行ったものもこれらか行う事も、違法性はないとする考え方も成り立ちます。 とは言え、それを使わずにNEC・エプソンの各環境を手に入れることができました。 当時は興味がなかったことに対して深掘りできたことも良かったと思います。

エプソン関連の残課題は、これで大体片付いたのかなと思いますが、あとひとつ・・・

当時、私の周りに熱狂的なエプソン信者がいまして、 これほどまでにエプソンを推す理由は何だったのか、ということです。 今すぐに結論は出ないのですが、単なるNECの焼き直しではなく、 常にユーザー目線で独自の改良を加えたことが大きいのかなと、今のところそう推測します。 NECの動向を完全に見定めてから自社に取り入れられる、というアドバンテージを 存分に活かした結果とも言えるのでしょう。NEC版でできないことを実現している例も見受けられます。 互換機を名乗る以上、動かないということがあってはならないという使命感を持って 開発を続けたOSの真価をもっと見てみたい、という気持ちが湧きました。 自作ツール群も、「クセ強」のものまで含めて、この環境で動作するか試してみたいと思います。



戻る