QUASI88の履歴 2024/03/31 ver 0.7.1 Makefile で設定ファイルなどのディレクトリ位置を指定可能とした (UNIX版) 64bit環境で fmgen+サウンドボードII 指定時にハングするバグ修正 (UNIX版) Windows 64bitバージョン対応 2024/02/18 ver 0.7.0 SDL2 に対応 (今後は SDL2 以外は非対応) MAME サウンドドライバのリズム音を外部ファイルから読み込むように変更 キーの割り当てを変更 アイコンを新規に作成 clang で fmgen がコンパイルできない箇所を修正 gcc 4.8 以降でコンパイルすると fmgen の音がおかしいバグを修正 ファイルの文字コードを UTF-8 に統一 (WAVE DASH 等の文字も使用しない) UTF関連の処理を改善 locale によりファイル名の文字コードを自動判定 (UNIX版) DGA と XVideo の対応を削除 (UNIX/X11版) ジョイスティックの対応を BSD USB のみとする (UNIX/X11版) 2013/03/29 ver 0.6.4 MAME 0.112/XMAME 0.106 のサウンドドライバを移植 サウンド出力 (WAV形式) のファイル保存に対応 全体処理シーケンスを変更 メイン部をすっきり? とした 表示・サウンド出力処理部を、Z80処理ループから追い出し ウェイト部をメインループから追い出してエミュとメニューで共通化 これらの影響でモニターモードの一部機能が正しく動作しないかも 描画処理の変更 サイズや色の処理の一部を、OS依存部から非依存部に移動 描画処理をエミュとメニューで共通化 描画処理をちょっとだけ高速化 全画面のアスペクト比を試しに設定できるようにする (-aspect) FDC で 無効な SENSE INT STATUS に対しても正常応答していたのを修正 (0.6.2でエンバグ) サウンドボードIIの、ADPCMのレジスタ設定時のバグを修正 シリアルマウス対応 (-serialmouse オプション) メニューモードの修正 ファイル選択時のカーソルの挙動を変更 (file-op.c 修正) ボタンをマウスクリックした時、オンで選択、オフで押下とした カーソルキーでフォーカス移動するようにした UTF-8のファイル名に暫定対応 (-utf8 オプション) サウンドデバイス関連の設定項目を追加 (MAME と fmgen の切替など) リセットの項目を増やしたり、一部メニューを自動で隠したりと変更 キー割り当てのバグ修正 ジョイスティックを2台8ボタンまで対応 マウスを自動で隠す、画面に閉じ込める、などの設定項目を追加 設定保存をできるようにした ステータス部にイメージ名を表示 (-statusimage オプション) XDnDのバグ修正 (UNIX/X11版) ROXからドラッグ&ドロップ出来ない場合があるバグを修正 XVideo に暫定対応 (RGBフォーマットのみ) GTK+1.2 および Win32API に実験的対応 配布物から、各種ツール (tools) を削除 2007/05/25 ver 0.6.3 メニューモードの修正 ファンクションキー F6 - F10 に任意のキー割り当てを可能に 1000個以上ファイルのあるディレクトリでも正常に開けるように修正 シフトJISのフォルダ名を正しく扱えるように修正(windows版) リセット時に、MAME と fmgen のサウンドドライバ切替えを可能に キー入力処理を修正 入力のおかしいキーのいくつかを修正 101キーボードに(多分)対応 (-keyboard) キー設定ファイル対応 (-keyboard 0 -keyconf) -f6 - -f10オプションの変更 MOUSE-HIDE を削除。MAX-SPEED/MAX-CLOCK/MAX-BOOST を追加 サウンド出力以外を高速動作させる、ブースト機能を追加 (-boost) まだ実験レベルです。サウンドにノイズが乗りやすくくなります。 サウンドボード設定が異なる場合、ステートロードできないバグを修正 2006/12/13 ver 0.6.2 VSYNC割り込みの発生タイミングをさらに変更 (ぽっぷるメイル、ローグ対策) 割り込みのマスクと優先の処理を変更 (イースのボス戦のサウンド不良対策) サウンド割り込みの発生周期、発生条件とタイミングを変更 FDC で 同一トラックに SEEK した時、内部処理をしないように変更 FDC で SEEK 後の割り込みを無視した場合の処理を変更 FDC で READ DIAGNOSTIC などのステータスを変更 FDC の READ/WRITE時に、特殊な条件下で誤動作する可能性のあるバグ修正 FDC で ミックスセクタが正常にできないバグ修正 (ver 0.6.0でエンバグ) マウスの移動量セットタイミングを変更 BEEP音出力中にリセットしても、BEEP音が止まらないバグ修正 読込専用のディスクイメージに書き込んだ場合に、動作を無視するバグ修正 一部のオプションで、設定ファイルがコマンドラインより優先されるバグ修正 メニュー修正 (バグ取り、簡易ビュアなど) 2006/09/22 ver 0.6.1 ver 0.6.0 のバグフィックス -cpu 1 オプション指定時、メニューに入ると動作が遅くなるバグ修正 ソフトウェアNumLock が効きっぱなしになるバグ修正 ブレークポイントが効かないバグ修正 VSYNC・RTC割り込みのタイミングを若干変更 ステータスに、キーロック状態を表示 2006/09/11 ver 0.6.0 画面表示・キー入力を中心のソースの見直しを行い、X11版とSDL版を統合 他にも 起動時の初期化順序、メインループ処理、Z80処理、FDC処理、 ウェイト処理、などいろいろと気の向くままにソースを書き換え。 機能的な変化は無いハズ。若干処理速度が上がったかも。 PCG-8100対応 (サウンドは未対応) (-pcg オプション) VRAM白黒の時の、テキストアトリビュート処理修正 (P1デモ対策) -cpu 1 オプション指定時、CPUを 4000ステップ 同時処理するように変更 シルフィード対策。従来は 256ステップ。 -cpu 2 オプション指定時、5us毎にCPUを切替えるように変更 従来は 1ステップ毎に切替えていた。この変更にともない、 従来はメインCPUと同じだったサブCPUクロックを、4MHzに固定。 1ラインおきに描画するインターレス表示を復活 (-skipline オプション) 設定ファイルなどのディレクトリ位置を変更 -snapdir/-statedir/-noconfig オプション追加 サスペンド改めステートセーブの改善 テープ処理中にステートセーブしても多分問題なし。 メニューモードからステートロードできるようにした。 メニューモード表示修正 英数字フォントを変更、第二水準漢字表示のバグ修正、 シフトJISのファイル名処理の追加 (-sjisオプション) など。 スクリーンスナップショットの画像フォーマットに BMP形式を追加 カーソル/マウス移動/ジョイスティックに任意キーの割り当て機能を実装 画面下部にステータスを表示するようにした (F11でオン/オフ切替) 起動時のロゴを削除 (-logo/-nologo オプションも削除) 内蔵フォントを書き換え。ついでにひらがなフォント表示機能追加 かなり適当なメモリウェイトを実装 (-mem_wait オプション) Mac用ファイル操作処理を追加 (apaslothyさんのソースを借用) FreeBSD USB ジョイスティックに対応 (UNIX/X11版) サウンドノイズ対策の実験に -ss オプションを追加 (UNIX/X11版) DGA処理を改良 (UNIX/X11版) XDnDを実装 (UNIX/X11版) nautilusなどからドラッグ&ドロップでディスクイメージが交換可能 2005/02/27 ver 0.5.5 ALU処理修正 メニューモードの一部でホイールマウスを使用可能にした デバッグ機能の強化 BASICファイルのロード・セーブ機能追加 breakpoint 改良 loadmemコマンド改良 (上記変更は全て peach氏より提供されました) インターレス表示時もフォントは隙間を空けずに表示 色の輝度をちょこっと変更 (上記変更は全て xiuhu氏より提供されました) テープイメージに対応 (-tapeload,-tapesave,-cmt_intr,-cmt_poll) ロードは CMT形式 と T88形式、セーブは CMT形式 に対応。 試験的な実装のため、サスペンド/レジュームには未対応。 シリアル入出力をファイルから入力/ファイルに出力 (-serialin, -serialout) オプションをこまごま追加 2003/10/18 ver 0.5.4 Big Engian システムにて fmgen 使用時、リズム音を読み込めないバグ修正 2003/10/01 ver 0.5.3 BASICで、描画処理を高速化するオプション追加 (-hsbasic) イメージ交換時、一瞬ディスク無し状態にするオプション追加 (-exchange) M88 の ROMイメージファイルも使えるように改良 FONT.ROM の セミグラフィック文字データを無視するように修正 VSYNC割り込み信号の扱いのバグ修正 拡張RAMのアクセス処理のバグ修正 ALU処理のバグ修正 FDC の READ DIAGNOSTIC で セクタ間を擬似的なデータで埋める 2DD/2HDに仮対応 (トラックの上限を163に伸ばしただけ。ポート処理は未) デバッグ機能の強化 FDCブレークポイント FDC状態表示 TVRAMダンプ 拡張メモリダンプ (上記変更は全て peach氏より提供されました) オートフレームスキップの実装 イメージファイルのパスを指定するオプション追加 (-romdir,-diskdir) カーソルキーに任意のキーを割り当てる機能の追加 (上記変更は全て floi氏より提供されました) LINUX USB ジョイスティックの実装 (引地氏より提供されました) fmgen008 の実装 (cisc氏作の FM Sound Generatorを実装) メニューモードで、ファイルを開いたディレクトリを覚えておくように修正 レジューム (サスペンド復帰) 処理を改善 環境設定ファイルで -resume を指定できるように修正 -sd/-sd2 などのいくつかのオプションを自動設定するように修正 ジョイスティックキー割り当てで同じキーを設定すると入力できないバグ修正 リセット時にキー入力をすべてオフしていたのを修正 2003/08/06 ver 0.5.2 xmame-0.71.1 のサウンドドライバを移植 FMジェネレータ(fm.c, ymdeltat.c) も若干修正 メニュー画面ではサウンドデバイスを解放するようにした (-closeオプション) HALFサイズ時のフィルタリング処理を追加 (floiさんの提供) インターレス表示の追加 (-interlaceオプション) ジョイスティック処理の追加 (-joystick オプション) その他こまごまとした修正 キーボード・マウス処理の改善、スクリーンスナップショット処理 の改善、コンパイラのワーニング対策、OS依存部の見直し、ほか 2003/06/21 ver 0.5.1 xmame-0.69.1 のサウンドドライバを移植 (サウンドボードII用のリズム音源WAVファイルは不要) 任意のキー押下の設定機能 (ソフトウェアキーボード) スクリーンスナップショット機能の実装 サウンドボードIIのフラグセットタイミングを修正 (EOS割込、BRDY割込) マウスの中ボタンでメニューに入れるようにした (-button2menuオプション) ローマ字カナ入力の処理を書き直し。(-romajiオプションも導入) -f6 - -f10 の文字列に小文字が使えるように修正 ウェイトの調整に selectシステムコールを実装 (-sleepオプション) 2003/01/18 ver 0.5.0 xmame-0.61.1 のサウンドドライバを移植 サウンドボードII(YM2608)に暫定対応 2003/01/18 ver 0.4.6 イメージ名に半角カナを使うと、メニューモードで落ちることがあるバグ修正 Makefile の ROMDIR、 DISKDIR で ~/ を使えるようにした Makefile の INLINE 定義を変更 (xmameに合わせた) xmameのサウンドドライバとのインターフェイス部を書き換え ボリュームのオプション -vol を、-volume に変更 また、-fmvol, -psgvol, -beepvol の初期値も 100, 70, 60 に変更 サウンドボードIIの割り込み生成タイミングを修正 (EOS割込、BRDY割込) キー入力の記録機能を実装 (-record, -playback オプション) 時計の設定を可能にした。(変更値はQUASI88の終了までのみ有効) 2002/06/30 ver 0.4.5 サスペンド機能を実装 サウンドA割り込みの周期計算バグ修正 サウンド割り込みのクリアタイミングを修正。だいぶん正確になったはず? -vsync オプションのデフォルトを 55.4 に変更 (小数を使えるようにした) 非表示期間と垂直同期期間の比も、48:448 に変更 多少は実機に近付いた、かな? メニューモードで、最初のマウスクリック時に誤動作するバグを修正 16bpp 以外の環境で -double指定時、メニューモード表示が異常なバグを修正 ソフトウェア NumLock 機能 (-numlock、-f6 - -f10 NUMLOCK) ファンキションキーのキー割り当てにリセットを追加 (-f6 - -f10 RESET) キーボードのキー割り当てを少し変更 メモリウインドウ処理で、F000番地以降の処理を手抜きしていたのを修正 -fdc_wait オプションの追加 FDCの処理にウエイトが入ります。が、ウエイトは正確ではないし、 大抵の場合は処理速度が遅くなるだけなので、なにもいいことはあり ません。が、ごく稀にこのオプションが必要なソフトがあります。 FDC の動作を若干修正。複数ドライブの同時シークに(多分)対応 内蔵時計停止オプション -timestop の追加 Z80 リセット時のレジスタの値を変更 Z80 の RETN 命令のバグ修正 Z80 の 未定義命令追加 かなり前のバージョンから GNU readline が使えなくなっていたバグを修正 モニターモードでキーの押下を設定できるように修正 (set key コマンド) 2001/12/28 ver 0.4.4 サウンド有効時、-sound オプションをデフォルトで有効にした マウスの応答を若干変更 -cmap 2 指定時の、パレット変更タイミングがおかしいバグを修正 画面イメージの生成方法を変更、ついでにイメージ生成時に、 前回描画時の差分だけ行なうようにした (けっこう高速化) -f6 - -f10オプションの追加。各種機能が、ワンキーで可能に。 メニューモードの改良 コンボボックスもどきの表示も、スクロールドウインドウ対応に チェックボタン等は、ラベルをクリックしても応答するように変更 VRAM非表示時に、画面が真っ白になることがあるバグを修正 ボーダー幅の設定を可能に (-width/-heightオプション) 表示サイズを倍増する、-double オプション追加 BGMの途切れを軽減(?)する、-subload オプション追加。 起動時に、タイトルロゴを表示。 DGAに試しに対応してみた 2001/02/02 ver 0.4.3 -cmap 2 指定時にメニューに入ると色が化けるバグ修正 ドキュメントの整理 2000/10/25 ver 0.4.2a (実験バージョン) ソースプログラムのファイル名、関数名などを変更 OS依存部とOS非依存部に分けてみたつもり オプション -screen を -frameskip に名称変更 マウスの処理方法を変更。-mouse 使用時の挙動が変わったかも? 一時停止機能の内部処理を変更 -focus オプションの追加 (フォーカスウインドウでなくなると一時停止) メニュー画面、一時停止画面でも、Ctrl-C の処理を行なう MIT-SHM の使用に失敗したら、MIT-SHMを使わずに再起動する ウインドウマネージャーからウインドウを閉じた場合、強制正常終了させる メニューモードの改良 PAGE UP/DOWN、先頭文字によるリストセレクト アクセラレーターキー (ESCキーによるキャンセルなど) ブランクイメージの作成機能追加 2000/09/22 ver 0.4.1a (実験バージョン) 実時間ウエイトを実装 それにともない、-waitfreq、-nowait を追加 -ifreq 削除 Z80 エミュレータ部分の改造 任意クロックでの動作に対応出来るように修正 -clock、-soundclock、-vsync オプションの追加 -itiming、-icount、-sclock の削除 -wait を -load に変更 (ちなみに、CPUクロックを変えると、メイン・サブCPUともに、 クロックがかわります) BEEP音の生成タイミング計算のバグ修正 メニューモードの修正 キー設定が一部反映されなかったバグ修正 ドライブを一時的に空にする機能のバグ修正 いくつかの機能追加 -debug オプションの追加 (モニターモードへの移行を可能にするオプション) -baudrate オプションの追加 INT シグナル (Ctrl-C) の挙動を変更 (デフォルトではQUASI88を終了) ファイルの検索順序を、QUASI88_DISK_DIR → カレントディレクトリに変更 起動時にイメージファイルを開けなければ、ROMブートするようにした 2000/09/05 ver 0.4.0a (実験バージョン) メニューモードの改良 2000/08/01 ver 0.3.3a (未公開) BEEP音をサポート。かなり適当にでっちあげました。 BEEP音関連のオプションを追加 メニューモードの改良実験 99/10/07 ver 0.3.2 環境設定ファイル .quasi88rc への対応 -cpu 1 オプション指定時の処理方法を変更 メインCPUがPIOをアクセスした時点から、255ステップ、 メインCPUとサブCPUを交互に処理する。 99/09/22 ver 0.3.1 xmame-0.36b3.1 ベースのサウンドドライバを移植 Z80エミュレート部分の高速化 (-waitオプションも同時に追加) 高速化にともない、FDCの処理タイミングを修正 画面表示のタイミングを修正 QUASI88のリセット時に、落ちるバグ修正 高速化の弊害で、-cpu 1 オプションが時おり機能しないようです。 99/08/24 ver 0.3.0 xmame-0.36b1.2 ベースのサウンドドライバを移植 サウンド関連のオプションを追加 コンパイル時の設定ファイルを、config.h から Makefile に変更 -menukey のキー割当を変更 (F8/F9で音量の上げ下げ) 99/08/10 ver 0.2.6 モニターモードで、Ctrl-C を押すと環境によって落ちるバグ修正 FDC のセクタ検索処理の見直し。 FDC で、READ ID がエラーの時 (C,H,R,N)=(255,255,255,255) とする。 サウンド割り込みの計算時に、サウンドのプリスケール値を見る。 99/06/05 ver 0.2.5 RAM の初期値を変更 モニターモードの大幅な変更、デバッグ ・ブレークポイント機能の追加 ・いくつかのコマンド(move,fill,searchなど) 追加 ・GNU ReadLine 対応 FDC の DATA CRC Error を無視していたバグを修正 24行表示の対応 FONT.ROM が無い場合、N88KNJ1.ROM があれば、それを使うように変更 99/03/17 ver 0.2.4 FDC のマルチセクタ機能のバグ修正 サウンドボードII (-sd2オプション指定時) の処理を修正 ・ADPCMのフラグを反映。ただし、ADPCMの割り込みは未サポート VSYNC以外の割り込み周期のベースを、-sclock オプションに指定 モニター周波数を変更可能に (-24k、-15k オプション) パレットのアナログ、デジタルを変更可能に (-analog、-digital オプション) オプション -invisible_mouse を -hide_mouse に名称変更 オプション -nomouse,-joymouse時でもマウスの座標を設定していたバグを修正 パレット設定のタイミングを変更 99/02/26 ver 0.2.3 テキスト属性の処理部分を全面改定 ・アンダー/オーバーライン、ブリンク、色属性との融合をサポート ・カーソル点滅のサポート テキスト 20行時の表示処理を修正 パレットの処理を変更 ALU リードの処理変更 (わずかに高速化) -cmap 2 オプション (または TrueColor)で、リサイズすると落ちるバグ修正 99/02/10 ver 0.2.2 GNU の cc でしかコンパイルできない箇所をなくす。 メモリのアクセス方法を変更し、処理速度をアップ (笠松健一さんのアドバイスに基づき変更) 辞書ROM実装 最大 1024KB までの拡張RAM実装 キースキャン処理の変更 ・変換/決定/全角キー、ローマ字入力対応 (-kanjikey オプション) -menukey オプション指定時のキー割当を変更 モニターモードのVRAMダンプのバグを修正 メニューモードの修正など ・16/32bpp のXサーバーで文字が化けるバグ修正 ・構成を若干変更 I/Oポート 44H の入力値変更 FDCの処理のバグ修正 ・READ(DELETED) DATA 時の SK非指定時のDDAMセクタ処理のバグ修正 ・READ DIAGNOSTIC 時の、CRCエラー処理、マルチセクタ処理のバグ修正 99/01/16 ver 0.2.1 メニューモードの修正、拡張 ・イメージ名に半角カナを使うと、落ちる可能性があるバグ修正 ・メニューに「ファイルを開く/閉じる」を追加 ・メニューに「イメージ名/読み書き属性の変更」などを追加 イメージのフォーマット機能追加(モニターモード、メニューモードで) ファイル名の文字数制限を撤廃 システムフォントの追加 環境変数 QUASI88_ROM_DIR 、QUASI88_DISK_DIR の導入 98/12/19 ver 0.2 ドライブ、イメージの番号を、0 からではなく、1 からに変更 メニューモードの追加 ・F12キーでメニュー画面に モニターのfileコマンド修正 ・エラーメッセージのドライブ番号表示のバグ修正 ・各種制御できるイメージの最大値 を 256 に変更 モニターモードの set コマンドで変更できる変数の追加 ・cursor_emu ( -cursor オプション の変数 ) ・full_size ( -full / -half オプション の変数 ) ・invisible_mouse ( -invisible_mouse オプション の変数 ) 画面サイズ切替時に、マウスカーソル非表示が無効になるバグを修正 FDDステータス表示などを大幅見直し I/O 入力時の、未定義ビットを 1 に変更 テキスト属性(色、行数)を、I/O出力値ではなく、CRTC設定で行なう 98/10/25 ver 0.1.8 複数のディスクイメージに対応 Z80のバグ修正 ・BIT 7,reg 命令のサインフラグ設定のエンバグを修正 98/09/29 ver 0.1.7 サウンド割り込み生成のバグ修正 ・割り込み生成計算用の CPU周波数が 3MHz になっていた ・サウンドのタイマー制御レジスタの LOAD の立上りで タイマーを初期化しているのだが、これが加算 (+=) に なっていたのを代入 (=) に修正 マウスカーソル非表示オプション追加 (-invisible_mouseオプション) 98/09/25 ver 0.1.6 バスマウス対応 (-mouseオプション) サウンド割り込みの生成条件を変更 カーソルキーをテンキーに見立てる機能追加 (-cursorオプション) (舟橋 啓さん) 98/09/11 ver 0.1.5 Z80 エミュレータ部分の改良 ・ほとんどの未定義命令に対応 ・ステートの正確な(?)計算 ・R レジスタの正確な(?)エミュレート ・LDDI 命令などの処理の途中でも、割り込みをチェック ・IM 0 モード時の処理を修正 (PC-8801に特化) ・その他、こまごまと変更 割り込みタイミングの計算をステートを基準に変更 F6 - F10 を、各種設定変更キーに割り当て (-menukeyオプション) パレットの扱いのバグを修正 ・デジタル/アナログ別々に持っていたのを、統一 割り込みのカウンタ初期化を 加算 (+=) から、代入 (=) に変更 VRTC が、0 になった時に、VSYNC割り込み信号も消すようにした 割込レベル、マスク設定時に、割込信号をクリアしていたのをやめた 機種の自動判別バグ修正 98/08/25 ver 0.1 最初のリリース