==============================================================================
    HITACHI MB-S1 model05 Emulator
        SDL2 + Mac Cocoa edition
                                                             Version 0.9.1
                                                                2025/11/15

Copyright(C) Common Source Code Project, Sasaji 2011-2025 All Rights Reserved.
==============================================================================

● はじめに

  このソフトは、日立MB-S1のような動きをするエミュレータです。

------------------------------------------------------------------------------
● 索引
------------------------------------------------------------------------------

  ● 主な機能
  ● 動作確認環境
  ● 動作に必要なもの
  ● インストール
  ● アンインストール
  ● 使い方
    ○ メニュー説明
    ○ キー操作説明
    ○ ジョイパッド設定ダイアログ(Joypad Setting...)
    ○ キー割り当てダイアログ(Keybind...)
    ○ 設定ダイアログ(Configure...)
    ○ 音量設定ダイアログ(Volume...)
    ○ 録画設定ダイアログ(Record Screen)
    ○ 録音設定ダイアログ(Record Sound)
    ○ 仮想キーボード(Virtual Keyboard)
  ● 録画＆録音で使用するライブラリについて
  ● コマンドラインオプション
  ● ドラッグ＆ドロップ
  ● その他補足
    ○ ディスクイメージについて
    ○ カセットテープイメージについて
    ○ キー入力記録ファイル(l3kファイル)について
    ○ マウスについて
    ○ ジョイスティック
    ○ 漢字ROM
    ○ LEDインジケータ
  ● 開発環境
  ● 参考文献
  ● 謝辞
  ● クレジット
  ● 免責事項

------------------------------------------------------------------------------
● 主な機能
------------------------------------------------------------------------------

  CPU: スピード0.5～16倍
  RAM: 標準64KB(VRAMに16KB使用) + VRAM32KB + TEXT4KB + 拡張0～512KB
  画面表示: 320x200 8/16色, 640x200 8/16色, 320x200 64色, 640x400 単色, IG
  サウンド: MUSIC_SEL, PSG3重和音 + 拡張PSG3重和音
      FM音源カード(YM2203 OPN相当)(I/O 1985年6月号掲載)
      Bモード用 6重和音PSG(MP-9710を想定), 9重和音PSG(I/O 1983年8月号掲載)
  カセットテープ入出力
  プリンタ出力
  RS-232C入出力
  マウス入力
  漢字ROM: MPC-KA01S、MPC-KA02Sを想定
  FDD: 以下を選択して使用可能
       片面単密度(1S) 3インチコンパクトフロッピー
        (MB-S1/10,20 + MP-1805 + MP-3375 x2 を想定)
       両面倍密度(2D) 5.25インチミニフロッピー
        (MB-S1/10,20 + MP-1870 + MP-3560 x2 を想定)
       両面高密度(2HD) 5.25インチミニフロッピー
         ドライブ0,1が2HD、ドライブ2,3が2D専用となります。
        (MB-S1/30,40 + MP-1870 + MP-3560 を想定)
  通信カード MPC-CM01
  Z80Bカード(中部本多通商のものを想定)
  68008カード(MPC-68008を想定)

  詳細についてはspec.txtを参照ください。

------------------------------------------------------------------------------
● 動作確認環境
------------------------------------------------------------------------------

  MacOS版  : Mac OS Sequoia (15.6.1) / High Sierra (10.13.6)
             Apple silicon / Intel 64bitでビルドしています。

  使用デバイス：キーボード、マウス、ジョイスティック

------------------------------------------------------------------------------
● 動作に必要なもの
------------------------------------------------------------------------------

  このソフトの動作には実機のROMイメージが必要です。以下のファイルを用意して
  ください。
  (1) S1 ROM BASIC (AモードでBASICを使用する場合必須)
    ・S1BAS1.ROM : $E0000-$E7FFF (32KB)

    ・S1BAS2.ROM : $E8000-$EFFFF (32KB)
        または
      S1ROM2.ROM : $E8000-$EFDFF
    + S1ROMI.ROM : $EFFF0-$EFFFF

  (2) L3 ROM BASIC (BモードでBASICを使用する場合必須)
    ・L3BAS.ROM  : $FA000-$FFFFF (24KB)
        または
      ROM1.ROM   : $FA000-$FFEFF
    + ROM2.ROM   : $FFFF0-$FFFFF

  (3) キャラクターフォントイメージ（必須）
    ・FONT.ROM   : $BD000-$BDFFF (4KB) L3と互換
        または
      S1FONT.ROM : IC27(8KB) 画面表示で使われているキャラクターフォントROM
        toolフォルダにあるS1FONT.ROMは拙作のもので実機のものとは異なります。

  (4) ディスクブート用ROMイメージ（BモードでDISK BASICを使用する場合）
      MP1802.ROM : 5インチフロッピーI/Fボード(型番:MP-1802/A)に搭載されているROM。
          L3から抜き出したL3 ROM BASICの場合で、5インチFDから起動する場合必須。

      MP1805.ROM : 3インチフロッピーI/Fボード(型番:MP-1805)に搭載されているROM。
          S1から抜き出したL3 ROM BASICの場合で、3インチFDから起動する場合必須。

  (5) 漢字ROM（漢字BASIC、日本語ワードプロセッサを使用する場合必須）
    ・KANJI.ROM  : JIS第一水準(128KB)
    ・KANJI2.ROM : JIS第二水準(128KB)
                  toolフォルダに擬似漢字ROMイメージを作成するソフトがあります。
    ・S1DIC.ROM : $D0000-$D8000 (32KB) 漢字辞書用ROM
                  toolフォルダに擬似漢字辞書ROMイメージを作成するソフトが
                  あります。

  (6) FM音源YM2608(OPNA)のリズム音データ(OPNAのリズム音源を使用する場合必須)
    ・2608_BD.WAV  : バスドラム
    ・2608_SD.WAV  : スネアドラム
    ・2608_TOP.WAV : トップシンバル
    ・2608_HH.WAV  : ハイハット
    ・2608_TOM.WAV : タムタム
    ・2608_RIM.WAV or 2608_RYM.WAV : リムショット
          各ファイルは、無圧縮PCM、44100～48000Hz、16bit、モノラル。

  (7) 通信ROM（任意）
    ・MPC-CM01.ROM : (32KB) 通信カードMPC-CM01に搭載されているEPROM。
    ・mpc-cm01.eeprom : (8KB)  通信カードMPC-CM01に搭載されているEEPROM。
        このイメージは無くても構いません。使用する場合は、設定ファイルと同じ
      フォルダにおいてください（ファイル名は小文字にすること）。

  (8) リレー音、FDDシーク音、FDDモータ音ファイル（任意）
      relay_on.wav     : リレーON時の音声ファイル。
      relayoff.wav     : リレーOFF時の音声ファイル。
                     テープのロード/セーブ時に鳴るリレー音です。
      fddseek3.wav     : 3インチFDD使用時のヘッドシーク音ファイル。
      fddmotor3.wav    : 3インチFDD使用時のモータ音ファイル。
      fddheadon3.wav   : 3インチFDD使用時のヘッドロード音ファイル。
      fddheadoff3.wav  : 3インチFDD使用時のヘッドアンロード音ファイル。
      fddseek5.wav     : 5.25インチ(2D)FDD使用時のヘッドシーク音ファイル。
      fddmotor5.wav    : 5.25インチ(2D)FDD使用時のモータ音ファイル。
      fddheadon5.wav   : 5.25インチ(2D)FDD使用時のヘッドロード音ファイル。
      fddheadoff5.wav  : 5.25インチ(2D)FDD使用時のヘッドアンロード音ファイル。
      fddseek5h.wav    : 5.25インチ(2HD)FDD使用時のヘッドシーク音ファイル。
      fddmotor5h.wav   : 5.25インチ(2HD)FDD使用時のモータ音ファイル。
      fddheadon5h.wav  : 5.25インチ(2HD)FDD使用時のヘッドロード音ファイル。
      fddheadoff5h.wav : 5.25インチ(2HD)FDD使用時のヘッドアンロード音ファイル。
          各ファイルは、無圧縮PCM、11025～48000Hz、8または16bit、モノラル。
          長さが約0.25秒までのもの。

  (9) ffmpegのライブラリ（任意）
      詳細は、「録画＆録音で使用するライブラリについて」を参照してください。

  -----
    CLUB09氏のS1エミュのものを流用する場合は、ファイル内の先頭5バイトと
  末尾5バイトをとり除いてください(KANJIを除く)。対応は以下の通り：
        S1ROM1 → S1BAS1.ROM
        S1ROM2 → S1ROM2.ROM
        S1ROMI → S1ROMI.ROM
        FONT   → FONT.ROM
        KANJI  → KANJI.ROM
        DIC    → S1DIC.ROM
        BOOT2HD   不要 (ディスクイメージ側のブートストラップを使用するため）

    CLUB09氏のL3エミュのものを流用する場合は、ファイル内の先頭5バイトと
  末尾5バイトをとり除いてください。対応は以下の通り：
        ROM1 → ROM1.ROM
        ROM2 → ROM2.ROM
        FONT → FONT.ROM


------------------------------------------------------------------------------
● ファイル構成
------------------------------------------------------------------------------

    mbs1/
      readme.txt      ... このファイル
      history.txt     ... 変更履歴
      spec.txt        ... 本ソフトの詳細仕様
      mbs1.app/       ... アプリケーションフォルダ
        Contents/
          MacOS/
            mbs1      ... ソフト本体
          Resources/  ... リソースフォルダ
            mbs1.icrn ... アイコン
            locale/   ... ローカライズ用フォルダ
              ja/
                LC_MESSAGES/
                  mbs1.mo  ... 日本語用翻訳ファイル
      tool/           ... ツール
        S1FONT.ROM    ... フォントファイル
        kanji/        ... 疑似漢字ROMイメージ作成
          mkkanji     ... 作成プログラム
          kanji.txt   ... 上記で使用する漢字マッピングファイル(JIS第一水準)
          kanji2.txt  ... 上記で使用する漢字マッピングファイル(JIS第二水準)
          readme.txt  ... 疑似漢字ROMイメージ作り方の説明
        dict/         ... 疑似漢字辞書ROMイメージ作成
          mkdic.pl    ... 作成用perlスクリプト
          mkdic.py    ... 作成用pythonスクリプト
          readme.txt  ... 疑似漢字辞書ROMイメージ作り方の説明
          s1dic.txt   ... 上記で使用するマッピングファイル


------------------------------------------------------------------------------
● インストール
------------------------------------------------------------------------------

  1. アーカイブを解凍するとmbs1フォルダがありますので、mbs1フォルダを
     任意の場所にコピーしてください。

 【注意】システムフォルダやアプリケーションフォルダにはコピーしないでください。

  2. 実機から取り出したROMイメージをmbs1.appフォルダがある場所、または
     適当なフォルダに置いてください。

   ・キャラクターフォントROMイメージがない場合は、toolフォルダにあるS1FONT.ROM
     ファイルで代用できます。
   ・漢字のROMイメージがない場合は、toolフォルダにあるmkkanjiを実行して、
     疑似KANJI.ROM、疑似KANJI2.ROMファイルを作成できます。
   ・漢字辞書のROMイメージがない場合は、toolフォルダにあるmkdicを実行して、
     疑似S1DIC.ROMファイルを作成できます。

  3. ジョイスティックを使用する場合、予め接続しておいてください。

  4. mbs1フォルダにある実行ファイルを起動してください。

     別のフォルダにROMイメージがある場合：
     設定ダイアログの CPU,メモリ(CPU,Memory) -> ROMパス(ROM Path) でROMイメージ
     のあるフォルダを指定した後、操作(Control) -> パワーオン(PowerOn) を
     おこなうか、このソフトを再起動してください。

  5. FDDを使用する場合は、メニューのFDDタイプ(FDD Type)、または、左option+Fで
     どのFDDを使用するか選択した後、操作(Control) -> パワーオン(PowerOn) を
     おこなうか、このソフトを再起動してください。

    FDDを使用する状態では、前回動作時にFDD0にて最後に使用したディスクイメージを
    起動ディスクとします。

    実行すると、mbs1.appフォルダがある場所に以下のファイルが作成されます。
      mbs1.ini ... 設定ファイル
      mbs1.log ... 実行ログ
      keybind.ini ... キー設定ファイル
    ・コマンドラインで設定ファイルを指定すると、そのファイルがあるフォルダ下に
      作成されます。

  起動しない場合：

  ※「開発元が未確認のため開けません。」と出る場合は、Controlキーを押しながら
    マウスをクリックし「開く」を選んだあと、さらに「開く」をクリックします。
  ※ 上記操作で開けない場合は、  システム環境設定→セキュリティーとプライバシー
    を開き、「Mac App Store と確認済みの開発元からのアプリケーションを許可」を
    選択して再度行ってください。

  ※ Sierra (10.12)以降で設定ファイルなどが保存されない場合：
     App Store以外からダウンロードしたアプリはファイル保存ができないことが
    あります。
     こういう場合は、一度appフォルダを別のフォルダに移動してから、再度元の
    フォルダに戻します。

    上記以外の場合、mbs1.logを開いてエラーメッセージを確認してください。
    ターミナル/コマンドプロンプトから実行して出力されるメッセージを確認
    して下さい。

------------------------------------------------------------------------------
● アンインストール
------------------------------------------------------------------------------

  インストールしたフォルダを削除してください。

------------------------------------------------------------------------------
● 使い方
------------------------------------------------------------------------------

  --------------------------------------------------------------------------
○ メニュー説明

 mbs1メニュー
  「mbs1について(About mbs1)」..........
                                  バージョンを表示するダイアログを開きます。

  「終了(Exit)」 ................ 本ソフトを終了します。


「操作(Control)」メニュー
  「パワーオン(PowerOn)」 ....... 電源を入れなします。（コールドリセット）
          パワーオフ状態を有効にしている場合は、電源オン/オフを切り替えます。
  「リセットスイッチ(Reset Switch)」.. リセットスイッチ

  「システムモード(System Mode)」
    「Aモード (S1) (A Mode (S1))」... S1モードで起動。
    「Bモード (L3) (B Mode (L3))」... L3モードで起動。

  「FDDタイプ(FDD Type)」
    「FDDなし(No FDD)」 ......... FDDを使用しない。
    「3インチコンパクトFDD(3inch compact FDD)」
       .......................... 3インチコンパクトFDDを使用。
    「5.25インチミニFDD(2Dタイプ)(5.25inch mini FDD(2D))」
       .......................... 5.25インチミニFDD(2D)を使用。
    「5.25インチミニFDD(2HDタイプ)(5.25inch mini FDD(2HD))」
       .......................... 5.25インチミニFDD(2HD)を使用。

  「ポーズ(Pause)」 ............. ポーズ

  「CPUスピード(CPU Speed)」 .... CPUスピード サブメニュー
    「CPU 0.5倍(CPU x0.5)」...... CPUスピード x0.5～x16倍に切り替えます。
         :
    「CPU 16倍(CPU x16)」

    「デバイスをCPUスピードと同期(Sync Devices With CPU Speed)」 ..........
          チェックすると全体のスピードをCPUスピードに合わせます。
          チェックを外すとCPUスピードのみ変化します。

  「オートキー(Auto Key)」 ...... 自動キー入力 サブメニュー
    「開く...(Open...)」 ........ 指定したファイルの内容を自動で入力します。
    「貼り付け(Paste)」 ......... クリップボードのテキストを自動で入力します。
    「停止(Stop)」 .............. 自動で打ち込み中のテキストを停止します。

  【注意】ローマ字入力は解除してください。

  「キーを記録(Record Key)」 .... キー入力記録 サブメニュー
    「再生...(Play...)」 ........ 記録したキー入力記録ファイルを再生します。
    「再生を停止(Stop Playing)」.. キー入力記録ファイルの再生を停止します。
    「記録...(Record...)」 ...... 指定したファイルにキー入力を記録します。
          最初に、現在の状態をステートファイルに保存します。
          次に、キー入力情報を記録するファイルを指定します。
          オープンしているテープイメージ、ディスクイメージがあればその
        ファイルパスも保存します。
          詳細については後述のキー入力記録ファイルについてを参照ください。
    「記録を停止(Stop Recording)」.. キー入力の記録を停止します。

  「状態をロード...(Load State...)」.. 状態ファイルを内部メモリにロードします。
  「状態を保存...(Save State...)」.. 内部メモリの状態を状態ファイルに保存
    します。

  「最近使用した状態ファイル(Recent Status Files)」 ..........
          最近使用したファイル名が最大20ファイル表示されます。
          選択するとこのファイルをロードします。

  【注意】テープやFDDのロード/セーブ中に使用しないでください。
          特にセーブ中に行うとデータを破壊する可能性があります。


「テープ(Tape)」メニュー
  「再生...(Play...)」 .......... 再生ボタンを押した状態になります。
          再生したいデータファイルを選択しておき、本体側でロードコマンドを実行
        することでファイルが再生されます。
          サポートしているファイルは、
            wavファイル: PCM（無圧縮）11025/22050/44100/48000Hz 8/16bit
            l3c,l3b,l3,t9xファイル

  「録音...(Rec...)」 ........... 録音ボタンを押した状態になります。
          録音したいデータファイル名をあらかじめ設定し、本体側でセーブコマンド
        を実行することでファイルに書きこまれます。
          保存ダイアログで選択した種類で保存される形式が決まります。
            wavファイル: PCM（無圧縮）サンプリングレートはあらかじめ設定
                                      ダイアログで設定しておきます。
            l3c,l3b,l3,t9xファイル

  「取り出し(Eject)」 ........... カセットを取り出した状態にします。
          再生・録音状態を停止しファイルを閉じます。

  【注意1】デフォルトでは上書きになります。追記する場合は、早送り(F.F.)で
           ファイル末尾まで早送りしてください。
  【注意2】録音終了後は、必ずEjectしてファイルを閉じるようにしてください。

  「巻き戻し(Rewind)」 .......... ファイル先頭まで巻き戻しします。

  「早送り(F.F.)」 .............. ファイル末尾まで早送りします。

  「停止(Stop)」 ................ 巻き戻し・早送りを停止します。

  【注意】再生・録音状態を止めるには取り出しを使用してください。

  「リアルモード(Real Mode)」 ... 実機に近いスピードで再生・録音を行います。
          カセットテーブの遅さが実感できます(^^;
        ・このモードでは再生音（ピーガー音）が発生します。
        ・このモードではMOTOR ONで再生・録音を進めることができます。

  「最近使用したファイル(Recent Files)」 ..........
          最近使用したファイル名が最大20ファイル表示されます。
          選択するとこのファイルを再生状態にします。


「FDD0/1/2/3」メニュー
  「挿入...(Insert...)」 ........ ディスクイメージを開きます。
          マルチボリューム形式のディスクイメージをFDD0で開いた場合、1番目の
        ボリュームをFDD0、2番目のボリュームをFDD1で開きます。同様にFDD2で
        開いた場合、2番目のボリュームをFDD3で開きます。

  【注意】d88形式以外のディスクイメージは正しく読み込めない可能性があります。
  【注意】2HDタイプの場合、ドライブ0,1が2HD、ドライブ2,3が2D専用となります。
          詳細は「ディスクイメージについて」の項を参照ください。

  「A/B面に変更(Change Side to A/B)」..【3インチコンパクトFDD使用時のみ】
          ディスクのA面/B面を入れ替えます。

  「取り出し(Eject)」 ........... ディスクイメージを閉じます。
          ディスクに書き込んだデータは、取り出し操作を行うか、約5秒無操作で
        実際のディスクイメージファイルに保存されます。

  【注意】ベタのディスクイメージはデフォルトではd88形式に変換して保存します。
          ベタ形式のまま保存もできます。これは設定ダイアログの「テープFDD」
          タブで変更できます。

  「新規(New)」 ................. 新規にディスクイメージを作成し開きます。
    「ブランク2Dを挿入(Insert Blank 2D)」 ... 5インチ2Dのディスクイメージ
        3インチ、5インチ単密度のディスクイメージはこちらを選択してください。
    「ブランク2HDを挿入(Insert Blank 2HD)」.. 5インチ2HDのディスクイメージ
        8インチ2Dのディスクイメージはこちらを選択してください。

  【注意】別途フォーマットを行う必要があります。

  「書き込み禁止(Write Protect)」... ライトプロテクト
          OFF->ONに変更した時点で、これまでの変更およびライトプロテクト属性を
        ディスクイメージに保存します。

  【注意】ホストOSの属性で読み込み専用にしている場合、このメニューからライト
          プロテクトを外すことはできません。
  【注意】hfe形式は読み出し専用のためプロテクトを外すことはできません。

  「マルチボリューム(Multi Volume)」 ..........
          複数のディスクイメージが含まれるファイルの場合は、このメニューから
        各ボリュームを選択できます。

  「最近使用したファイル(Recent Files)」 ..........
          最近使用したファイル名が最大20ファイル表示されます。
        選択するとどのドライブで使用するか選択ダイアログが表示されます。


「画面(Screen)」メニュー
  「フレームレート(Frame Rate)」. フレームレート サブメニュー
    「自動(Auto)」 .............. 可変フレームレート。
        フレームレートが安定しないときは固定フレームレートにしてみてください。
    「60fps」 ................... 60fps固定フレームレート。
    「30fps」 ................... 30fps固定フレームレート。
        :
    「10fps」 ................... 10fps固定フレームレート。

  「録画(Record Screen)」 ....... 録画 サブメニュー
    「640x480」............. 録画や画面キャプチャ時の解像度を640x480にします。
    「768x512」............. 録画や画面キャプチャ時の解像度を768x512にします。

    「60fpsで録画(Rec 60fps)」... 60fpsで録画開始します。
    「30fpsで録画(Rec 30fps)」... 30fpsで録画開始します。
          :
    「10fpsで録画(Rec 10fps)」... 10fpsで録画開始します。
          最初、録画ダイアログがでますので録画に使用するライブラリをタブで
        選択し、その後コーデックや品質を選択してください。
          次ボタンを押すとつづけて録音ダイアログがでますので同様に録音の
        コーデックを選択してください。
          開始ボタンを押すと録画＆録音を開始します。
          ffmpegは別途ライブラリをインストールことで録画できます（後述）。

      【注意】動画ファイルと音声ファイルは別々に出力されます。

    「停止(Stop)」 .............. 録画を停止します。
          設定ダイアログのスナップショットパスにて指定したフォルダ、または
        ソフトと同じフォルダに動画ファイルと音声ファイルが<日付日時>の形式で
        作成されます。

    「キャプチャ(Capture)」 ..... 現画面をキャプチャします。
          設定ダイアログのスナップショットパスにて指定したフォルダ、または
        ソフトと同じフォルダに<日付日時>.bmpまたは.pngが作成されます。

  「ウィンドウ(Window)」 ........ ウィンドウモード サブメニュー
    「WWWxHHH xM」 ..... ウィンドウサイズWWW x HHH、倍率M倍で表示。

  「フルスクリーン(Fullscreen)」.. フルスクリーンモード サブメニュー
    「画面を引き伸ばす(Stretch Screen)」..........
          画面のサイズに合わせて表示を拡大します。
    「画面の余白を切る(Cutout Screen)」 ..........
          なるべく画面の余白をなくす形で拡大します。
    「[n] WWWxHHH」 .... n番目のモニタで解像度WWW x HHHで表示。

  【注意1】フルスクリーンモードはプライマリモニタに対してのみとなります。
  【注意2】フルスクリーンではメニューが表示されません。
           左option+Return または 画面左上でマウスを右クリックするとウィンドウ
           モードに戻ります。

  「アスペクト比(Aspect Ratio)」 .. アスペクト比変更 サブメニュー
        画面ピクセルの縦横比率を変更します。横幅：縦幅。

  「描画モード(Drawing Mode)」 .... 描画モード サブメニュー
    「フル描画(Full Draw)」 ......... 常にすべてのピクセルを描画
    「走査線(Scanline)」 ............ ブラウン管モニタのように描画
          1ラインごとにとびとびで表示します。
          インターレースモードではチラツキます。
    「縞模様(Stripe)」 .............  1ラインごとにとびとびで交互に描画
          描画処理が若干軽くなりますが、フレーム落ちが発生すると縞模様の残像が
        表示されます。
    「市松模様(Cheker)」 ...........  格子状に描画
          描画処理が若干軽くなりますが、格子状の残像が表示されます。

  「残像モード1(Afterimage1)」 .. 残像モード１
          インターレースでもチラツキが少なくなる長残光形ディスプレイを再現(^^
  「残像モード2(Afterimage2)」 .. 残像モード２
          1フレーム残像が残ります。

  「デジタルRGB(Digital RGB)」... 画面表示をデジタル16色相当にします。
  「アナログRGB(Analog RGB)」.... 画面表示をアナログ64色相当にします。

  「描画方法(Drawing Method)」 .... 描画方法 サブメニュー
    「デフォルト(同期)(Default(Sync))」..........
          デフォルト描画。モニタのリフレッシュレートと同期しながら描画。
    「デフォルト(非同期)(Default(Async))」.......
          デフォルト描画。モニタのリフレッシュレートと同期せずに描画。
    「OpenGLを使用(同期)(Use OpenGL(Sync))」..........
          OpenGLを使用してモニタのリフレッシュレートと同期しながら描画。
    「OpenGLを使用(非同期)(Use OpenGL(Sync))」........
          OpenGLを使用してモニタのリフレッシュレートと同期せずに描画。

  【注意】ホストOSやグラフィックボードがOpenGLに対応している必要があります。
          対応していない場合その項目は選択できません。

  「フィルタ種類(Filter Type)」.... フィルタ種類 サブメニュー
    画面を拡大した時の補間方法を指定します。
    「ニアレストネイバー(Nearest Neighbor)」.......
          ギザギザが目立つ画面になります。
    「バイリニア(Bilinear)」.......
          滑らかになりますがすこしぼやけた画面になります。


「サウンド(Sound)」メニュー
  「ボリューム...(Volume...)」 .. 音量を調節するダイアログが表示されます。
  「録音(Record Sound)」 ........ 録音 サブメニュー
    「開始...(Start...)」........ 録音を開始します。
          録音ダイアログがでますので録音に使用するライブラリをタブから選択し、
        その後コーデックを選択してください。
          開始ボタンを押すと録音を開始します。
          ffmpegは別途ライブラリをインストールことで録音できます（後述）。

    「停止(Stop)」............... 録音を停止します。
          音声ファイルは、設定ダイアログのスナップショットパスにて指定した
        フォルダ、またはソフトと同じフォルダに<日付日時>.<拡張子>の形式で
        作成されます。

  「8000Hz」 .................... 再生/録音のサンプリングレートを設定します。
      :
  「96000Hz」

  「50ミリ秒(50msec.)」 ......... 音が出力されるまでのディレイ時間を設定します。
      :
  「400ミリ秒(400msec.)」

  【注意】サンプリングレート、ディレイ時間を反映するにはこのソフトを再起動
          する必要があります。
  ※音が途切れたりする場合はディレイ時間を長めに設定してください。


「デバイス(Devices)」メニュー
   周辺機器に関するメニューです。LPTxがプリンタ、COMxが通信ポートです。

  「LPT0」 .................... プリンタポート(LPT0:)に対する設定メニューです。
          BASIC上でプリンタポートに出力した内容が内部バッファに保持されます。
    「保存...(Save...)」 ........ 内部バッファの印刷データをファイルに保存
          します。
    「mpprinterに印刷(Print to mpprinter)」 ..........
          内部バッファに保存した印刷データをmpprinterに送信します。
    「クリア(Clear)」 ........... 内部バッファをクリアします。

    「オンライン(Online)」 .........
          チェックを外すと、内部の仮想プリンタと切断した状態になります。
        この状態ではmpprinterにも送信されなくなります。

    「mpprinterに同時送信(Send to mpprinter concurrently)」 .........
          プリンタポートに出力した内容を内部バッファに保持する、と同時に
        mpprinterにも送信します。

  ※mpprinterは拙作のプリントデータを閲覧するソフトです。
  【注意】mpprinterはバージョン0.3.0以上を使用してください。
  【注意】ホスト側のパラレルポートに直接接続することはできません。

  「LPT1」 ........... 拡張プリンタポート(LPT1:)に対する設定メニューです。
                       サブメニューの意味はLPT0と同じです。
  「LPT2」 ........... 拡張プリンタポート(LPT2:)に対する設定メニューです。
                       サブメニューの意味はLPT0と同じです。

  【注意】拡張プリンタポートを使用する場合、設定ダイアログにてEx LPT Portに
          チェックを入れて再起動するか「パワーオン(Power On)」してください。


  「COM0」 .................... COMポート(COM0:)に対する設定メニューです。
          このソフトを2台起動し、一方をサーバにし、もう一方から接続することで、
        ネットワークを経由して擬似的に通信することができます。
          また、telnet端末や、ホスト上のシリアルポートに接続してデータの
        やり取りを行うこともできます。

  【注意】BASIC上でCOMポートを使用する前にあらかじめ双方を接続している状態に
          してください。

    「サーバを有効(Enable Server)」.. このソフトをサーバとします。
          もう一方のソフトからの接続を受け付けます。
          telnet端末と通信する場合はここをチェックしてください。
    「接続(Connect)」 ............... 相手先と接続します。
      「イーサネット(Ethernet)」 ..... 
          TCP/IPを使用してサーバと接続します。このソフトをサーバとしている場合、
        相手から接続されるとチェックがつきます。

        ホスト上にシリアルポートがある場合、このメニュー下に有効なポート名の
      一覧が表示されます。ポート名を選択するとそのポートと接続します。

        チェックがついているメニューをもう一度選択すると切断します。

  【注意】イーサネットとシリアルポートを同時に接続することはできません。

    「バイトデータで通信(Comm With Byte Data)」 ..............
          通常は1バイトのデータをビットに分割して通信しますが、チェックを
        入れると1バイトのデータそのままで通信します。
          telnet端末と通信する場合はここをチェックしてください。
    「Telnet用オプション(Options For Telnet)」 ............
          telnet用サブメニュー
      「バイナリモード(Binary Mode)」 ............
          telnet端末をバイナリ送受信可能なモードにします。
          エミュ―レータ内部の動作も切換ます。
          端末との接続が切れた場合、バイナリモードは解除されます。
      「WILL ECHO 送信(Send WILL ECHO)」 ............ 
          telnet端末のラインモードを解除して入力した文字がすぐに送信される
        ようにします。
          バイナリデータを送受信する場合は、バイナリモードを設定する前に
        これを実行してください。

  「COM1」 ........... 拡張COMポート(COM1:)に対する設定メニューです。
                       サブメニューの意味はCOM0と同じです。

  【注意】拡張COMポートを使用する場合、設定ダイアログにてEx COM Portに
          チェックを入れて再起動するか「パワーオン(Power On)」してください。


「オプション(Options)」メニュー
  「LEDを表示(Show LED)」 ............ 画面左側にあるLEDインジケータの表示を
          切り替えます。
  「LEDは画面内(Inside LED)」......... LEDインジケータを画面内部に埋め込むか、
          ポップアップで表示するかを切り替えます。
  「メッセージ表示(Show Message)」 ... 画面内にメッセージを表示するかを
          切り替えます。
  「ログ...(Log...)」 ................ ログダイアログを表示します。

  「マウスを使用(Use Mouse)」......... マウス機能を有効にします。

  「ジョイパッドを使用(キー割当)」.... ジョイスティックの方向キーや各ボタンを
          キーボードのキーに割り当てて使用します。
  「ジョイパッドを使用(PIA接続)」 .... ジョイスティックをPIA Aポートに接続した
          ものとして使用します。

  「キーtoジョイパッド有効(PIA接続)」.. キー入力をPIA Aポートに接続したジョイ
          スティックとして使用します。

  「キー入力を鈍くする(ゲーム用)」 ... BASICで作られたゲームでキャラクタが進み
          すぎるといった場合に、キーの押しすぎを抑制します。
  「仮想キーボード(Virtual Keyboard)」.. 仮想キーボードウィンドウを開きます。

  「ジョイパッド設定...(Joypad Setting...)」.. ジョイパッドの設定ダイアログ
          (後述)を開きます。
  「キー割り当て...(Keybind...)」 .... キー割り当てダイアログ(後述)を開きます。
  「設定...(Configure...)」 .......... 設定ダイアログ(後述)を開きます。

  「デバッガを開始(Start Debugger)」.. デバッガを開始します。※
  「デバッガを停止(Stop Debugger)」 .. デバッガを停止します。※
    ※搭載バージョンのみ。デバッガの詳細はdebugger.txtを参照してください。


  --------------------------------------------------------------------------
○ キー操作説明

  キーボードは日本語キーボードを前提としています。
  デフォルトの特殊なキーの入力方法は以下のとおり。
  ※キー割り当てダイアログにて変更できます。

  S1のキー         Mac側のキー        
  ---------------- -------------------
  [BREAK]          [F9]               
  [GRAPH]          [F7] / [英数]      
  [カタ/ひら]      [F8] / [右option]  
  [変換]           [右command]        
  [DEL]            [delete x]         
  [INS]            [insert] / [fn]    
  [BS]             [delete]           
  [CAPSLOCK]       [F6] / [CAPS]      
  [テンキー ?]     [end]              
  [テンキー ,]     [page down]        
  [COPY]           [F13]              
  リセットスイッチ [F10]              

  また、ショートカットキーとして以下があります。
  ※キー割り当てダイアログにて変更できます。

  機能             Mac側のキー        
  ---------------- -------------------
  ポーズON/OFF     [F16]              

  いくつかのメニューは左optionキーと併用して呼び出せます。
  ※左optionキーはキー割り当てダイアログにて変更できます。

  メニュー名                               ホスト側のキー
  ---------------------------------------- ----------------------------------
  操作(Control)
    パワーオン/オフ(PowerOn/Off)           左option + F3
    リセットスイッチ(Reset Switch)         左option + R
    システムモード(System Mode)            左option + M
    FDDタイプモード切り替え                左option + F
    ポーズ(Pause)                          左option + Q
    CPU 0.5倍(CPU x0.5)                    左option + 9
    CPU 1倍(CPU x1)                        左option + 1
    CPU 2倍(CPU x2)                        左option + 2
    CPU 4倍(CPU x4)                        左option + 3
    CPU 8倍(CPU x8)                        左option + 4
    CPU 16倍(CPU x16)                      左option + 5
    CPUスピードと同期(Sync With CPU Speed) 左option + 0
    キーを記録(Record Key) -> 再生...(Play...)
                                           左option + E
    状態をロード...(Load State...)         左option + O
    終了(Exit)                             command + Q
  テープ(Tape)
    再生...(Play...)                       左option + F7
    巻き戻し(Rewind)                       左option + F5
    早送り(F.F.)                           左option + F8
    停止(Stop)                             左option + F6
  FDD0
    挿入...(Insert...)                     左option + F9
  FDD1
    挿入...(Insert...)                     左option + F10
  FDD2
    挿入...(Insert...)                     左option + F11
  FDD3
    挿入...(Insert...)                     左option + F12
  画面(Screen)
    画面のキャプチャ(Capture Screen)       左option + G
    フルスクリーン(Fullscreen)/ウィンドウ(Window)切替
                                           左option + Enter
    ウィンドウサイズ(Window Size)          左option + W
    アスペクト比(Aspect Ratio)             左option + A
    描画モード(Drawing Mode)               左option + S
    画面を引き伸ばす(Stretch Screen)       左option + X (Cutout Screenと切替)
    画面の余白を切る(Cutout Screen)        左option + X (Stretch Screenと切替)
    残像モード1(Afterimage1)               左option + T (Afterimage2と切替)
    残像モード2(Afterimage2)               左option + T (Afterimage1と切替)
    描画方法の切り替え                     左option + Y
    フィルタ種類の切り替え                 左option + U
  サウンド(Sound)
    ボリューム...(Volume...)               左option + V
  オプション(Options)
    LEDを表示(Show LED)                    左option + L (Inside LEDと切替)
    LEDは画面内(Inside LED)                左option + L (Show LEDと切替)
    メッセージ表示(Show Message)           左option + Z
    ジョイパッド使用(キー割当)(Enable Joypad(Key Assigned))
                                           左option + J (PIA Typeと切替)
    ジョイパッド使用(PIA接続)(Enable Joypad(PIA Type))
                                           左option + J (Key Assignedと切替)
    マウスON/OFF                           左option + Ctrl
    キー割り当て...(Keybind...)            左option + K
    設定...(Configure...)                  左option + C
    デバッガを開始(Start Debugger)         左option + D
  ---------------------------------------- ----------------------------------
  LEDインジケータ表示位置変更              左option + P

  また、フルスクリーン時に画面左上でマウスを右クリックするとウィンドウモードに
  戻ります。


  --------------------------------------------------------------------------
○ ジョイパッド設定ダイアログ(Joypad Setting...)

    各ボタンの連射状態と割り当て、およびアナログスティックの感度を設定します。

  ■連射スピード

  各ボタンの連射状態を設定します。0で連射なし、3で最大スピード連射となります。

  ■アナログ→デジタル感度

  アナログスティックを十字キーとして使用する場合にその感度を設定します。

  ■ 1. ジョイパッド(PIA接続)(Joypad (PIA Type))

    ジョイスティックの十字キー、アナログスティックおよびボタン1～28を
  PIA Aポート($FE40-$FE41)の信号に対応付けします。

  枠内の変更したい部分にマウスカーソルを合わせクリックしてください。
  割り当てたいボタンをジョイスティックから入力してください。
  割り当てたボタンを消去するにはマウスの左ボタンをダブルクリックしてください。

  ジョイスティック2台まで対応しています。

  割り当てが終わったらダイアログ下側にある「プリセットxに保存(Save Preset x)」
  ボタンで状態を保存することができます。

  ダイアログ下側にある「デフォルトをロード(Load Default)」ボタンを押すと
  初期状態に戻ります。
  「プリセットxをロード(Load Preset x)」ボタンで保存した割り当てに変更できます。

  【注意】このダイアログを開く前にメニューの「ジョイパッドを使用(PIA接続)」に
          チェックを入れて使用する状態にしてください。

    ◆ボタンを押した時に割り込みを発生させない(No interrupt caused by pressing
      the button)

      チェックを入れると、PIAポートの設定にかかわらずボタンを押してもIRQ割込み
    が発生しなくなります。

  ■ 2. キーtoジョイパッド(PIA接続)(Key to Joypad (PIA Type))

    キー入力をジョイスティックの方向キーやボタンとして使用します。

  枠内の変更したい部分にマウスカーソルを合わせクリックしてください。
  割り当てたいキーをキーボードから入力してください。
  割り当てたキーを消去するにはマウスの左ボタンをダブルクリックしてください。

    ◆ 1. ジョイパッド(PIA接続)(Joypad (PIA Type))の以下の設定がこちらにも適用
      されます。
      ・ボタンを押した時に割り込みを発生させない

  ■以下を一時的に無効にする：(Disable temporarily the following:)
      Z軸(Z-axis)、R軸(R-axis)、U軸(U-axis)、V軸(V-axis)

    ジョイスティックによっては、アナログスティックが押しっぱなしになり割当てが
  できない場合があります。このような場合は該当する軸のチェックを入れることで
  このダイアログ内で一時的にその軸の入力を無効にすることができます。


  --------------------------------------------------------------------------
○ キー割り当てダイアログ(Keybind...)

  ■キーボード(Keyboard)

  ホスト側のキーとS1のキーの割り当てを設定します。
  S1のキー1つにつき、ホスト側のキー2つまで割り当てることができます。

  枠内の変更したい部分にマウスカーソルを合わせクリックしてください。
  割り当てたいキーをキーボードから入力してください。
  割り当てたキーを消去するにはマウスの左ボタンをダブルクリックしてください。

  割り当てが終わったらダイアログ右側にある「プリセットxに保存(Save Preset x)」
  ボタンで状態を保存することができます。

  ダイアログ右側にある「デフォルトをロード(Load Default)」ボタンを押すと
  初期状態に戻ります。
  「プリセットxをロード(Load Preset x)」ボタンで保存した割り当てに変更できます。

  【ダイアログ内のS1側のキー名称の補足】
   RESET    ... リセットボタン
   (ポーズ) ... ポーズON/OFF (本ソフト独自のキーです。)
   (option) ... ショートカットキー

  【注意】ホスト側のキー名称はJPキーボードを前提にしています。
  【注意】一部の特殊なキーは割り当てても反応しない、または押しっぱなしになる
          などの問題があります。

  ■ジョイパッド(キー割当)(Joypad (Key Assigned))

  ジョイスティックの十字キー、アナログスティックおよびボタン1～28をS1のキーに
  割り当てることができます。

  枠内の変更したい部分にマウスカーソルを合わせクリックしてください。
  割り当てたいボタンをジョイスティックから入力してください。
  割り当てたボタンを消去するにはマウスの左ボタンをダブルクリックしてください。

  ジョイスティック2台まで対応しています。

  ダイアログ下部にある「2つのボタンを押したとき、別のキーと認識する(Recognize as
  another key when pressed two buttons)」をチェックすると、ボタンの同時押しや
  十字キーを斜めに入れた場合に別のキーとして判定するようになります。

  【注意】このダイアログを開く前にメニューの「ジョイパッドを使用(キー割当)」に
          チェックを入れて使用する状態にしてください。

  ■以下を一時的に無効にする：(Disable temporarily the following:)
      Z軸(Z-axis)、R軸(R-axis)、U軸(U-axis)、V軸(V-axis)

    ジョイスティックによっては、アナログスティックが押しっぱなしになり割当てが
  できない場合があります。このような場合は該当する軸のチェックを入れることで
  このダイアログ内で一時的にその軸の入力を無効にすることができます。


  --------------------------------------------------------------------------
○ 設定ダイアログ(Configure...)

  ■モード(Mode)タブ

   ●システムモード(System Mode)
    Aモード(S1)(A Mode (S1)) ..........
           システムモードA(S1モード)を使用する。
    Bモード(L3)(B Mode (L3)) ..........
           システムモードB(L3モード)を使用する。
    NEWON7 .......... チェックを入れるとBモードで起動時に80文字で起動します。

    左側の「>」は現在のモードを表しています。
    設定を反映させるには、このソフトを再起動するか、
    メニューの操作(Control) -> パワーオン(PowerOn) を行なってください。

   ●FDDタイプ(FDD Type)
    FDDなし(No FDD) ..........
           FDDを使用しない。
    3インチコンパクトFDD(3inch compact FDD) ..........
           3インチコンパクトFDDを使用する。
    5.25インチミニFDD(2Dタイプ)(5.25inch mini FDD (2D Type)) ..........
           5.25インチミニFDD(2D)を使用する。
    5.25インチミニFDD(2HDタイプ)(5.25inch mini FDD (2HD Type)) ..........
           5.25インチミニFDD(2HD)を使用する。

    左側の「>」は現在のFDDモードを表しています。
    設定を反映させるには、このソフトを再起動するか、
    メニューの操作(Control) -> パワーオン(PowerOn) を行なってください。

   ●パワーオン/オフのふるまい(Behavior of Power On/Off)
     ◆パワーオフの状態を有効(Enable the state of power off)
       チェックを入れるとメニューの操作(Control) -> パワーオン(PowerOn) で
     パワーオン/オフの状態を切り替えることができるようになります。
       チェックを外すと、常にパワーオン状態となります。

     ◆起動時の電源状態(Power State When Start Up)
       このソフト起動時にパワーオンするかオフするかを選択します。
     ※パワーオフの状態を有効にしていない場合は常にパワーオンになります。

   ●I/Oポートアドレス(I/O Port Address)
    どの周辺機器を有効にするかを指定します。
     ◆6声PSG(6voice PSG)        $FF30 - $FF33 ...
      レベル3用6重和音PSGカード
     ◆拡張プリンタポート(Ex LPT Port) $FF3C - $FF3F ...
      増設プリンタカード(拡張プリンタポート)
     ◆拡張通信ポート(Ex COM Port)     $FF40 - $FF41 ...
      増設RS-232Cカード(拡張COMポート)
     ◆9声PSG(9voice PSG)        $FF70 - $FF7F ...
      レベル3用9重和音PSGカード
      ・KANJI ROMとはアドレスが重複するため同時に使用出来ません。
     ◆漢字ROM(KANJI ROM)        $FF75 - $FF76 ...
      漢字ROMカード(JIS第一水準)
      ・9voice PSGとはアドレスが重複するため同時に使用出来ません。
     ◆漢字ROM(KANJI ROM) JIS 2  $FF72 - $FF74 ...
      漢字ROMカード(JIS第二水準)
      ・9voice PSGとはアドレスが重複するため同時に使用出来ません。
     ◆拡張PSG(Ex PSG)           $FFE6 - $FFE7 ($FFEE - $FFEF) ...
      拡張PSGカード(S1用)
      ・FM音源として使用するには「サウンド」タブにある音源チップを変更して
        ください。
     ◆OS-9拡張カード            $FE11 ... 
      MMUセグメントレジスタを有効にします。
     ◆通信カード                $FF77 ... 
      使用するには通信カードに搭載されているROMイメージが必要です。
     ◆キーボード                $FFE0 - $FFE1
     ◆マウス                    $FFDC - $FFDF
     ◆FM音源カード              $FF1E - $FF1F ($FF16 - $FF17) ...
      3インチコンパクトFDDとアドレスが重複するため同時に使用した時の動作は
      不定です。
     ◆ROM BASIC無効(来夢来人)   $FFCE ...
      チェックを入れると「来夢来人」の起動時の挙動になります。
     ◆IG無効(来夢来人)          $FFE9 ...
      チェックを入れるとIGによるキャラクタ表示が無効になります。
     ◆リアルタイムクロック(Real Time Clock)  $FF38 - $FF3A ...
      パワーオン時に内蔵時計をホスト側の時刻に合わせます。
     ◆Z80Bカード(Z80B Card)     $FF7F ...
      Z80Bカードを有効にします。
     ◆MPC-68008                 $FE1A - $FE1B ...
      68008カードを有効にします。

    左側の「>」は現在有効なボードを表しています。
    設定を反映させるには、このソフトを再起動するか、
    メニューの操作(Control) -> パワーオン(PowerOn) を行なってください。

  ■画面(Screen)タブ

   ●描画(Drawing)
    方法(Method) : 画面描画方法を指定します。
     デフォルト(同期)(Default(Sync)) ..........
          デフォルト描画。モニタのリフレッシュレートと同期しながら描画。
     デフォルト(非同期)(Default(Async)) .......
          デフォルト描画。モニタのリフレッシュレートと同期せずに描画。
     OpenGLを使用(同期)(Use OpenGL(Sync)) ..........
          OpenGLを使用してモニタのリフレッシュレートと同期しながら描画。
     OpenGLを使用(非同期)(Use OpenGL(Sync)) ........
          OpenGLを使用してモニタのリフレッシュレートと同期せずに描画。

  【注意】ホストOSやグラフィックボードがOpenGLに対応している必要があります。
          対応していない場合その項目は選択できません。

    フィルタ種類(Filter Type) : 画面を拡大した時の補間方法を指定します。
     ニアレストネイバー(Nearest Neighbor) .......
          ギザギザが目立つ画面になります。
     バイリニア(Bilinear) .......
          滑らかになりますがすこしぼやけた画面になります。

   ●LED
    LEDインジケータを表示するか、画面内か画面外かを指定します。
    位置(Position) : LEDインジケータの表示位置を指定します。

   ●CRTC
    Disptmgスキュー(Disptmg Skew) : 画面の表示タイミングを調整します。
    Curdispスキュー(Curdisp Skew) : 画面のカーソル表示位置を調整します。
      Bモードでのみ有効になります。

   ●キャプチャ種類(Capture Type)
    画面キャプチャ時のファイルのフォーマット種類を指定します。

   ●スナップショットパス(Snapshot Path)
    画面キャプチャや録画録音時の保存先フォルダを指定します。
    空欄の場合、本ソフトのあるフォルダになります。

   ●フォントパス(Font Path)
    システムフォルダ以外のフォントファイルのあるフォルダを指定します。

   ●メッセージフォント(Message Font)
    画面左下に表示されるメッセージのフォントファイルとサイズを指定します。

   ●情報フォント(Info Font)
    画面右上に表示されるメッセージのフォントファイルとサイズを指定します。

   ●言語(Language)
    メニューなどの言語を指定します。
      System Dependent .... ホスト側の言語設定に合わせます。
      Default (English) ... デフォルト(英語)設定にします。
      Japanese ............ 日本語設定にします。

    ※ホスト側OSが指定した言語に対応していない場合はデフォルト設定になります。

  ■テープ, FDD(Tape, FDD)タブ

   ●テープからwavファイルロード(Load Wav File from Tape)
    wavファイルからカセットテープイメージをロードする場合の解析方法を設定します。
     波形を反転(Reverse Wave) ... 波形を反転して解析する。
     半波(Half Wave) ............ 半波長の波を検出して解析する。
     補正(Correct) .............. 波形を補正してから解析する。
      COS波(COS Wave) ........... cos波で補正する。
      SIN波(SIN Wave) ........... sin波で補正する。
      1200Hz, 2400Hz ............ 補正に使用する正弦波の振幅を指定する。

    ※詳細は拙作のソフトwavtoolのドキュメントを参照ください。

   ●テープにwavファイル保存(Save Wav File to Tape)
    カセットテープイメージをwavファイルでセーブする場合のサンプリングレートを
    設定します。

   ●起動時にマウントするディスク(When Start Up, mount drive at) ...
    本ソフト起動時にFDイメージをマウントする（開く）かを指定します。
    チェックしたドライブがマウント対象になります。

   ●セクタ検索時の遅延を無視する。(Ignore delays to find sector.) ...
    FDのアクセススピードはディスクイメージのセクタ順序で大きく変わりますが、
    これにチェックを入れるとセクタ順序を無視するため、ディスクアクセスが速く
    なります。

   ●トラックシーク時の遅延を無視する。(Ignore delays to seek track.) ...
    これにチェックを入れるとディスクアクセスが速くなります。

   ●密度のチェックを抑制する。(Suppress checking for density.) ...
    これにチェックを入れると単密度と倍密度の違いを無視します。

   ●メディア種類のチェックを抑制する。(Suppress checking for media type.) ...
    これにチェックを入れると2Dと2HDの違いを無視します。

   ●ベタディスクイメージをそのまま保存する。(Save a plain disk image as it is.)
    ベタのディスクイメージはデフォルトではd88形式に変換して保存します。
    これにチェックを入れるとそのままベタイメージで保存します。

  ■ネットワーク(Network)タブ

   ●LPT0 ～ LPT2
    ホスト名(Hostname) ... mpprinterを起動しているホスト名を指定します。
    ポート(Port) ......... mpprinterが受け付けているポート番号を指定します。
    印刷遅延(Print Delay). mpprinterへ送信するまでの遅延時間を指定します。
                           0.1～1000ミリ秒の範囲で設定できます。
    ※イーサネット通信はTCP/IP(IPv4)で行います。

   ●COM0 ～ COM1
    ホスト名(Hostname) ... サーバとして起動しているときは、受付可能ホスト名を
          指定します。0.0.0.0とすると全ホストからの受付が可能になります。
          クライアントの場合は接続先ホスト名を指定します。
    ポート(Port) ......... サーバとして起動しているときは、受付可能ポート番号を
          指定します。クライアントの場合は接続先ポート番号を指定します。
    通信速度 ...
      300ボー(BASICで"S"指定時) / 1200ボー(BASICで"F"指定時)
      600ボー(BASICで"S"指定時) / 2400ボー(BASICで"F"指定時)
      1200ボー(BASICで"S"指定時) / 4800ボー(BASICで"F"指定時)
      2400ボー(BASICで"S"指定時) / 9600ボー(BASICで"F"指定時)
    ※9600ボーはBASICでは動作保証していないようです。
    ※イーサネット通信はTCP/IP(IPv4)で行います。

   ●デバッガに接続可能なホスト(Connectable host to Debugger)
    デバッガ起動時にtelnet端末からデバッガ操作用のコンソールに接続できます。
    ※デバッガ搭載バージョンのみ。
    ※イーサネット通信はTCP/IP(IPv4)で行います。

   ●ホスト上のシリアルポートの設定(Settings of serial ports on host)
    エミュレータ上のCOMポートとは別に設定します。
    通信速度はエミュレータ上のCOMポート以上の速度を設定してください。
      ボーレート(Baud Rate) ..... 通信速度
      データビット(Data Bit) .... データビット数
      パリティ(Parity) .......... パリティ有無
      ストップビット(Stop Bit) .. ストップビット数
      フロー制御(Flow Control) .. フロー制御
    ※この設定を変更した場合はシリアルポートを再接続してください。

  ■CPU, メモリ(CPU, Memory)タブ

   ●ROMパス(ROM Path)
    ROMイメージ、リレー音、FDDシーク音があるフォルダを指定します。
    空欄の場合、本ソフトのあるフォルダになります。

   ●拡張RAM(Extended RAM)
    増設メモリのサイズを指定します。

   ●メインメモリのアクセスをウェイトなしにする。(No wait to access the main
     memory.)
      通常メインメモリをアクセスする際にはウェイトがかかりますが、これをなしに
    するかどうかを指定します。

   ●CPUが未定義命令を読み込んだ時にメッセージを表示する。(Show message when
     the CPU fetches undefined opcode.)
      CPUが未定義命令を読み込んだ時に画面およびログにメッセージを表示するか
    どうかを指定します。

   ●Z80Bカードの割り込み信号接続先(Connect interrupt signal of Z80B Card to)

   ●MC68008でアドレスエラーが発生した時にメッセージを表示する。(Show message
     when the address error occured in MC68008.)
      MC68008でアドレスエラー例外が発生した時に画面およびログにメッセージを表示
     するかどうかを指定します。

   ●パワーオン時にCPUのレジスタをクリアする。(Clear CPU registers at power on.)
     チェックを入れるとパワーオン時にCPUのレジスタをゼロクリアします。

  ■サウンド(Sound)タブ

   ●FM音源カード(FM Synthesis Card)
     FM音源カード($FF1E,$FF1F,$FF16,$FF17)で使用する音源チップを選択します。

   ●拡張PSGポート(Extended PSG port)
     拡張PSGポート($FFE6,$FFE7,$FFEE,$FFEF)で使用する音源チップを選択します。

     BASICのPLAY文で演奏する場合、以下のいずれかを選択してください。
       PSG(AY-3-8910相当) クロック:1MHz
       OPN(YM2203相当) クロック:2MHz
       OPNA(YM2608相当) クロック:4MHz

   ●FM音源の割り込み信号接続先(Connect interrupt signal of FM Synthesis to)
     FM音源のタイマー機能を使用する場合、割り込み信号を接続する必要があります。

    ※YM2608(OPNA)のリズム音源を使用する場合は別途リズム音データを用意して
      ください(「動作に必要なもの」の項を参照)。
    ※YM2608(OPNA)のADPCMへ録音することはできません。


  --------------------------------------------------------------------------
○ 音量設定ダイアログ(Volume...)

  サウンドデバイスから出力される音量を設定します。

  マスター(Master) .. 全体の音量を設定します。
  Beep .............. ビープ音(MUSIC_SEL)から出力される音量を設定します。
  PSG ............... 内蔵PSGから出力される音量を設定します。
  ExPSG FM .......... 拡張PSGのFM部(*1)から出力される音量を設定します。
  ExPSG SSG ......... 拡張PSGのPSG/SSG部から出力される音量を設定します。
  ExPSG ADPCM ....... 拡張PSGのADPCM部(*2)から出力される音量を設定します。
  ExPSG Rhythm ...... 拡張PSGのリズム部(*2)から出力される音量を設定します。
  OPN FM ............ FM音源カードのFM部(*1)から出力される音量を設定します。
  OPN SSG ........... FM音源カードのSSG部から出力される音量を設定します。
  OPNA ADPCM ........ FM音源カードのADPCM部(*2)から出力される音量を設定します。
  OPNA Rhythm ....... FM音源カードのリズム部(*2)から出力される音量を設定します。
  6声(6voice)PSG .... L3用6重和音PSGから出力される音量を設定します。
  9声(9voice)PSG .... L3用9重和音PSGから出力される音量を設定します。
  リレー(Relay) ..... リレー音の音量を設定します。
  CMT ............... カセットテープの再生音の音量を設定します。
  FDD ............... FDDシーク音、モータ音の音量を設定します。

    *1)FM音源(YM2203,YM2608)を使用する設定にした場合に有効。
    *2)FM音源(YM2608)を使用する設定にした場合に有効。

  ミュート(Mute)にチェックすると無音にできます。


  --------------------------------------------------------------------------
○ 録画設定ダイアログ(Record Screen...)

  録画時の設定を行います。タブを選択して使用するライブラリを決めてください。
  Mac: avkit, ffmpeg

  コーデック(Codec) ... 動画ファイルの形式を選択します。
  品質(Quality) ....... 動画ファイルの品質を選択します。

  【注意】コーデックによっては正常に出力されない場合もあります。


  --------------------------------------------------------------------------
○ 録音設定ダイアログ(Record Sound...)

  録音時の設定を行います。タブを選択して使用するライブラリを決めてください。
  Mac: wave, avkit, ffmpeg

  コーデック(Codec) ... 音声ファイルの形式を選択します。

  【注意】コーデックによっては正常に出力されない場合もあります。


  --------------------------------------------------------------------------
○ 仮想キーボード(Virtual Keyboard)

    SHIFT, CTRL, GRAPHキーはON/OFF切換になります。一回押すと押しっぱなしになり、
  もう一回押すと解除されます。

------------------------------------------------------------------------------
● 録画＆録音で使用するライブラリについて
------------------------------------------------------------------------------

  ffmpegを使用する場合は、別途以下の要領でライブラリを入手してください。
  ffmpegのバージョンは 6 系列が必要です。

  1. ライブラリの入手

   方法1: Homebrewを使用してインストール。
       Homebrewのページ: http://brew.sh/index_ja.html
     ターミナルより以下のコマンドでインストールする。

         $ sudo brew install ffmpeg@6

       成功すると /opt/homebrew/opt/ffmpeg@6/lib にライブラリがインストールされ
     ます。

   方法2: ソースファイルからビルドします。ffmpeg-6.1.1を入手してください。
       FFMpegのページ： http://www.ffmpeg.org/
     ビルド方法は以下を参考：
       CompilationGuide/MacOSX – FFmpeg:
         http://trac.ffmpeg.org/wiki/CompilationGuide/MacOSX/

     ビルド時のオプションは、--disable-static --enable-sharedを追加して
     sharedライブラリを作成します。

     ※ソースからビルドする場合、別途コーデック(libx264)なども入手しビルドする
       必要があります。

  2. ライブラリをコピー

   以下の動的ライブラリ：

       libavcodec.60.dylib
       libavutil.58.dylib
       libavformat.60.dylib
       libswresample.4.dylib
       libswscale.7.dylib

   を、ROMパスで指定したフォルダ
       本ソフトと同じフォルダ
       ホームディレクトリ直下のlibディレクトリ

   のいずれかにコピーまたはシンボリックリンクを作成してください。

------------------------------------------------------------------------------
● コマンドラインオプション
------------------------------------------------------------------------------

  mbs1 [-i <ini_file>] [-t <tape_file>] [-d <disk_file>] [-s <state_file>]
          [-a <autokey_file>] [-k <recordkey_file>] [<support_file> ...]

  <ini_file> : 設定(ini)ファイル。これを指定するとこのファイルのあるフォルダに
               キー設定(keybind.ini)ファイルとログ(mbs1.log)ファイルも出力
               します。
  <tape_file>: 起動時にオープンするテープイメージファイル。
  <disk_file>: 起動時にオープンするディスクイメージファイル。
  <state_file>: ステートファイルをロードして起動します。
  <autokey_file>: 自動キー入力用テキストファイル。起動とともに入力を開始します。
  <recordkey_file>: キー入力記録ファイル。起動とともに再生を開始します。
  <support_file>: 設定ファイル、テープファイル、ディスクファイル、ステート
                  ファイル、自動キー入力用テキストファイル、キー入力記録ファイル
                  のいずれか。
                  ファイル種類は拡張子で判定します。

------------------------------------------------------------------------------
● ドラッグ＆ドロップ
------------------------------------------------------------------------------

    ウィンドウにファイルをドロップすると、拡張子から対応しているかを判定して
   対応しているファイルならそれをオープンします。

------------------------------------------------------------------------------
● その他補足
------------------------------------------------------------------------------

  --------------------------------------------------------------------------
 ○ ディスクイメージについて

  読み込み可能なディスクイメージ形式：
    d88(M88 Emulator)
    hfe(HxC Floppy Emulator)
    dsk(CPC DISK) ※未確認
    fdi(Anex86 FDI) ※未確認
    td0(Teledisk) ※未確認
    ベタ
  書込み可能なディスクイメージ形式：
    d88(M88 Emulator)
    ベタ

  d88形式での使用を前提にしています。
  ベタ形式はDISK BASIC標準のフォーマット以外は動作確認していません。

  HxCフロッピーエミュレータで使用するhfe形式は読み出しのみ対応しています。

  【3インチコンパクトフロッピーディスク】
  ディスクイメージは片面単密度(1S) x 2となりますが、両面倍密度(2D)であれば
  使用出来ます。パラメータとしては、
    40シリンダ(トラック/片面)
     2ヘッド
    16セクタ/1トラック
   128バイト/セクタ ... 256バイトでも使用出来ますが、本ソフトでは128バイトを
                        超えるデータは無視されます。

  【5.25インチミニフロッピーディスク(2D)】
  ディスクイメージは両面倍密度(2D)となります。
  パラメータとしては、
    40シリンダ(トラック/片面)
     2ヘッド
    16セクタ/1トラック片面
   256バイト/セクタ

  【5.25インチミニフロッピーディスク(2HD)】
  ディスクイメージは両面高密度(2HD)となります。
  パラメータとしては、
    77シリンダ(トラック/片面)
     2ヘッド
    26セクタ/1トラック片面
   256バイト/セクタ
   ※起動ディスクはトラック0サイド0が単密度になります。
  (8インチ2Dと同じパラメータ)


  --------------------------------------------------------------------------
 ○ カセットテープイメージについて

  ■wavファイル
    音声データです。無圧縮PCM、11025/22050/44100/48000Hz、8/16bitに対応。

  ■l3cファイル
    音声データを4800Hzで区切り、HighLevelなら"1"、LowLevelなら"0"としたもの。
      1200Hzなら"1100"(または"0011")
      2400Hzなら"1010"(または"0101")
    となります。(*)
    このファイルはテキストファイルで"0"と"1"で表現します。

  ■l3bファイル
    シリアルデータです。
    一般的にシリアルデータは、
      スタートビット("0") + 8データビット + 2ストップビット("11")
    で表現されます。
    このファイルはテキストファイルで"0"と"1"で表現します。

  ■l3ファイル
    テープイメージです。シリアルデータからスタートビット、ストップビットを
    除いたデータになります。
    テープイメージには、SAVE時に指定したファイル名、チェックサムなどの付加情報
    が含まれています。
    このファイルはバイナリファイルです。

  ■t9xファイル
    eMB-689Xで使用されているテープイメージです。シリアルデータをバイナリ形式
    で保存したデータになります。
    明確な仕様書が無いため暫定対応です。

  (*)倍速FSKの場合は2400/4800Hzとなります。


  --------------------------------------------------------------------------
 ○ キー入力記録ファイル(l3kファイル)について

    このファイルはテキスト形式で記述されています。
   記録開始時に、オープンしているファイルがあればそのファイルへのパスも保存
   します。保存するパスは以下のとおり。
    StateFile: ... ステートファイル。再生時に同時に読み込みます。
    TapeFile:  ... テープイメージ。再生時にオープンします。
    TapeType:  ... "Play" or "Rec"を指定。
    Disk0File: ... FDD0のディスクイメージ。再生時にオープンします。
    Disk1File: ... FDD1のディスクイメージ。再生時にオープンします。
    Disk2File: ... FDD2のディスクイメージ。再生時にオープンします。
    Disk3File: ... FDD3のディスクイメージ。再生時にオープンします。

  【注意1】メニュー操作やダイアログ表示中のキー操作は記録されません。
  【注意2】再生中もキー入力は受け付けます。再生中にキー入力やメニュー操作を
           行うと記録時とは異なる動作になり思いどおりに再生されません。
  【注意3】ゲームなどシビアな入力では思いどおりに再生されないことが多いです。


  --------------------------------------------------------------------------
 ○ マウスについて

    マウス機能を有効にするとOSのマウスカーソルの位置が画面中央に固定されます。
    本ソフト以外のアプリケーションを使用する場合は、左option + Ctrl でマウス機能を
   無効にしてください。また、ポーズ中は一時的にマウス機能が無効になります。


  --------------------------------------------------------------------------
 ○ ジョイスティック

    USB接続もので動作確認しています。
    ジョイスティックからキー入力できる他に、PIAのAポート($FE40-$FE41)への
   接続をエミュレートします。
    本ソフト起動中にジョイスティックを抜かないでください。
    ※本ソフトではPSGの汎用ポートに接続するジョイスティックのエミュレートには
      対応していません。


  --------------------------------------------------------------------------
 ○ 漢字ROM

  ■擬似漢字ROMイメージの作成
    toolフォルダ内のkanjiフォルダにあるmkkanjiは指定したフォントを使用して
   擬似漢字ROMイメージを作成します。
    また、dictフォルダにあるmkdic.pl, mkdic.pyは疑似漢字辞書ROMイメージを
   作成します。
    詳細は各フォルダ内のreadme.txtを参照してください。

  ■漢字ROMイメージのフォーマット
   JIS第一水準の漢字イメージは以下のようになります。
    1,2バイト目がIOポート$FF75,$FF76に$0000を書き込んだ時の$FF75,$FF76の値
    3,4バイト目がIOポート$FF75,$FF76に$0001を書き込んだ時の$FF75,$FF76の値
    5,6バイト目がIOポート$FF75,$FF76に$0002を書き込んだ時の$FF75,$FF76の値
     ………
   JIS第二水準の漢字イメージは以下のようになります。
    1,2バイト目がIOポート$FF72,$FF73に$0000を書き込んだ時の$FF72,$FF73の値
    3,4バイト目がIOポート$FF72,$FF73に$0001を書き込んだ時の$FF72,$FF73の値
    5,6バイト目がIOポート$FF72,$FF73に$0002を書き込んだ時の$FF72,$FF73の値
     ………
   漢字ROM ICそのものから取り出したものと構成が異なる場合があります。


  --------------------------------------------------------------------------
 ○ LEDインジケータ

   左から、
   ・CapsONで点灯
   ・カタカナ/ひらがな選択時点灯
   ・カセットテープ(再生時、再生セット時、録音時、録音セット時にそれぞれ点灯)
   ・カセットテープのカウンタ
   ・FDDタイプ(3...3インチ選択時点灯、5...5インチ2D選択時点灯、5H...5インチ2HD
     選択時点灯)
   ・FDD0～3(アクセス時LED点灯、マウント時に数字が点灯)
   ・システムモードAB
   ・CPUクロック(2MHz,1MHz)
   ・システム/ユーザモード
   となります。

    カセットテープのカウンタ値は、同じプログラムでもテープイメージの形式で
   変わります。
    システムモードAB、CPUクロック(2MHz,1MHz)、システム/ユーザモードは、IOポート
   $FFEBの値となります。


------------------------------------------------------------------------------
● 開発環境
------------------------------------------------------------------------------

  MacOS版: (Mac Mini CPU: M2 / Mem: 8GB)
    Mac OS Sequoia (15.6.1 Apple silicon)
    Xcode 16
      SDL2-2.28.5, SDL2_ttf-2.20.2


------------------------------------------------------------------------------
● 参考文献
------------------------------------------------------------------------------

  I/O別冊 S1活用研究 - 工学社 1985
  日立パーソナルコンピュータS1 10/20 取扱説明書 - 日立製作所/日立家電販売 1984
  日立パーソナルコンピュータS1 30/40 取扱説明書 - 日立製作所/日立家電販売 1985
  S1ディスクBASIC - サイエンス社 1985
  HITACHI PERSONAL COMPUTER ベーシックマスターレベル3マーク5 入門書 - 日立製作所/日立家電販売 1983
  HITACHI PERSONAL COMPUTER ベーシックマスターレベル3マーク5 文法書 - 日立製作所/日立家電販売 1983
  HITACHI PERSONAL COMPUTER ベーシックマスターレベル3マーク5 取扱説明書 - 日立製作所/日立家電販売 1983
  I/O別冊 ベーシックマスター活用研究 - 工学社 1982
  レベル3BASIC入門 - アスキー出版 1981
  マイクロコンピュータMC6809の考え方 - オーム社 1982
  図解マイクロコンピュータZ-80の使い方 - オーム社 1981
  M68000 8-/16-/32-Bit Microprocessors User's Manual - Motorola 1993
  68000プログラマーズハンドブック - 技術評論社 1986
  68000ファミリハンドブック - 啓学出版 1987

------------------------------------------------------------------------------
● 謝辞
------------------------------------------------------------------------------

  このソフトの制作にあたり多大なるご協力をいただいた方々に大変感謝いたします。
  また、このソフトを公開するにあたり心よく許諾していただいた武田氏に感謝いたします。
  Common Source Code Project Webページ:
    http://takeda-toshiya.my.coocan.jp/


------------------------------------------------------------------------------
● クレジット
------------------------------------------------------------------------------

  SDL:
  The Simple DirectMedia Layer (SDL for short) is a cross-platform library
  designed to make it easy to write multi-media software, such as games and
  emulators.
    http://www.libsdl.org/

  SDL_ttf:
  This library allows you to use TrueType fonts to render text in SDL
  applications.

  freetype2:
  FreeType 2 is a software font engine that is designed to be small, efficient,
  highly customizable, and portable while capable of producing high-quality
  output (glyph images). It can be used in graphics libraries, display servers,
  font conversion tools, text image generation tools, and many other products
  as well.
    http://www.freetype.org/


------------------------------------------------------------------------------
● 免責事項
------------------------------------------------------------------------------

・このソフトはフリーウェアです。ただし、著作権は放棄しておりません。
  実行モジュールについては作者Sasajiにあります。
  ソースコードについてはそれぞれの作者にあります。
・このソフトによって発生したいかなる損害についても著作権者は一切責任を負いません。
  このソフトを使用するにあたってはすべて自己責任で行ってください。
・雑誌やネットなどに転載される場合、不特定多数の方に再配布を行う場合でも
  承諾の必要はありませんが、転載の旨をご連絡いただけたら幸いです。

==============================================================================

連絡先：Sasaji (sasaji@s-sasaji.ddo.jp)
 * My WebPage: http://s-sasaji.ddo.jp/bml3mk5/
 * GitHub:     https://github.com/bml3mk5/EmuB-S1
 * X(Twitter): https://x.com/bml3mk5

==============================================================================

