変更点等 〜x88x ・美麗表示モード(ウィンドウモード時のみMMX専用) ・マウスによる窓枠変更をフリーから±(80,50)単位に変更 ・ドラッグ&ドロップ対応(イメージ選択ダイアログに送られるだけ) ドラッグ&ドロップした場合は前回のディスクイメージ情報削除 〜x88x2 ・美麗モードなにそれ? ・サウンドボード2対応(cisc氏のfmgen008使用) I/O44h-47h固定 リズムデータ(2608_*.wav)はEXEと同じ場所に サンプリングレート(Sound),バッファ(SoundBuffer),ボリューム(Volume*)はM88.INI互換(該当項目をX88000.INIへコピペ) 初期値(Sound=55466,SoundBuffer=200,Volume*=100) ダイアログ作るのメンドクセ CSMはなんとか聴けるレベル ・マウスによる窓枠変更をフリーから±(80,50)単位に変更 〜x88x3 ・ウィンドウ位置サイズ記憶 ・最後に開いたディレクトリ記憶 〜x88x5 ・フルスクリーンから復帰時ウィンドウサイズも復帰 ・複数命令選択追加 外す事で実行が止まるソフトが動く可能性有り 〜x88x6 ・ディスクアクセスランプ追加(動作目安用途) 設定の画面で選択可能 2ドライブのみ ・サウンドボードをマルチスレッド化 〜x88x7 ・ディスク選択をメインメニューに追加 基本は元々のイメージ操作で ・ディスクアクセスランプ有効時アクセス音を出す EXEと同じフォルダにfdd_access.wav INIへVolumeFDD=追加(初期値100) 〜x88x8 ・サウンドボード修正 〜x88x9 ・描画周り修正 ・FMGenDll対応 INIにFMGenDll=を追加 mamefm.dll以外は動作不明 〜x88x10 ・ジョイスティック対応 ・CRT24KHzモード修正 テキストをノンインターレスに ・3MHz/6MHz追加 3MHzは4MHzに6MHzは8MHzに分類 〜x88x11 ・CRTC修正 ・FPS表示追加 ・描画をマルチスレッド化 OS精度の問題で最高FPSが60FPSにならない為マルチスレッド化する事でその枷を外す INIにDrawThread=0を追加する事でマルチスレッド化を抑制 〜x88x12 ・ダイアログのタブ位置を実行時のみ保持に変更 ・rpi仮対応(ウィンドウモードのみ) EXEと同じフォルダにPluginsフォルダを作成しその中に任意のrpiファイルを入れる INIにrpi=???.rpiを追加 ウィンドウサイズが1280×800の時にrpiのフィルタを使い描画 2倍/16bit color(565)/640x400に対応していていないrpiの場合はエラーか表示に不具合 簡易フィルタLinear.rpi添付 独自に拡張rpiとしてフリーサイズで描画をするフィルタも作成できるようにしてある 要CPUパワー ダイアログ作るのメンドクセ 〜x88x13 ・リセット処理修正 ・描画スレッド修正 ・メニューの類を半角カナに変更 ・メニューにウィンドウ項目追加 サイズ選択フィルタの使用がの変更が手軽に出来るように フィルタ選択はメンドクセ起動時オン固定 ・Linear.rpiをMMX専用化 〜x88x14 ・SUBCPU常時動作に変更 〜x88x15 ・SUBCPU常時動作選択追加 ディスク交換を自動検出するような物に対応 ・FDC修正 CRCエラーデータ反映 アクセス不具合 ・サウンドボード修正 OPNA判定に失敗するソフトに対応 ・リセット修正 インターレースの反映 〜x88x16 ・拡大縮小時のみ美麗モード復活 要Direct3D9&MMX INIにDirect3D=縮小フィルタ,拡大フィルタ,奇数ラインの明るさを追加 フィルタ一例 0 フィルタ無し 1 点フィルタ(目的のピクセル値に最も近い座標のテクセル) 2 バイリニアフィルタ(2x2領域テクセル重みつき平均) 3 異方性フィルタ(2Dでは意味なし) 6 テントフィルタ(4サンプル) 7 ガウスフィルタ(4サンプル) グラボの能力に依存するので描画され無いフィルタ有 明るさは0〜255 2倍拡大にrpiを使用している場合はそちら優先 ウィンドウモード時のみ(最大化なら可) メニュー作るのメンドクセ ・フルスクリーン解像度設定追加 INIにfullscreensize=横サイズ,縦サイズ 元からの「縦サイズにはメニュー描画分の余白が必要」な仕様はそのまま 2倍の場合は1280x800より縦が長い1280x960や1280x1024が必要 2倍で描画の場合はrpiが使用可能 〜x88x17 ・別方式BEEP追加 INIにRetroBeep=1を追加すると良くあるBEEP音 INIにVolumeBeep=追加(初期値100) ・擬似ステレオ追加 INIにpStereo=ディレイ時間(ms)を追加する事で擬似ステレオ化 0で無効目安は5 ・FMGenDllフル対応 DLLがサポートしている音源部はDLLで出力 〜x88x18 ・CMD SING追加 ・メニュー追加 サウンド項目追加 RetroBeep 別方式BEEP CMD SING RetroBeepが有効の時のみ選択可能 pseudo-stereo 擬似ステレオ(要INI:pStereoに事前に時間設定) ・ASIO対応 INIにASIOname追加 ASIOname=ASIOデバイス名(例:ASIO4ALL v2) ASIO自体が対応しているレートのみ 理論最小バッファは2000*ASIO Buffer Size/Sampling rateで求める(小数点以下切り上げ) 例:2000*ASIO Buffer Size(512)/Sampling rate(44100)=必要バッファ24(ms) INI:SoundBuffer=24 設定バッファが必要バッファより少ない場合は自動補正 実際はエミュレート実行速度の問題で最小バッファでは音切れの可能性あり ディスクアクセス音もASIO出力になる為バッファ遅延有 バッファを20msにしてASIOバッファを音切れしない範囲まで増やしていくのが良い DirectSoundを使用にしているとASIOが使えないので設定で切る その場合はX88000のBEEPは使用出来ないのでRetroBeepを使用 ・CPUクロック変更 クロックをMHzからHzへ変更 INIにCPUClock0〜3=CPUクロック(Hz)でメニューに登録可能 デフォルト CPUClock0=3000000 CPUClock1=3993600 CPUClock2=6000000 CPUClock3=7987200 リセットせずにクロック変更する事が出来る 1000000(Hz)〜100000000(Hz)まで(1〜100MHz) テープ等の機器アクセス時にクロックを変更する動作は極力避ける ・FDDアクセスウェイト追加 INIにFDDWait=スピード(%) デフォルト0(%) 大雑把なタイミングを取る程度 ・その他変更修正 INI:SoundInterval=サウンドバッファ監視間隔(ms) デフォルト10ms 間隔をあければ負荷は減る意味がわかる人のみ サウンドバッファへの書き込みをMMX化(MMX必須) 〜x88x19 ・FDDアクセスサウンド変更 EXEと同じフォルダにheaddown.wav/headup.wav/seek.wav エミュレータのロジックと発音遅延と発音間隔様々な問題で実機と違うのは諦め ・メニューのサウンド項目にSeek Sound追加 ・DMAC修正 それっぽい仕草程度 ・その他修正 ASIO調整 リズム音源 ドライブメニュー 〜x88x20 ・CRTC修正 部分的に刷新した ・その他修正 ASIO初期化失敗時の処理 〜x88x21 ・音質改善 22/44KHz ・コレクションとして ・ノークレーム/ノンサポート レッドナウ http://spoiler.shiteyattari.com/x88x21.zip