Xmillennium v0.26 T-tune STEP 1.43 について FDDアクセスランプはいかがですか? ●T_tuneとは... 「ぷにゅ氏」のxmilleniumをもとに小生が独自にチューニングを施したソフトです。 「ぷにゅ氏」のご好意により、公開させていただいています。  というのは、V0.25 step1.21までで、step 1.30以降は一方的に報告をしているだけで 「ぷにゅ氏」の公認?はとれていません。 「チューニング」版につき、安定性はオリジナル版に及びません。 車のチューニング同様、行きすぎると壊してしまうこともありますので、 T_Tuneでうまく動かないときは、素直に「ノーマル」に戻ってみましょう。 ●xmillenium v0.26 オリジナル版からの追加/変更機能 目玉! ・カセットイメージのサポート ・EMM及びROM BASICボード用イメージファイルサポート ・ハードディスクイメージファイル対応 おまけ ・CPU速度を6種類から選択可能(4M/5M/6M/8M/10M/12M) ・高精度のPSG/FM音源エミュレーター搭載 ・CZ8RL1からサンプリングしたカセット音を収録 ・ツールバーもどきによる情報常時と各種インジケーターの表示 ・描画ルーチンの高速化 ・.d8uファイルがマウント出来ないオリジナル版のバグ修正 内部的に... ・CPUのインストラクション単位で割り込みが可能なイベントシステム導入 ・デイジーチェーン割り込みの正しいサポート ・サブCPUのハンドリング全面書き直しとタイミング調整 ●追加メニュー ★CMT カセット のテープイメージを指定と、カセットの操作をします。 OPEN カセットファイルをセット EJECT 取り出し STOP 停止 FF 早送り REW 巻き戻し APSS_FF 巻き戻し頭出し APSS_REW 早送り頭出し PROTECT プロテクトノッチのON/OFF ★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カウンタ(注1) | − | − | − | − | | CMTファイル名(注2)|CMTイメージマウント| ← | ← | ← | +--------------------+------------+------------+------------+------------+ | CPUクロック周波数 | クロック UP | クロック DOWN | クロック UP | クロック DOWN | +--------------------+------------+------------+------------+------------+ 注1:分2桁:秒2桁 の4桁表示 注2:赤色の時は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ファイルをリードオンリー属性をつければファイルが書き換わることはあり ませんが、1セクタ(256バイト)単位でのバッファへの書き込みは可能なため、 プログラム上からは完全なROMとしては見えません。 ・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から使用できます。 ●ここに気をつけてね。 ・テープの書き込み時には気をつけてください。 まだ不安定な部分があるかもしれないので、くれぐれも大事なテープデータ は「上書き保存」を行わないようにしましょう。 ・各イメージファイルは取り出さないで! テープ/EMM/ROM/HDDの各イメージファイルは、T-tune動作時には 変更したり、他のプログラムからアクセスを行わないでください。 ”そういった”想定はしていないので、データがコケたりエラーが発生したりする 可能性があります。 ・テープは、オーバークロックに対応しており、テープの再生/録音速度の開始時に CPU速度に応じた倍速で再生を行いますが、テープ回転時に自動追従は行わない ので、テープ回転中にCPUクロックを変更すると正しく読み書きできません。 ・テープの再生位置位置等をファイルに記録するために、新しいTAPファイル フォーマットのサポートしています。 従来のX1EMU用テープファイルは、マウントするとダイアログが現れて オープン時に自動変換できますが、一度変換されたファイルは現バージョンの X1EMUでは使用できなくなります。 X1EMU互換フォーマットへ戻すには、old_conv.exe等のツールで再度 X1EMUのフォーマットに変換する必要があります。 ・このソフトは無保証です。 このプログラムの使用によるいかなる損害に対しても、作者は責任を負いません。 ●履歴 ★v0.26 T-tune STEP 1.42 → v0.26 T-tune STEP 1.43 ・DMA見直し(1.42のバグ修正+α) →BIOS DMA FDDアクセス →WILL ・キー入力処理の修正 →WILL ・FM音源ドライバをちょっと新しいのに変更 →スペースハリアー ★v0.26 T-tune STEP 1.41 → v0.26 T-tune STEP 1.42 ・描画がリフレッシュされないときがあった不具合の修正 ・サブCPUの割り込みベクタ指定時にキーバッファクリア処理を追加 ・カセットのテープ送り部分にテコ入れ →テグザーテープ版 ○カセット停止時に惰性の分だけテープ位置を進める ○カセットセンサーのバグ修正(テープエンド−>テープ回転中) ・サブCPU、キー割り込み無し時にキーバッファ無効化 割り込みベクタ設定時にキーバッファクリア →ザナドゥ ・FDCちょいと修正、DMA転送シーケンス結構修正、デイジーチェーン 割り込み関係テコ入れ →なんか壊したかも ★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へ移行 →ぁぁ、しんどい ・インフォメーション表示+ツールバー表示追加 ・カセットAPSSの検出間隔を1秒から2秒に変更 →2段ロード系の頭だし不具合対策 ・FDCチョイ直し →影の伝説 ・EMM未実装時のバグ修正 →スタークルーザー ・.d8uファイルがマウント出来ないオリジナル版のバグ修正 ★v0.25 T-tune STEP 1.21 → v0.25 T-tune STEP 1.30 ・カセット関連の書き直し ○サブCPU−カセットの切り口を実機のX1-CZ8RL1にできるだけ近づけた。 →コマンドコードと動作を実機でいろいろ調べました。 ○APSS REWのバグとり APSSのアルゴリズムは、開始時不感帯2秒+有音1秒検出+無音1秒検出 →APSS使用テープソフト対応のつもり(市販ソフトでは一切未確認で〜す) ・サブCPUのハンドリング全面書き直し ○サブCPU内7ワードキーバッファ処理追加、その他 →FDアクセス時にキー入力した時に取りこぼさなくなくなった。 →NEWTRONのキー操作性はだいぶ実機に近くなった。 ○SHIFT,CAPS等単独押しで割り込み(turbo用) →ソーサリアンやスタークルーザーでCAPS押しに対応(のつもり) ○X1キーボード上の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 ・新しいTAPフォーマットを採用し、EJECT時にテープの再生位置記録と、 プロテクトノッチの値を保存 ・APSSの無音検出間隔を、変化率10%で1秒から変化率20%で0.5秒 に変更 ・PSG/FM音源エミュをMAMEベースの物に差し替えて音質向上 ・DDRAWの描画速度を、WORDアクセスが遅いビデオカードにあわせて最適化 →「VAIO NOTE 505SX」ローカルチューンかも? ★v0.24 T-tune STEP 1 → v0.25 T-tune STEP 1.10 ・v0.25(+α)ベースに変更 ・イベントドライバーの見直しとバグフィクス →スタークルーザーの不具合対策 ・一部のソフトでPCG定義がコケるバグを修正 ・CTCのバグフィクス ・カセットに関する変更 −カセットファイルの最後の部分に正しくアクセス出来なかったバグ修正 −APSSのアルゴリズム見直し −カセットの動作音を追加 ・D8Uフォーマットで、カセットファイル対応 ・DMAの動作時間を(適当に)加算している。 ・デイジーチェイン割り込みのバグ修正 ★v0.24 original → T-tune STEP 1 ・イベント駆動方法への変更 ・テープファイルのサポート ・デイジーチェイン割り込み処理の強化 ●TODO! ・FDイメージの履歴 左右クリックで履歴ファイルマウント SHIFT+左クリックでファイル選択+マウント SHIFT+右でFDイジェクト ・FDC MB8876を由緒正しくエミュる。というか書き直しかな ・テープAPSSのアルゴリズムを見直す、実機を解析しないと... ・キーインターフェースとサブCPUのやり取りを実機と同じ方法に変更 現状は(input.cpp <---問い合わせ--------- x1_scpu.cpp)となっているが、 実機は(input.cpp ----非同期たれながし--> x1_scpu.cpp)なのだ! ・ディスクアクセス中、NoWaitを切り替えたときにロックするバグ修正 ・FDCシークタイム別「シーク音」 最速シークの方が早くて静かだったのでよくゲームにパッチをあてていた。 元祖X1の最初のFDDだけは最速シーク未対応だったらしい ・X1IPLアクセス時のM1サイクル1ウェイト処理 X1モードでのCMTのIPL起動がヤバい ・CTRL+@キーが効かない不具合 ●最後に ・カセット解析/エミュレーションのためにCZ8RL1を無償で貸し出していただいた sho_kunさんに感謝! ※Xmilleniumはぷにゅ氏さんのWindos版X1/X1turboエミュレーターです。 ※X1EMUはKMさんのDOS版X1/X1turboエミュレータ−です。