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 の作成に協力、助言をくださったすべての皆様に、
	心より感謝いたします。
