PC-9801 エミュレータを動かす

PC-9801 エミュレータを動かしたいと思っても、既に実機を持ってなかったり、実機から吸い出す手段を持っていない人が多いんじゃないかと思います。実機を使わずに PC-9801 エミュレータを動かす手順をまとめてみました。
この例では全て本体メモリーに入れていますが、フォントファイルやイメージファイルなどは SD カード(/mnt/card)や、CF カード(/mnt/cf)に入れても良いと思いますので、その都度読み変えてください。
尚、SL-C700 を例にとっていますが、私が確認した限りでは SL-C760 でも動作しました。SL-C750 でも同様ではないかと思います。

PC-9801 エミュレータをインストールする

SL-C700 で動作する PC-9801 エミュレータとして、ZAURUS探偵社PC98 for ZAURUS が公開されていますので、zpc98_1.7_arm.ipk をダウンロードして、SL-C700 の本体メモリーにインストールします。

インストールすると、アプリケーションのホーム画面に PC98 for ZAURUS のアイコンが出来ていますので、これを選択して起動します。
この時点では文字フォントも入っていないので、起動しても何も表示されません。画面左上の [PC98 for ZAURUS] から Quit を選択して終了させてください。

zpc98 初期状態 zpc98 終了手順

フォントファイルを SL-C700 にインストールする

PC98 for ZAURUS で使用するフォントファイルは Windows 用の PC-9801 エミュレータ「Virtual98」のフォントファイルなのですが、このフォントファイルを X Window System の BDF 形式フォントファイルから作成する mkfnt を作成しました。これで変換した東雲フォントを用意しましたので、font-shinonome_0.1.ipk をダウンロードして、本体メモリーにインストールしてください。

インストールが終わったら、再度 PC98 for ZAURUS を動かし、画面中央上の Option から Font File Set... を選択し、/home/zaurus にある font.rom を指定します。(画面では /home/zaurus/Documents の FONT.ROM となっているので注意。)

本体メモリーの font.rom zpc98 フォント指定 zpc98 font.romの指定

画面左上の [PC98 for ZAURUS] から Reset を選択すると、メモリチェックが始まり、「システムディスクをセットしてください」まで出るようになりました。あとはシステムやらゲーム等を動かすだけです。

zpc98 リセット zpc98 メモリチェック zpc98 システム未検出

レリクスで遊ぶ

PC-9801 エミュレータは動きましたが、肝心のソフトが無ければ始まらないので、とりあえず当時市販されていたゲームを動かしてみます。
ボーステックさんが、名作「レリクス」を無償公開してくださっているので、 RetroPC.NET さんの RELICS のページから「PC-9801版『RELICS』(D88形式) 」(rel_98n.zip)をダウンロードし、SL-C700 の本体メモリーにコピーしておきます。RELICS の無償配布は終了した為、現在はダウンロードできません。

本体メモリーの rel_98n.zip unzip で解凍

ダウンロードした rel_98n.zip は ZIP 形式の圧縮ファイルですので、SL-C700 に unzip をダウンロードして、インストールしたら、ターミナルから以下の手順で解凍します。( Windows で解凍してもかまいません。)

bash-2.05$ unzip Documents/rel_98n.zip *.d88
Archive:  Documents/rel_98n.zip
  inflating: rel_98.d88
bash-2.05$ exit

早速、PC98 for ZAURUS を起動して、画面中央上の FDD から FDD-1 Set... 選択し、/home/zaurus にある rel_98.d88 を指定します。

zpc98 FDD-1 Set... zpc98 FDD イメージ選択

画面左上の [PC98 for ZAURUS] から Reset を選択すると、メモリチェックが始まり、レリクスが起動します。

RELICS 起動 RELICS オープニング

しばらく長いデモが流れ、やがてメーカーロゴとタイトルが表示されます。Enter キーを押せばゲーム開始です。

RELICS メーカーロゴ RELICS タイトル

ゲームが始まると画面中央に影のような自分のキャラクタがいます。テンキーで操作するので、画面中央上の Option から Tenkey Emu を選択した後、カーソルキーで操作します。

RELICS ゲーム起動後 zpc98 テンキーエミュレーション設定

DOS を動かす

PC-9801 の魅力は膨大なソフトウェアだけでなく、DOS を中心としたフリーソフトウェアによるシステムの構築もあるかと思います。
PC-9801 に添付される MS-DOS は NEC 及びマイクロソフトの著作物ですので、ここではフリーで配布されている GR-DOS を入手して動かしてみます。

GR-DOS を入手する

グリーンスポット(現:猫の結社)の GR-DOS を You-C(ゆうち)氏が FD イメージで公開してくださっているので、GR-DOS フロッピーディスクイメージから grdoshdm.lzh をダウンロードして、SL-C700 の本体メモリーに入れておきます。

イメージファイルを変換する

ダウンロードした grdoshdm.lzh は LZH 形式の圧縮ファイルですので、SL-C700 に lha をダウンロードして、本体メモリーにインストールしておきます。さらにこれに含まれる FD イメージ「GR-DOS.HDM」は HDM 形式ですので、PC98 for ZAURUS で扱えるように D88 形式に変換しなければなりません。HDM 形式から D88 形式への変換ツール「cvd88」を作成しましたので、cvd88_1.3.ipk をダウンロードして、本体メモリーにインストールしたら、ターミナルから以下の手順で変換します。

bash-2.05$ lha e Documents/grdoshdm.lzh
GR-DOS.HDM   - Melted   :  oooooooo
README.TXT   - Melted   :  o
bash-2.05$ cvd88 GR-DOS.HDM Documents/GR-DOS.D88
bash-2.05$ 

GR-DOS を起動する

PC98 for ZAURUS を動かし、画面中央上の FDD から FDD-1 Set... 選択し、/home/zaurus/Documents にある GR-DOS.D88 を指定します。画面左上の [PC98 for ZAURUS] から Reset を選択すると、メモリチェックが始まり、GR-DOS が起動します。

キーボードの検出が凄く敏感なので、文字が2重に入力されたりしますが、軽く素早くキーを押すようにして DIR [Enter] のように押せば、ファイル一覧が表示されます。

GR-DOS

(参考)Windows でフォントファイルを作成する

PC98 for ZAURUS で使用するフォントファイルは Windows 用の PC-9801 エミュレータ「Virtual98」のフォントファイルなのですが、このフォントファイルを Windows 標準のフォントから作成する MAKEFONT32 が、ねこープロジェクトII さんで公開されていますので np2_makefont32.zip をダウンロードして、以下のように Windows で実行します。

np2_makefont32.zip を解凍した後、mkfont32.exe を実行して、FontType から Virtual98 (font.rom) を選択し、OK を選択すれば FONT.ROM が mkfont32.exe と同じ場所に作成されます。

mkfont32.exe 設定 FONT.ROM 完成

(参考)Windows でイメージファイルを変換する

RED 氏の Virtual Floppy Image Converter から vf011010.zip をダウンロードして、以下のように Windows で実行します。

vf011010.zip を解凍した後、vfic.exe を実行して、出力形式から D88形式 を選択し、このウィンドウに grdoshdm.lzh を解凍して出来る GR-DOS.HDM をドラッグ&ドロップすると GR-DOS.D88 が作成されます。

vfc D88形式を選択 vfc HDMファイルをD&D

(参考)Windows でイメージファイルに書き込む

grdoshdm.lzh を解凍すると出来る FD イメージ「GRDOS.HDM」に、いくつかのフリーソフトウェア等のファイル群を入れたいと思うことがあるかと思います。これには DiskExplorer から editd167.lzh をダウンロードして、以下のように Windows で実行します。

editd167.lzh を解凍した後、EDITDISK.exe を実行して、grdoshdm.lzh を解凍して出来た「GR-DOS.HDM」を指定し、plain image で開きます。「ファイル」から「外部ファイルの書込」で入れたいファイル群を指定します。「ファイル」から「終了」で DiskExplorer を終了させます。

PC-9801 の FD をイメージに変換する

フリーで様々な環境を構築するのも良いのですが、やはり手元にある PC-9801 の FD を使うのが一番良いと思います。これには DiskExplorer から editd167.lzh をダウンロードして、以下のように Windows で実行します。

editd167.lzh を解凍した後、EDITDISK.exe を実行すると、開きたいイメージファイルを聞かれますが、キャンセルを選択します。

「特殊」から「ディスクイメージの作成」を選択し、Windows マシンの FD ドライブに PC-9801 の FD を入れ、保存ファイル名、FD を入れたドライブ、サイズ(PC-9801 では 1.2MB が一般的ですから 1232 を選ぶことがほとんどかと思います)を設定して、実行を選択すると FD イメージが作成されます。(ただし、3 モードに対応した FDD でなければ 1.2MB は読めないので注意。)

DiskExplorer 特殊 DiskExplorer ディスクイメージの作成

作成した FD イメージは DISK 形式(BKDSK 形式)ですので、先ほどの GR-DOS の FD イメージを変換する手順と同様にして、D88 形式に変換します。

MS-DOS 6.2 を HDD にインストールする

これまでの手順で NEC 日本語 MS-DOS 6.2 を手元に用意したものとして HDD へのインストール手順を説明します。

PC98 for ZAURUS を起動して、画面中央上の HDD から New HDD Image... を選択し、作成する HDD イメージの容量を指定します。(ここでは 10MB の HDD イメージを作成しています。)

zpc98 HDD 作成 zpc98 HDD 容量指定

HDD イメージの格納場所とファイル名を指定します。(ここでは本体メモリー(/home/zaurus/Documents)に NEWHDD.THD で作成しています。)

zpc98 HDD 格納場所

FDD に MS-DOS 6.2 の 1 枚目の FD イメージをセットし、PC98 for ZAURUS をリセットして、MS-DOS を起動します。

「CPU が 80286 以下の機種のため 日本語 MS-DOS 6.2 はインストールできません」と表示されるので、リターンキー(Enter キー)を押し、FORMAT /H と入力してリターンキーを押します。

DOS 6.2 インストール FORMAT /H

FORMAT コマンドのメニュー画面が表示されるので、初期化を選択します。拡張フォーマットを選択し、装置全体を初期化しますに対して、「はい」を選択します。初期化が終了したら何かキーを押して、FORMAT コマンドのメニュー画面に戻ります。

初期化 フォーマットの選択

FORMAT コマンドのメニュー画面から、領域確保を選択します。確保容量、先頭シリンダ、システム転送の有無、ボリュームラベルは特に変更しなくても良いので、そのまま実行を選択し、確認に対して「はい」を選択します。終了したら何か適当なキーを押して、FORMAT コマンドのメニュー画面に戻り、終了を選択して FORMAT コマンドを終了させます。

領域確保 領域確保の設定

画面中央上の FDD から FDD-1 Eject を選択し、PC98 for ZAURUS をリセットすると、HDD から MS-DOS 6.2 が起動されます。dir コマンドを入力すると判りますが、システム以外は何も HDD に入っていない状態ですので、FD イメージから必要なコマンドをコピーしてくるなり、HDD イメージを Windows マシンに持っていって、DiskExplorer で必要なファイルを書きこむなりすると良いでしょう。

zpc98 FDD 排出 HDD 起動

その他

言い訳や雑記など。

スクリーンショット

PC98 for ZAURUS で色々なソフトを動かしてみました。
ソフトウェアごとに動作確認のコメントを付記し、起動から順番に画面が遷移する様子を別ページに分けたりしています。

PC98 for ZAURUS スクリーンショット
戻る