M88 は,NEC の 8bit 時代の名機 PC-8801 のソフトウェアを Win32 環境で動作させる, エミュレータと呼ばれる種類のプログラムです.
PC-8801mkIISR 以降に搭載された機能を含む,88 の主要なハードウェアをソフトウェアのみで再現しています. このため少々 CPU パワーを費やしますが,88 とは縁も所縁もなさそうな環境(あ,Microsoft 繋がりか)で,昔懐かしい 88 のソフトを動かすことができるようになります.
ただし,M88 が再現するのは 88 のハードウェア機能だけです. このため,実際に 88 のソフトを動作させるためには実機から BIOS を取り出す必要があります.
M88 とこのドキュメントの最新版は M88 のぺーじ から入手できます.
また,動作報告,要望,感想などは M88 掲示板 へどうぞ.
M88 を使う場合,通常の使用では PC-8801 シリーズの本体から直接転送した BIOS データが必要になります. M88 の使用者は NEC PC-8801 シリーズの本体を所有している必要があります. 実機を所有していない方が著作権者の許可なく BIOS データを入手・使用すると著作権法に抵触します.
CPU | IA-32 系 CPU Pentium Pro 世代(Pentium-II/K6)以降の CPU を推奨します. |
OS | Windows 95/98 または Windows NT 4.0 (x86) DirectX 3 以上必須. VC 6.0 に対応したランタイムライブラリが必要になるかも. |
キーボード(*1) | 日本語 106 キーボード または PC-98 用キーボード |
88 本体 | PC-8801mkIISR 以降(PC-88VA系も可,PC-8801/mkII は不明) |
まず,88 から BIOS イメージを転送します.
注意:88 の BIOS は著作物です.個人的な利用以外は,著作権法上,権利者の許可なく利用することはできません.
M88 Tools for AT
の中の READROM.EXE が使用できます(Win95 で動作確認).
まず,2D のブランクディスクを5インチドライブに入れ,
READROM M [drive]:
と実行し,読み出し用ディスクを作成します.
このディスクを 88 で起動し,Completed の文字とともにディスクランプが消灯するまで待ちます.
その後ディスクを5インチドライブに入れ,
READROM R [drive]:
と実行すれば,カレントディレクトリに ".ROM" という拡張子を持つ
BIOS データが作成されます.
Windows 機と 88 をシリアルケーブルで接続して BIOS データを転送することができます.
M88 Tools for Win を使用してください. 詳しい説明は付属のテキストにあります.
88 の内部に詳しい方は自力で読み出すのも良いでしょう. 必要なデータとファイル名は以下の通りです.
ROM 種別 | アドレス | ファイル名 |
N88 BASIC ROM | 0000-7fff | N88.ROM |
N88 E0-ROM | 6000-7fff | N88_0.ROM |
N88 E1-ROM | 6000-7fff | N88_1.ROM |
N88 E2-ROM | 6000-7fff | N88_2.ROM |
N88 E3-ROM | 6000-7fff | N88_3.ROM |
N88 BASIC ROM | 0000-7fff | N80.ROM |
SUB ROM(FDD) | 0000-1fff(*1) | DISK.ROM |
漢字 ROM | (128KB) | KANJI1.ROM(*2) |
第 2 水準 | (128KB) | KANJI2.ROM(*3) |
辞書 ROM | (512KB) | JISYO.ROM(*4) |
N80 BASIC ROM | 0000-7fff | N80_2.ROM(*5) |
(*1) SR, FA 等,2D 専用機は 0000-07ff まで
(*2) M88 はテキストの表示に漢字 ROM の中の 1/4 倍角フォントを利用しているので, KANJI1.ROM がないと画面が正常に表示されません. 但しテキストフォントのファイルを自作すればそれで代用することも可能です(FONT.ROM 8 バイト * 256 文字).
(*3) MR, FH/MH 以降にしか実装されてませんが,それ以前の機種から読み出してもファイルは作成されます.但し中身に意味はありません.削除しても結構です.
(*4) MA, MA2, MC に実装されていますが,添付の日本語 DISK BASIC を使わない限り普通必要ありません.本当に必要な方のみどうぞ.
(*5) N80 Mode を使用する場合のみ必要です.PC-8001mk2 から吸い出すことが可能です.
起動には最低でも N88.ROM または PC88.ROM,そしてフォントファイルが必要です. その他のファイルが足りない場合,起動はしますが,正常な動作は期待できません. N80 mode のみ使用される場合で N88.ROM を持っていない場合は N80_2.ROM のコピーを N88.ROM という名前でおいてください.
KANJI1.ROM がない場合漢字表示が豆腐になりますが,とりあえず起動できるようになります. また,KANJI1.ROM が無い場合,テキストフォントファイル FONT.ROM が必要になりますが, これには P88SR が自動生成したフォントファイル PC88.FNT が使用できます. FONT.ROM という名前に変えて置いてください.
KAJA 氏のサイトにある GETK というツールで, 98 に搭載されている漢字 ROM から KANJIx.ROM を作成することができます.
YM2608(OPNA)に搭載されているリズム音源は,LSI 内部の ROM に入っている ADPCM サンプルを鳴らすものです.そのため,M88 でリズム音を鳴らしたい場合は,実機から録音するなり,似たような楽器から録音するなりしてリズム音のサンプルを用意する必要があります.
44.1KHz, モノラル, 16bit PCM の wav ファイルのみ使用できます. wav ファイルの読み込み部分は,超手抜きな実装なので,ヘッダーに余計なものがあると正常に読みこめません. サンプルのファイル名は下記の通りにしてください. ひとつでも欠けているとリズム音は鳴りません.
音色 | ファイル名 |
バスドラム | 2608_BD.WAV |
スネアドラム | 2608_SD.WAV |
トップシンバル | 2608_TOP.WAV |
ハイハット | 2608_HH.WAV |
タムタム | 2608_TOM.WAV |
リムショット | 2608_RIM.WAV |
読み出した ROM ファイル全てと,必要ならフォントファイル,リズム音を M88.EXE と同じディレクトリ(起動時ディレクトリ)におき,M88.EXE を実行してください.
各音源の音量を設定します.約 1/2 dB 単位で調整できます.
ディップスイッチを設定します.
全画面モードでは,ダイアログのヘルプ表示を使うと厄介なことになるようです.
起動時に,ディスクイメージのファイル名を与えると,起動時にそのディスクイメージを開きます.
また,複雑ですが,いくつかオプションもあります. src/win32/ui.cpp の ApplyCommandLine 関数の辺りを参照してください.
キーボードの種類は,「設定ダイアログ」の「環境」で変更できます.
106 日本語キーボードにおける特別なキー配置は,以下の通りです.
88 キー | 対応するキー |
Stop | F11 |
Reset/COPY(*1) | F12 |
Help | End |
カナ | Scroll Lock |
GRPH | ALT(*2) |
テンキーの "," | テンキーの"."(Num Lock off) |
テンキーの "." | テンキーの"."(Num Lock on) |
無変換 | 決定 |
変換 | 変換キー |
全画面モード切り替え | ALT+ENTER |
F10(*2) | F10 |
Windows 側の制限により,NUM LOCK on で使用すると SHIFT+テンキー入力の際に SHIFT が離れてしまうという現象が起こります. また.PC キー,テンキーの "=" は割り当てられるキーが無くなってしまったので 割り当てていません.
98 キーボードのキー配置は以下の通りです.
88 キー | 対応するキー |
Reset/COPY(*1) | VF2 |
Stop | VF5(又は VF1) |
決定 | NFER |
変換 | XFER |
全画面モード切り替え | GRPH+ENTER |
GRPH(*2) | GRPH |
F10(*2) | F10 |
パレット制御の関係上,256 色環境では,バックグラウンドになると, 色がおかしくなることが多々あります.
現在,Blue_B 氏の PC-9801 用 88SR エミュレータ P88SR で使用できるディスクイメージに対応しています.
なお,昔 M88 Tools に同梱されていた READER を用いて作成されたディスクイメージに対して書き込みを行うと,自動的に P88SR 方式に変換されます.
開発予定があるものも,対応するつもりが無いものも... まだまたたくさん残ってます.
作者は M88 が以下の環境の一部または全部において正常に動作することを確認しています. 環境は全て AT 互換機系です.
動作確認 BIOS
FM 音源部の作成にあたって参考にさせていただいた FM Sound Generator の作者 佐藤達之氏, 旧版の M88 に N80 モードを追加された arearea 氏, また,掲示板や開発室等を通じて M88 の発展に寄与してくださった皆様, 貴重な資料や重要な情報を供給してくださった ISL の皆様, 悠黒氏,KAJA 氏,norimy 氏,午後T 氏, 開発のキッカケを与えてくれた某 CCS-BBS の方々, 皆様に心からの感謝をささげます.
とりあえず以下の場所にお願いします.
cisc
E-mail: cisc@remus.dti.ne.jp
WWW: http://www.remus.dti.ne.jp/‾cisc/m88/