2004/11/22 更新
ipl98 Ver.0.00a Copyright (C) 2004 K.Takata 1.概要 Windows マシン上で、フロッピーディスクに PC-98 用の IPL を書き込み ます。これによって AT 互換機で PC-98 用の起動ディスクを作成できるよ うになります。 テストバージョンのため、GUI (Graphical User Interface) ではありま せん。 ソースファイルも同梱しています。 2.動作環境 ・OS、ランタイムライブラリ ・Windows95/98/ME/NT/2000/XP (PC-98, PC/AT 互換機 両対応) ・MSVCRT.DLL ・その他必要なもの ・PC-98 用 Windows95/98 の sys.com または format.com ・(PC-98 用 Windows95/98 のセットアップ CD-ROM) 3.予備知識 起動ディスクを作成するためには、MS-DOS の核となっている io.sys, command.com の2つのファイルをディスクにコピーするほかに、ディスクの 先頭に、IPL (Initial Program Loader) と呼ばれるプログラムを書き込む 必要があります。例えば、Win95/98 の場合、IPL は、sys.com や format.com の中に含まれており、sys コマンドを使ってシステムを転送し たり、format /s でシステムを書き込む場合には、これらの IPL がディス クの先頭に書き込まれるわけです。 実は、PC-98 用の sys.com は、AT 互換機上の Win9x で実行することも 可能で、これを行えば簡単に AT 互換機で PC-98 用の起動ディスクを作成 することができます。しかし、sys.com は Win2k/XP では動かないため、 Win2k/XP マシンしかない場合には、PC-98 用の起動ディスクを作成するこ とができません。 ipl98 は、sys.com, format.com から IPL を読み込んで、それをフロッ ピーディスクに書き込むことで、Win2k/XP マシン上でも、PC-98 用の起動 ディスクを作成できるようになります。 4.使用方法 まず、PC-98 用 Win95/98 に入っている sys.com または、format.com を ipl98.exe と同じディレクトリかカレントディレクトリにコピーしてくださ い。(sys.com や format.com がどこにあるか分からない場合は、5.1. を 参照してください。) 次に、フロッピードライブに、フォーマット済みのフロッピーディスクを 挿入してください。 次に ipl98.exe を実行してください。 A: ドライブに PC-98 用 IPL を書き込みます。 準備はよろしいですか? [Y/N] という表示が出ますので、y[enter] と入力してください。([enter] は Enter キーを押すという意味です。) 異常がなければ、 PC-98 用の IPL を書き込みました。 と表示されますので、5.の手順に進んでください。 もしフロッピードライブが A: 以外の場合には、コマンドラインから > ipl98 C: などというように、ドライブ名を指定して実行してください。 5.PC-98 用の起動ディスクの作成 4.の手順に従えば、フロッピーディスクに、PC-98 用の IPL を書き込 むことができますが、このままでは、io.sys などがないために、起動ディ スクとして使うことはできません。ここでは、起動ディスクの作成方法、特 に、必要なファイルの取り出し方について説明します。 Win98 と Win98SE では、CD-ROM の \win98n ディレクトリの中に PC-98 用のセットアップファイルが、CAB 形式で圧縮して収められています。また、 PC-98 用のシステムバックアップ CD-ROM では、\windows\options\cabs デ ィレクトリの中に同じように CAB 形式で納められています。また、市販の Win95 では、CD-ROM の \win95 ディレクトリの中に同じように CAB ファイ ルがあります。ここでは、これらのディレクトリのことを CABS ディレクト リ、一連のセットアップ用 CAB ファイルを CABS ファイルと呼ぶことにし ます。 起動ディスクの作成のためには、必要なファイルを CABS ファイルから取 り出すことになるのですが、CABS ファイルからファイルを取り出すには、 CABS ディレクトリの中にある、extract.exe を使うのが簡単です。(もち ろん CAB 形式に対応したアーカイバを使うこともできますが。) extract コマンドの使い方は以下のようになります。(詳しい説明は、 extract.exe を引数無しで実行することで表示されます。) > extract /A /L <dir> <cabinet> <file> ここで、<dir> はファイルの解凍先のディレクトリ、<cabinet> は連番に なっている CABS ファイルのうち先頭の CAB ファイル、<file> は取り出し たいファイル名です。取り出したいファイル名を複数並べて書けば、一度の 操作で複数のファイルをまとめて取り出すことができます。また、<file> にはワイルドカードを使うこともできます。 /A オプションを指定することで、連番となっている CABS ファイルの中 から、指定したファイルを検索して取り出してくれます。 Win95/95OSR2 では、<cabinet> には、mini.cab, precopy1.cab, win95_03.cab のいずれかを指定することになります。一方 Win98/98SE で は、<cabinet> には、mini.cab, precopy1.cab, catalog3.cab のいずれか を指定することになります。つまり、Win95 系の場合も Win98 系の場合も 3つの CAB ファイルのグループがあるわけです。以下ではこれらを順に mini グループ、precopy グループ、main グループと呼ぶことにします。 5.1. sys.com, format.com まずは ipl98 の実行に必要となる sys.com または format.com に関する 説明です。sys.com, format.com は、CABS ディレクトリの中にそのまま入 っていることがあります。その場合は、それをそのまま ipl98.exe のある ディレクトリにコピーして使ってください。それ以外の場合は、CABS ファ イルの中に入っていますのでそれを取り出して使います。 sys.com, format.com は、main グループの中に含まれています。Win95 系の場合は、以下のコマンドを実行すると、c:\tmp に sys.com と format.com を取り出すことができます。 > extract /A /L c:\tmp win95_03.cab sys.com format.com Win98 系の場合は、以下のように、win95_03.cab の代わりに catalog3.cab を指定してください。 > extract /A /L c:\tmp catalog3.cab sys.com format.com sys.com または format.com が取り出せたら、4.の手順に従って IPL をフロッピーディスクに書き込んでください。 5.2. 必須ファイル 起動ディスクの中に入れておかなければならない最低限のファイルは、 io.sys, command.com の2つです。command.com は CABS ファイルの中にそ のまま入っていますが、io.sys に関しては、winboot.sys という名前で入 っていますので、それを取り出して、io.sys にリネームして使います。 winboot.sys, command.com は、precopy グループの中に含まれています。 以下のコマンドを実行すると、c:\tmp に、winboot.sys, command.com を取 り出すことができます。 > extract /A /L c:\tmp precopy1.cab winboot.sys command.com 取り出した winboot.sys は io.sys にリネームしておきます。io.sys と command.com を4.で IPL を書き込んだフロッピーディスクのルートディ レクトリにコピーすれば、ひとまず PC-98 用の起動ディスクのできあがり です。この段階で、実際に PC-98 で起動できるか確認しておくと良いでし ょう。 5.3. 追加ファイル 5.2. で作成できる起動ディスクは、PC-98 で起動することができるだけ であり、このままでは、システムの再インストールなどに使うには機能不足 です。以下では、いくつかの追加ファイルの取り出し方について説明します。 5.3.1. CD-ROM ドライバ まずは、CD-ROM ドライバ関連について説明します。MS-DOS で CD-ROM を 使う場合には、CD-ROM ドライブに応じたデバイスドライバと、MSCDEX.EXE が必要になります。このうち、MSCDEX.EXE は main グループの中に含まれ ていますので、 > extract /A /L c:\tmp win95_03.cab mscdex.exe (Win95) または、 > extract /A /L c:\tmp catalog3.cab mscdex.exe (Win98) で取り出すことができます。 Win98 系は、NEC 純正の CD-ROM ドライバである NECCD.SYS も CABS フ ァイルに含まれています。NECCD.SYS は main グループの中に含まれていま す。 > extract /A /L c:\tmp catalog3.cab neccd?.sys とすれば、neccdb.sys, neccdd.sys, neccdj.sys, neccdk.sys, neccdm.sys の5つのファイルが取り出せますので、これらの中から必要なものを使って ください。(汎用 ATAPI CD-ROM ドライブ用の neccdm.sys が最も有用でし ょう。) Win95 系は NECCD.SYS が CABS ファイルの中に入っていないようです。 どこかから調達してくるか、edward (*1) + CD-SD Mini (*2) などのフリー ソフトの CD-ROM ドライバなどを使ってください。 (*1) http://www.vector.co.jp/soft/dos/hardware/se033916.html (*2) http://www.vector.co.jp/soft/dos/hardware/se007453.html 5.3.2. メモリドライバ 次に、メモリドライバ関連について説明します。メモリ関連では himem.sys や emm386.exe などが必要となるでしょう。himem.sys, emm386.exe は main グループの中に含まれています。以下のようにして取 り出してください。(例によって、Win98 系の場合は、win95_03.cab の部 分を catalog3.cab に置き換えてください。) > extract /A /L c:\tmp win95_03.cab himem.sys emm386.exe なお、XMS マネージャに関しては、himem.sys を config.sys に登録する 代わりに、CABS ディレクトリにある xmsmmgr.exe を autoexec.bat 等で実 行するという方法で代用可能です。 5.3.3. ディスク関連ユーティリティ 次に、ディスク関連ユーティリティについて説明します。ディスク関連の ものとしては、sys.com, format.com, fdisk.exe, diskinit.exe, scandisk.exe などが必要となるでしょう。sys.com, format.com に関しては、 5.1. で説明したとおりです。scandisk.exe は、CABS ディレクトリの中にあ るのでそれをコピーしてください。残りの fdisk.exe, diskinit.exe は、 main グループの中に含まれています。以下のようにして取り出してください。 (例によって、Win98 系の場合は、win95_03.cab の部分を catalog3.cab に 置き換えてください。) > extract /A /L c:\tmp win95_03.cab fdisk.exe diskinit.exe 5.3.4. その他の追加ファイル 以上で説明した以外のコマンドについても、ほとんどのものは main グル ープの中に含まれています。したがって、 > extract /A /L c:\tmp win95_03.cab <必要なファイル> あるいは、 > extract /A /L c:\tmp catalog3.cab <必要なファイル> というようにすれば、大抵のものは取り出せるでしょう。 edit.com, xcopy*.*, attrib.exe などを取り出しておくと良いかもしれ ません。 5.4. config.sys の例 files=40 buffers=10 dos=high,umb lastdrive=z device=himem.sys /testmem:off device=neccdm.sys /D:CD_101 5.5. autoexec.sys の例 @echo off mscdex.exe /D:CD_101 /L:Q 6.メモ 6.1. IPL Win95 の sys.com, format.com には3つの IPL が含まれています。また、 Win95 OSR2 以降の sys.com, format.com には4つの IPL が含まれていま す。これらの IPL は順に、 1. FAT12 (FD) 用 (1024bytes) 2. FAT16 IDE HDD 用 (2048bytes) 3. FAT16 SCSI HDD 用 ( 512bytes) 4. FAT32 用 (1536bytes) となっているようです。1. に関しては、1.2MB (1024B/Sct) と 1.44MB (512B/Sct) で、共通の IPL となっているようです。1. 〜 3. に関しては ディスク先頭の1セクタ分のデータですが、4. は3セクタ分のデータとな っています。 6.2. ToDo ・必要なファイルの取り出しも自動で。 ・Graphical User Interface 皆様の Contribution をお待ちしています。(他力本願もーど) 7.コンパイル コンパイラは VC++ 6.0 を利用しています。コマンドラインから > nmake -f ipl98.mak とするとコンパイルできます。 8.更新履歴 2004/11/22 Ver.0.00 ・最初の公開バージョン。 2004/11/22 Ver.0.00a ・ドキュメント更新。 9.注意事項、その他 ・このプログラムはフリーソフトウェアです。 ・このプログラムの著作権は作者である私 K.Takata(高田 謙)に帰属しま す。 ・もしこのプログラムを使用することで何らかの問題が発生しても作者はい っさいの責任を負いません。各自の責任で使用してください。 ・アーカイブを変更しない限り配布/転載は自由です。 ・ソースファイルの使用は非商用に限り自由です。 作者 : K.Takata(高田 謙) E-mail : kentkt@anet.ne.jp URL : http://webs.to/ken/ http://homepage3.nifty.com/k-takata/