//////////////////////////////////////////////////////////////////////////

                   FM TOWNS/MARTYエミュレータ　うんづ

                                マニュアル
                         対象バージョン：V0.5 L30

            Copyright (C) 2001-2010 Kasanova(kasanova@retropc.net)

//////////////////////////////////////////////////////////////////////////


 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 ■バージョンアップに際して追加された重要な情報については、文頭に「|」 ■
 ■が付いています。　　　　　　　　　　　　　　　　　　　　　　　　　  ■
 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


//////////////////////////////////////////////////////////////////////////
お約束
------

1.何ができるの？
----------------
このソフトは「エミュレータ」と呼ばれるソフトです。Window上で富士通のパソ
コン、FM TOWNSあるいはFM TOWNS MARTYをソフトウェアによって再現します。い
まのところ再現性は必ずしも高いとはいえませんが、FM TOWNSおよびMARTY用に
開発さたソフトの多くが動作するはずです。


2.お使いいただく前に
--------------------
うんづの使用にあたって、次のことに留意してください。
・ うんづを利用するためには、FM TOWNS実機から抽出したROMイメージが必要で
   す。
・ うんづはフリーソフトウェアです。販売目的で開発されたものではありません。
・ あくまで個人的な趣味で開発しているものです。ご意見、ご要望などは受け付
　 けますが、そのすべてに応えることはできません。
・ エミュレータは万能ではありません。FM TOWNSおよびMARTY実機が持つ機能を
   完全に再現することはできません。細かな挙動も異なることがあります。
・ うんづの使用は自己責任で行ってください。うんづの使用により生じたいかな
　 る損害も作者は責任を負いません。
・ ROMイメージは自分の所有するマシンのものを使用してください。それ以外の
 　ものは絶対に手にしないこと。


3.動作環境および推奨環境
------------------------
・ 動作確認済みOS : Windows95SE/98/Me/2000/XP/Vista(※)
・ 高速なCPU（700MHz以上を推奨、CPUエミュレーション方式にダイナミック・
   リコンパイラを選択した場合は500-600MHz程度でも実用可能）
・ 動作に必要なメモリ量は設定に依存します（最低10MBくらい）
・ DirectX 5以上
・ DirectDrawに対応した高速なビデオカード
・ DirectSoundに対応したサウンドカード
・ DirectInputに対応したジョイスティック（キーボードで代用可）
・ CD-ROMドライブあるいは仮想化ソフトによるCDドライブ
    （ハードディスクあるいはフロッピー運用の場合はなくても可）

※Windows95SE/98/Me/2000では十分な動作検証を行っていません。
そのため、OSの非互換性により動作不良を起こす可能性があります。


4.エミュレートされるもの
------------------------
  FM TOWNS および MARTY の基本的なハードウェアを、ソフトウェアによって
エミュレートします。

・ Intel 80386DX/80386SX/80486SX
     インタプリタ方式あるいはダイナミック・リコンパイラ方式によるエミュ
     レーション
     不完全だがTownsOSの実行に問題はない
・ 画面関係ハードウェア
     スプライト、ハードウェアスクロール、
     後期TOWNSで追加された高解像度・フルカラー画面モードを含む
・ 音源
     YM2612(FM音源)
     RF5C68A(PCM音源、直線補間機能付き)
     MIDIカード(MIDI-OUTおよびMIDI-IN)
     16ビットPCM
・ マウス
・ ジョイスティック
     TOWNS-PAD(2ボタン)
     6ボタンパッド
     アナログスティック(2軸、10ボタン)
・タブレット
     WACOM製タブレットに対応
     筆圧認識可能
・ キーボード
     JISキーボード
     親指シフトキーボード
・ フロッピーディスクドライブ
     3モードドライブ仕様
     1.2MB、1.44MB、640KB、720KBのベタイメージおよびD88形式に対応
     D88形式使用時は、2Dのイメージおよび変則フォーマットも読み書き可能
・ CD-ROMドライブ
     読み込み、CD-DA、サブチャネル読み出し
     CDイメージには非対応
・ ハードディスク
     ハードディスクイメージにて5ユニットまで接続可能


5.エミュレートされていないもの
------------------------------
・ 内蔵マイク、RS-232Cポートなど


6.再配布
--------
作者が特別に許可した場合を除いて、禁止します。




//////////////////////////////////////////////////////////////////////////
導入編
------

1.The ROM Begger
----------------
うんづを動作させるためには、FM TOWNS実機のROMをイメージ化する必要があります。
添付の rombeger.exe を実機の「コマンドモード」あるいはそれに準じるコンソール
環境から実行してください。以下のファイルが作成されます。

  fmt_sys.rom --- (262144バイト) :OS ROM
  fmt_fnt.rom --- (262144バイト) :漢字ROM
  fmt_dos.rom --- (524288バイト) :MS-DOS ROM
　fmt_dic.rom --- (524288バイト) :辞書ROM
  fmt_f20.rom --- (524288バイト) :20ドットフォント

MARTYをお使いの方は、以下のファイル構成になります。お使いの本体がMARTYである
か否かは、rombeger.exe が自動的に判別します。

   fmt_sys.rom --- (262144バイト) :OS ROM
   fmt_fnt.rom --- (262144バイト) :漢字ROM
   fmt_dos.rom --- (524288バイト) :MS-DOS ROM
 　fmt_dic.rom --- (524288バイト) :辞書ROM
   mar_ex0.rom --- (524288バイト) :MARTY拡張ROM
   mar_ex1.rom --- (524288バイト) :MARTY拡張ROM
   mar_ex2.rom --- (524288バイト) :MARTY拡張ROM
   mar_ex3.rom --- (524288バイト) :MARTY拡張ROM


また、機種固有のシリアルROMをイメージ化することもできます。シリアルROMイメージ
を用意すれば、お手持ちのマシンのシリアル番号その他の情報も合わせて再現すること
が可能になります。シリアルROMイメージは、必須のものではありません。

   mytowns.rom --- (32バイト) :機種固有情報 ROM


なお、フロッピーベースの環境ではすべてのROMイメージが一枚のフロッピーディスクに
おさまらないため、それぞれのファイルを別々のディスクに保存することが可能です。
詳しくは画面の指示に従ってください。

TOWNS用キーボードをお持ちでない方やGUI環境から直接実行する場合は rombeger.exe 
をオプション付きで起動させてください。この方法を使えば、キー入力なしでROMデータ
を取り出すことができます。
使い方は次の通りです。

rombeger [ROM番号0-8] [保存先指定0-2]
   ROM番号は、
     0: fmt_sys.rom(256KB)
     1: fmt_fnt.rom(256KB)
     2: fmt_dos.rom(512KB)
     3: fmt_dic.rom(512KB)
     4: fmt_f20.rom(512KB)
     5: mar_ex0.rom(512KB、MARTY上でのみ指定可)
     6: mar_ex1.rom(512KB、MARTY上でのみ指定可)
     7: mar_ex2.rom(512KB、MARTY上でのみ指定可)
     8: mar_ex3.rom(512KB、MARTY上でのみ指定可)
     9: mytowns.rom(32BYTE)

   保存先は、
     0および無指定: カレントドライブ
     1: a:\
     2: b:\
   と指定してください。例えば fmt_dos.rom をドライブAに保存したければ、

rombeger 2 1

を実行します。バッチファイルをサンプルで付けましたのでそちらも併せて参照
してください。

　■ひとこと■
    ROMファイルのうち20ドットフォントは FM TOWNS 後期の機種にしか内蔵
    されていません。


2.うんづのインストール
----------------------
アーカイブに含まれる、Unz.exe と key.def 、key_o.def を適当なフォルダに展開し
てください。
あらかじめ用意しておいた実機のROMイメージを Unz.exe と同じフォルダに置きます。
インストールはこれだけで完了です。


3.うんづの実行
--------------
Unz.exeを実行してください。


4.起動オプションの指定
----------------------
起動時にコマンドラインで指定することにより、ディスクイメージを挿入した状態
で起動させることができます。ファイル名はフルパスで指定してください。

 -f0 [ファイル名]　：ドライブ0にディスクイメージを挿入
 -f1 [ファイル名]　：ドライブ1にディスクイメージを挿入
 -f0p [ファイル名]　：ドライブ0にディスクイメージをライトプロテクトして挿入
 -f1p [ファイル名]　：ドライブ1にディスクイメージをライトプロテクトして挿入
 -icm [ファイル名]　：ICメモリカードイメージを挿入

例えばドライブ0に c:\disk0.hdm を書き込み可能な状態で、ドライブ1に
d:\disk1.hdm を書き込み禁止状態でそれぞれ挿入したい場合は、次のように指定し
ます。

Unz.exe -f0 c:\disk0.hdm -f1p d:\disk1.hdm

また、以下の起動オプションも指定することができます。

 -s [ファイル名] : ステートファイルを読み込んで起動します
 -fs  : フルスクリーンモードで起動します
 -jpn : Windowsの標準言語設定にかかわらず、日本語モードで起動します
 -eng : Windowsの標準言語設定にかかわらず、英語モードで起動します

  ■ひとこと■
    ファイル名は、ダブルクオーテーション(" ")で括り「"ファイル名"」と表記
    することもできます。ファイル名に半角スペースが含まれる場合は、この表記
    法を使ってください。

  例) Unz.exe -f0 "c:\disk  0.hdm"：ファイル「disk  0.hdm」がマウントされます


5.基本操作
----------
FM TOWNS実機を動かすように操作するだけです。
マウスはF12キー(変更可)を押すことで Windows のマウスが消えて、うんづ上のマウ
スが有効になります（ポートにマウス接続の設定をする必要があります）。
もう一度F12キーを押すと元に戻ります。
また、マウスのホイールボタン操作や中ボタンクリック、右ダブルクリックによって
も切り替えが可能です。

  ■ひとこと■
    PF12キーは TownsMENU 終了ウィンドウの表示など、実機では特別な機能が
    割り当てられている場合があります。実機と操作感を一致させたい場合は
    プロパティの「システムキー」のタブからシステムキーの設定を変更して
    ください。


6.うんづのアンインストール
--------------------------
インストールしたフォルダを削除するだけでシステムから完全に消去されます。レジ
ストリやシステムファイル等には一切変更を加えません。




//////////////////////////////////////////////////////////////////////////
設定編
------

さて、無事にうんづが起動するとプロパティシートがまず開きます（初回だけです）。
まずはここで、各種設定の確認とCD-ROMドライブを認識させる必要があります。ほと
んどの設定はデフォルトのまま使用できますが、一応、目を通しておいてください。

　■ひとこと■
　　起動せず、すぐにウィンドウが閉じてしまう場合は、Unz.exe と同じフォルダ
　　にできる debug.log を見てみてください。診断メッセージが出力されている
　　ことがあります。


デフォルト設定一覧
---------------------------------------------------------------

初回起動時には、初期設定として以下の設定が行われます。なお、プロパティシート
「一般」のタブにある「すべて初期設定に戻す」のボタンをクリックすることで、設
定をいつでもこれらの初期設定値に戻すことができます。

・機種設定                         FM TOWNS 1,2
・実装メモリ                       8MB
・FDアクセス速度互換モード         OFF
・CPU種別                          i80386DX
・CPUクロック(互換モード)          16.00MHz
・CPUクロック(FASTモード)          20.00MHz
・CPUエミュレーション方式          インタプリタ
・高解像度・フルカラー             無効
・フルスクリーン解像度：標準       640x480 16bpp 60Hz
・フルスクリーン解像度：高解像度   1024x768 16bpp 60Hz
・フルスクリーン解像度：フルカラー 640x480 32bpp 60Hz
・スプライト表示個数制限解除       無効
・デスクトップの自動切換え         OFF
・DirectDraw Surfaceの作成         ビデオメモリ
・VSYNCを待つ                      OFF
・必要に応じてハードストレッチ     OFF
・CHASE H.Q.用特殊描画モード       OFF
・15KHz時のスキャンライン表示      なし
・ウィンドウ拡大率                 x1
・フレームレート                   自動
・ウィンドウサイズ                 640x480
・画面表示方式(Video blitter)      標準
・サウンド出力デバイス             プライマリ サウンド ドライバ
・サウンド再生レート               44100Hz
・サウンドバッファサイズ           20ms
・16bitPCM                         有効
・MIDIカード                       未接続
・MIDI出力デバイスA                なし
・MIDI入力デバイス                 無効
・ローパスフィルタ                 OFF
・音量カスタムコントロール         すべてOFF
・ROMEOによるFM音源再生            OFF
・ポート１                         キーボードでパッドをエミュレーション
・ポート２                         マウス接続
・連射                             なし
・マウス感度                       水平、垂直ともに1.0倍
・CDエミュレーション               なし
・CD読み込み速度                   300セクタ/秒
・互換モードでCD読み込み速度低減   OFF
・CD読み込みキャッシュサイズ       2MB
・CDの状態を常に監視する           ON
・CD起動失敗時に代替IPLを使う      OFF
・CD-DAボリュームコントロール反転  OFF
・CD-DAボリュームをモノラルで制御  OFF
・CD-DAボリューム制御無効          OFF
・HDD                              未接続
・Windowsメッセージでホイール認識  OFF
・ステータスウィンドウ表示         OFF
・背面にあるときにCPU使用率抑制    OFF
・キーボード種別                   JISキーボード
・親指シフト打鍵監視間隔           2/100秒に1回
・親指シフト判定時間               3回の監視間隔まで許容
・動作速度                         標準
・マルチタスク協調                 ON
・メニュー選択中の一時停止         OFF
・ALTｷｰによるメニュー選択を抑制    OFF
・CD入れ替え時の自動起動の無効化   OFF
・マウスキャプチャ方法             ホイール操作


1.CD-ROMドライブの設定
---------------------------------------------------------------

「アクセス方法」から、CD-ROMエミュレーションの方法を選んでください。
Windows9x系の環境か、Windows2000以降の環境かで設定方法が異なります。


Windows2000以降での設定
-----------------------
「CDドライブ」の項目に、CD-ROMドライブを示すドライブレターを指定してくだ
さい。
システム上でCDドライブが検出された場合は、ドライブレターが最も若い（アル
ファベット順でAに近い）ドライブがデフォルトで選択されます。


Windows9x系での設定
-------------------
ASPIを使ったアクセスになり、CD-ROMドライブを認識させる必要があります。
念のため、認識させたいドライブにメディアを挿入して、「有効デバイスをスキャ
ン」を押してください。
ドライブ名が表示されたら、そのドライブをCDドライブとして使うことができま
す。不幸にして何も表示されなかったら・・・次のことを確認してみてください。

  ・ASPIがインストールされているか？
      ASPIがインストールされていない場合、Unz.exe と同じフォルダにできる
      debug.log に「Notice: Cannot load WNASPI32.DLL.」との診断メッセージ
      が出力されます。WNASPI32.DLLがシステム上に存在しない場合でも、起動
      シーケンスは続行されます。
  ・ASPIはATAPIに対応しているか？
      お使いのドライブがATAPIの場合は、ASPIがATAPIに対応している必要があり
      ます。最新版をインストールしてみてください。

それでもダメな場合は、DAEMON Toolsなどの仮想CDソフトを使うか、OSを
Windows2000以降に変えるかしてください。
ASPI方式では、以下の項目の変更が必要になる場合もあります。

「読み込み方式」(デフォルト：2048)
読み込み時のセクタサイズを指定します。通常は、最も対応ドライブが多い、2048
バイトに設定してください。

「データオフセット」（デフォルト：0）
この項目は通常は0ですが、「読み込み方式」によっては値を変えなければならない
ことがあります。0でうまくいかなければ4か16に設定して試してみてください。
CDのセクタの構造は、同期データ(12バイト)＋ヘッダ(4バイト)＋データ2048バイト
＋αというようになっています(Mode1の場合)。ドライブによっては同期データや
ヘッダ部分が読めたり読めなかったりすることがあるため、その問題に対処するため
にこの項目をつくりました。


Windows9x、Windows2000以降に共通する設定
----------------------------------------
「CD読み込み速度」（デフォルト：300）
CDの読み込み速度を 1秒間に読み込み可能なセクタ数で指定します。デフォルトの
300が上限です。

「互換モード時は速度を落とす」（デフォルト：OFF）
システムが互換モードで動作している際に、CDアクセス速度を互換モード相当まで
落とします。これにより、CDアクセスが速すぎるために動作不能になる一部ソフト
に対応できるようになります。


CD-ROMの拡張設定
----------------
「CD読み込みキャッシュサイズ」（デフォルト：2MB）
CDから一度読み込んだデータをメモリ内に保持しておき、再アクセスの効率化を図
ります。キャッシュは、リセットするか、CDを入れ替えた時点でフラッシュされま
す。この値を0MBに設定することでキャッシュを無効にできます。

「CDの状態を常に監視する」(デフォルト：ON)
1秒に1回の間隔で、CDの状態を監視するか否かを指定します。この機能が有効になっ
ていると、CD-ROMの入れ替えを自動的に認識するようになり、自動リピート再生も
可能になります。
Windows2000以降の環境では、この設定は無効になっています。演奏リピートや
CDメディアの挿入・取り出しの判定も自動で行われます。

  ■ひとこと■
    CD-DAの自動リピート再生を使用しているソフトは、この設定を有効にしておか
    なければ演奏はループしません。
    CD-DA演奏中にファイルセレクタやプロパティシートに入った場合、演奏だけ続
    行し、エミュレーションは停止している状態になります。演奏と画面表示を同期
    させているソフトでは不具合が出る恐れがありますので、CD-DA演奏中のメニュー
    操作はできるだけ短時間で終わらせるようにしてください。

「CD入れ替え時に自動起動を無効化する」(デフォルト：OFF)
CDを入れ替える際に、Windowsの自動起動機能の無効化を試みます。無効化を行って
いる最中はシフトキーが押された状態になり、ステータスバーに「自動起動を無効化
しています」とのメッセージが出力されます。
無効化する時間は、(1).CDを挿入している状態でイジェクトボタンを押してCDを取り
出した後(取り出し時)、(2).CDを挿入した後(挿入時)に分けられます。デフォルトで
それぞれ30秒間、10秒間シフトキーを押している状態を作り出し、自動機能の抑制を
図ります。
無効化している間に何らかのキーを押すと、無効化をキャンセルすることができます。
なお、このオプションは、上記の「CDの状態を常に監視する」が有効になっていなけ
れば機能しません。

「CD-DAのボリュームコントロールを左右逆にする」(デフォルト：OFF)
CD-DAのボリュームに左右異なる値を設定したとき、音量の設定が左右逆に反映さ
れてしまう場合に、この設定で反転させることができます。

「CD-DAボリュームコントロールをモノラルで行なう」(デフォルト：OFF)
CD-DAのボリュームコントロールは通常ステレオで行なわれ、音量は左右のチャネル
それぞれ独立して制御されます。この設定を有効にすると、左右のチャネルに同じ
音量を常に指定するようになります。左右で音量が異なる場合は、足して２で割っ
た値になります。
デフォルトの設定でCD-DAの音量制御がおかしくなってしまう場合に試してみてくだ
さい。

「CD-DAのボリュームコントロールを無視する」(デフォルト：OFF)
CD-DAのボリューム操作を行いません。ボリューム操作がうまく機能しなかったり、
他のアプリへの影響が気になる場合はこのオプションを有効にしてください。


代替IPLの準備＆使用
-------------------
FM TOWNSのソフトの一部には、CD起動に必要なIPLセクタ部分が通常のフォーマット
とは異なり、Windowsでは読み込めないものがあります。そのため、この種のソフト
はCDから起動させることができません。このような場合、他のソフトのIPL部分をあ
らかじめ抜き出しておいて、起動不能なソフトのIPLとして代用することができます。
この機能を使うには、Unz.exe と同じフォルダに cdipl.bin というファイルが必要
です。

「代替IPL(cdipl.bin)作成」
cdipl.bin(代替IPL)を作成します。作成にあたっては、正常に起動できるシステムの
入ったCDを、ドライブに挿入しておいてください。このファイルは Unz.exe と同じ
フォルダに作成されます。

「CD起動失敗時に代替IPLを使う」（デフォルト：OFF）
CDの先頭セクタにIPLが見つからなかった場合、用意した代替IPLでの起動を試みます。

  ■ひとこと■
    cdipl.binは一度正しく作成すれば以後作成する必要はありません。
    該当するソフトは、起動時に「システムが違います」と表示されるもののみです。
    「システム読み込み中」のまま止まってしまうソフトもありますが、これは起動
    自体は成功していて、その後で何らかの問題で停止しているソフトですので、こ
    の機能を有効にしても起動することはありません。
    また、この機能を有効にしておくと、フロッピー起動のソフトも「起動失敗」と
    判断され、代替IPLの利用を試みてしまうことがあります。該当するソフトの起動
    時以外は、この機能を解除しておくことをお勧めします。


2.一般
---------------------------------------------------------------
「実装メモリ」（デフォルト：8MB）
実装メモリは1〜96MBの範囲で指定できます。お使いのマシンへの負担を考えて適度
な値を設定してください。
MARTYエミュレーションモードのときは、MARTYの仕様上、6MBが上限になります。

  ■重要■
    実装メモリを16MB以上に設定すると一部のシステムソフトウェアやソフトで
    障害が出ます。通常は16MB以下でご使用ください。また、メモリ1MB実装状態
    は、あくまで FM TOWNS モデル1 を再現するためのもので、実用にはなりま
    せん。

「機種設定」（デフォルト：FM TOWNS 1,2）
IOポートから読み出し可能な、TOWNSの機種IDを指定します。
MARTYのROMを使っていて、MARTY として動作させる場合(MARTYエミュレーション
モード)は、この設定を「FM TOWNS MARTY」にしてください。

「フロッピーディスク アクセス速度互換」（デフォルト：OFF）
フロッピーディスクのアクセス速度を、実機相当にするか否かを指定します。この
設定を有効にすると、転送速度が約500Kビット/秒となるほか、シーク速度も調整
されます。


3.CPUの設定
---------------------------------------------------------------
「互換モード動作時」（デフォルト：16.00MHz）
互換モードで動作している時のクロックを設定します。
クロックは正確にカウントされているわけではないため、この値は概数です。一応
120.00MHz まで設定できますが、あまりムリをさせないように・・・。

「FASTモード動作時」（デフォルト：20.00MHz）
FASTモードで動作している時のクロックを設定します。

「CPU種別」（デフォルト：i80386DX）
搭載される CPU の種別を選択します。機種設定で「FM TOWNS MARTY」を選択して
いて、なおかつ MARTY の ROM が用意されている場合は CPU 種別は強制的に
 i80386SX となりますので、この設定は意味を持ちません。

「エミュレーション方式」（デフォルト：インタプリタ）
TOWNSに搭載されているCPUをどのように再現するのかを選択します。インタプ
リタ方式は、速度的にはそれほど高速ではありませんが動作が安定しています。
一方、リコンパイラ方式は高速ですが、やや安定しない場合があります。


4.画面の設定
---------------------------------------------------------------

ビデオエミュレーション
----------------------
「高解像度・フルカラー有効」（デフォルト：OFF）
FM TOWNS MA/MX相当の高解像度・フルカラーサポートを有効にします。

「スプライト表示個数制限解除」（デフォルト：OFF）
1フレームで処理可能なスプライトの個数制限を無くします。この設定が無効の
場合は、1フレーム当たり220〜230個のスプライトを処理できるという、実機の
速度に近い動作になります。この機能を有効にすると、垂直表示期間が1/4経過
した時点で全スプライトが表示されます。

「CHASE H.Q.用特殊描画モードを有効にする」(デフォルト：OFF)
VING発売のゲーム、「CHASE H.Q.」で使われているラスタパレット処理に対応さ
せます。このゲーム以外では意味を持たないだけでなく、画面の色が化けてしま
うことがあるため、通常はOFFにしてください。
なお、ハードウェアによる拡大処理にて画面を表示している場合は、この機能は
無効になります。


画面描画処理
------------
「フレームレート」（デフォルト：0）
画面の描画間隔を指定します。この値を大きくすると、動作は荒くなりますが実行
速度は上がります。
オートフレームスキップで動作させたい場合は、この値を 0 に設定してください。
フレームレート調整機構が自動的に描画間隔の調整を行い、実行速度を100%付近に
維持するように努めます。
1以上を設定した場合は固定フレームレートとなり、速度的に無理が生じる場合
でも指定されたフレームレートで描画しようとします。

「システムメモリにDirectDraw Surfaceを作成」（デフォルト：OFF）
ビデオドライバの問題で画面が正常に表示されないなどの問題が起こる場合に、こ
の項目をチェックしてみてください。通常、この設定を有効にすると動作が遅くな
ります。

「VSYNC同期」（デフォルト：OFF）
CRTの垂直帰線期間と同期を取って画面描画を行います。

「必要に応じてハードウェアストレッチを行う」(デフォルト：OFF)
一部のソフトでスプライト表示画面などをやや横長にする画面モードが使われてい
ます。このオプションを有効にしていると、そのような画面モードを実機に近い状
態で表示させることができます。

「起動時にデスクトップを16bppに切り替える」(デフォルト：OFF)
起動するときにデスクトップが16bpp以外であった場合、自動的に16bppへ切り替え
ます。うんづを終了させると元の設定色に戻ります。

「15kHzモード時にスキャンライン表示を行なう」(デフォルト：OFF)
画面モードが水平周波数 15kHz の際に、奇数ラスタの描画を飛ばすことで、スキャン
ラインが入ったような画面を再現します。また、描画量が少なくて済むため、動作も
高速になります。
なお、ハードウェアによる拡大処理にて画面を表示している場合は、スキャンライン
表示は行なわれません。


解像度・色数
------------
「標準画面モード」（デフォルト：640x480、16bpp）
「高解像度画面モード」（デフォルト：1024x768、16bpp）
「フルカラー画面モード」（デフォルト：640x480、32bpp）
フルスクリーンモードに使う解像度を指定します。「選択」ボタンをクリックすると
ビデオカードが対応している画面モードの中から解像度が 640x480 以上のものが列挙
されますので、その中から任意に選択してください。
画面領域よりも広い解像度を選択した場合、フルスクリーンモードでの表示領域は画面
中央になります。


5.サウンドの設定
---------------------------------------------------------------
出力デバイス（デフォルト：プライマリサウンドデバイス）
内蔵音源の音を出力するサウンドデバイスを指定します。

「サウンド合成レート」（デフォルト：44100Hz）
44100Hzから96000Hzの間からサウンド合成レートが選べます。値が高いほど、音質
は良くなりますが、そのぶんマシンへの負担は増します。

  ■注意■
    サウンドカードによって対応している合成レートは異なります。音が鳴らない
    場合は設定値を変えてみてください。

「バッファサイズﾞ」（デフォルト：20ms）
再生データを格納するバッファの大きさを指定します。大きな値にすると他のアプリ
を操作することによる音の途切れが低減します。しかし画面の進行と音の進行のずれ
が大きくなるほか、PCM音声の再生でプチノイズが出ることもあります。

「MIDI有効」(デフォルト：OFF)
MIDIカードエミュレーションを有効にします。

「出力デバイスA」(デフォルト：なし)
MIDIカードの出力ポートAに当たるデバイスを指定します。

「入力デバイス有効」(デフォルト：無効)
MIDI-INの有効・無効と、入力元のデバイスを指定します。

「カードタイプ」（デフォルト：FMT-402/403）
MIDIカードのIOアドレスのタイプを指定します。FMT-401タイプのMIDIカードしか対
応していないソフトを動作させるには、この設定を使ってFMT-401としてみてくださ
い。

「16ビットPCM有効」(デフォルト：有効)
白TOWNS以降で搭載された、16ビットPCMのエミュレーションを有効にします。


高度なサウンド設定
------------------
「高度な設定」をクリックすることにより、サウンドの拡張設定を行うことができ
ます。

「FM音源の再生にROMEOを使う」（デフォルト：OFF）
FM音源の出力をROMEOで行うか否かを指定します。この設定を有効にするには、
ROMEOが正常にインストールされていることのほか、pcidebug.dll と pcidebug.sys
 が Unz.exe と同じフォルダになければなりません。

「ローパスフィルタ有効」（デフォルト：OFF）
内蔵音源の再生データにフィルタをかけるか否かを指定します。有効にすると、主に
ノイズを低減させる効果があります。
窓関数、カットオフ周波数、フィルタ段数を好みに合わせてそれぞれ指定してくださ
い。窓関数とカットオフ周波数は音質に、フィルタ段数は音質と速度に影響します。
『FM TOWNSテクニカルデータブック』によると、実機のローパスフィルタのカット
オフ周波数は約4kHzとされています。

「音量カスタムコントロール」
Windowsのミキサを操作して、うんづ起動時に独自の音量設定を行えるようにします。
設定を有効にしたい項目をチェックし、Windowsミキサ設定値に対する比率を設定し
ます。


6.キーボードの設定
---------------------------------------------------------------
「キーボードの種類」（デフォルト：JISキーボード）
JISキーボードと親指シフトキーボードのどちらの接続状態を再現するのかを選択しま
す。
お使いのPCに実際に接続されているキーボードの種類とは無関係に選択できます。
つまり、親指シフトキーボードをお持ちでない場合でも、親指シフトキーボード接続
状態として認識させることが可能ですし、逆に、親指シフトキーボードを JISキーボー
ドに見立てて使うこともできます。
詳しい使い方は、下記「親指シフトキーボード使用時の注意点」をお読みください。

「親指シフト同時打鍵判定」
「打鍵監視間隔」（デフォルト：2/100秒に1回）
「判定時間」（デフォルト：3回の監視間隔まで許容）
親指シフト使用時で、なおかつ TownsOS が同時打鍵監視モードを有効にした場合に
これらの設定が機能します。ご自身の打鍵速度に応じてそれぞれ調整してください。
「打鍵監視間隔」とは、どれくらいの間隔で Windows からキー入力の取得を行うの
かを示す値です。この値を低めに設定すると、判定の精度は高まりますが、エミュ
レーション速度の低下が起こります。逆に、この値を高く設定すると同時打鍵の判定
は甘くなりますが、負担は軽減します。
「判定時間」は、どれほどの期間で同時打鍵を判定するのかを定める値です。この値
を大きく設定するほど同時打鍵が判定されやすくなりますが、打鍵からそのキー入力
が確定するまでに時間がかかるようになります。


親指シフトキーボード使用時の注意点
----------------------------------
左右の親指シフトキーと変換・無変換キーは、TOWNS上ではすべて固有のキーコード
を持っています。しかし、Windows上では左親指シフトキーと無変換キー、右親指
シフトキーと変換キーが同じキーコードで認識されてしまい、区別ができないよう
です。この問題に対処するため、次のような仕様にしました。

 (1)．左親指シフトキーと無変換キーは同じキーとみなし、区別しない
 (2)．右親指シフトキーと変換キーは同じキーとみなし、区別しない
 (3)．キーの打鍵状態に応じて左右の親指シフトキーとして機能するか、変換／無変
      換キーとして機能するかが決まる
 (4)．文字キーと同時打鍵された場合は、親指シフトキーとして機能する
      つまり、
        左親指シフトと「A」キーの同時打鍵  →  「左親指」と「A」の同時打鍵
        無変換と「A」キー の同時打鍵       →   同上
      右親指シフトキーについても同様です。
 (5)．単独で押して離した場合は、変換／無変換キーとして機能する
      つまり、
        右親指シフトを単独で押して離す  →  「変換」を押して離したと認識
        変換を単独で押して離す          →  同上

このように、打鍵方法によってキーの機能が振り分けられますので、親指シフトキー
を持たないキーボードでも、親指シフトキーボードのような入力を行なうことができ
ます。
また、このような仕様のため、キーのカスタマイズ上、左親指シフトキーと無変換
キー、右親指シフトキーと変換キーはそれぞれ強制的に同じキーへと割り付けられま
す。ご使用の親指シフトキーボードが、これらのキーを Windows 上で個別のキーとし
て認識できた場合はご一報ください。


キー割り当ての変更
------------------
CODEの部分をダブルクリックすると、キーの割り当てを変更できます。ただ、Windows
の制約のために、一部のキーは割り当てても正常に反応しないことがあります。
同様に、うんづのシステムキーおよびパッドのエミュレーションに使用するキーの設定
が行えます。

  ■注意■
    「半角／全角」キーや、「カタカナひらがな」キーは、キー押下状態の取得に
    問題が生じることがあるため、できるだけ使わないことをお勧めします。


拡張キーを使った2ストローク入力の方法
-------------------------------------
2ストロークによるキー入力を行うには、「システムキー」の設定で、「キー入力
拡張」に適当なキーを設定してください(以下、「拡張キー」と略記します)。
拡張キーとして設定されたキーは、それ以外の用途には使えませんので注意してく
ださい。
次に、キー割り当て変更ダイアログで、「拡張キーと組み合わせる」にチェック
をします。これで該当するキーが、拡張キー＋設定したキーの2ストロークで入力
できるようになります。2ストローク入力に設定されているキーは、「Windowsの
キー」の所に「EXT+」と表示されます。


7.ポートの設定
---------------------------------------------------------------
ポートは２つあり、それぞれマウス、パッド、アナログスティック、タブレットを
接続することができます。
パッドをカーソルキーで代用する場合は、カーソルキー、Z、X、F1、F2（ポート２
に接続した場合はF3、F4）を使います。それぞれ、方向ボタン、A、B、SELECT、RUN
に対応します。システムキーの設定により、これらのキーは変更できます。
なお、アナログスティックかタブレットを接続デバイスとして選択した場合は、
「拡張設定」にてデバイスの挙動の設定を行ってください。

「SELECTとRUNをキーボードのF1、F2で代用」（ポート1の場合）
「SELECTとRUNをキーボードのF3、F4で代用」（ポート2の場合）
これは、お使いのジョイスティックのボタンが足りず、SELECTとRUNに割り当てできる
ボタンがない場合を想定してつけたオプションです。

  ■ひとこと■
    TOWNSでは、パッドの上下あるいは左右を同時に押した状態がそれぞれ
    SELECT、RUNに該当しますが、キーボードで代用しているときにカーソル
    キーの上下あるいは左右を同時に押しても、SELECTやRUNを押したことには
    なりません。誤作動防止のためです。

「6ボタンパッド」（デフォルト：ON）
６ボタンパッドを有効にします。一部のソフトでは６ボタンパッド設定であるとパッ
ド入力が正常に読み取れないようです。その場合は設定を解除してください。

  ■注意■
    ポート１と２両方アナログスティック、あるいは両方にタブレットという接続は
    できません。


| 連射機能の設定
| --------------
| 方向ボタン、AおよびBボタンを連射させることができます。
| 連射速度は1〜20ショット/秒で調整してください。この値を0に設定すると、連射は
| 行われません。
| また、６ボタンパッドに設定している場合も、方向ボタンとABボタンのみが連射の
| 対象となり、６ボタンパッドによって拡張されるボタン(C、X、Y、Zボタン)は連射の
| 対象とはなりません。
| なお、アナログスティックはいずれのボタンも連射に対応していません。


アナログスティックの設定
------------------------
「座標テスト」の所にTOWNS側に伝えられる座標が常時表示されています。ここに表示
される値を参照しながら調整してください。

「XY座標入れ替え」（デフォルト：OFF）
アナログ入力のX座標とY座標を交換します。

「軸2は使わない」（デフォルト：OFF）
軸2(スロットルレバーと想定)からの入力を無効にし、常時０の状態にします。

  ■ひとこと■
   アナログスティック対応ソフトは、アナログスティックをポート０に接続してい
   ると決め打ちしているものが多いようです。


タブレットの設定
----------------
「動作モード」（デフォルト：シームレスマウス）
WACOMタブレットを検出した場合にのみ、タブレットが選択できるようになります。
この設定をタブレットにすると筆圧検出が行われます。

「画面モードごとの座標補正値」
ほとんどの場合デフォルトの設定値で問題ありませんが、タブレットやシームレス
マウスモードを使いたい画面モードでデフォルト値が合わないときは、これらの
値を調整してください。

「常に『その他』に従う」（デフォルト：OFF）
「その他」の所の設定値を常時参照するようにします。調整用に使ってください。

  ■注意■
    タブレットはフルスクリーンモードでは使えません。また、筆圧検出を行うに
    はマウスがキャプチャされていない状態でなければいけません。マウスキャプ
    チャが行われた状態では、TOWNSにはペンがタブレット領域外にあるものとし
    て伝えられます。


8.ハードディクスの設定
---------------------------------------------------------------
SCSIのハードディスクの接続状態を設定します。
「接続」で、そのユニットに接続するイメージファイルを選択します。「切断」を
押すことにより、ユニットからHDDを取り外します。

  ■ひとこと■
    HDDイメージファイルは、うんづを終了させても接続状態が保存されます。


ハードディスクイメージの作成
----------------------------
ハードディスクを使用するには、ハードディスクイメージファイル(以下、HDDイメー
ジと略記)を作成する必要があります。HDDイメージを作成するには「HDDイメージの
作成」ボタンをクリックするか、「接続」ボタンをクリックしてください。ファイル
ダイアログが開きますので、適当なファイル名を入力します。
続いてHDDイメージのサイズ指定ダイアログが開きます。ここで入力する値がハード
ディスクの容量です。必要な容量を入力後、「OK」ボタンを押すことでHDDイメージが
作成されます。
ハードディスクの区画設定やフォーマット等の方法は、すべてTOWNS実機に準じます。
詳しくはTOWNSのマニュアルをご覧ください。


9.ETC
---------------------------------------------------------------
「マウスキャプチャ」(デフォルト：ホイール操作)
マウスキャプチャをするための操作方法を選択します。「ホイール操作」「中ボタ
ン」「右ダブルクリック」から選択してください。チェックを付けた項目はすべて
マウスキャプチャ操作として認識されます。
なお、フルスクリーンモード動作中は本項目を変更することはできません。

「Windowsのメッセージでホイールを認識」（デフォルト：OFF）
通常ホイール操作は DirectInput で行われます。しかし一部のマウスドライバでは
正常に認識できないようなので、そのような場合はこのオプションをONにしてみてく
ださい。

「背面にある時にCPU使用率を抑制」
うんづのウィンドウがアクティブになっていないときには、CPU使用率を下げ、でき
るだけ他のアプリケーションへ制御を渡すようにします。

「メニュー選択中はエミュレーションを中断」(デフォルト：OFF)
プルダウンメニューの選択状態に入った時に、エミュレーションを中断します。メ
ニュー操作が終わるとエミュレーションが再開されます。全力駆動モードや動作が
重く、メニューの選択がやりにくい場合に有効にしてみてください。

「ALTキーによるメニュー選択を抑制」(デフォルト：OFF)
ALTキーを押すことによるプルダウンメニューの起動を無効にします。ALTキーに
システムキーやTOWNSのキーを割り当てたい場合に有効にしてください。

「マウスホイールを上下カーソルに割り当てる」(デフォルト：OFF)
マウスのホイール操作を、キーボードの上下カーソルキーの押下げに読み替えます。
すなわち、ホイールを上側に回転させるとカーソルキーの上が、下側に回転させる
とカーソルキーの下が、それぞれ押されたことになります。
なお、この設定が有効になっている場合、ホイール操作によるマウスキャプチャを
行うことはできません。

「処理優先度」(デフォルト：システム標準設定)
うんづのプロセスの優先度を指定します。同時に起動させている他のアプリよりも
うんづの動作を優先させたい、あるいは他のアプリを優先させたい場合に設定を
変更します。


メニューの説明
---------------------------------------------------------------
ファイル
  リセット・・・・・・・・・システムをリセットします
  キー押下リセット・・・・・特定のキーを押していることにしてリセットします
  CD
      CDをキャプチャ/ ・・・CDの挿入状態によって変化します
       CD入れ替えの通知     CDをキャプチャ : CDの挿入を通知します
                            CD入れ替えの通知 : CDのメディアが交換された
                                               ことを強制的に通知します
      CD取り出し・・・・・・ドライブからCDを取り出します
  メモリカード
      挿入・・・・・・・・・ICメモリカードイメージを挿入状態にします
      取り出し・・・・・・・ICメモリカードイメージを取り外します
  ステート保存・・・・・・・全てのマシンステートをファイルへ保存します
  ステート復元・・・・・・・マシンステートファイルを読み込んで再開します
  電源切断・・・・・・・・・うんづを終了します

ドライブ0
ドライブ1
  挿入・・・・・・・・・・・ドライブにディスクイメージをマウントします
  取り出し・・・・・・・・・ドライブからディスクイメージを取り外します
  書き込み保護・・・・・・・ディスクを書き込み禁止状態にします

表示
  フルスクリーン・・・・・・フルスクリーン/ウィンドウ表示切替を行ないます
  ウィンドウサイズ・・・・・画面領域の大きさを指定します
  ウィンドウ拡大・・・・・・ウィンドウ表示時の拡大率を指定します
  タイトルバー
      フレームレート・・・・タイトルバーにフレームレートを表示します
      動作比率・・・・・・・タイトルバーに動作比率(％)を表示します
      ディスクイメージ名・・ステータスバー非表示時にディスクイメージの
                            ファイル名をタイトルバーに表示します
  ステータスバー
      ステータスバー・・・・表示／非表示
      初代音量メータ・・・・初代タイプの音量メータを表示します
      ２代目音量メータ・・・２代目タイプの音量メータを表示します
      FDイメージ名・・・・・FDアイコンだけでなく、イメージファイル名も
                            ステータスバー内に表示します

設定
  プロパティ・・・・・・・・プロパティシートを開きます
  動作クロック・・・・・・・現在の動作モードの動作クロックを切り替えます
  フレームレート・・・・・・フレームレートを指定します
  動作速度・・・・・・・・・動作速度を(1)標準、(2)CPU全力、(3)全体高速
                            のいずれかに切り替えます
  ポートの一時入れ替え・・・パッド・マウスポートの1と2を入れ替えます
  描画方式・・・・・・・・・画面描画方式を指定します

ツール
  画面キャプチャ・・・・・・クリップボードかファイルに画面をキャプチャします
                            水平・垂直に半分に縮小してキャプチャすることもできます
  カラオケの準備・・・・・・サブチャネルファイルを指定します
  デバッグ・・・・・・・・・各種デバッグオプションです
  モニタ・・・・・・・・・・別のウィンドウを開いて動作モニタを表示します

ヘルプ
  うんづについて・・・・・・バージョン情報です


//////////////////////////////////////////////////////////////////////////
その他
------

ドラッグ＆ドロップによるFDイメージの挿入
----------------------------------------
FDイメージファイルは うんづのウィンドウ上にドロップすることによりセット
することもできます。この機能は次のような仕様になっています。

・うんづのウィンドウ領域の左半分にドロップした場合、ドライブ0に挿入する
・うんづのウィンドウ領域の右半分にドロップした場合、ドライブ1に挿入する
・ 2つ以上のファイルがドロップされた場合、先頭の 2つのファイルを順にドライ
  ブ0、ドライブ1へと挿入し、3つ目以降のファイルは無視される

  ■注意■
   ドロップされたファイルは、それが本当のFDイメージか否かを問わず、FDイメー
   ジとしてセットされます。誤ってファイルを壊したりしないように、ドロップ
   するファイルには十分な注意を払ってください。


スナップショットキーによる画面のキャプチャ
------------------------------------------
システムキーによる画面のキャプチャを行うことができます。ファイルダイアログ
を開かずに画面のキャプチャができますので、連続して画面をキャプチャするよう
なときに有用です。次のような仕様になっています。

1.スナップショットキーを初めて押した場合、ファイルダイアログを開いて
  ファイル名とパスを要求する
2.次回以降、スナップショットキーを押すと
    [1.で保存したファイル名]+[連続キャプチャ回数-1].bmp
  というファイルが保存される。例えば、1.で abc.bmp というファイル名
  で保存した場合、2回目以降は abc0.bmp、abc1.bmp...というファイル名
  で保存されていきます
3.メニューから画面のキャプチャを一度でも実行すると、1.に戻る


マシンステートの保存と復元
--------------------------
メニューの「ステート保存」および「ステート復元」から、TOWNSの全ての状態を
ファイルへ保存したり、逆に保存した状態を復元したりできます。拡張子「unz」
のファイルがステートファイルです。
以下の状況では特に注意して使用してください。

 1.FDやHD、CDといったメディアへのアクセス途中
 2.CD-DA演奏中断中
 3.MIDI演奏中

ステート復元時には以下の条件を全て満たしている必要があります。

 1.ステートファイルのバージョンが適合している
 2.コンポーネントのローカルバージョンが全て適合している
 3.同じCD-ROMメディアが挿入されている
 4.接続中のHDイメージが保存時点から更新されていない
 5.エミュレーションモード(TOWNS/MARTY)が現在の動作モードと一致している

 ■注意■
 この機能の特殊性に鑑み、将来的にも正常な動作を約束できません。あくまで
 割り切って使用するものと考えてください。


ウィンドウサイズのユーザ設定
----------------------------
メニューの「表示」→「ウィンドウサイズ」→「ユーザ設定」から、画面表示
領域を任意の大きさに設定できます。ユーザ設定値は、水平16ピクセル、垂直
2ピクセル単位で指定でき、設定を4つまで保持します。
それぞれの最小値は、水平640ピクセル、垂直480ピクセルで、最大値は現在の
デスクトップの大きさになります。
なお、この設定値は、ハイレゾモードとフルカラーモードに対しては効果があ
りません。


//////////////////////////////////////////////////////////////////////////
謝辞
----

エミュレータの基本的な動作原理については、「FinalBurn」、「けろぴー」、
「XM7」のソースを参考にしました。
YM2612エミュレーション部分は、MAMEのソースより佐藤達之氏作成の fm.c を参考
にさせていただきました。
漢字ROMデコードルーチンには、カト氏からご提供いただいたソースコードの一部が
使われています。
ROMEOによるFM音源再生部分ついては、うさ氏、GORRY氏ほかによるjuliet.cppを
参考にさせていただきました。

これらの方々に、この場を借りてお礼申し上げます。
また、動作確認用のソフト収集をはじめα版(人柱版)のテストに助力してくれた、友
人のMAG魔大使氏に感謝します。


//////////////////////////////////////////////////////////////////////////
おれにも言わせろ!!----感想・要望・バグ報告は・・・
--------------------------------------------------

うんづを使っていて感じたこと、こんな機能を付けて欲しい、このソフトをぜひ動く
ようにしてほしい・・・などなど、何でもお待ちしています。作者へ「愛」を送れば、
要望も叶うかも(ぉぃ


公式サイト：http://members.at.infoseek.co.jp/townsemu/
開発者へメール：kasanova@retropc.net

