QUASI88 マニュアル

名称
    QUASI88

      このソフトは、 NEC PC-8801mkIISR のエミュレータです。

書式
    quasi88 [-option] [image-file [image-No] [image-file [image-No]]]

解説
      QUASI88 は引数のうち、- で始まるものをオプションとみなします。
    - で始まらないものを、イメージファイルのファイル名とみなします。

      最初に出てきたイメージファイルは、ドライブ 1: に、次に出てきた
    イメージファイルは ドライブ 2: にセットされます。

      イメージファイルが複数のイメージを含んでいる場合、ファイル名の
    直後にイメージの番号をつけて、イメージを指定出来ます。
    イメージ番号は先頭から、1、2、3 ………となります。省略時は、1 が
    指定されたものとみなされます。

      イメージファイルが複数のイメージを含んでいる場合で、ファイルを
    ひとつしか指定しなかった時、イメージ番号を2個続けて指定することで
    ドライブ 1: 、2: の両方にイメージが指定できます。

    また、イメージ番号を全く指定しなかった時は、イメージ番号 1 が、
    ドライブ 1: に、イメージ番号 2 がドライブ 2: にセットされます。

      QUASI88 では、ドライブは、1: と 2: の 2台しかサポートしていない
    ため、3個以上のイメージを指定した場合は、無視されます。
    また、イメージが指定されなかったドライブには、ディスクが入って
    いないとみなされます。

      なお、イメージの数は、1個のファイル内に最大32個までです。
    この個数よりも多くのイメージを含むファイルの場合、32個目以降の
    イメージを選択することが出来ません。また、ファイルに壊れたイメージ
    が含まれている場合も、その壊れたイメージ以降のイメージを選択する
    ことが出来ません。これらの状態を検知した場合、後述する -verbose 
    オプションが適切に設定されていれば、警告メッセージが表示されます。

    例)    a.d88、b.d88 は単一イメージのファイル、
        x.d88、y.d88 は複数イメージを持つファイルとします。

      % quasi88 a.d88        → ドライブ 1: = a.d88
                        ドライブ 2: = 空

      % quasi88 a.d88 b.d88      → ドライブ 1: = a.d88
                        ドライブ 2: = b.d88

      % quasi88 x.d88        → ドライブ 1: = x.d88  1番目のイメージ
                        ドライブ 2: = x.d88  2番目のイメージ

      % quasi88 x.d88 3      → ドライブ 1: = x.d88  3番目のイメージ
                        ドライブ 2: = 空

      % quasi88 x.d88 2 4        → ドライブ 1: = x.d88  2番目のイメージ
                        ドライブ 2: = x.d88  4番目のイメージ

      % quasi88 x.d88 y.d88      → ドライブ 1: = x.d88  1番目のイメージ
                        ドライブ 2: = y.d88  1番目のイメージ

      % quasi88 x.d88 3 y.d88    → ドライブ 1: = x.d88  3番目のイメージ
                        ドライブ 2: = y.d88  1番目のイメージ

      % quasi88 x.d88 y.d88 3    → ドライブ 1: = x.d88  1番目のイメージ
                        ドライブ 2: = y.d88  3番目のイメージ

      % quasi88 x.d88 4 y.d88 2  → ドライブ 1: = x.d88  4番目のイメージ
                        ドライブ 2: = y.d88  2番目のイメージ

オプション
      QUASI88 の起動時に以下のオプションを指定できます。
    排他的な機能の指定をするオプションについては、複数指定した場合は、
    最後に指定したものが有効になります。

    【 PC-8801に関する設定 】

    -v2     V2 モードで起動します
    -v1h        V1H モードで起動します
    -v1s        V1S モードで起動します
    -n      N-BASIC モードで起動します
        省略時は、ROM のバージョンにより自動的に選択されます。
            PC-8801/mkII      … -v1s
            PC-8801mkIISR以降 … -v2

    -4mhz       CPU クロックモード 4MHz で起動します
    -8mhz       CPU クロックモード 8MHz で起動します
        省略時は、-4mhz です。
        なお、-4mhz を指定した場合は、-clock 3.9936 が暗黙のうちに
        指定されます。同様に -8mhz を指定した場合は、-clock 7.9872
        が暗黙のうちに指定されます。

    -sd     サウンドボード   をエミュレートします
    -sd2        サウンドボードII をエミュレートします
        省略時は、-sd です。
        注意) -sd2 オプションは十分なデバッグがされていません。

    -dipsw <x>  ディップスイッチを設定します
        <x> は、0〜65535 または、0x0000〜0xffff の値を指定します。
        値の意味は N88-BASIC の NEW ON コマンドの引数と同じです。
        省略時は、-dipsw 0x391a です。

    -baudrate <bps> ボーレートを設定します
        <bps> は、75、150、300、600、1200、2400、4800、9600、19200 の
        いずれかです。
        省略時は、-baudrate 1200 です。

    -romboot    ROM BASIC から起動します
    -diskboot   DISK から起動します
        省略時は、ディスクイメージファイルが指定されている場合は、
        -diskboot、ファイルが指定されていない時は、-romboot です。

    -extram <n> 拡張 RAM ボード を <n> 枚 エミュレートします
    -noextram   拡張 RAM ボード を エミュレートしません
        拡張RAMボードは 128KB 単位でエミュレートされます。
        指定可能な n とメモリサイズは、以下の通りです。
            n=0   … 拡張 RAM ボード なし
            n=1   … 128KB
            n=2   … 256KB  (128KB × 2)
            n=3   … 384KB  (128KB × 3)
            n=4   … 512KB  (128KB × 4)
            n=8   … 1024KB (1MB)
            n=9   … 1152KB (1MB + 128KB)
            n=10  … 1280KB (1MB + 128KB × 2)
            n=16  … 2048KB (1MB × 2)
        省略時は、-noextram (-extram 0 と同じ) です。
        注意) このオプションは十分なデバッグがされていません。

    -jisho      辞書ROM をエミュレートします
    -nojisho    辞書ROM をエミュレートしません
        省略時は、-nojisho です。
        注意) このオプションは全くデバッグがされていません。
              動作確認をされた方は、作者まで是非連絡ください。

    -nomouse    マウス・ジョイスティックともエミュレートしません
    -mouse      マウス (バスマウス) をエミュレートします
    -joymouse   マウスを疑似ジョイスティックモードでエミュレートします
    -joystick   ジョイスティックをエミュレートします
        マウスとジョイスティックは同時に指定できません。
        ジョイスティックは一部のシステムに対してのみ使用可能です。
        -mouse    の場合、マウスの動きが反映されます。
        -joymouse の場合、マウスの移動方向が反映されます。
        -joystick の場合、ジョイスティックの入力が反映されます。
        -use_joy オプションも参照してください。
        省略時は、-nomouse です。

    -analog     アナログパレットをエミュレートします
    -digital    デジタルパレットをエミュレートします
        省略時は、-analog です。

    -24k        モニター周波数 24kHz をエミュレートします
    -15k        モニター周波数 15kHz をエミュレートします
        省略時は、-24k です。
        注意) このオプションは、ダミーです。どちらのオプションを
              指定しても、モニター周波数 24kHz として内部処理されます。
              (設定は I/O ポート 40H からの入力値のみに反映されます)

    -pcg        PCG-8100 をエミュレートします
    -nopcg      PCG-8100 をエミュレートしません
        省略時は、-nopcg です。
        注意) PCG-8100 のサウンドには対応していません。
              N-BASIC モードでの使用が前提です。

    -tapeload <file> ロード用のテープイメージファイルを設定します
        設定可能なファイルは、 CMT形式 ないし T88形式 の
        テープイメージファイルです。

    -tapesave <file> セーブ用のテープイメージファイルを設定します
        テープイメージの形式は、CMT形式 のみです。
        ファイルには追記されます。

    -serialmouse    シリアルマウスをエミュレートします
    -noserialmouse  シリアルマウスをエミュレートしません
        シリアルマウスをエミュレートする場合は、同時に -baudrate 1200 
        オプションを指定することを推奨します。
        省略時は、-noserialmouse です。
        注意) このオプションは、実験中です。

    【 エミュレート性能に関する設定 】

    -cpu <n>    サブCPU の駆動タイミングを設定します
        PC-8801 は、通常の CPU (以下、メインCPU) の他に、ディスク
        制御専用の CPU (以下、サブCPU) を持っています。QUASI88 は、
        通常はメインCPUのみをエミュレートし、必要な時のみサブCPUを
        エミュレートさせることにより、負荷を軽減させています。

        n=0  … ディスク処理中はメインCPUを停止して、サブCPUのみを
            エミュレートします。
        n=1  … ディスク処理中は、メインCPUとサブCPUを交互に
            エミュレートします。
        n=2  … ディスク処理中かどうかにかかわらず、常にメインCPUと
            サブCPUを同時にエミュレートします。

        -cpu 0 で大抵のアプリケーションは動くはずです。これで動かない
        場合は、-cpu 1、-cpu 2 で試してみて下さい。
        処理速度は -cpu 0 の時が最も高速になります。
        省略時は、-cpu 0 です。

    -fdc_wait   FDC処理にウエイトをいれます
    -fdc_nowait FDC処理にウエイトをいれません
        FDC処理にウェイトをいれると、処理速度が遅くなります。
        -cpu 1、-cpu 2 のいずれを指定しても動作しないアプリケーション
        の場合、-fdc_wait を指定すると動作する場合があります。
        省略時は、-fdc_nowait です。

    -clock <mhz>    メインCPUのクロック周波数を設定します
        <mhz> はクロック周波数(MHz)で 0.1 〜 100.0 の範囲(小数)で
        設定します。
        省略時は、-clock 3.9936 です。
        注意) -4mhz が指定されている場合は、-clock 3.9936 が、
              -8mhz が指定されている場合は、-clock 7.9872 が暗黙の
              うちに指定されます。

    -speed <rate>   QUASI88 の処理速度と、実時間との比率を設定します。
        <rate> は比率(パーセント)で、5〜5000 の範囲で設定します。
        100 の場合、実機と等速、 5 の場合、実機の 5% の速度、
        5000 の場合は実機の 50倍の速度でエミュレートします。
        (速度比に応じて、サウンドのテンポも変化します。)
        省略時は、-speed 100 です。

    -wait       ウェイトありにします
    -nowait     ウエイトなしにします
        -nowait 指定時は、 -speed の設定に関係なく、常に最高速度で
        エミュレートします。(サウンドのテンポがおかしくなります。)
        省略時は、-wait です。

    -boost <n>  エミュレート速度を <n>倍にします
        <n> は倍率で 1〜100 の範囲で設定します。
        倍率に応じて速度が速くなりますが、サウンドのテンポはもとの
        速さのままです。(アプリケーションによって例外があります)
        注意) このオプションは、実験中です。
              サウンドにノイズが乗りやすくなります。
        省略時は -boost 1 です。

    -cmt_intr   テープのロード処理に割り込みを使用します
    -cmt_poll   テープのロード処理に割り込みを使用しません
        N88-BASIC ではテープのロード処理に必ず割り込みを使用する
        ので、 -cmt_intr オプションが必須です。
        N-BASIC ではどちらでのオプションでもテープのロード処理が
        可能ですが、-cmt_poll のほうが圧倒的に高速にロードできます。
        省略時は、-cmt_intr です。

    -cmt_speed <bps>    テープのロード速度(ボーレート)を設定します
        <bps> の値を大きくすると、テープのロードが速くなります。
        通常は 600 か 1200 を指定しますが、アプリケーションに
        よっては、4800 や 9600 を指定しても正常に動作するようです。
        省略時は、-cmt_speed 0 (自動で600/1200を切り替え)です。

    -hsbasic    BASIC処理を高速動作させます
    -nohsbasic  通常動作とします
        BASIC の PAINT や LINE ルーチンの処理中、割込処理や画面描画
        をスキップさせることで、BASIC処理の高速化を図ります。
        省略時は、-nohsbasic です。

    -mem_wait   メモリウェイトを入れます
    -mem_nowait メモリウェイトを入れません
        メモリウェイトをエミュレートします。
        が、かなり中途半端な実装なので正確さは全然期待できません。
        省略時は、 -mem_nowait です。

    -setver <n> ROMイメージのバージョンを強制的に変更します
        <n> には、0〜9 の値を設定します。 V1モード起動時に表示される
        バージョンの、ver 1.x の x の部分が強制的に変更されます。
            n=0〜2 PC-8801
            n=3 PC-8801mkII
            n=4 PC-8801mkIISR
            n=5〜7 PC-8801FR/MR/TR
            n=8 PC-8801FH/MH
            n=9 PC-8801FA/MA/FE/MA2/FE2/MC
        バージョンをチェックするアプリケーションに対して役に立つかも。

    -exchange   ディスクの疑似入れ換え機能を有効にします
    -noexchange ディスクの疑似入れ換え機能を無効にします
        -exchange オプションをつけると、ディスクイメージの入れ替え後、
        直後の一度目のディスクアクセスをディスクなしと判定させます。
        ディスク入れ替えを自動検出するアプリケーションに対し有効です。
        省略時は、-noexchange です。

    【 表示に関する設定 】

    -frameskip <n>  画面描画の間隔を指定します
        PC-8801 では 1秒間に約60回、画面描画が行なわれますが、この
        オプションで描画の回数を間引くことができます。
        n= 1 の時は、秒間 60フレーム、 n= 2 の時は、秒間 30フレーム、
        n= 6 の時は、秒間 10フレーム、 n=15 の時は、秒間  4フレーム
        n=60 の時は、秒間  1フレーム、………というふうになります。
        省略時は、-frameskip 1 です。(秒間 60 フレーム相当です)

    -autoskip   オートフレームスキップを使用します
    -noautoskip オートフレームスキップを使用しません
        オートフレームスキップを使用した場合、描画が間に合わない時
        に限り、画面描画をスキップするようになります。なお、描画が
        間に合うに場合は、-frameskip で指定した値で描画します。
        省略時は、-autoskip です。

    -full       画面サイズを標準 (640x400ドット) にします
    -half       画面サイズを半分 (320x200ドット) にします
    -double     画面サイズを倍  (1280x800ドット) にします
        画面サイズを半分にすると、横方向の奇数ドットが間引かれます。
        画面サイズを倍にすると、縦横方向のドットを倍に引き延ばします。
        省略時は、-full です。

    -fullscreen フルスクリーンで描画します
    -window     ウインドウで描画します
        システムがサポートしている場合にのみ使用可能です。
        省略時は、-window です。

    -aspect <rate>  フルスクリーン時の、画面の縦横比を指定します。
        <rate> には、縦横比を小数で指定します。例えば 4:3モニターの
        場合は 1.333、 16:9モニターの場合は 1.777 などとなります。
        -fullscreen オプションも参照してください。
        注意) このオプションは、実験中です。
              多分、思い通りに機能しないと思います。

    -width <x>
    -height <y> 画面のサイズを指定します。( <x> * <y> ドット )
        -half/-full/-doubleで指定した画面サイズよりも大きな値を
        指定することで、ボーダー部分を確保できます。
        なお、<x>は16の倍数、<y>は2の倍数を指定して下さい。
        (範囲外の場合は自動的に補正されます)

    -interp     画面サイズ半分(-half)時、色補完を行います
    -nointerp   画面サイズ半分(-half)時、色補完を行いません
        省略時は、-interp です。

    -skipline   1ラインおきに表示します (偶数ラインを描画しません)
    -interlace  インタレース表示します
    -nointerlace    ラインの隙間を埋めます  (偶数ラインも描画します)
        -half 指定時および、400ライン表示時は無効です。
        省略時は、-nointerlace です。

    -show_mouse システムのマウスカーソルを表示します
    -hide_mouse システムのマウスカーソルを隠します
    -auto_mouse システムのマウスカーソルを自動的に隠します
        QUASI88の画面内に、システムのマウスカーソルを表示するか
        どうかを指定します。(メニューモードでは、常に表示されます)
        システムがサポートしている場合にのみ使用可能です。
        マウスをグラブしている間は、マウスは常時隠されます。
        -grab_mouse オプションも参照してください。
        省略時は、-show_mouse です。

    -grab_mouse マウスをグラブします
    -ungrab_mouse   マウスをグラブしません
    -auto_grab  マウスをクリックすると、グラブします
        QUASI88の画面内に、システムのマウスを閉じ込めます。
        同時に、マウスカーソルも非表示となります。
        グラブは、メニューモードに入ると一時的に解除されます。
        システムがサポートしている場合にのみ使用可能です。
        省略時は、-ungrab_mouse です。

    -status     ウインドウ下部にステータスを表示します
    -nostatus   ウインドウ下部のステータスを非表示にします
        ステータスは、F11 によりいつでも表示／非表示の切替ができます。
        省略時は、 -status です。

    -status_fg <col> ステータスの前景色を指定します
    -status_bg <col> ステータスの背景色を指定します
        col は 色を rgb で指定します。赤なら 0xff0000 です。
        次のように指定すると、ベージュになっておすすめです。(なにが？)
        『-status_fg 0x000000 -status_bg 0xe0c0a0』

    -statusimage    ステータスにイメージ名を表示します
    -nostatusimage  ステータスにイメージ名を表示しません
        省略時は、-nostatusimage です。

    ●以下のオプションは、 X11バージョンで有効です

    -cmap <n>   X11 のカラーマップの種類を設定します
        n=0 の時、起動時に共有カラーセルを確保します。
        n=1 の時、起動時にプライベートカラーセルを確保します。
        n=2 の時、描画のたびに、カラーセルを確保します。
        省略時は、n=0 を試し、確保に失敗したら、n=1 を試し、それでも
        確保に失敗したら n=2 となります。

    -shm        MIT-SHM を使用します
    -noshm      MIT-SHM を使用しません
        MIT-SHM は、システムがサポートしている場合にのみ使用可能です。
        MIT-SHM が使用不能な場合 (MIT-SHMの初期化に失敗した場合も含む)
        は、MIT-SHM を使用せずに処理を続行します。
        省略時は、-shm です。

    -dga        DGA を使用し、フルスクリーンで描画します
    -nodga      DGA を使用しません
        DGA は、システムがサポートしている場合にのみ使用可能です。
        このオプションは -fullscreen/-window のエイリアス(別名)です。
        省略時は、-nodga です。
        注意) -dga オプションの使用には root権限が必要な上に、十分な
              動作検証がされていないので、お勧めできません。この
              オプションを使用したい場合は、そのことを考慮ください。

    -xv     XVideo を使用します
    -noxv       XVideo を使用しません
        XVideo は、システムがサポートしている場合にのみ使用可能です。
        XVideo を使用すると、フルスクリーン描画が可能となります。
        省略時は、-noxv です。
        注意) このオプションは、実験中です。
              正しく機能しないことがあります。

    -xdnd       XDND (ドラッグアンドドロップ) を有効にします
    -noxdnd     XDND (ドラッグアンドドロップ) を無効にします
        XDNDを有効した場合、ファイルマネージャなどからファイルを
        QUASI88 の画面上にドラッグアンドドロップしたとき、
        そのファイルをディスクイメージとして開きます。またこの時、
        QUASI88 は自動的にリセットします。
        省略時は、-xdnd です。
        注意) XDND の実装には、いまひとつ自信がありません。
              動作不審な場合は、無効にしてください。

    -show_fps   ウインドウタイトルに、 FPS を表示します
    -hide_fps   ウインドウタイトルに、 FPS を表示しません
        省略時は、-hide_fps です。

    ●以下のオプションは、 SDLバージョンで有効です

    -hwsurface  ハードウェアサーフェスを使用します
    -swsurface  ソフトウェアサーフェスを使用します
        -hwsurface のほうが描画が速いかもしれません。
        省略時は、-hwsurface です。

    -doublebuf  ダブルバッファを使用します
    -nodoublebuf    ダブルバッファを使用しません
        -doublebuf だと画面のちらつきが低減されるという噂です。
        省略時は、-nodoublebuf です。

    -videodrv <drv> ビデオドライバを指定します
        これは、あらかじめ環境変数 SDL_VIDEODRIVER に <drv> をセット
        しておくのと同じ効果があります。
        使用可能なビデオドライバは、SDLに依存します。
          (UNIX の場合は、 x11, dga, svgalib など)
          (Windows の場合は、 windib, directx など)
          (Classic Mac OS の場合は、 toolbox, DSp など)
        省略時の設定は、SDLのバージョンに依存します。

    -show_fps   ウインドウタイトルに、 FPS を表示します
    -hide_fps   ウインドウタイトルに、 FPS を表示しません
        省略時は、-hide_fps です。

    【 サウンド出力に関する設定 】

    サウンド出力機能のオプションは、サウンドの使用がコンパイル時に有効に
    なっている場合のみ有効です。
      -sd オプション指定時は、YM2203音源相当のサウンドが出力されます。
      -sd2オプション指定時は、YM2608音源相当のサウンドが出力されます。
      また、オプションに関わらず、BEEP音相当のサウンドが出力されます。

    サウンド出力機能は、XMAME から移植しています。XMAME のドキュメントも
    参照してください。

    -sound      サウンド機能をオンします
    -snd        〃
    -nosound    サウンド機能をオフします
    -nosnd      〃
        サウンド機能をオフすると、サウンド機能が一切使えなくなります
        が、処理速度・メモリ消費量は改善されます。
        省略時は、-sound です。

    -audio      サウンドデバイスから出力します
    -ao     〃
    -noaudio    サウンドデバイスから出力しません
    -noao       〃
        サウンドデバイスから出力しない場合でも、サウンド機能は動作する
        ため、サウンド出力保存などの機能は利用可能です。
        省略時は、-audio です。

    -samples    サンプル音を使用します
    -sam        〃
    -nosamples  サンプル音を使用しません
    -nosam      〃
        省略時は、-nosamples です。

    -fmgen      FM Sound Generator (fmgen) を使用します
    -nofmgen    FM Sound Generator (fmgen) を使用しません
        fmgen は fmgenの使用がコンパイル時に有効になっていている
        場合にのみ有効です。また、-fmgen 指定時は -fmgenvol が有効に
        なり、-fmvol, -psgvol, -rhythmvol, -adpcmvol は無視されます。
        省略時は、-nofmgen です。

    -samplefreq <rate>  サンプリング再生周波数を指定します。
    -sf <rate>      〃
        <rate> は、Hz で 8000〜48000 の値を指定します。
        システムによっては指定通りの設定とはならない場合があります。
        省略時は、-samplefreq 44100 です。

    -fmvol <level>      FM 音源の音出力レベルを設定します
        <level> は、0〜100 [%] の値を設定します。
        省略時は、-fmvol 100 です。

    -psgvol <level>     PSG音源の音出力レベルを設定します
        <level> は、0〜100 [%] の値を設定します。
        省略時は、-psgvol 20 です。

    -beepvol <level>    BEEP音の出力レベルを設定します
        <level> は、0〜100 [%] の値を設定します。
        省略時は、-beepvol 60 です。

    -fmgenvol <level>   fmgen 使用時の音の出力レベルを設定します
        <level> は、0〜100 [%] の値を設定します。
        省略時は、-fmgenvol 100 です。

    -samplevol <level>  サンプル音の出力レベルを設定します
        <level> は、0〜100 [%] の値を設定します。
        省略時は、-samplevol 50 です。

    -rhythmvol <level>  リズム音の出力レベルを設定します
        <level> は、0〜200 [%] の値を設定します。
        実際の出力レベルは、-fmvol により影響されます。
        注意) -sd2 が指定されている場合のみ、機能します。
        省略時は、-rhythmvol 100 です。

    -adpcmvol <level>   ADPCM音源の出力レベルを設定します
        <level> は、0〜200 [%] の値を設定します。
        実際の出力レベルは、-fmvol により影響されます。
        注意) -sd2 が指定されている場合のみ、機能します。
        省略時は、-adpcmvol 100 です。

    -close      メニューモードではサウンドデバイスを解放します
    -noclose    メニューモードでもサウンドデバイスを解放しません
        メニューモードや一時停止中にサウンドデバイスを解放する (close)
        かどうかを設定します。使用するシステムによっては、-close を
        指定した場合、メニューモードから戻った後にサウンドが鳴らなく
        なることがあります。
        システムによっては、このオプションは無効です。
        省略時は、-noclose です。

    ●以下のオプションは、 X11バージョンで有効です

    -volume <level> ボリュームをデシベルで設定します。
    -v <level>  〃
        <level> は、-32(音量小)〜0(音量大) の値を指定します。
        実際の音量は、-fmvol、-psgvol、-beepvol などにも影響されます。
        システムによっては、このオプションは無効です。
        省略時は、？？？

    -bufsize <size> サウンドバッファのフレーム数を設定します
    -bs <size>  〃
        <size> は、1.0〜30.0 の値を指定します。
        省略時は、-bufsize 3.0 です。

    -audiodevice <dev>  オーディオデバイスを指定します
    -ad <dev>       〃
        省略時は、DSPプラグインにより自動的に設定されます。

    -mixerdevice <dev>  ミキサーデバイスを指定します
    -md <dev>       〃
        省略時は、ミキサープラグインにより自動的に設定されます。

    -dsp-plugin <type>  DSP プラグインを指定します
    -dp <type>      〃
        省略時は、システムにより自動的に設定されます。

    -list-dsp-plugins   DSPプラグインの一覧を表示します。
    -ldp            〃
        使用可能な DSPプラグイン一覧を表示し、QUASI88 を終了します。

    -timer      タイマベースのサウンドを使用します。
    -ti     〃
    -notimer    タイマベースのサウンドを使用しません。
    -noti       〃
        通常は、必要に応じて、システムが自動的に設定します。

    -sound-mixer-plugin <type>  ミキサー プラグインを指定します
    -smp <type>         〃
        省略時は、システムにより自動的に設定されます。

    -list-mixer-plugins ミキサープラグインの一覧を表示します。
    -lmp            〃
        使用可能なミキサープラグイン一覧を表示し QUASI88 を終了します。

    -bufnum <num>       サウンドストリームのバッファの数を指定します
    -bn <num>       〃
        <num> は、1〜16 の値を設定します。
        値を 4 以上にすると、サウンドノイズが低減されるかもしれません。
        -bufsize は、サウンドデバイスのバッファのサイズ設定なので、
        デバイス (ハードウェア) によっては、設定が無視される場合が
        ありますが、 -bufnum は、内部バッファのサイズ設定なので、
        必ず有効となります。
        省略時は、-bufnum 3 です。
        注意) このオプションは、実験中です。
              4以上の値では、サウンド出力にずれが生じるかもしれません。

    ●以下のオプションは、 SDLバージョンで有効です

    -sdlbufsize <size>  サウンドバッファのサイズを設定します
        <size> は、512, 1024, 2048, 4096, 8192, 16384 のいずれかです。
        (2のべき乗の値を設定してください)
        値が小さいとノイズが発生しやすくなります。
        値が大きいとサウンド出力のずれが大きくなります。
        省略時は、-sdlbufsize 2048 です。

    -audiodrv <drv> オーディオドライバを指定します
        これは、あらかじめ環境変数 SDL_AUDIODRIVER に <drv> をセット
        しておくのと同じ効果があります。
        使用可能なオーディオ、SDLに依存します。
          (UNIX の場合は、 dsp, esd, alsa など)
          (Windows の場合は、 waveout, dsound など？)
          (Classic Mac OS の場合は、 sndmgr, coreaudio など？)
        省略時の設定は、SDLのバージョンに依存します。

    ●その他のオプション
        その他にも、オプションがある場合があります。
        -help オプションを付けると、使用可能なオプションがすべて
        表示されます。

    【 キーなどの入力に関する設定 】

    -tenkey     フルキーの 0〜9 をテンキーの 0〜9 に見立てます
    -notenkey   -tenkey の指定を解除します。

    -numlock    ソフトウェア Num Lock を オンします
            詳細は、下記の キー操作 の項目を参照下さい。
    -nonumlock  -numlock の指定を解除します。

    -cursor     カーソルキーをテンキーの 2,4,6,8 に割り当てます
            また、[\],[右 Shift] も、7,9 に割り当てます
    -nocursor   -cursor の指定を解除します。

    -mousekey   マウスの移動を、テンキーの 2,4,6,8 に割り当てます。
            また、マウスの左右ボタンも、x,z に割り当てます。
    -nomousekey -mousekey の指定を解除します。

    -joykey     ジョイスティック入力を、テンキーの 2,4,6,8 および
            x,z に割り当てます
    -nojoykey   -joykey の指定を解除します。
        -use_joy オプションも参照してください。

    -f6 <FUNCTION>  ファンクションキー F6 に、機能<FUNCTION>を割り当てます
    -f7 <FUNCTION>  ファンクションキー F7 に、機能<FUNCTION>を割り当てます
    -f9 <FUNCTION>  ファンクションキー F8 に、機能<FUNCTION>を割り当てます
    -f9 <FUNCTION>  ファンクションキー F9 に、機能<FUNCTION>を割り当てます
    -f10 <FUNCTION> ファンクションキーF10 に、機能<FUNCTION>を割り当てます
        <FUNCTION> には、以下の文字列を指定します。
                (文字列は、大文字でも小文字でも構いません)

        FRATE-UP    オプション -frameskip <n> の n の値を大きくし
                ます。(1→2→3→4→5→6→10→12→15→30→60→)
        FRATE-DOWN  オプション -frameskip <n> の n の値を小さくし
                ます。(60→30→15→12→10→6→5→4→3→2→1→)
        VOLUME-UP   ボリュームを上げます
        VOLUME-DOWN ボリュームを下げます
        PAUSE       一時停止します ( ESCキーを押せば解除 )
        RESIZE      画面サイズを切替えます (HALF→FULL→DOUBLE→)
        FULLSCREEN  フルスクリーンと切替えます
        NOWAIT      ウエイトの有無を切替えます (-nowait)
        SPEED-UP    速度比(%) を 5ポイント上げます
        SPEED-DOWN  速度比(%) を 5ポイント下げます
        MAX-SPEED   速度比(%) を  -fn_max_speed の設定値にします
        MAX-CLOCK   CPUクロックを -fn_max_clock の設定値にします
        MAX-BOOST   ブースト値を  -fn_max_boost の設定値にします
        SNAPSHOT    スクリーンスナップショットを保存します
        IMAGE-NEXT1 ドライブ 1: に設定されているイメージファイルの
                イメージを、次のイメージに変更します
        IMAGE-PREV1 ドライブ 1: に設定されているイメージファイルの
                イメージを、前のイメージに変更します
        IMAGE-NEXT2 ドライブ 2: に設定されているイメージファイルの
                イメージを、次のイメージに変更します
        IMAGE-PREV2 ドライブ 2: に設定されているイメージファイルの
                イメージを、前のイメージに変更します
        NUMLOCK     ソフトウェア Num Lock キーに割り当てます
        RESET       リセットキーに割り当てます
        KANA        カナキーに割り当てます
        ROMAJI      カナキー（ローマ字入力）に割り当てます
        CAPS        CAPSキーに割り当てます
        STATUS      ステータスを表示します   (F11には割り当て済み)
        MENU        メニューモードになります (F12には割り当て済み)

    -fn_max_speed <rate>    -f6〜-f10 MAX-SPEED の設定値を設定します

    -fn_max_clock <mhz> -f6〜-f10 MAX-CLOCK の設定値を設定します

    -fn_max_boost <n>   -f6〜-f10 MAX-BOOST の設定値を設定します

    -romaji <n> ローマ字カナ変換の規則を設定します
        n=0 の時、egg に似た変換規則になります。
        n=1 の時、MS-IME に似た変換規則になります。
        n=2 の時、ATOK に似た変換規則になります。
        省略時は、n=0 です。

    -kanjikey   ファンクションキー F6〜F10 を、PC-8801FH/MH 以降で
            拡張された漢字変換などのキーに割り当てます

    -joyswap    ジョイスティックのボタン A と B を入れ替えます
        -use_joy オプションも参照してください。

    -mouseswap  マウスのボタン 左 と 右 を入れ替えます
        QUASI88 にてマウスを使用する設定になっている場合のみ有効です。

    -mousespeed <rate>  マウスの速度比を設定します
        <rate> は比率(パーセント)で、5〜400 の範囲で設定します。
        システムによっては指定通りの設定とはならない場合があります。
        省略時は、-speed 100 です。

    -keyboard <n>   キーボードの種類を指定します。
        n=0 の時、キー設定ファイルを読み込みます。
        n=1 の時、日本語106キーボードとします。
        n=2 の時、英語101キーボードとします。
        システムによっては、このオプションは無効です。
        省略時は、-keyboard 1 です。

    -keyconf <file> キーボード設定ファイルを指定します
        このファイルは -keyboard 0 指定時にのみ読み込まれます。
        このオプションを省略した時の、ファイル名は、
        キー設定ファイル の項目を参照ください。
        システムによっては、このオプションは無効です。

    -cmdkey     コマンドキーで、メニューモードに移ります
    -nocmdkey   コマンドキーで、メニューモードに移りません
        システムによっては、このオプションは無効です。
        省略時は、-cmdkey です。

    【 メニューモードに関する設定 】

    -menu       メニューモードで起動します

    -japanese   メニューモードを日本語表記にします
    -english    メニューモードを英語表記にします
        英語表記は明らかにおかしいです。誰か翻訳してください (;_;)
        省略時は、漢字ROMが存在する場合は日本語表記、存在しない場合は
        英語表記になります。

    -euc        ファイル名表示を、日本語EUCコードで処理します
    -sjis       ファイル名表示を、シフトJISコードで処理します
    -utf8       ファイル名表示を、UTF-8 コードで処理します
        UNIXの場合、省略時は -euc です。
        それ以外は、省略時は -sjis です。

    -bmp        スクリーンスナップショットのフォーマットを BMP とします
    -ppm        スクリーンスナップショットのフォーマットを PPM とします
    -raw        スクリーンスナップショットのフォーマットを RAW とします
        省略時は、-bmp です。

    -swapdrv    メニューモードの『ディスク』タブ画面で、ドライブの表示
            位置を左右入れかえます。やっぱり ドライブ 1: は右側に
            表示されるべき、という人向けのオプションです。

    -menucursor メニューモード専用のマウスカーソルを表示します
    -nomenucursor   メニューモード専用のマウスカーソルを表示しません
        マウスカーソルが正常に表示されないようなシステムの場合に、
        指定してみてください。
        省略時は、-nomenucursor です。

    【 その他の設定 】

    -romdir <path>      ROM用ディレクトリを設定します

    -diskdir <path>     ディスク用ディレクトリを設定します

    -tapedir <path>     テープ用ディレクトリを設定します

    -snapdir <path>     スナップショット保存先ディレクトリを設定します

    -statedir <path>    ステートファイル保存先ディレクトリを設定します

    -noconfig       起動時に、設定ファイルを読み込みません

    -compatrom <file>   P88SR.EXE (PC8801mk-2SR emulator) の ROM
                イメージファイルを使用します

    -resume         起動時にステートロードします
        デフォルトのステートファイルをロードします。
        注意) ステートセーブ時の QUASI88 のバージョンと、復帰時の
              バージョンが異なる場合、エラーになります。

    -resumefile <file>  起動時にステートロードします
        <file> で指定されたステートファイルをロードします。
        注意) -resume オプションの注意も参照してください。

    -use_joy    システムのジョイスティックを使用します
    -nouse_joy  システムのジョイスティックを使用しません
        ジョイスティックは一部のシステムに対してのみ使用可能です。
        ジョイスティック関連のオプション (-joystick, -joyswapなど) は、
        -use_joy を指定しないと意味がありません。
        省略時は、-use_joy です。

    -focus      フォーカスがある時のみ、処理を続行します
    -nofocus    フォーカスにかかわらず、処理を続行します
        -focus オプションをつけると、QUASI88 がフォーカスを得ている時
        のみエミュレータを動かします。フォーカスを失っている間は、
        エミュレータは一時停止します。
        システムによっては、このオプションは無効です。
        省略時は、-nofocus です。

    -sleep      ウェイト調整中はシステムを sleep します
    -nosleep    ウェイト調整中はシステムを sleep しません
        -sleep オプションをつけると、システムの負荷が減ります。
        システムによっては、このオプションは無効です。
        省略時は、-sleep です。

    -ro     読み込み専用でイメージファイルを開きます
    -rw     読み書き可能でイメージファイルを開きます
        省略時は、-rw です。

    -ignore_ro  読み込み専用で開いたイメージの扱いを変更します
    -noignore_ro    読み込み専用で開いたイメージの扱いを元に戻します
        通常、読み込み専用で開いたディスクイメージは、ライトプロテクト
        された状態と同じに扱われますが、オプション -ignore_ro を指定し
        た場合はディスクイメージ自身の属性に従います。
        また、 -ignore_ro の指定時に、読み込み専用で開いたディスク
        イメージに書き込みを行った場合、書き込み自体は行われませんが
        正常に書き込んだ場合と同じ応答を返すようにエミュレートします。

    -diskimage <file> ディスクイメージファイルを指定します
        通常は、引数でイメージファイルを指定するので、このオプションを
        使用することはないと思います。
        環境設定ファイル(後述)で、ディスクイメージファイルを指定したい
        場合に、使用してください。

    -saveconfig QUASI88 の終了時に設定ファイルを更新します
    -nosaveconfig   QUASI88 の終了時に設定ファイルを更新しません
        省略時は、-nosaveconfig です。

    【 デバッグ用の設定 … 通常使用することはないでしょう 】

    -help       ヘルプを表示して、QUASI88を終了します

    -verbose <n>    冗長レベルを設定します
        デバッグ用のメッセージの表示を設定/抑制します。
              1 … 起動プロセスのメッセージを表示します。
              2 … 未定義の Z80 のコードが見つかると表示します。
              4 … 未定義の I/O ポートのアクセスがあると表示します
              8 … PIO の不正使用があると表示します
             16 … FDC の処理中に警告があると表示します
             32 … ウエイト計測中にエラーがあると表示します
             64 … ステートセーブ処理のメッセージを表示します
            128 … サウンド処理関連のメッセージを表示します
        <n> には、上記の数字の合計を設定します。
        n=0 の時は何も表示されず、n=255 の時はやたらと表示が増えます。
        省略時は、-verbose 0 です。

    -printer <file> プリンタ出力用のファイルを設定します
        QUASI88 で、プリンタポートに出力されたデータを書き出すファイル
        を指定します。ファイルには追記されます。
        省略時は、どこにも書き出しません。
        注意) このオプションは、未検証です。

    -serialout <file> シリアル出力用のファイルを設定します
        QUASI88 で、シリアルポートに出力されたデータを書き出すファイル
        を指定します。ファイルには追記されます。
        省略時は、どこにも書き出しません。
        注意) このオプションは、未検証です。

    -serialin <file> シリアル入力用のファイルを設定します
        QUASI88 で、シリアルポートから入力するデータを読み出すファイル
        を指定します。
        省略時は、どこからも読み出しません。
        注意) このオプションは、未検証です。

    -record <file>      キー入力を記録するファイルを指定します
        キー入力、ディスクイメージの交換記録などが、指定したファイルに
        書き出されます。
        省略時は、どこにも書き出しません。
        注意) このオプションは、実験中です。

    -playback <file>    キー入力を読み込むファイルを指定します
        指定したファイルからキー入力、ディスクイメージの交換記録などを
        読み込みます。( ここで 指定するファイルは、-record にて
        書き出したファイルに限ります )
        省略時は、なにも読み出しません。
        注意) このオプションの使用時には、-record を指定した時にともに
              指定したオプション類を、同時に指定してください。
        注意) このオプションは実験中で、まだ動作が不安定です。

    -timestop   QUASI88 の内蔵時計を、85/01/01 00:00:00 で停止させます
        なにに使うのでしょう？

    -vsync <hz> VSYNC の周期を設定します
        <hz> は、VSYNC 割り込みの生成周期(Hz)で 10.0 〜 240.0 の範囲
        (小数)で設定します。
        省略時は、-vsync 55.4 です。

    -soundclock <mhz> サウンドチップのクロックを設定します。
        <mhz> は、サウンド割込生成の基準となるサウンドチップの
        クロック周波数(MHz)で、0.1 〜 100.0 の範囲(小数)で設定します。
        ( 一般には、値を大きくすると音楽のテンポが上がります。)
        省略時は、-clock と同じく、-soundclock 3.9936 です。

    -subload <num>  サブCPU処理時の、余計な処理の負荷を下げます。
        <num> は負荷の度合で、0 以上の値を指定します。
        1 で最大負荷、数値が大きくなるにつれて、負荷が減ります。
        また、0 を指定した場合は、負荷は無しになります。
        負荷を減らすと、サウンドが途切れにくいなどのメリットがあり
        ますが、FDD状態表示が更新されないなどのささいな不具合が出ます。
        なお、-cpu 0 ないし -cpu 1 オプション指定時のみ、有効です。
        省略時は、-subload 6 です。

    -cmt_wait   T88形式テープイメージのリード時にウェイトを入れます
    -cmt_nowait T88形式テープイメージのリード時にウェイトを入れません
        省略時は、-cmt_wait です。

    -linear_ram 拡張RAMのバンク番号を、0から順に割り当てます
    -nolinear_ram   拡張RAMのバンク番号を、飛び飛びに割り当てます
        -extram オプションも参照してください。
        省略時は、-linear_ram です。

    -cmd_sing   CMD SING を有効にします
    -no_cmd_sing    CMD SING を無効にします
        省略時は、-no_cmd_sing です。

    -debug      モニターモードを有効にします
        このオプションを指定すると、モニターモードへの移行ができます。
        モニタモードの使用がコンパイル時に有効になっていない場合、
        このオプションは無視されます。

    -monitor    モニターモードで起動します
        このオプションを指定すると、暗黙のうちに -debugが指定されます。
        モニタモードの使用がコンパイル時に有効になっていない場合、
        このオプションは無視されます。

    -fdcdebug   FDC のコマンド、トラック、セクタ情報を標準出力へ表示
        モニタモードの使用がコンパイル時に有効になっていない場合、
        このオプションは無視されます。


ROMイメージファイル
      QUASI88 は、起動時に ROMイメージファイルを、ROM用ディレクトリから
    読み込みます。ROM用ディレクトリは、以下の規則で決定されます。

        1) オプション -romdir が指定されている場合、そのディレクトリ
        2) 1) が指定されていない場合は、環境変数 QUASI88_ROM_DIR で
           設定されたディレクトリ
        3) 1)・2) とも指定されていない場合は、コンパイル時に設定された
           ディレクトリ

      読み込まれる ROM イメージファイルのファイル名は以下の通りです。
    ファイル名は小文字でもかまいません。なお、読み込み時にエラーとなった
    場合、-verbose オプションが指定してあれば警告メッセージが表示されます。

        ファイル名       内容                      (サイズ)

        N88.ROM          N88 BASIC ROM               (32KB)
        N88EXT0.ROM      N88 BASIC 拡張ROM バンク 0   (8KB)
        N88EXT1.ROM      N88 BASIC 拡張ROM バンク 1   (8KB)
        N88EXT2.ROM      N88 BASIC 拡張ROM バンク 2   (8KB)
        N88EXT3.ROM      N88 BASIC 拡張ROM バンク 3   (8KB)
        N88N.ROM         N BASIC ROM                 (32KB)
        N88SUB.ROM       サブCPU ROM                  (2KB) *1
        N88KNJ1.ROM      漢字ROM第1水準             (128KB) *2
        N88KNJ2.ROM      漢字ROM第2水準             (128KB) *2
        N88JISHO.ROM     辞書ROM                    (512KB) *3
        FONT.ROM         フォントイメージ                   *4

        *1) Mシリーズ(2HDドライブ搭載機) は 8KBとなります。

        *2) 漢字ROMは、PC-8801 の一部の機種には実装されていません。
            エミュレートするアプリケーションによっては不要です。

        *3) 辞書ROMは MA/MA2/MC のみに実装されていますが、通常は不要です。
            -jisho オプションを指定した時にのみ、読み込まれます。

        *4) フォントイメージは必須ではありません。
        フォントについて の項目も参照ください。

        ※ M88 の ROMイメージファイルを使用することも可能です。
           参考までに、M88 の ROMイメージファイル名は以下のとおりです。
           (ファイル名は小文字でもかまいません)

        ファイル名       内容

        N88.ROM      N88 BASIC ROM
        N88_0.ROM        N88 BASIC 拡張ROM バンク 0
        N88_1.ROM        N88 BASIC 拡張ROM バンク 1
        N88_2.ROM        N88 BASIC 拡張ROM バンク 2
        N88_3.ROM        N88 BASIC 拡張ROM バンク 3
        N80.ROM      N BASIC ROM
        DISK.ROM         サブCPU ROM
        KANJI1.ROM       漢字ROM第1水準
        KANJI2.ROM       漢字ROM第2水準
        JISHO.ROM        辞書ROM

      -compatrom オプションが指定されている場合、P88SR.EXE の ROMイメージ
    ファイルから ROMイメージ を読み出します。ただし、この場合でも
    漢字ROM・辞書ROM・フォントイメージのファイルは上記のディレクトリから
    読み込まれます。

      サウンドの使用、および fmgen がコンパイル時に有効になっている場合
    で、 -sd2 オプションと -fmgen オプションを指定した場合、起動時に以下の
    ファイルを ROM用ディレクトリから読み込みます。
    (ファイル名は小文字でもかまいません)

        ファイル名       内容

        2608_BD.WAV      バスドラム
        2608_SD.WAV      スネアドラム
        2608_TOP.WAV     トップシンバル
        2608_HH.WAV      ハイハット
        2608_TOM.WAV     タムタム
        2608_RIM.WAV     リムショット

      いずれもファイルは 44100Hz、モノラル、16bit PCM のWAV形式です。
    ファイルが一つでも欠けていると、サウンドボードIIのリズム音源が
    鳴りません。
    なお、これらのファイルは、-nofmgen 指定時 (デフォルト) は不要です。

      サウンドの使用がコンパイル時に有効になっている場合で、 -samples 
    オプションを指定した場合、起動時に以下のファイルを ROM用ディレクトリ
    から読み込みます。(ファイル名は小文字でもかまいません)

        ファイル名       内容

        MOTORON.WAV      リレー音
        MOTOROFF.WAV     リレー音
        SEEK.WAV         FDD音
        HEADUP.WAV       FDD音
        HEADDOWN.WAV     FDD音

      いずれもファイルは 44100Hz、モノラル、16bit PCM のWAV形式です。
    なお、これらのファイルは、-nosamples 指定時 (デフォルト) は不要です。

フォントについて
      QUASI88 は画面の文字表示に、フォントイメージファイル 『FONT.ROM』 の
    データを使用します。このファイルが無い場合、漢字ROM第1水準のROM
    イメージファイル 『N88KNJ1.ROM』 からフォントデータを生成して使用
    します。このファイルもない場合は、QUASI88自身に内蔵しているオリジナル
    フォントを使用することになります。
      また、独自に作ったフォントイメージを使用したい場合は、ファイル名を
    『FONT2.ROM』か『FONT3.ROM』にして保存しておけば、起動時に自動的に
    読み込まれます。これらのフォントは、メニューモードの『画面』タブにて
    切り替えることが可能です。通常は『FONT2.ROM』『FONT3.ROM』は存在しない
    と思われますが、この場合は QUASI88 に内蔵しているひらがなフォント、
    透明フォント(^^;) が切り替え可能なフォントとして用意されます。

ディスクイメージファイル
      引数にてイメージファイル名が指定されていた場合、QUASI88 は起動時に
    そのファイルを読み込みます。

      A) 指定したファイル名が パス区切り (UNIX なら '/') を含む場合、
         指定されたファイルを読み込みます。

      B) 指定したファイル名が パス区切り (UNIX なら '/') を含まない場合、
          DISK用ディレクトリから読み込みます。DISK用ディレクトリは、
          以下の規則で決定されます。

        1) オプション -diskdir が指定されている場合、そのディレクトリ
        2) 1) が指定されていない場合は、環境変数 QUASI88_DISK_DIR で
           設定されたディレクトリ
        3) 1)・2) とも指定されていない場合は、コンパイル時に設定された
           ディレクトリ

         DISK用ディレクトリにファイルが無い場合は、カレントディレクトリ
         からファイルを読み込みます。

    例)
        % quasi88 /local/image/a.d88

        /local/image/a.d88 を読み込みます。

        % quasi88 ../b.d88

        ../b.d88 を読み込みます。

        % quasi88 c.d88 -diskdir /home/image/

        /home/image/c.d88 を読み込みます。ファイルが無い場合は、
        カレントディレクトリの c.d88 を読み込みます。

        % quasi88 d.d88

        ${QUASI88_DISK_DIR} ディレクトリにある d.d88 を読み込みます。
        ${QUASI88_DISK_DIR} が未定義ならば、コンパイル時に設定された
        ディレクトリにある d.d88 を読み込みます。ファイルが無い場合は、
        カレントディレクトリの d.d88 を読み込みます。

      ファイルが読めない場合はエラーを表示し、ドライブにはディスクが
    入っていない状態で起動します。

ディスクイメージファイルのフォーマット
    QUASI88 で使用するディスクイメージファイルのフォーマットは、
    P88SR.EXE (PC8801mk-2SR emulator) に準拠しているつもりです。
    詳細は附属のドキュメント(ファイル名 FORMAT.TXT) を参照下さい。

設定ファイル
      『環境設定ファイル』が存在すれば、起動時にそれを読み込みます。

    また、起動時にディスクイメージファイル名（例えば、「xyz.d88」）を指定
    した場合、『個別設定ファイル』が存在すれば、それも読み込みます。

    設定ファイルの書式については、後述します。

    UNIX の場合)
      『環境設定ファイル』は、${HOME}/.quasi88/quasi88.rc です。
      『個別設定ファイル』は、${HOME}/.quasi88/rc/xyz.rc のようになります。
    なお、${HOME} はホームディレクトリです。

    Windows の場合)
      『環境設定ファイル』は、%QUASI88_HOME%\QUASI88.ini です。
      『個別設定ファイル』は、%QUASI88_INI_DIR%\xyz.ini のようになります。
    （ QUASI88_HOME 、 QUASI88_INI_DIR は環境変数です。未定義の場合は後述）

    Classic Mac OS の場合)
      『環境設定ファイル』は、カレントフォルダの QUASI88.prefs です。
      『個別設定ファイル』は、カレントフォルダの xyz.prefs のようになります

キー操作
      QUASI88は、106キーボードを前提にキー入力をエミュレートしています。
    そのため、他のキーボードを使っている場合は、キーの刻印と QUASI88上での
    入力が異なる場合があります。

      101キーボードを使う場合は、 -keyboard 2 を指定すると、PC-8801 のキー
    配列をほぼエミュレートできると思います。
    （未検証です。また、システムによっては不可となります）

      なお、シフトの右左および、リターンキーのフルキー側／テンキー側の
    区別はエミュレートされていません。

      PC-8801の特殊なキーは、以下のキーで入力できます。（システムに
    よっては、入力できなかったり、ロックができなかったりします）

        PC-8801のキー  106キーボード 101キーボード
        -------------  ------------- -------------
        STOP           Pause         Pause
        COPY           PrintScreen   PrintScreen
        HOME CLR       Home          Home
        HELP           End           End
        ROLL DOWN      PageUp        PageUp
        ROLL UP        PageDown      PageDown
        かな         ScrollLock    ScrollLock
        かな         左Win         左Win
        かな         ひらがな      
        GRAPH          左Alt         左Alt
        GRAPH          オプション    オプション
        決定         無変換        
        変換         変換          
        全角         右Alt         右Alt
        全角         半角全角      
        ろ(SHIFTの左)                右Ctrl

      また、 F11 と F12 は以下の機能に割り当てられています。

        F11      ステータス表示。押すたびに表示／非表示が切り替わります
        F12      メニューモードへ移ります

    システムによっては、以下のキーにも機能が割り当てられています。

        アプリケーションキー  メニューモードへ移ります
        コマンドキー      メニューモードへ移ります

      起動時のオプションで、-kanjikey を指定した場合は、F6〜F10 が
    以下のように割り当てられます。

        F6  カナ
        F7  決定
        F8  変換
        F9  全角
        F10 カナ (ローマ字入力モード)

      起動時のオプションで、-numlock を指定した場合は、以下のキー
    が PC-8801 のテンキーに割り当てられます。(ソフトウェア Num Lock)

            PC-8801のキー    106キーボード   101キーボード 
          ----------------   -------------   -------------
          HOME HELP /   =     5  6  -  ^      5  6  -  =
            7   8   9   +     7  8  9  0      7  8  9  0
            4   5   6   -     U  I  O  P      U  I  O  P
            1   2   3   *     J  K  L  ;      J  K  L  ;
            0   ,   .  RET    M  ,  .  /      M  ,  .  /

      また、ファンクションキーに ソフトウェア NumLock 機能を割り当てる
    ことができます。例えば、起動時に -f6 NUMLOCK を指定した場合、F6 キー
    を押下するたびに、ソフトウェア NumLock のオン・オフを切替えることが
    できます。

    -kanjikey、-f6〜-f10 を同時に指定した場合、最後に指定した機能が有効に
    なります。

    ●メニューモードについて
      F12キーを押すと、メニューモード(後述)に移行します。この時、
    CAPSキーとカナキーを除く全てのキーが離された状態になります。

    ●ローマ字入力モードについて
      ファンクションキーに ローマ字入力用カナキーを割り当てることができ
    ます。例えば、起動時に -f6 ROMAJI を指定した場合、F6 キーを押下する
    ことで、カナキーのオン・オフを切替えることができますが、オン状態の時
    ローマ字によるカナ入力が可能となります。

      ローマ字カナ変換は、一般的な規則に従います。また、-romaji オプショ
    ンを指定すれば、変換規則をいくつかのパターンから選択することができま
    す。(-romaji オプションの説明を参照)
    以下に特殊な変換を示します。

        @  →  ゛ に変換される
        [  →  ゜ に変換される
        /  →  ・ に変換される
        -  →  ー に変換される
        {  →  「 に変換される
        }  →  」 に変換される
        .  →  、 に変換される
        ,  →  。 に変換される

      なお、ローマ字入力中に数字のキーや記号のキーは入力出来ません (テン
    キーは可)。スペースキーおよび、特殊機能キーは入力可能です。

キー設定ファイル
      -keyboard 0 指定時は、『キー設定ファイル』が存在すれば、起動時に
    それを読み込みます。

    UNIX の場合)
      『キー設定ファイル』は、${HOME}/.quasi88/keyconf.rc です。
    なお、${HOME} はホームディレクトリです。

    Windows の場合)
      『キー設定ファイル』は、%QUASI88_HOME%\KEYCONF.ini です。
    （ QUASI88_HOME 、 QUASI88_INI_DIR は環境変数です。未定義の場合は後述）

    Classic Mac OS の場合)
      『キー設定ファイル』は、カレントフォルダの KEYCONF.prefs です。

    なお、 -keyconf オプションを指定した場合、そこで指定したファイル名が
    『キー設定ファイル』として読み込まれます。

    システムによっては、キー設定ファイルは使用できません。

メニューモード
    F12キー（システムによっては、アプリケーションキーやコマンドキー）を
    押すと、メニューモードに移行する事が出来ます。
    このモードでは、マウスやタブ／カーソルキーを使って、各種設定の変更、
    イメージの変更が可能です。
    基本的な操作は以下の通りです。

        ・マウス左クリック       … フォーカスの移動および決定
        ・タブキー               … フォーカスの移動
        ・スペース／リターンキー … 決定
        ・カーソルキー           … 一部のメニュー内でフォーカス移動
        ・ファンクションキー     … タブの変更

    メニューモードには、以下の項目があります。

    ・『リセット』タブ
          現在のBASICモードが表示されます。
          BASICモード、CPUクロック、サウンドボードの種別、などを変更して
          リセットすることができます。

    ・『CPU』タブ
          -cpu オプションの変更ができます。(変更後はリセット推奨)
          CPUクロックの変更ができます。    (変更後はリセット推奨)
          動作速度や、-fdc_wait、-hsbasic オプションの変更ができます。

    ・『画面』タブ
          フレームレート (-frameskipオプション) や、-autoskip オプション、
          画面サイズ、PCG-8100の有無、雑多な画面効果の設定ができます。

    ・『音量』タブ
          音量や FM音源、PSG音源、BEEP音のレベルなどを変更できます。
          -fmgen、-samplefreq、-samples オプションなどが変更できます。
          (変更後はリセット推奨)
          このタブは、サウンド出力が不可の場合は、表示されません。

    ・『ディスク』タブ
          ディスクイメージファイルを開いたり、閉じたり、イメージを
          交換したりできます。
          イメージの名前、プロテクトの変更および、フォーマット、
          アンフォーマットができます。
          ブランクディスクイメージの作成および追加ができます。

    ・『キー』タブ
          ファンクションキー F6〜F10 に各種機能や文字を設定できます。
          カーソルキーに任意の文字キーを割り当てることができます。
          すべてのキーの各々を、オン／オフ設定できます。

    ・『マウス』タブ
          マウス (ジョイスティック) の接続を設定できます。
          マウス／ジョイスティックに任意の文字キーを割り当てることが
          できます。
          システムのマウスカーソルの表示状態を変えることができます。

    ・『テープ』タブ
          テープイメージ (ロード用／セーブ用) ファイルを設定できます。

    ・『その他』タブ
          ステートロード、ステートセーブができます。
          スクリーンスナップショットの設定と実行ができます。
          サウンド出力の保存ができます。

    ・「設定保存」ボタン
          現在の設定 (の一部) を、環境設定ファイルに出力します。

    ・「ステータス」ボタン
          ウインドウ下部のステータスの表示・非表示を切り替えます。

    ・「戻る」ボタン
          エミュレータに戻ります。

    ・「終了」ボタン
          QUASI88を終了します。

    ・「モニター」ボタン
          モニターモードに移行します。(移行可能な場合のみ、表示)

モニターモード
    モニターモードとは、作者が QUASI88 のデバッグをする際に使用している
    モードです。よって一般の人は使い方を知る必要はありません。
    この項目は興味のある人のみ、読んでください。
    (注意：この項目の内容には、記述が古いものがあるかもしれません)

    QUASI88 に SIGINT シグナル (通常、端末からの Control-C 入力で発生)
    を送ると、通常時は強制終了します。しかし起動時に -debug オプションが
    指定されていた場合は、 SIGINT シグナルによってモニターモードに移行
    します。 ( -debug オプション指定時は、メニューモードからでもモニター
    モードへの移行が出来ます。)

    ただし、コンパイル時の設定でモニターモードの使用が有効になっていない
    場合は、モニタモードには入れませんので注意してください。

    モニターモードでは、コマンドラインから各種コマンドを指示することで、
    QUASI88 の状態を調べたり、変更したりすることが可能です。
    また、また、ディスク交換やファイル操作なども行なえます。

    ・コマンドは全て小文字です。
    ・コマンドによっては、引数が必要なものもあります。
    ・引数には、大文字小文字の区別はありません。(ファイル名などは除く)
    ・引数に数値を指定する場合は、16進数の場合は先頭に 0x をつけます。
        例)    15  … 10進数で 15
            -50 … 10進数で -50
            0x20    … 16進数で 0x20 (10進数で32)
    ・引数にアドレスを指定する場合は、0〜65535、または 0x0〜0xffff
      の値に限られます。
    ・引数に入出力ポートを指定する場合は、0〜255、または 0x0〜0xff
      の値に限られます。
    ・引数にドライブ番号を指定する場合は、1 または 2 の値に限られます
    ・引数にイメージ番号を指定する場合は、1 〜 32 の値に限られます。
    ・引数が、サイズを意味する場合、数値の先頭に#をつけます。
      この表記は、一部のコマンドで使用可能です。
      なお、この場合は 0以下の値は使用できません。
        例)    #20 … 10進数で20
            #0xff   … 16進数で 0xff (10進数で255)
            #-5     … 0以下は使用不可 (エラーになります)

    以下に、モニターモードで使用できるコマンドの書式を説明します。
    [] で囲まれたものは、省略可能です。

    help [<cmd>]
         ヘルプを表示します。
       ・<cmd>には、ヘルプを表示させたいコマンド名を指定します。
       ・引数を省略した場合、モニターモードで使用可能な全コマンドの
         一覧が表示されます。

    quit
         QUASI88 を終了します

    menu
         メニューモードに移行します

    go
         モニターモードを終了し、エミュレータに戻ります。

    trace <step>
    trace #<step>
    trace CHANGE
    trace
         エミュレータを数ステップ、動かします。
       ・<step> または #<step> には、ステップ数を指定します。
       ・CHANGE は、-cpu 0 または -cpu 1 の設定になっている場合に有効で、
                CPU の処理が MAIN←→SUB と切り替わるまで、エミュレータを
            動かします。
       ・引数を全て省略した場合は、前回に指定したステップ数と同じと
         みなして、処理をします。
        例) trace 100    … 100ステップ、エミュレートします
            trace #100   … 同上
            trace CHANGE … CPUが切り替わるまで、エミュレートします
            trace        … 前回の指定と同じ条件で、エミュレートします

    step
    step CALL
    step JP
    step REP
    step ALL
         1 ステップだけ、エミュレータを動かします。
       ・CALL は、CALL命令 (サブルーチン) の次の命令まで動かします。
       ・JP は、DJNZ命令 (ループジャンプ) の次の命令まで動かします。
       ・REP は、LDIR/LDDR/CPIR/CPDR/INIR/INDR/OTIR/OTDR (ブロック転送/
         ブロック比較/連続入力/連続出力) の次の命令まで動かします。
       ・ALL は、CALL JP REP の全てを指定したものと同じです。
        注意) CALL/JP/REP/ALL は、内部で暗黙のうちに
              ブレークポイント #10 を使用します。

    break [<cpu>] [<action>] <addr|port> [#<No>]
    break [<cpu>] [CLEAR] [#<No>]
    break
         ブレークポイントを設定／解除します。
       メイン、サブ別々に、各々10個までのブレークポイントが設定できます。
       (ただし、10番目のブレークポイントはシステムが勝手に適時使用します)
       ブレークポイントの条件として以下の5種類があります。
            PC    … CPU の PC(プログラムカウンタ) が特定のアドレスまで
             進んだ時点で、停止
        READ  … CPU が特定のアドレスから読み込んだ後に、停止
        WRITE … CPU が特定のアドレスに  書き込んだ後に、停止
        IN    … CPU が特定の入力ポートから入力した後に、停止
        OUT   … CPU が特定の出力ポートに  出力した後に、停止
       ・<cpu> には、CPUの種類と指定します。
               MAIN または SUB。
           省略時は、MAIN。
       ・<action> には、上記の条件を指定します。
                  PC、READ、WRITE、IN、OUT、CLEAR のいずれか
              省略時は、PC。
              CLEAR を指定した場合は そのブレークポイントを解除します。
       ・<addr> または <port> には、ブレークポイントとして設定するアドレス
                              ないしは、入出力ポートを指定します。
                              <action> に CLEAR を指定している場合は、
                  この引数はつけてはいけません。
       ・#<No> には、ブレークポイントを設定する番号を指定します。
               #1 〜 #10 の、計10個が、メイン、サブ別々に使用できます。
           省略時は、#1。
           注意）#10 は、step コマンド使用時に、内部で使用される場合
                 があります。このため、#10 は勝手に破壊されるおそれが
             あるので、一般には使用しないほうがいいでしょう。
       ・引数を全て省略した場合は、現在のブレークポイントの設定状況を
         表示します。
            例) break 0x1234         … メインCPU の PC が 0x1234 に達し
                                    たら、停止します。
                        #1 にその条件を設定をします。
            break READ 0xe3c8 #2 … メインCPU が 0xe3c8 番地をリード
                                    したら停止します。
                        #2 にその条件を設定します。
            break SUB IN 0xfa #7 … サブCPUが、出力ポート 0xfa に出力
                                    したら停止します。
                        #7 にその条件を設定します。
            break CLEAR          … メインの #1 の設定をクリアします。
            break SUB CLEAR #7   … サブの #7 の設定をクリアします。
            break                … 現在の設定をすべて表示します。
            break clear #0   … すべての設定をクリアします。
                        この場合だけ、例外的に #0 と
                        指定してください。

    read [<bank>] <addr>
         メモリから1バイト、読み込みます。
       ・<bank> には、メモリバンクを指定します。
            MAIN … メインCPUに現在設定されているバンク
            ROM  … N88 BASIC の ROM バンク
            RAM  … メインCPU の RAM
            N    … N BASIC の ROM バンク
            EXT0 … N88 BASIC 拡張 ROM バンク No. 0
            EXT1 … N88 BASIC 拡張 ROM バンク No. 1
            EXT2 … N88 BASIC 拡張 ROM バンク No. 2
            EXT3 … N88 BASIC 拡張 ROM バンク No. 3
            B    … VRAM の Blue プレーン
            R    … VRAM の Red プレーン
            G    … VRAM の プレーン
            HIGH … 高速RAM
            SUB  … サブCPUのメモリ
            上記のいずれかを指定します。
            省略時は、MAIN。
       ・<addr> には、メモリのアドレスを指定します。
        例) read 0x3456       … メインメモリ 0x3456 をリードします。
            read B 0xc000  … VRAM Blue プレーン 0xc000 をリードします
            read SUB 0x7ff … サブメモリ 0x7ff をリードします。

    write [<bank>] <addr> <data>
         メモリに1バイト、書き込みます。
       ・<bank> には、メモリバンクを指定します。
            MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
            HIGH、SUB のいずれかを指定します。
            省略時は、MAIN。
       ・<addr> には、メモリのアドレスを指定します。
       ・<data> には、書き込むデータを指定します。
        例) write 0x3456 0xff … メインメモリ 0x3456 に、0xffを
                                 ライトします。
            write B 0xc000 0  … VRAM Blue プレーン 0xc000 に、0を
                                 ライトします。
            write SUB 0x7ff 1 … サブメモリ 0x7ff に 1 をライトします。

    dump [<bank>] <start-addr> [<end-addr>]
    dump [<bank>] <start-addr> [#<size>]
         メモリダンプを表示します。
       ・<bank> には、メモリバンクを指定します。
            MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
            HIGH、SUB のいずれかを指定します。
            省略時は、MAIN。
       ・<start-addr> には、ダンプの開始アドレスを指定します
       ・<end-addr> には、ダンプの終了アドレスを指定します。
            省略時は、<start-addr> + 255。
       ・#<size> には、ダンプするサイズを指定します。
            省略時は、#256。
       ・引数を全て省略した場合は、以前の続きが 256バイト、ダンプされます。
            例) dump 0x8000             … メインメモリ 0x8000 番地から
                                       256 バイトをダンプ
            dump HIGH 0xf000 0xffff … 高速RAM 0xf000 番地から 0xffff
                                       番地までをダンプ
            dump EXT1 0x6000 #0x200 … 拡張 ROM No.1 の0x6000 番地から
                                       0x200 バイトをダンプ
            dump                    … 前回指定したメモリバンクの
                                       続きを 256 バイトダンプ

    dumpext [<bank>] [#<board>] <start-addr> [<end-addr>]
    dumpext [<bank>] [#<board>] <start-addr> [#<size>]
        拡張 RAM のダンプを表示します。
       ・<bank> には、EXT0、EXT1、EXT2、EXT3 のいずれかを指定します。
            省略時は、EXT0。
       ・#<board> には、メモリカード番号を指定します。
              0 〜 (-extramで指定した数-1) の範囲で指定します。
              省略時は、0
       ・<start-addr> には、ダンプの開始アドレスを指定します
       ・<end-addr> には、ダンプの終了アドレスを指定します。
            省略時は、<start-addr> + 255。
       ・#<size> には、ダンプするサイズを指定します。
            省略時は、#256。

    fill [<bank>] <start-addr> <end-addr> <value>
    fill [<bank>] <start-addr> #<size>    <value>
         メモリを指定の値を埋めます。
       ・<bank> には、メモリバンクを指定します。
            MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
            HIGH、SUB のいずれかを指定します。
            省略時は、MAIN。
       ・<start-addr> には、開始アドレスを指定します
       ・<end-addr> には、終了アドレスを指定します。
       ・#<size> には、サイズを指定します。
       ・<value> には、埋めるデータを指定します。
            例) fill 0xb600 0xfddd 0x76    … メインメモリ B600H番地〜BFFFH
                          番地まで、76Hで埋めます。
            fill G 0xc000 #0x4000 0xff … VRAM Green プレーン を
                              0 で埋めます。

    move [<src-bank>] <src-addr> <end-addr> [<dist-bank>] <dist-addr>
    move [<src-bank>] <src-addr> #<size>    [<dist-bank>] <dist-addr>
         メモリを移動させます。
       ・<src-bank> には、転送元のメモリバンクを指定します。
                MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
                HIGH、SUB のいずれかを指定します。
                省略時は、MAIN。
       ・<src-addr> には、転送元の開始アドレスを指定します
       ・<end-addr> には、転送元の終了アドレスを指定します。
       ・#<size> には、転送するサイズを指定します。
       ・<dist-bank> には、転送先のメモリバンクを指定します。
             省略時には、<src-bank> と同じバンク。
       ・<dist-addr> には、転送先のアドレスを指定します。
        例) move 0x8000 0x83ff 0xa000 … メインメモリ 8000H番地〜83FFH
                         番地を、メインメモリ A000H番地
                         に転送します。
            move B 0xc000 #0x4000 R 0xc000 … VRAM Blue プレーン の
                                  メモリを、VRAM Red
                              プレーンに転送します。

    search [<value> [[<bank>] <start-addr> <end-addr>]]
         特定の数値を検索します。
       ・<value> には、検索する数値 (1バイト) を指定します。
       ・<bank> には、検索するメモリバンクを指定します。
            MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
            HIGH、SUB のいずれかを指定します。
            省略時は、MAIN。
       ・<start-addr> には、検索の開始アドレスを指定します
       ・<end-addr>   には、検索の終了アドレスを指定します。
        引数を省略した場合は、前回に指定した条件で検索します。
        例) search 0xed RAM 0x1000 0x1fff … メインRAM 1000H番地〜1FFFH
                             番地内で、データが EDH に
                             なっているアドレスを表示
                             します。
            search 0xfd … 前回と同じ範囲で、データが FDH になって
                       いるアドレスを表示します。
            search … 前回と同じ条件で検索します。

    in [<cpu>] <port>
         入力ポートから、データを入力します。
       ・<cpu> には、CPUの種類と指定します。
               MAIN または SUB。
           省略時は、MAIN。
       ・<port> には、入力ポートの番号を指定します。
        例) in 0x20     … メインCPU のポート 0x20 から入力します
            in SUB 0xfb … サブCPU のポート 0xfb から入力します

    out [<cpu>] <port> <data>
         出力ポートに、データを出力します。
       ・<cpu> には、CPUの種類と指定します。
               MAIN または SUB。
           省略時は、MAIN。
       ・<port> には、出力ポートの番号を指定します。
       ・<data> には、出力するデータを指定します。
        例) in 0x50 0       … メインCPU のポート 0x50 に、0 を出力
                               します。
            in SUB 0ff 0x10 … サブCPU のポート 0xff に 0x10 を出力
                               します。

    loadmem <filename> <bank> <start-addr> <end-addr>
    loadmem <filename> <bank> <start-addr> #<size>
         ファイルの内容をメモリにロードします。
       ・<filename> には、ファイルの名前を指定します。
       ・<bank> には、ロードするメモリバンクを指定します。
            MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
            HIGH、SUB のいずれかを指定します。
       ・<start-addr> には、ロードの開始番地を指定します。
       ・<end-addr> には、ロードの終了番地を指定します。
       ・#<size> には、ロードするサイズ(バイト数)を指定します。
        注) ファイルのサイズが指定サイズに満たない場合、残りのメモリ
            はそのままの状態になります。
        例) loadmem file RAM 0 #65536 … ファイル file の内容を
                         メインRAMにロードします。

    savemem <filename> <bank> <start-addr> <end-addr>
    savemem <filename> <bank> <start-addr> #<size>
         メモリの内容をファイルにセーブします。
       ・<filename> には、ファイルの名前を指定します。
       ・<bank> には、セーブするメモリバンクを指定します。
            MAIN、ROM、RAM、N、EXT0、EXT1、EXT2、EXT3、B、R、G、
            HIGH、SUB のいずれかを指定します。
       ・<start-addr> には、セーブの開始番地を指定します。
       ・<end-addr> には、セーブの終了番地を指定します。
       ・#<size> には、セーブするサイズ(バイト数)を指定します。
        例) savemem file RAM 0 0x10000 … メインRAMの内容を、
                          ファイル file に出力します。

    reset [<basic-mode>] [<clock-mode>] [<sound-board>] [<dipsw>]
         エミュレータをリセットします。
       ・<basic-mode> には、リセットの際の BASIC モードを指定します。
            V2  … V2モードでリセットします。
            V1H … V1Hモードでリセットします。
            V1S … V1Sモードでリセットします。
            N   … Nモードでリセットします。
            上記のいずれかを指定します。
            省略時は、モードを変更せずにリセット。
       ・<clock-mode> には、リセットの際の CLOCK モードを指定します。
            4MHZ … 8MHzモードでリセットします。
            8MHZ … 4MHzモードでリセットします。
            上記のいずれかを指定します。
            省略時は、モードを変更せずにリセット。
       ・<sound-board> には、リセットの際のサウンドボートを指定します。
            SD  … サウンドボード を装着してリセットします。
            SD2 … サウンドボードII を装着してリセットします。
            上記のいずれかを指定します。
            省略時は、サウンドボードを変更せずにリセット。
       ・<dipsw> には、リセットの際のディップスイッチ設定をしていします。
             起動時の、-dipsw オプションと同じように、数値で指定
             します。
             省略時は、ディップスイッチを変更せずにリセット。
        例) reset        … リセットします。
            reset V1S    … V1S モードでリセットします。
            reset 8MHZ   … 8MHz モードでリセットします。
            reset SD2    … サウンドボードIIを装着してリセットします。
            reset 0x0006 … ディップスイッチを設定し、リセットします。

    reg [[<cpu>] [<name> <value>]]
         レジスタの内容の表示／変更を行ないます。
       ・<cpu> には、CPUの種類と指定します。
               MAIN または SUB。
           省略時は、MAIN。
       ・<name> には、レジスタの種類を指定します。
                AF、BC、DE、HL、AF'、BC'、DE'、HL'、IX、IY、SP、PC、
            I、R のいずれか。
       ・<value> には、代入する値を指定します。
        引数の省略時には、内容を表示します。
        例) reg           … レジスタの内容を表示します。
            reg ALL       … メイン、サブ両レジスタの内容を表示します。
            reg HL 0xc000 … HL レジスタに、0xc000 をセットします。

    disasm [[<cpu>] [<start-addr>][#<steps>]]
         逆アセンブルします。
       ・<cpu> には、CPUの種類と指定します。
               MAIN または SUB。
           省略時は、MAIN。
       ・<start-addr> には、逆アセンブルの開始アドレスを指定します。
                      省略時は、前回アセンブルした最終アドレスの次の
              アドレス。ただし、モニターモードに入った直後は、
              PC レジスタの指すアドレス。
       ・#<steps> には、逆アセンブルするステップ数を指定します。
                  省略時は、16ステップ。
        例) disasm           … 現在の PC の位置、もしくは前回のdisasm
                                の最終番地から、16ステップ逆アセンブル
            disasm #100      … 上記と同じ条件で、100ステップ逆
                        アセンブルします。
            disasm SUB 0x400 … サブCPU 0x400番地から16ステップ逆
                        アセンブルします。
            disasm #         … 前回のdisasmの最終番地をクリアします。
                        つまり、次回 disasm 実行時は現在の PC 
                    位置から逆アセンブルされます。
                    この場合だけ、例外的に # だけを指定
                    してください。

    set [[<variabe-name> [<value>]]]
    show [<variabe-name>]
         内部変数の表示／変更を行ないます。
       ・<variabe-name> には、変数名を指定します。
       ・<value> には、代入する値を設定します。変更できない場合もあります。
        注) 変数の内容の説明は省略します。ソースを参照ください。

    redraw
         画面を再描画します。

    resize [<screen-size>]
         画面サイズを変更します。
       ・<screen-size> には、画面サイズを指定します。
               FULL、HALF、DOUBLE、FULLSCREEN、WINDOW のいずれか。
               省略時には、画面サイズを、HALF → FULL → DOUBLE
                → HALF … と切り替えます。
        例) resize            … 画面サイズを切替えます
            resize HALF       … 画面サイズを半分サイズにします。
            resize FILLSCREEN … フルスクリーン表示します。

    drive
    drive show
    drive empty [<drive_no>]
    drive eject [<drive_no>]
    drive set <drive_no> <filename> [<image_no>]
         ドライブに設定されたイメージファイルに対し各種操作を行ないます。
         <drive_no> には、ドライブの番号 ( 1 か 2 ) を指定します。
         <filename> には、ファイル名を指定します。
         <image_no> には、イメージの番号 ( 1 〜 32 ) を指定します。
      ・drive      または
        drive show
        ディスクドライブの状態を表示します。
        ドライブのアクセスランプの状態、
        ドライブに入っているディスク情報が表示されます。
      ・drive empty [<drive_no>]
        指定ドライブに入っているディスクを、一時的にドライブに入って
        いない状態にします。
        ドライブを省略した時は、全てのディスクに対して行ないます。
          例) drive empty 1 … ドライブ 1: を空の状態にします。
              drive empty   … ドライブ 1:、2: を空の状態にします。
      ・drive eject [<drive_no>]
        指定ドライブに入っているディスクを抜きます。
        ドライブを省略した時は、全てのディスクを抜きます。
          例) drive eject 2 … ドライブ 2: のディスクを抜きます。
              drive eject   … ドライブ 1:、2: の両ディスクを抜きます。
      ・drive set <drive_no> <filename> [<image_no>]
        指定ドライブにディスクがセットしてある場合は、ディスクを抜き
        ます。その後、指定したディスクイメージファイルをセットします。
        その際、イメージの番号を指定できます。省略時は、1 です。
          また、ファイル名に - (ハイフン) を与えた場合、現在ドライブに
        セットされているディスクイメージファイルが指定されたものと
        みなされます。
        例) drive set 1 file_x    … ドライブ 1: に file_x の1番目の
                         イメージをセット
            drive set 2 file_y 3  … ドライブ 2: に file_y の3番目の
                             イメージをセット
            drive set 1 - 2       … ドライブ 1: を 2番目のイメージに
                             変更

    file show <filename>
    file create <filename>
    file protect <filename> <image_no>
    file unprotect <filename> <image_no>
    file format <filename> <image_no>
    file unformat <filename> <image_no>
    file rename <filename> <image_no> <image_name>
         イメージファイルに対し、各種操作を行ないます。
         <filename> には、ファイル名を指定します。
         <image_no> には、イメージの番号 ( 1 〜 32 ) を指定します。
         <image_name> には、イメージ名 (16文字以内) を指定します。
       ・file show <filename>
        イメージファイルの情報を表示します。
       ・file create <filename>
        アンフォーマットディスクのイメージファイルを作成します。
        既存のファイルを指定した場合は、ファイルの最後に付加されます。
       ・file protect <filename> <image_no>
        イメージファイルのプロテクトシールの設定を
        「プロテクト状態」にします。
       ・file unprotect <filename> <image_no>
        イメージファイルのプロテクトシールの設定を
        「アンプロテクト状態」にします。
       ・file format <filename> <image_no>
        イメージファイルに対し、N88 BASIC 標準のフォーマットを行ない
        ます。
       ・file unformat <filename> <image_no>
        イメージファイルを、アンフォーマット状態します。
       ・file rename <filename> <image_no> <image_name>
        イメージファイルのイメージ名 (ファイル名ではない)を変更します。
        イメージ名は16文字以内で、空白を含んではいけません。
        (メニューモードでは、空白を含むイメージ名をつけることが可能)

    statesave [<filename>]
        ステートセーブします。
        <filename> は、ステートファイル (状態を保存するファイル) の
        ファイル名です。省略時は、現在のデフォルトファイル名になります。

    stateload [<filename>]
        ステートロードします。
        <filename> は、ステートファイル (状態を保存するファイル) の
        ファイル名です。省略時は、現在のデフォルトファイル名になります。

    snapshot
        スクリーンスナップショットを保存します。
        保存するファイルのベース名、画像フォーマット、ファイル保存後の
        コマンド実行などは、メニューモードでの設定に従います。

    loadfont <filename> <format> <type>
        フォントデータをファイルからロードします。
        ・<filename> には、ファイル名を指定します。
        ・<format>   には、データのフォーマットを 0〜2 で指定します。
             0 は ROMイメージファイルのフォーマットです。
             1 は X標準ツール bitmap のフォーマットです。
             2 も 1 と同じです。
        ・<type>     には、フォントの種類 0〜3 で指定します。
             0 は PCG有効時のフォントです。
             1 は 標準のフォントです。
             2 は 第2フォントです。
             3 は 第3フォントです。

    savefont <filename> <format> <type>
        フォントデータをファイルにセーブします。
        ・<filename> には、ファイル名を指定します。
        ・<format>   には、データのフォーマットを 0〜2 で指定します。
             0 は ROMイメージファイルのフォーマットです。
             1 は X標準ツール bitmap のフォーマットです。
             2 も 1 と同じです。
        ・<type>     には、フォントの種類 0〜3 で指定します。
             0 は PCG有効時のフォントです。
             1 は 標準のフォントです。
             2 は 第2フォントです。
             3 は 第3フォントです。

    fbreak [<action>] <drive> <track> [<sector>] [#<No>]
    fbreak CLEAR [#<No>]
    fbreak
        FDC 動作に対し、ブレークポイントを設定します。
       ・<action> には、READ、WRITE、DIAG のいずれかを指定します。
              CLEAR を指定した場合は そのブレークポイントを解除します。
       ・<drive>  には、対象となるドライブ (1〜2) を指定します。
       ・<track>  には、対象となるトラック (0〜)  を指定します。
       ・<sector> には、対象となるセクタ   (1〜)  を指定します。
           省略時は、全セクタが対象となります。
       ・#<No> には、ブレークポイントを設定する番号を指定します。
               #1 〜 #10 の、計10個が使用できます。 
           省略時は、#1。
       ・引数を全て省略した場合は、現在のブレークポイントの設定状況を
         表示します。

    textscr
        TEXT VRAM の内容を標準出力に表示します。

    loadbas <filename> [<type>]
        BASIC のリストをファイルから入力します。
        ・<filename> には、ファイル名を指定します。
        ・<type> には、 ASCII か BINARY を指定します。
             省略時は、ASCII 。

    savebas [<filename> [<type>]]
        BASIC のリストをファイルに出力します。
        ・<filename> には、ファイル名を指定します。
             省略時は、標準出力。
        ・<type> には、 ASCII か BINARY を指定します。
             省略時は、ASCII 。

    tapeload [<filename>]
        ロード用テープイメージを設定します。
        ・<filename> には、ファイル名を指定します。
             ファイル名を "-" とすると、ファイルをクローズします。
             ファイル名を省略すると、現在のファイル名を表示します。

    tapesave [<filename>]
        セーブ用テープイメージを設定します。
        ・<filename> には、ファイル名を指定します。
             ファイル名を "-" とすると、ファイルをクローズします。
             ファイル名を省略すると、現在のファイル名を表示します。

    printer [<filename>]
        プリントアウトイメージを設定します。
        ・<filename> には、ファイル名を指定します。
             ファイル名を "-" とすると、ファイルをクローズします。
             ファイル名を省略すると、現在のファイル名を表示します。

    serialin [<filename>]
        シリアル入力用イメージを設定します。
        ・<filename> には、ファイル名を指定します。
             ファイル名を "-" とすると、ファイルをクローズします。
             ファイル名を省略すると、現在のファイル名を表示します。

    serialout [<filename>]
        シリアル出力用イメージを設定します。
        ・<filename> には、ファイル名を指定します。
             ファイル名を "-" とすると、ファイルをクローズします。
             ファイル名を省略すると、現在のファイル名を表示します。

    コマンドの省略形
         幾つかのコマンドには、省略形が用意されています。
       ・?  … help  と同じ
       ・m  … menu  と同じ
       ・q  … quit  と同じ
       ・g  … go    と同じ
       ・t  … trace と同じ
       ・s  … step  と同じ
       ・S  … step ALL と同じ
       ・b  … break と同じ

    注意) モニターモードは QUASI88 のデバッグ用に作成されたものなので、
          十分なバグチェックが行なわれておりません。 特に、作者が滅多に
          使わないコマンドは、誤動作のおそれ大です。

ステートセーブ
    任意の時点のエミュレート状態をステートファイルに書き出し(ステート
    セーブ)、好きなときにこれを読み出してその時点のエミュレート状態を
    復元(ステートロード)することが出来ます。

    ステートセーブ・ステートロードは、メニューモードにて実行できます。
    また、コマンドラインから -resume、 -resumefile オプションを指定する
    ことで、起動時にステートロードすることもできます。

    ステートファイルのファイル名は、ファイルベース名 + ".sta" になります。
    なお、ファイルベース名は 『quasi88』 または、ディスクイメージファイル
    を開いている場合は、そのファイルのファイルベース名になります。

    UNIX の場合)
      ステートファイル保存先ディレクトリは、 ~/.quasi88/state/ です。
    環境変数  QUASI88_STATE_DIR が設定されている場合は、そのディレクトリ
    になります。

    Windows の場合)
      ステートファイル保存先ディレクトリは、 %QUASI88_STATE_DIR% です。
    （ QUASI88_STATE_DIR は環境変数です。未定義の場合は後述 ）

    Classic Mac OS の場合)
      ステートファイルが保存されるフォルダは、カレントフォルダの "STATE" 
    サブフォルダです。

スクリーンスナップショット
    メニューモードの『その他』タブで、スクリーンスナップショットを保存
    することが可能です。画像フォーマットは BMP、PPM、RAW のいずれかです。

    保存されるファイル名は、ファイルベース名 + 4桁の連番 + サフィックス
    ( ".bmp"、".ppm" ) になります。なお、ファイルベース名は 『save』
    または、ディスクイメージファイルを開いている場合は、そのファイルの
    ファイルベース名になります。

    -f6 〜 -f10 オプションを使えば、ファンクションキーでスクリーンスナップ
    ショットが保存できるようになります。例えば、-f10 SNAPSHOT とすれば、
    F10 キーでスナップショットが保存されます。

    UNIX の場合)
      スクリーンショット保存先ディレクトリは、カレントディレクトリです。
    環境変数  QUASI88_SNAP_DIR が設定されている場合は、そのディレクトリに
    なります。

    スクリーンスナップショットを保存した直後に、任意のコマンドを自動で
    実行することが可能です。
    実行するコマンドはメニューモードにて設定しますが、この際、%a がファイル
    名に、%b がファイル名からサフィックスを削除したものに置き換わります。
    %文字 そのものは、%% としてください。

        コマンドの設定例)

            pnmscale 0.5 %a | pnmtopng > %b.png

        上の設定例では、スナップショットの保存後に、その画像を50%に
        縮小した上で PNG 形式に変換します。

    スナップショットの保存に失敗した場合は、コマンドは実行されません。
    なお、コマンドは環境変数 QUASI88_SSS_CMD でも指定することが可能です。

    注意) コンパイル時にコマンド実行不可を指定した場合、コマンド実行は
          不可能になります。

    Windows の場合)
      スクリーンショット保存先ディレクトリは、 %QUASI88_SNAP_DIR% です。
    （ QUASI88_SNAP_DIR は環境変数です。未定義の場合は後述 ）

    Classic Mac OS の場合)
      スクリーンショットが保存されるフォルダは、カレントフォルダの "SNAP" 
    サブフォルダです。

サウンド出力保存
    メニューモードの『その他』タブで、サウンドの出力をファイルに保存する
    ことが可能です。出力フォーマットは WAV形式です。

    保存されるファイル名、および保存先ディレクトリは、サフィックスが
    ".wav" であることを除けば、スクリーンスナップショットと同じです。

    サウンドの使用がコンパイル時に有効になっている場合のみ有効です。

設定ファイルの書式
    環境設定ファイル／個別設定ファイルの書式は、以下の通りです。
      ・一行は、255文字以下でなくてはいけません
      ・ # 以降は、コメントとみなされます。
      ・起動時のオプションと同じ書式で、設定内容を記述します。
        ただし、1行に複数の設定をしたり、複数の行にまたがって設定したりは
        できません。
          良い例)  -v2
                   -frameskip 6
          悪い例)  -v1h -4mhz    … 1行に複数の設定がある
                   -dipsw
               0x000a       … 複数行にまたがって設定している
      ・設定内容は、スペースかタブで区切ります。
      ・設定出来るのは、起動時のオプションと同じ内容のみです。
        ただし、ディスクイメージファイルは記述できません。
        ディスクイメージファイルを指定したい場合は、オプション -diskimage
        を使用してください。
      ・設定内容にスペースやタブ、#、"、\ を含める場合は、その文字の直前に
        \ 文字を置きます。( \# のようにします。\文字 そのものは、\\ です)
      ・設定内容を " で囲むと、その囲まれた中でスペースやタブ、#、\ が
        使えます。" で囲まれた中に、 " を含める場合は、"" としてください。

    環境設定ファイルが存在する場合、このファイルの内容にそって QUASI88 の
    設定がされたあと、コマンドラインのオプションを処理します。
    つまり、環境設定ファイルと、コマンドラインとで同じオプションを指定して
    いた場合、コマンドラインのオプションの方が優先されることになります。

    なお、起動時にオプションで -noconfig を指定した場合、環境設定ファイル
    は読み込まれません。

    環境設定ファイルは、メニューモードで「設定保存」すると、一部が書き
    換えられます。

キー設定ファイルの書式
    (まだ書いていません)

ディレクトリ
    QUASI88にて使用するディレクトリは以下のようになっており、いくつかは
    環境変数や、オプションにて設定可能です。（オプションの設定が優先）
    歴史的な事情(?)により、ややこしいことになっています。なんとかせねば。

    UNIX の場合)

      環境変数が HOME しか定義されていない場合

        環境設定ファイル            $HOME/.quasi88/quasi88.rc
        キー設定ファイル            $HOME/.quasi88/keyconf.rc
        個別設定ファイルのディレクトリ   $HOME/.quasi88/rc/
        ROM用ディレクトリ            コンパイル時の設定による
        DISK用ディレクトリ           コンパイル時の設定による
        TAPE用ディレクトリ           コンパイル時の設定による
        スナップショット保存先ディレクトリ カレントディレクトリ
        ステートファイル保存先ディレクトリ $HOME/.quasi88/state/

      環境変数がいろいろと定義されている場合

        ROM用ディレクトリ            $QUASI88_ROM_DIR
        DISK用ディレクトリ           $QUASI88_DISK_DIR
        TAPE用ディレクトリ           $QUASI88_TAPE_DIR
        スナップショット保存先ディレクトリ $QUASI88_SNAP_DIR
        ステートファイル保存先ディレクトリ $QUASI88_STATE_DIR

    Windows の場合)

      環境変数がなにも定義されていない場合

        環境設定ファイル            QUASI88.INI
        キー設定ファイル            KEYCONF.INI
        個別設定ファイルのディレクトリ   INI ディレクトリ
        ROM用ディレクトリ            ROM ディレクトリ
        DISK用ディレクトリ           DISK ディレクトリ
        TAPE用ディレクトリ           TAPE ディレクトリ
        スナップショット保存先ディレクトリ SNAP ディレクリト
        ステートファイル保存先ディレクトリ STATE ディレクトリ

      環境変数 QUASI88_HOME が定義されていない場合

        環境設定ファイル            %QUASI88_HOME%\QUASI88.INI
        キー設定ファイル            %QUASI88_HOME%\KEYCONF.INI
        個別設定ファイルのディレクトリ   %QUASI88_HOME%\INI
        ROM用ディレクトリ            %QUASI88_HOME%\ROM
        DISK用ディレクトリ           %QUASI88_HOME%\DISK
        TAPE用ディレクトリ           %QUASI88_HOME%\TAPE
        スナップショット保存先ディレクトリ %QUASI88_HOME%\SNAP
        ステートファイル保存先ディレクトリ %QUASI88_HOME%\STATE

      その他の環境変数が定義されている場合

        個別設定ファイルのディレクトリ   %QUASI88_INI_DIR%
        ROM用ディレクトリ            %QUASI88_ROM_DIR%
        DISK用ディレクトリ           %QUASI88_DISK_DIR%
        TAPE用ディレクトリ           %QUASI88_TAPE_DIR%
        スナップショット保存先ディレクトリ %QUASI88_SNAP_DIR%
        ステートファイル保存先ディレクトリ %QUASI88_STATE_DIR%

    Classic Mac OS の場合)

        環境設定ファイル            QUASI88.prefs
        キー設定ファイル            KEYCONF.prefs
        個別設定ファイルのディレクトリ   カレントフォルダ
        ROM用ディレクトリ            ROM フォルダ
        DISK用ディレクトリ           DISK フォルダ
        TAPE用ディレクトリ           TAPE フォルダ
        スナップショット保存先ディレクトリ SNAP フォルダ
        ステートファイル保存先ディレクトリ STATE フォルダ

制限等
    現時点でエミュレートされていない部分を以下に挙げます。

        ・割り込みの正確なタイミング
        ・サウンドボードIIのADPCM割り込みの一部
        ・CRTC 関連の大部分
        ・DMAC 関連の大部分
        ・FDC のいくつかのコマンド
        ・2DD/2HD のディスク操作の大部分
        ・カレンダクロックの時刻取得以外の機能
        ・正確なウエイト
        ・その他、いろいろ

エミュレートの完成度
    そこそこ動きます。^_^;

バグ
      キー入力の実装に問題があり、キーが押されっぱなしになることが
    あります。メニューモードに入る事で、この状態は解除できます。
      ほかにもバグがあちこちに………

今後の予定
    ・高速化
    ・エミュレート性能の向上
    ・その他、いろいろ

作者
    福永省三
    http://www.eonet.ne.jp/~showtime/quasi88/

著作権／免責
      QUASI88 （サウンド出力処理部を除く）はフリーソフトウェアであり、
    著作権は作者が保有しています。このソフトは無保証であり、このソフトを
    使用した事によるいかなる損害も作者は一切の責任を負いません。
    ライセンスに関しては、修正BSDライセンスに準ずるものとします。

      QUASI88 のサウンド出力処理部は、MAME および、XMAME のソースコードを
    使用しています。このソースは、各著作者が著作権を有します。
    ライセンスに関しては、MAME および、XMAME のドキュメントを参照下さい。

      QUASI88 のサウンド出力処理部のうち、FM音源ジェネレータには fmgen の
    ソースコードを使用しています。このソースは cisc氏が著作権を有します。
    ライセンスに関しては、fmgen のドキュメントを参照ください。

謝辞
    QUASI88 作成時に参考としたソースの作者の方々:

        fMSX の作者である Marat Fayzullin氏

    QUASI88 のサウンド出力対応に、ソースを使用させて頂いた方々:

        MAME の作者である Nicola Salmoria氏 と MAME projectの方々 
        XMAME の作者である XMAME projectの方々
        PC6001V の作者である ゆみたろ氏
        fmgen の作者である cisc氏

    QUASI88 へのパッチの提供や助言を下さった方々:

        舟橋啓さん 
        笠松健一さん
        引地さん
        floiさん
        gatoさん
        peachさん
        apaslothyさん

    その他、PC88エミュレータ用の各種ツールを作成／公開されている方々、
    QUASI88 について紹介してくださっているサイトの方々、
    そして QUASI88 の作成に協力、助言をくださったすべての皆様に、
    心より感謝いたします。
