マルチシステムエミュレーター『ares』のv130がリリースされました。今回のバージョンでは、新たにNINTENDO64DDのエミュレーションを追加。また、macOSでParallel-RDPがサポートされています。
●ares v130 リリース
https://ares-emu.net/news/ares-v130-released
以下、機械翻訳
ユーザーインターフェース
- エミュレーション コアを無効にしたり、GUI からグループ化を解除したりする機能を削除して、コードベースを簡素化 [Luke Usher]
- ステータスバーに加えてステータスメッセージをコンソールに記録する [Rasky]
- システム リストのシステムをベンダーのアルファベット順に並べ替える [Luke Usher]
- –help パラメーターを使用してコマンド ライン オプションを文書化 [Raphnet]
- 「Vulkan」を「GPU アクセラレーション」に改名 [Rasky]
- [Luke Usher] – 「フォーカスが失われたときに入力を許可する」が有効になっている場合、ウィンドウがフォーカスされていないときでもホットキーを使用できるようになりました。
- macOS で署名付きアプリケーションとして実行するときに JIT を許可する資格を追加 [Rasky]
- macOS に libMoldenVK をバンドル [Rasky]
- ドラッグ/ドロップ時の Famicom Disk System ゲームの自動検出を修正 [remutro]
- ホスト入力のポーリング間隔が長すぎるのを防ぎ、ゲームが入力レジスタを急速にポーリングするときのラグを減らします。[Luke Usher]
ビルドシステム
- 互換性のない古い gcc バージョンを検出する [Rasky]
- デフォルトでリンク時の最適化を有効にして、ほとんどのユーザーのパフォーマンスを向上させます [Luke Usher]
- macOS でユニバーサル アプリケーションとしてビルドし、同じバイナリを Intel および Apple シリコンでネイティブに実行できるようにする [Rasky]
- gcc が実際に clang のエイリアスであることを検出する [Invertego]
- 新しいバージョンの clang でコンパイラの警告を修正 [Invertego]
- pkg-config を使用して Ruby の依存関係を検出 [Tobias Jakobi]
- Windows リリースとナイトリー ビルド専用に clang に切り替える [Luke Usher]
- macOS でのクロスコンパイルを許可する [Rasky]
- ccache を使用したコンパイルのサポートを追加 [Luke Usher]
Nall (標準ライブラリ / ランタイム)
- make_string を参照渡しに改善 [Invertego]
- nall 型の代入演算子のメモリの問題を修正 [Invertego]
- ハッシュセットの new//delete の不一致を修正 [Invertego]
- thread::join の Posix 実装を冪等にする [Invertego]
Ruby (ビデオ/オーディオ/入力ドライバー層)
- DirectDraw レンダリング バックエンドを削除。これは DirectX 7 以降非推奨です [Luke Usher]
- glXSwapIntervalEXT の使用が必要なシステムのスワップ間隔を修正 [Luke Usher]
- xlib でのダブルマウス イベントの回避 [Raphnet]
アタリ2600
- バッファオーバーフローのクラッシュ状態を修正 [Invertego]
- 他のコアと画面サイズの一貫性を保つためにスケール ファクターを増加 [Luke Usher]
セガマスターシステム・ゲームギア
- セガのメガドライブコントローラー(メガマウス、スポーツパッド、3ボタン/6ボタン)に対応【Raphnet】
- Sports Padコントローラーのサポートを追加[Raphnet]
- パドルコントローラーのサポートを追加 [Raphnet]
- 出力信号をコントローラー ポートに公開する [Raphnet]
- 50hz ゲーム ギアは製造されていないため、ゲーム ギアが 50hz モードで動作しないように [Luke Usher]
- Game Gear BIOS の実行サポートを追加 (オプション) [Luke Usher]
- コントローラ ポート 2 への書き込みを修正 [Raphnet]
- ゲームギアのポート $3e と $3f の動作を修正 [Luke Usher]
- NTSC-U および NTSC-J ゲーム ギア モデルのサポートを実装 [Luke Usher]
- RAM をゼロに初期化 (BIOS がロードされていないときにタイトルが壊れる問題を修正) [Luke Usher] –
- 不正な hcounter 計算を修正 [Luke Usher]
- VDPエミュレーションのマイナーな改善[Luke Usher]
- マスター システム モードでゲーム ギアを実行するとクラッシュする問題を修正 [Luke Usher]
- マスター システム モードを必要とする 2 つのゲーム ギア ゲームを修正: Taito Chase HQ (日本) と Chase HQ (USA) [Luke Usher]
メガドライブ
- Wonder Boy V (J) の eeprom サポートを追加 [TascoDLX]
- Psy-O-Blade の SRAM サポートを修正 [FitzRoyX]
- Mega Mouse [Raphnet] のサポートを追加します。
- アスペクト比の誤りを修正 (32:35) [Luke Usher]
- 標準マッパーとバンク マッパーを組み合わせてカートリッジ エミュレーションを簡素化 [TascoDLX]
- リセット時に Z80 バス要求をラッチ [Invertego]
- リセット時に Z80 バンク レジスタを保持 [Invertego]
- Triple Play 96 & Triple Play Gold [TascoDLX] のカスタム マッパーを実装します。
スーパー32X
- 標準 SEGA/SSF2 マッパーのサポートを実装 [Ralakimus]
- eeprom サポートを修正 [Invertego]
- アダプタ制御レジスタの未使用ビットが zzero に設定されていることを確認する [TascoDLX]
- カートリッジ SRAM を 0x900000 の範囲で公開 [Invertego]
- メイン/サブ SH-2 プロセッサ間の同期を改善 [Invertego]
- インタプリタとリコンパイラの同期タイミングを統一 [Invertego]
- 割り込み制御レジスタの上位ビットが確実にゼロを返すように [Luke Usher]
- ゲームが上下の境界領域にガベージをレンダリングする問題を修正 [Luke Usher]
- Sega CD32X ゲームが 32X アドオンを検出できない問題を修正 [Invertego]
- 適切な 32x リセット動作を実装 [Luke Usher]
NES/ファミコン
- iNES 2.0 フォーマット ROM の (部分的な) サポートを実装 [Luke Usher]
- GTROM が正しい 16k ではなく 8k CHR-RAM を持っていた問題を修正 [Luke Usher]
SNES / スーパーファミコン
- performance-ppu 選択の問題を修正 [Intertego]
- ピクセル精度モードで背景レイヤー 4 が壊れるタイプミスを修正 [FitzRoyX]
- MSU-1 ゲームの自動検出を修正 [Luke Usher]
ゲームボーイ/ゲームボーイカラー
- Game Boy Color を DMG モードで実行できるようにする [Luke Usher]
- 停止中の表示無効化を実装 [Luke Usher]
- – 停止時にDIVカウンターがインクリメントしないように[Luke Usher]
- KEY0 のマイナーな「おっと」を修正 [Luke Usher]
- DIVの初期値を修正[Luke Usher]
- MBC2 マッパーのさまざまな修正 [Luke Usher]
- DMG と CGB の bgEnable の違いを実装 [Luke Usher]
ゲームボーイアドバンス
- EEPROM 保存を使用するゲームを修正 [Luke Usher]
NINTENDO64
- Nintendo 64DD エミュレーションの実装 [Luigiblood]
- MoltenVK を使用して、Metal を介して macOS で Parallel-RDP をサポートする [Rasky]
- sse2neon を使用して Apple Silicon でベクトル化を有効にし、パフォーマンスを向上 [Rasky]
- RSP リコンパイラのキャッシュに crc32 の代わりに XXH3 を使用し、パフォーマンスを向上 [Luke Usher]
- TRUNC にオーバーフロー例外を実装 [Rasky]
- VIの後処理/ぼかしを無効にする設定を追加 [Parashe]
- 不足している変数を RDP シリアル化に追加 [sp1187]
- RDP クラッシュのサポートを実装 [Rasky]
- FPU 例外のサポートを改善 [Rasky]
- COP1/COP2 無効命令例外を改善 [Rasky]
- RSP リコンパイラのキャッシュを 256 バイトのチャンクに分割し、パフォーマンスを改善 [Luke Usher]
- VI解像度スケーリングを書き直す [Rasky]
- RSP プログラム カウンタにネイティブ データ型 (u16) を使用して、パフォーマンスを向上 [Luke Usher]
- AI DMA 有効ビット処理を修正 [Rasky]
- AI IRQ を修正 [Rasky]
- リコンパイラが不正な範囲を無効にする問題を修正 [Luke Usher]
- MAME RDP のバッファ オーバーフローを修正 [Rasky]
- コントロールスティックのデッドゾーンスケーリングを修正 [kev4card]
- ゲームパッド読み取りロジックの数値の不安定性を修正 [Invertego]
- インターレース解像度のサポートを修正 [Rasky]
- データを受信していないときはPIF RAMをそのままにしておく【Raphnet】
- コントローラーの種類で「Nothing」を選択した場合の修正[Raphnet]
- 正確な RDP ブロックの無効化を実装する [Invertego]
- 常にオーディオ サンプルを返すように AI エミュレーションをリファクタリング [Rasky]
- RDP DMA 転送中の DP_START の更新のバグを修正 [Rasky]
MSX
- Arkanoid Vaus パドル コントローラーを実装 [Raphnet]
- コントローラ ポート 2 の実装 [Raphnet]
- R-Type 固有と汎用の ASC16 ROM マッパーの検出を修正 [Luke Usher]
- バットマン (日本) のデータベース エントリを追加 [Luke Usher]
NEOGEO
- 不要な同期を減らしてパフォーマンスを改善 [Luke Usher]
- アンロード時に画面スレッドをクリアしないことによるクラッシュを修正 [Invertego]
- オーバースキャンをクリッピングして外側のエッジのレンダリングの問題を修正 [Luke Usher]
- FM/SSG オーディオの pkayback を修正 [Luke Usher]
- 2 のべき乗でないサイズの CROM を使用するゲームのサポートを修正 [Luke Usher]
- .p プログラム ROM の代わりに .ep プログラム ROM を使用する ROM のロードを修正 [Luke Usher]
- 誤ったスプライト オフセットを修正: ライン 0 ではなく、トップ ボーダーに相対的です。[Luke Usher]
- ADPCM-A オーディオの予備サポートを実装 [Luke Usher]
- ADPCM-B オーディオの予備サポートを実装 [Luke Usher]
PlayStation
- 増幅中の音量入力の精度を向上 [Luke Usher]
- 単純なアイドル ループ検出を追加し、わずかにパフォーマンスを向上 [Luke Usher]
- クランプ f32->u8 色変換 [Invertego]
- 範囲外の vram 座標を使用してレンダリングするとクラッシュする問題を修正 [Luke Usher]
- ほとんどの (ただしすべてではない) ゲームで入力が壊れていた問題を修正 [Luke Usher]
- ディスクコマンド GetParam [remutro] を実装
コンポーネントの改善
これらのコンポーネントへの変更は、コア/システムに固有のものではなく、更新されたコンポーネントを使用するすべてのシステムに影響します。
CPU:モス6502
- より多くの非公式/文書化されていない命令のサポートを追加しますが、あまり使用されていない命令のいくつかがまだ欠けています [Luke Usher]
CPU: モトローラ 68000
- divs/divu ネガティブフラグを修正 [Invertego]
- A/SBCD および ADD/SUBX のメモリ読み取り順序を修正 [Invertego]
CPU:日立SH-2
- シリアル通信の修正 [TascoDLX]
- キャッシュされていない書き込みで同期する [Invertego]
- 壊れた Illegal Instruction デバッグ出力を修正 [Luke Usher]
- 分岐遅延スロットの PC 相対アドレッシングを修正 [Invertego]
- SH6704内部バスの予備エミュレーションを追加【Invertego】
- 例外フレームに誤ったリターン アドレスが格納されていた問題を修正 [Invertego]
CPU:NEC V30MZ
- シフト動作を修正 [Invertego]
CPU:ザイログ Z80
- RET, LD (IX+d),n & LD (IY+d),n のタイミングを修正 [TascoDLX]
- 拡張/プレフィックス命令のタイミングと動作を修正 [TascoDLX]
- IM0 を修正し、IRQ 実装を簡素化 [Luke Usher]
- その他各種命令タイミング修正[TascoDLX]
- リセットロジックを修正 [TascoDLX]
オーディオ: YM2612
- pm ビブラート効果を修正 [TascoDLX]
- エンベロープ更新ロジックを修正 [TascoDLX]
- ボリュームフロアを修正 [TascoDLX]
- その他のさまざまな改善と修正 [TascoDLX]
オーディオ: AY38910
- IO ポートに最後に書き込まれたデータのコピーを保持する [Raphnet]
オーディオ: SN76489
- ノイズチャンネルへの追加データ書き込みを修正 [Luke Usher]