QUASI88 - PC8801 Emulator

QUASI88の使い方

  このページでは、QUASI88 の基本的な使い方を説明します。
なお、ここでは QUASI88 のソースをコンパイルしてできた実行ファイル 'quasi88' がパスの通ったディレクトリにあるもとのして話しを進めます。

1. 起動の前に

  QUASI88 を起動する前に、予めいくつか準備しておくことが有ります。

  1. PC-8801のROMイメージファイルを特定のディレクトリに置きます。

    どのディレクトリに置くのかはコンパイル時に Makefile で指定します。 わけあって、コンパイル時に指定したディレクトリを使いたくない、という場合は、 ROMイメージファイルを置いたディレクトリを環境変数 QUASI88_ROM_DIR にセットしておきましょう。 例えば、~/quasi88/rom/ ディレクトリにROMイメージファイルを置いた場合、以下のコマンド

    % setenv QUASI88_ROM_DIR '~/quasi88/rom/'

    を実行しておきます。 (cshの場合)。
    ※ 起動時に -romdir オプションを使用しても同様の効果を得ることができます。

  2. ディスクイメージファイルを特定のディレクトリにまとめて置いてきます。

    これは必須では無いですが、まとめて置いとくほうがファイルの管理がしやすいと 思う人はどうぞ。このディレクトリもコンパイル時に Makefile で指定しますが、 ROMと同様に環境変数 QUASI88_DISK_DIR でも指定できます。 例えば、~/quasi88/disk/ ディレクトリに、ディスクイメージを置いた場合、以下のコマンド

    % setenv QUASI88_DISK_DIR '~/quasi88/disk/'

    を実行しておきます (cshの場合)。
    ※ 起動時に -diskdir オプションを使用しても同様の効果が得ることができます。

  3. 環境変数 DISPLAY をセットします。

    まあ、普段から X11 を使っている人すでにセットしているでしょう。

2. 起動してみよう

  では、QUASI88 を起動してみましょう。引数をなにも与えずに起動すると、ROM BASIC が起動するはずです。 正常に起動しない場合は、ROMイメージファイルがちゃんと指定のディレクトリにあるか、などを確認してみてください。 起動時に オプション -verbose 1 を指定するといろいろなメッセージが表示されるのでこの内容も確認してみてください。

% quasi88 -verbose 1

ここに QUASI88 起動時の画像があると思いねぇ

  ディスクイメージを使用する場合は、QUASI88 の起動時に引数でディスクイメージのファイル名を与えます。
ここで与えるファイル名は、上記『1.起動の前に』の 項目 2 で設定した 「ディスクイメージファイルを置いたディレクトリ」にあるファイルの名前です。
  例えば、上記の様に QUASI88_DISK_DIR が設定してあり、ディレクトリ ~/quasi88/disk/xanadu.d88 というディスクイメージファイルがあるとすると、

% quasi88 xanadu.d88

  とすれば、QUASI88 の起動後にこのディスクイメージが読み込まれます。

  ディスクイメージファイル名をパス ('/') を含む形式で指定した場合は、そのまま指定したファイルが読み込まれます。 以下の例では、カレントディレクトリにあるxanadu.d88 というディスクイメージファイルが読み込まれます。

% quasi88 ./xanadu.d88

3. メニューモード

  QUASI88 にはメニューバーやツールバーといった気の利いたものはありません。 その代わりにメニューモードというモードがあり、そこでディスクイメージの交換や各種設定を行うことができます。

メニューモードに入るには、ファンクションキー F12キー を押します。
「おれのマシンにはファンクションキーは8個しかないんじゃ」というような方は、例えば QUASI88 の起動時のオプションで -f8 MENU を指定しておけば、F8キー でメニューモードになります。
え? ファンクションキーそのものが無い? 困りましたね………

メニューモードは、GTK+ の LOOK & FEEL を真似ていますが、実は PC-8801 のテキスト画面の表示処理を利用したシロモノです。 使い勝手が今一つなのはご勘弁を。なお、以下で紹介するスクリーンショットでは日本語表示になっていますが、 漢字ROMのROMイメージファイルが無い場合は英字での表示になります。(英語じゃありません…だれか訳してください)


【リセット】

BASICモードなどの各種設定を切り替えてリセットすることができます

ここをクリックすると、拡大表示します その他ボタンをクリックすると…→ ここをクリックすると、拡大表示します

現在のモード
最上段には、機種・BASICモード・CPUクロック・OPN/OPNAの種別が表示されます。

BASICモード
CPUクロック
サウンドボード
それぞれ好きに設定してください。
「非連動」のチェックが入っていると、ここでCPUクロックを設定しても、実際のエミュレータ上の速度が変化しないので注意してください。

QUASI88の起動時にBASICモードを指定する場合、以下のオプションを使います。
-v2   … V2モードで起動
-v1h … V1Hモードで起動
-v1s … V1Sモードで起動
-n    … N-BASICモードで起動

起動時に、動作クロックを指定するのは、以下のオプションです。
-8mhz … 8MHzで起動
-4mhz … 4MHzで起動

起動時に、 サウンドボードを指定するのは、以下のオプションです。
-sd   … サウンドボード   で起動
-sd2 … サウンドボードII で起動

その他 (その他ボタンをクリックすると、項目が増えます)
・ディップスイッチの設定ができます
(設定項目の詳細は、PC-8801のマニュアルを見てください。システムの立ち上げをROMにすると、ディスクイメージを読み込まないので注意してください。)
・ROMバージョンの変更ができます
(V1モードのバージョン 1.x の x の部分を任意に設定できます。ROMバージョンにより動作を変えるソフトを誤魔化す(?)のに使えます。)
・拡張RAMの設定ができます
・辞書ROMの有無が設定ができます

*** ここでの設定は『この設定でリセットする』ボタンを押して、リセットを実行した時にのみ反映されます ***


【CPU】

エミュレータの細かな動作を設定できます

ここをクリックすると、拡大表示します

SUB-CPU駆動
サブCPUの動作タイミングを設定します。デフォルトは0です。この数字を大きくすると、処理速度は落ちるもののエミュレート精度が向上します。
ソフトが正常にエミュレートできない場合、数字を大きくすると動くことがありますので試してみましょう (数字を変更したら、リセットしたほうがいいでしょう)。

QUASI88の起動時にSUB-CPU駆動を設定するには、以下のオプションを使います。
-cpu n … nは、0~2の値を指定します。

CPUクロック
メインCPUのクロックを指定します。リセット時には通常、初期化されるので注意を。
速度
エミュレートの処理速度を制御します。
速度比を100%以上にすると動作速度が上がります。100%以下にすると下がります。
ウェイトなしにすると、最高速度でエミュレートします。
(いずれもの場合もサウンドのテンポがおかしくなります。)
ブースト
エミュレートの処理速度をN倍にします。
上の「速度」と違って、サウンドのテンポはおかしくなりません。多分。(でも、ちょっとノイジィになる…)
FDCウエイト
フロッピーディスクの処理にウェイトをいれます。 一部のソフトではこの設定を「あり」にしておかないと動作しません。
高速BASIC処理
有効にすると、BASICのグラフィック処理実行中、内部処理を高速化します。初期のADVゲームなどで役に立つかも。
偽メモリウェイト
有効にすると、偽物のメモリウェイトを入れます。あくまで偽物ですのでご注意ください。


【画面】

画面表示関連の設定を行います

ここをクリックすると、拡大表示します

フレームレート
1秒間に何回画面を書き換えるかを設定します。デフォルトは60になっており、1秒間に約60コマ表示します。 動作が遅くなる場合は、30とか15にしてみてください。

QUASI88の起動時にフレームレートを設定する場合は、-frameskip オプションを使います。 なお、ここで指定するのはフレームスキップであって、フレームレートではありません。注意しましょう。

-frameskip n  … nは、スキップするコマの割合
n=1 だと、全コマ表示     (秒間60コマ)
n=2 だと、2コマ毎に表示(秒間30コマ)
n=3 だと、3コマ毎に表示(秒間20コマ)
n=4 だと、4コマ毎に表示(秒間15コマ)
n=5 だと、5コマ毎に表示(秒間12コマ)
n=6 だと、6コマ毎に表示(秒間10コマ)
・・・

オートスキップ
エミュレータの処理速度が低下した際、自動的に画面描画をスキップして処理速度を一定に保とうとします。
画面サイズ
ウィンドウのサイズを変更します。環境によっては変更できないかもしれません。
ちなみに半分にすると、320x200ドットで表示されます。この時、簡単なフィルタリングがかかります。仕事中にQUASI88を使うためのモードで す。^_^;
PCG-8100
PCG-8100の有効・無効を指定します。なお、PCG-8100のサウンドは未対応です。
フォント
3種類のフォントを切り替えることができます。
デジタルパレットモードにしたり、インターレス表示にしたり、半分サイズ時のフィルタリングをオフにしたりできます。 モニター周波数を15KHzに設定することもできますが、だからといってVSYNC周期が変わったり、 400ライン表示ができなくなったりするわけではないです。あしからず。


【音量】

音量や、サウンド出力関連の設定ができます

ここをクリックすると、拡大表示します 詳細設定ボタンをクリックすると…→ ここをクリックすると、拡大表示します

音量FM音源・PSG音源・BEEP音源の出力レベルの調整ができます。
ちなみに、FM音源・PSG音源・BEEP音源の出力バランスはまだ最適な値が見つかっていません。 だれか教えてください。

サウンドボードII(OPNA)をエミュレートしている場合、リズム音源・ADPCM音源の出力レベルも調整することができます。
ただし、この2つに関しては、出力レベルはFM音源の出力レベルからの相対度の指定となります。

詳細ボタンを押すと、サウンドデバイス詳細設定メニューが表示されます。

FM音源ジェネレータ
FM音源ジェネレータとして、MAME 内蔵のものを使用するか、fmgen を使用するかを選択できます。
サンプリング周波数
サウンド出力のサンプリング周波数を変更できます。
サンプル音の使用有無
サンプル音の使用有無を選択できます。

その他にも、設定可能な項目がある場合があります。
(いずれも、変更後はリセットしたほうがいいかもしれません)


【ディスク】

ディスクイメージの操作が行えます

ここをクリックすると、拡大表示します

このメニューからは、ディスクイメージを交換したり、別のディスクイメージファイルを開いたりすることができます。

すでに開いているディスクイメージに対し、イメージ名の変更・ライトプロテクト属性の変更・フォーマット/アンフォーマット・ブランクディスクイメージの追加が行えます。

また、新規にブランクディスクイメージの作成も可能です。


【キー】

キーに関する雑多な設定が行えます

ここをクリックすると、拡大表示します ファンクションキーに機能を割り当て中→ ここをクリックすると、拡大表示します

ファンクションキーF6~F10に、QUASI88の各種機能のショートカットを割り当てることが出来ます。 (この場合、エミュレータ上でF6~F10キーが使えなくなりますが、これらのキーはPC-8801では必須でないので問題ないでしょう)
任意のキーを割り当てることも可能です。

QUASI88 の起動時にも、-f6-f10 というオプションを指定することで、ファンクションキーに機能を割り当てられます。

-f6 function … F6キーに機能 function を割り当てます。

  function にどんな文字列をあたえるかは、QUASI88のマニュアルを参照してください。

数字キーをテンキーに割り当てたり、NumLockをソフトで実現したりできます。

ソフトウェアキーボードというのもありますが、これはPC-8801のゲームの裏技でよくある、複数のキーの同時押しを実現するためのものです。 本当のキーボードの代わりにはまずならないでしょう。

なお、カーソルキーに対しては、2・4・ 6・8キーや、任意のキーを割り当てることも可能です。


【マウス】

マウス・ジョイスティックの設定が行なえます

ここをクリックすると、拡大表示します

マウス設定
システムの、マウスまたはジョイスティックを使用可能にします。
なお、 マウスとジョイスティックが同時に使用できないのは PC-8801ユーザなら常識ですね。

マウスの上下左右の移動に対して、2・4・6・8 キーや、任意のキーを割り当てることが可能です。

ジョイスティックについても同様に、2・4・6・ 8キーや、任意のキーを割り当てることが可能です。 ジョイスティックは最大2台まで扱うことが可能です。
なお、QUASI88がジョイスティックをサポートしていない場合、ジョイスティックは一切利用できません。

システムのマウスカーソルを非表示にしたり、マウスの感度を変更したり、マウスをシリアルマウスとして接続したりすることが可能です。


【テープ】

テープイメージの操作が行なえます

ここをクリックすると、拡大表示します

テープイメージ設定
ロード用・セーブ用別々に、テープイメージを設定します。ロードは T88形式・CMT形式をサポートします。セーブはCMT形式のみです。

N-BASICの場合は、テープロードの処理に割り込みを使わないように設定することで、高速にロードが可能です。


【その他】

作者のきまぐれで追加した機能です

ここをクリックすると、拡大表示します

ステートセーブ
ステートセーブを実行すると、現在のエミュレータの状態を指定のファイルに書き出します。
ステートロードを実行すると、指定のファイルを読みこんで、エミュレータの状態を復元します。

QUASI88の起動時に、-resume オプション、ないし -resumefile オプションを指定すると、起動時にステートロードを実行します。

-resume~/.quasi88/quasi88.sta ファイルをもとに状態を復元します。
-resumefile filenamefilename で指定したファイルをもとに状態を復元します。

画面保存
BMP形式、ないし PPM形式で画面キャプチャをファイルに保存します。
サウンド保存
WAV 形式でサウンド出力をファイルに保存します。

ステートセーブや画面保存、サウンド保存のファイル名は、ディスクイメージのファイル名に連動して変わります。

4. キーボード、マウス

  QUASI88では、106日本語キーボードに使用を想定しています。(いるつもりです)
106日本語キーボードと、PC-8801のキーボードとの関係は、以下のようになっています。

PC-8801のキー 106 キー
STOP Pause か、ScreenLock
COPY PrintScreen
HOME CLR Home
HELP End
ROLL DOWN PageUp
ROLL UP PageDown
かな 右Alt (ロックは不可)
GRAPH 左Alt
CAPS (なし)
決定 無変換
変換 変換
全角 アプリケーションキー

さらに環境によっても、いくつかのPC-8801のキーは使えないと思われます。 その場合は、ファンクションキーやカーソルキーに文字キーを割り当てて誤魔化してください。
かなキーは、オプション -f6-f10 でファンクションF6~F10に割り当てることにより、ロックが可能となります。
以下は、ファンクションF10キーにかなキーを割り当てる例です。

% quasi88 -f10 KANA

以下は私がよく使うファンクションキー設定です。

% quasi88 -f6 IMAGE-NEXT1 -f7 IMAGE-NEXT2 -f8 NOWAI -f9 ROMAJI -f10 NUMLOCK

こうすると、

ということができるのでかなり便利です。

また、QUASI88ではマウスも使えます。起動時に、-mouse オプションを指定するか、メニューにて設定してください。

% quasi88 -mouse

マウスのボタン1が、PC8801のバスマウスの左ボタン、ボタン3がバスマウスの右ボタンに割り当てられます。
マウスの移動速度はPC-8801のソフトに依存するのであまり快適ではありません。 メニューにて、マウスの速度を設定したり、マウスをグラブ(ウインドウに閉じ込める)したりすると、多少はマシになるかもしれません。