2026年5月5日 星期二

Ymir v0.3.1

SEGA SATURN模擬器 Ymir 發布新版,更新如下 :

New features and improvements

  • Debugger: Add Priority Stack to VDP2 debug overlay.
  • VDP2: Various performance optimizations to the software renderer, improving performance in graphics-bound games (especially in high resolution modes). Technical details:
    • RBG1 was being unnecessarily rendered when NBG0 was enabled and RBG1 was disabled
    • Remove redundant transparency bit since priority zero acts as transparency
    • Remove various unused function arguments, reducing CPU register and stack pressure
    • Pass down VDP2 register references as arguments rather than fetching them from scratch everywhere
    • Reuse line data (i.e. skip recomputing lines) when rendering vertical mosaic
    • Bit-pack character pattern data in a single 32-bit value
    • Microoptimize scroll coordinates calculations
    • Rotation parameter table calculations:
      • Specialize calculations for (1) no coefficient table, (2) per-line coefficient table and (3) per-dot coefficient table
      • Hoist coefficient table enable and per-dot coefficients checks out of the loop
      • Make the inner loops SIMD-friendly
      • Avoid unnecessary computation of transparency and line color screen data if they are disabled
    • Microoptimizations to the compositor function:
      • Layer sorting now uses a combined key
      • Gather layer data in one single loop
      • Pixel fetching is now templatized and some bail out checks are done earlier
      • Color offset calculation enable flag is cleared in the fetch loop if no offset is actually applied

Fixes

  • Debugger: Various SH2 stack analysis fixes.
  • Game DB: Add slow VDP1 flag to Funky Fantasy to fix slow FMVs.
  • Media: Detect postgaps in data tracks when the CUE sheet doesn't explicitly announce them. Fixes audio track shifts in bad Virtua Fighter 2 dumps.
  • Media: Fix PREGAP/POSTGAP handling in CUE/BIN dumps. Fixes shifted audio tracks in games dumped with ImgBurn.
  • SH2: Fix illegal slot instruction exception handling. (thanks to @celeriyacon)
  • VDP1: Add game-specific flag for skipping command processing if the top of the table is empty. Enable it exclusively for Sekai no Shasou kara - I Swiss-hen - Alps Tozantetsudou no Tabi. Fixes missing graphics in Gungriffon. (#810)
  • VDP1: Disable early polygon drawing termination when rendering polygons when user clipping mode is inverted. Fixes clipped polygons around the minimap in Machine Head (#767).
  • VDP1: Implement simple infinite loop detection. Fixes slowdown in the Mojave Desert stage (1-2) in Gale Racer.
  • VDP2: Apply color calculations to transparent sprite mesh on layer 0. Fixes stripes on ground plane in Gungriffon.
  • VDP2: Apply color offset to transparent sprite mesh on layer 0 in a separate step. Fixes missing spotlight in the Colonel battle in Mega Man X4. (#818)
  • VDP2: Fix VRAM access calculations when RBG1 is enabled. Fix missing car graphics regression in Gale Racer. (#359)
  • VDP2: Fix and use line color screen calculation ratio when LNCL is inserted. Fixes text background issues in Doukoku Soshite. (#502)

沒有留言:

張貼留言