2022年12月28日 星期三

ares v131

 多機種模擬器 ares 發布新版,更新如下 :

User Interface

  • Debugger: set per-processor trace history depth [invertego]
  • Debugger: store 64-bit addresses in trace history [invertego]
  • Debugger: use a hashset to track visisted addresses [invertego]
  • Move Audio Driver settings onto a new line, to prevent large device names overflowing the container [LukeUsher]
  • Implement 'Reload Current Game' hotkey/menu option [LukeUsher]
  • Controllers: bind analog inputs only on motion away from center [invertego]

Build System

  • Avoid code-signing when building from PRs [rasky]
  • Use widnres from build environment if defined [invertego]
  • Add support for Windows AArch64 [invertego]
  • Guard SSE usage with a pre-processor [invertego]
  • Add mame RGB utils for all architectures [invertego]
  • Enable debugging of self-signed builds on macOS [invertego]
  • Remove libgtksourceview2.0-dev from dependencies [LukeUsher]
  • Make LTO the default option again, the performance boost is worth the extra build time [LukeUsher]
  • Support building with MSVC/microsoft clang (still requires GNU make for now) [invertego]
  • Define _WIN32_WINNT in makefile rather than headers [invertego]
  • Prefer clang on all platforms [invertego]

Nall (Standard Library / Runtime)

  • Detect and support PowerPC64 [invertego]
  • Fix LTO with PowerPC64 [invertego]
  • Recompiler: simplify carry flag usage [invertego]
  • Prevent AppKit from handling file opens [invertego]
  • Recompiler: implement bit rotates [invertego]
  • Recompiler: implement masked shifts [invertego]
  • Use snprintf to avoid build warnings [invertego]
  • Split implementations into .cpp files [invertego]

Hiro (GUI Framework)

  • Store Windows settings in application directory, making ares truly portable [LukeUsher]

Atari 2600

  • Correct pixel aspect ratio to 12:7 [LukeUsher]

Bandai WonderSwan

  • Fix incorrect handling of color mode bit [asiekierka]
  • Fix PPU addressing of 1024 tiles in 2bpp color mode [asiekierka]
  • Update PPU Planer, packed, depth and grayscale methods to be correct to real hardware [asiekierka]
  • Tweaked APU code to properly treat it as a 24000 Hz digital chip, as opposed to a 3072000 Hz analog chip [asiekierka]
  • Fixed APU channel 2 "half-volume" bits being ignored. [asiekierka]
  • Tentatively tweaked low-pass filter value based on GuyPerfect's research. [asiekierka]
  • Implemented a less stubby serial I/O stub. This properly emits TX/RX interrupts. [asiekierka]
  • Added support for Bandai 2003's 16-bit banking ports [asiekierka]
  • Added stubby support for NMI register 0xB7, as found and documented by FluBBa in the NitroSwan emulator. [asiekierka]
  • Appropriately gate WSC-mode I/O ports from Mono mode. [asiekierka]
  • Fixed behavior of the HBlank/VBlank PPU timers when the reload value is 1, but the timer is not enabled. [asiekierka]
  • Fixed APU internal speaker output logic. [asiekierka]
  • Added support for the Pixel Accuracy toggle; significant performance increase when pixel accuracy is disabled. [asiekierka]
  • Fixed keypad interrupt emulation to match hardware quirks. [asiekierka]
  • Fixed handling the interrupt base port on WSC. [asiekierka]
  • Added PPU SCREEN1, SCREEN2 and tiles to the Graphics debug view. [asiekierka]
  • Added PPU, APU, cartridge, serial and SoC I/O ports to the Properties debug view. [asiekierka]
  • Exposed the ability to use internal speaker output in the UI. [asiekierka]

ColecoVision

  • Correct pixel aspect ratio to 8:7 [PikaSamus]

MSX / MSX2

  • Correct pixel aspect ratio to 8:7 [PikaSamus]

Nintendo NES / Famicom

  • Improve MMC5 frame detection [encoded-byte]
  • Improve MMC5 RAM management [encoded-byte]
  • Fix ram banking on MMC5 [encoded-byte]
  • Fix MMC5 expansion audio [encoded-byte]
  • Fix incorrect resetting of MMC5 scanline register on NMI [encoded-byte]
  • Correct MMC5 scanline detection [encoded-byte]
  • Increment scanlines before comparing on MMC5 [encoded-byte]
  • Implement namco163 expansion audio [encoded-byte]
  • Boost audio output to be inline with other cores [LukeUsher, encoded-byte]
  • Merge APU, Cartridge and CPU emulation to a single co-thread; improving performance with no accuracy impact [LukeUsher]

Nintendo SNES / Super Famicom

  • Add Star Fox EX to the game database [DerekTurtleRoe]

Nintendo Game Boy

  • Fix RTC emulation [invertego]
  • Fix MBC1 mapper implementation for 8/16Mbit cartridges [asiekierka]

Nintendo Game Boy Color

  • Fix secondary obj pallettes when running in DMG mode [LukeUsher]

Nintendo 64

  • Fix 1-bit precision errors in mame RDP [rasky]
  • Emulate VI guardband [rasky]
  • Improve generation of FPU flags and exceptions [rasky]
  • Trigger FPU exceptions also via CTC1 [rasky]
  • Implement FPU flags and exceptions for FCVT_x [rasky]
  • Fix roundings and flags for conversion functions [rasky]
  • Fix FPU round-to-even using intrinsics [rasky]
  • Add DCTC1 and DCTFC1 [rasky]
  • Reset FPU cause bits for every FPU operation [rasky]
  • Correct denormal bandling in FCTV_S_D [rasky]
  • Implement correct denormal flush for each rounding mode [rasky]
  • Prevent compiler from incorrectly re-ordering code using noinline [invertego]
  • Replace cmath functions with intrinsics [invertego]
  • Improve unimplemented exceptions on underflow [invertego]
  • Remove spurious round mode change in FPU impelmentation on aarch64 [invertego]
  • Fix conversion bounds off-by-one issues in FPU [rasky]
  • Do no clear flags on FMOV [rasky]
  • Raise unimplemented exceptions instead of invalid exceptions for FPU conversions [invertego]
  • Replace lround with round, lrint with rint [invertego]
  • Do not clear FPU flags on LWC1/LDC1/SWC1/SDC1 [rasky]
  • Fix analog stick inputs on Aarch64 [invertego]
  • Add PC address to FPU exception logs [rasky]
  • Implement correct PI open bus behavior [rasky]
  • Improve behavior in case of RDP crash [rasky]
  • Implement hardware limit of LOAD_BLOCK RDP command [rasky]
  • Fix 32bit / 64bit address space confusion [rasky]

Sega Game Gear

  • Correct pixel aspect ratio to 6:5 [PikaSamus]

Sega Master System / Mark III

  • Serialize cartridge ram [invertego]

Sega Mega Drive / Genesis

  • Fix cartridge rom banking for roms upto 32MB [TascoDLX]
  • Fix a build issue where bus functions were not inlined as intended [LukeUsher]
  • Reduce sync between components, boosting performance without any observable loss in accuracy [LukeUsher]
  • Refactor VDP to use templating to reduce comparisons in tight inner loops [LukeUsher]

Sega 32X

  • Fix PWM fifo [TascoDLX]
  • Implement DREQ1and fix PWM IRQ [TascoDLX]
  • Fix RLE rendering [TascoDLX]

Sony PlayStation

  • Reduce pause command duration, fixing a race condition in early game bootup [LukeUsher]

Component Improvements

Changes to these components are not specific to cores/systems, but rather they impact all systems that use the updated component.

CPU: MOS 6502

  • fix adc/sbc flags in decimal mode [invertego]

CPU: NEC HuC6280

  • fix adc/sbc flags in decimal mode [invertego]

CPU: NEC V30MZ

  • Do not ignore immediate operand in AAD/AAM calls [asiekierka]
  • Fixed low-hanging CPU timing fruit, based on WSTimingTest. There's still some tests not passing, most notably jumps. [asiekierka]
  • Fixed IN/OUT opcode decoding in the CPU tracer. [asiekierka]
  • Fixed emulation of undocumented opcode 0xD6 as well as 0xF7 subop 1 [asiekierka]

沒有留言:

張貼留言