  Xmillennium v0.26 T-tune STEP 1.43 について

  ＦＤＤアクセスランプはいかがですか？

●T_tuneとは．．．

  「ぷにゅ氏」のxmilleniumをもとに小生が独自にチューニングを施したソフトです。
  「ぷにゅ氏」のご好意により、公開させていただいています。
　というのは、V0.25 step1.21までで、step 1.30以降は一方的に報告をしているだけで
「ぷにゅ氏」の公認？はとれていません。

  「チューニング」版につき、安定性はオリジナル版に及びません。
   車のチューニング同様、行きすぎると壊してしまうこともありますので、
   T_Tuneでうまく動かないときは、素直に「ノーマル」に戻ってみましょう。

●xmillenium v0.26 オリジナル版からの追加／変更機能

  目玉！
    ・カセットイメージのサポート
    ・EMM及びROM BASICボード用イメージファイルサポート
    ・ハードディスクイメージファイル対応
  おまけ
    ・ＣＰＵ速度を６種類から選択可能(4M/5M/6M/8M/10M/12M)
    ・高精度のＰＳＧ／ＦＭ音源エミュレーター搭載
    ・CZ8RL1からサンプリングしたカセット音を収録
    ・ツールバーもどきによる情報常時と各種インジケーターの表示
    ・描画ルーチンの高速化
    ・.d8uファイルがマウント出来ないオリジナル版のバグ修正
  内部的に．．．
    ・ＣＰＵのインストラクション単位で割り込みが可能なイベントシステム導入
    ・デイジーチェーン割り込みの正しいサポート
    ・サブＣＰＵのハンドリング全面書き直しとタイミング調整

●追加メニュー

★CMT       カセット のテープイメージを指定と、カセットの操作をします。
  OPEN      カセットファイルをセット
  EJECT     取り出し
  STOP      停止
  FF        早送り
  REW       巻き戻し
  APSS_FF   巻き戻し頭出し
  APSS_REW  早送り頭出し
  PROTECT   プロテクトノッチのＯＮ／ＯＦＦ

★Device
   4MHz      CPUスピードを 4MHzにする
   5MHz      CPUスピードを 5MHzにする
   6MHz      CPUスピードを 6MHzにする
   8MHz      CPUスピードを 8MHzにする
  10MHz      CPUスピードを10MHzにする
  12MHz      CPUスピードを12MHzにする

●追加キー操作

  +--------+-----------+--------------------------------------+
  | PC KEY | X1 KEY    |                 NOTE                 |
  +--------+-----------+--------------------------------------+
  |   F6   | "<<"(REW) | 実機同様 +SHIFT で押すと APSS -1     |
  |   F7   | "□"(STOP)| 実機同様 +SHIFT で押すと EJECT       |
  |   F8   | ">>"(FAST)| 実機同様 +SHIFT で押すと APSS +1     |
  +--------+-----------+--------------------------------------+

●インフォメーション／ツールバー

  +--------------------+------------+------------+------------+------------+
  |    表示内容        | 左クリック | 右クリック |  SHIFT+左  |  SHIFT+右  |
  +--------------------+------------+------------+------------+------------+
  | FDD0アイコン       |FD0ｲﾒｰｼﾞﾏｳﾝﾄ|    ←      |     ←     |     ←     |
  | FD0ファイル名      |     ↑     |    ←      |     ←     |     ←     |
  +--------------------+------------+------------+------------+------------+
  | FDD1アイコン       |FD1ｲﾒｰｼﾞﾏｳﾝﾄ|    ←      |     ←     |     ←     |
  | FD1ファイル名      |     ↑     |    ←      |     ←     |     ←     |
  +--------------------+------------+------------+------------+------------+
  | REWボタン          |テープ巻戻し|    ←      |   APSS -1  |     ←     |
  | PLAYボタン         |     −     |    −      |     −     |     −     |
  | STOPボタン         |テープ停止  |    ←      |   EJECT    |     ←     |
  | FFボタン           |テープ早送り|    ←      |   APSS +1  |     ←     |
  | RECボタン          |     −     |    −      |     −     |     −     |
  | CMTカウンタ(注１)  |     −     |    −      |     −     |     −     |
  | CMTファイル名(注２)|CMTｲﾒｰｼﾞﾏｳﾝﾄ|    ←      |     ←     |     ←     |
  +--------------------+------------+------------+------------+------------+
  | CPUクロック周波数  | ｸﾛｯｸ UP    | ｸﾛｯｸ DOWN  | ｸﾛｯｸ UP    | ｸﾛｯｸ DOWN  |
  +--------------------+------------+------------+------------+------------+

  注１:分２桁：秒２桁 の４桁表示
  注２:赤色の時はEJECT状態です。

●各種イメージファイルのマウント方法

  ・CMTイメージは、「メニュー」のOPENで選択します。
      拡張子は「.tap」が標準で、T-tune形式の他、X1EMU形式のファイルも直接
    マウントできます。
      .d8uファイルでCMTイメージを指定するには「CMT=ファイル名」と記述します。

  ・EMM/ROMイメージは下記の固定ファイル名でT-tuneと同じディレクトリに置いて
    おけば、自動的にマウント／アクセスされます。

      ファイル名"EMM0.MEM"    - EMM0:に対応
      ファイル名"EMM1.MEM"    - EMM1:に対応
           (2〜8も同様)
      ファイル名"EMM9.MEM"    - EMM9:に対応
      ファイル名"ROMBASIC.ROM"- ROM BASICボードに対応(IPLの'R'コマンドに対応)

      ROM/EMMのファイルサイズは理論上1MB以下なら任意のサイズでマウントできま
    すが、BASICのファイルシステムでEMMを使用する場合ならアクセス出来るのは
    320KBまでです。
      2Dイメージファイルをリネームすれば、そのままROM/EMMイメージとして使用
    可能です。
      ROM BASICボードファイルにはT-tuneから一切書き込みを行いません。
      EMMファイルをリードオンリー属性をつければファイルが書き換わることはあり
    ませんが、１セクタ(256バイト）単位でのバッファへの書き込みは可能なため、
    プログラム上からは完全なＲＯＭとしては見えません。

  ・HDDイメージは下記の固定ファイル名でT-tuneと同じディレクトリに置いておけば
    自動的にマウント／アクセスされます。
      ファイル名"SASI0_0.HDD" - HD0:に対応 (SASI-ID 0 , LUN 0)
      ファイル名"SASI0_1.HDD" - HD1:に対応 (SASI-ID 0 , LUN 1)
      ファイル名"SASI1_0.HDD" - HD2:に対応 (SASI-ID 1 , LUN 0)
      ファイル名"SASI1_1.HDD" - HD3:に対応 (SASI-ID 1 , LUN 1)

      ファイルサイズは理論上任意設定ですが、turboBASIC等で通常の10MB HDDとして
    動作させる場合には、10340352バイト(40392セクター)又はそれ以上のサイズのフ
    ァイルが必要です。
      turboBASICのHD FORMAT/HD MAPユーティリティーもT-tune上で動作しますが、
    同梱のフォーマット／マップ済みのHDDイメージファイルが圧縮されたファイル
    HDDIMAGE.ZIPをこれを解凍して上記のファイル名にリネームすれば、すぐにturbo
    BASICから使用できます。

●ここに気をつけてね。

  ・テープの書き込み時には気をつけてください。
    まだ不安定な部分があるかもしれないので、くれぐれも大事なテープデータ
  は「上書き保存」を行わないようにしましょう。

  ・各イメージファイルは取り出さないで！
    テープ／ＥＭＭ／ＲＯＭ／ＨＤＤの各イメージファイルは、T-tune動作時には
  変更したり、他のプログラムからアクセスを行わないでください。
    ”そういった”想定はしていないので、データがコケたりエラーが発生したりする
  可能性があります。

  ・テープは、オーバークロックに対応しており、テープの再生／録音速度の開始時に
    ＣＰＵ速度に応じた倍速で再生を行いますが、テープ回転時に自動追従は行わない
    ので、テープ回転中にＣＰＵクロックを変更すると正しく読み書きできません。

  ・テープの再生位置位置等をファイルに記録するために、新しいＴＡＰファイル
    フォーマットのサポートしています。
      従来のＸ１ＥＭＵ用テープファイルは、マウントするとダイアログが現れて
    オープン時に自動変換できますが、一度変換されたファイルは現バージョンの
    Ｘ１ＥＭＵでは使用できなくなります。
      Ｘ１ＥＭＵ互換フォーマットへ戻すには、old_conv.exe等のツールで再度
    Ｘ１ＥＭＵのフォーマットに変換する必要があります。

  ・このソフトは無保証です。
    このプログラムの使用によるいかなる損害に対しても、作者は責任を負いません。

●履歴

  ★v0.26 T-tune STEP 1.42  →  v0.26 T-tune STEP 1.43
    ・ＤＭＡ見直し(1.42のバグ修正＋α)
    →BIOS DMA FDDアクセス
    →WILL

    ・キー入力処理の修正
    →WILL

    ・FM音源ドライバをちょっと新しいのに変更
    →スペースハリアー

  ★v0.26 T-tune STEP 1.41  →  v0.26 T-tune STEP 1.42
    ・描画がリフレッシュされないときがあった不具合の修正
    ・サブＣＰＵの割り込みベクタ指定時にキーバッファクリア処理を追加
    ・カセットのテープ送り部分にテコ入れ
      →テグザーテープ版
      ○カセット停止時に惰性の分だけテープ位置を進める
      ○カセットセンサーのバグ修正（テープエンド−＞テープ回転中）
    ・サブＣＰＵ、キー割り込み無し時にキーバッファ無効化
      割り込みベクタ設定時にキーバッファクリア
      →ザナドゥ
    ・ＦＤＣちょいと修正、ＤＭＡ転送シーケンス結構修正、デイジーチェーン
      割り込み関係テコ入れ
      →なんか壊したかも

  ★v0.26 T-tune STEP 1.40  →  v0.26 T-tune STEP 1.41
    ・描画がかなり遅くなっっていた問題の修正、画面更新クリッピング追加
      →描画高速化
    ・フルスクリーンに切り替えたときにツールバーが消えるバグ修正
    ・イベントハンドラコアのバグ取り
      →スタークルーザーオープニングスクロール(DMA使用)他
    ・カナキーの'ﾀ'等がCMTキーとして誤認し入力出来なかったバグ修正

  ★v0.25 T-tune STEP 1.30  →  v0.26 T-tune STEP 1.40
    ・v0.26へ移行　→ぁぁ、しんどい
    ・インフォメーション表示＋ツールバー表示追加
    ・カセットＡＰＳＳの検出間隔を１秒から２秒に変更
      →２段ロード系の頭だし不具合対策
    ・ＦＤＣチョイ直し
      →影の伝説
    ・ＥＭＭ未実装時のバグ修正
      →スタークルーザー
    ・.d8uファイルがマウント出来ないオリジナル版のバグ修正

  ★v0.25 T-tune STEP 1.21  →  v0.25 T-tune STEP 1.30
    ・カセット関連の書き直し
      ○サブＣＰＵ−カセットの切り口を実機のX1-CZ8RL1にできるだけ近づけた。
        →コマンドコードと動作を実機でいろいろ調べました。
      ○APSS REWのバグとり
        APSSのアルゴリズムは、開始時不感帯２秒＋有音１秒検出＋無音１秒検出
        →APSS使用テープソフト対応のつもり（市販ソフトでは一切未確認で〜す）
    ・サブＣＰＵのハンドリング全面書き直し
      ○サブＣＰＵ内７ワードキーバッファ処理追加、その他
        →FDアクセス時にキー入力した時に取りこぼさなくなくなった。
        →NEWTRONのキー操作性はだいぶ実機に近くなった。
      ○SHIFT,CAPS等単独押しで割り込み(turbo用)
        →ソーサリアンやスタークルーザーでCAPS押しに対応（のつもり）
      ○Ｘ１キーボード上のCMT制御キーをサポート、etc
        →FDDモデルのキーボードには無いが、キーを半田付けすればCZ8RL1を制御可
      ○BREAK信号(CMT用)サポート
    ・EMM、ROM、HDDファイルイメージのサポート
      →とりあえず勢いで．．．

  ★v0.25 T-tune STEP 1.20  →  v0.25 T-tune STEP 1.21
    ・24bitcolor時に落ちるバグの修正

  ★v0.25 T-tune STEP 1.10  →  v0.25 T-tune STEP 1.20
    ・新しいＴＡＰフォーマットを採用し、EJECT時にテープの再生位置記録と、
      プロテクトノッチの値を保存
    ・ＡＰＳＳの無音検出間隔を、変化率１０％で１秒から変化率２０％で０．５秒
      に変更
    ・ＰＳＧ／ＦＭ音源エミュをＭＡＭＥベースの物に差し替えて音質向上
    ・DDRAWの描画速度を、WORDアクセスが遅いビデオカードにあわせて最適化
      →「VAIO NOTE 505SX」ローカルチューンかも？

  ★v0.24 T-tune STEP 1  →  v0.25 T-tune STEP 1.10
    ・v0.25（＋α）ベースに変更
    ・イベントドライバーの見直しとバグフィクス
      →スタークルーザーの不具合対策
    ・一部のソフトでＰＣＧ定義がコケるバグを修正
    ・ＣＴＣのバグフィクス
    ・カセットに関する変更
      −カセットファイルの最後の部分に正しくアクセス出来なかったバグ修正
      −ＡＰＳＳのアルゴリズム見直し
      −カセットの動作音を追加
    ・D8Uフォーマットで、カセットファイル対応
    ・ＤＭＡの動作時間を（適当に）加算している。
    ・デイジーチェイン割り込みのバグ修正

  ★v0.24 original  →  T-tune STEP 1
    ・イベント駆動方法への変更
    ・テープファイルのサポート
    ・デイジーチェイン割り込み処理の強化

●ＴＯＤＯ！

    ・ＦＤイメージの履歴
      左右クリックで履歴ファイルマウント
      ＳＨＩＦＴ＋左クリックでファイル選択＋マウント
      ＳＨＩＦＴ＋右でＦＤイジェクト
    ・ＦＤＣ MB8876を由緒正しくエミュる。というか書き直しかな
    ・テープＡＰＳＳのアルゴリズムを見直す、実機を解析しないと．．．
    ・キーインターフェースとサブＣＰＵのやり取りを実機と同じ方法に変更
      現状は(input.cpp <---問い合わせ--------- x1_scpu.cpp)となっているが、
      実機は(input.cpp ----非同期たれながし--> x1_scpu.cpp)なのだ！
    ・ディスクアクセス中、NoWaitを切り替えたときにロックするバグ修正
    ・ＦＤＣシークタイム別「シーク音」
      最速シークの方が早くて静かだったのでよくゲームにパッチをあてていた。
      元祖X1の最初のFDDだけは最速シーク未対応だったらしい
   ・Ｘ１ＩＰＬアクセス時のＭ１サイクル１ウェイト処理
      X1モードでのCMTのIPL起動がヤバい
   ・CTRL+@キーが効かない不具合

●最後に

  ・カセット解析／エミュレーションのためにCZ8RL1を無償で貸し出していただいた
    sho_kunさんに感謝！

※Xmilleniumはぷにゅ氏さんのWindos版X1/X1turboエミュレーターです。
※X1EMUはKMさんのDOS版X1/X1turboエミュレータ−です。
