2020年1月22日 星期三

mGBA 0.8.0

GB/GBC/GBA模擬器 mGBA 發布新版,這版做了很多很棒的改進,更新如下 :

Features

  • Improved logging configuration
  • One-Player BattleChip/Progress/Beast Link Gate support
  • Add Game Boy Color palettes for original Game Boy games
  • Debugger: Add unary operators and memory dereferencing
  • GB: Expose platform information to CLI debugger
  • Support Discord Rich Presence
  • Debugger: Add tracing to file
  • Enhanced map viewer, supporting bitmapped GBA modes and more displayed info
  • OpenGL renderer with high-resolution upscaling support
  • Experimental high level “XQ” audio for most GBA games
  • Interframe blending for games that use flicker effects
  • Frame inspector for dissecting and debugging rendering
  • Switch: Option to use built-in brightness sensor for Boktai
  • Ports: Ability to enable or disable all SGB features (closes #1205)
  • Ports: Ability to crop SGB borders off screen (closes #1204)
  • Cheats: Add support for loading Libretro-style cht files
  • GBA Cheats: Add support for loading EZ Flash-style cht files
  • Support for unlicensed Wisdom Tree Game Boy mapper
  • Qt: Add export button for tile view (closes #1507)
  • Qt: Add recent game list clearing (closes #1380)
  • GB: Yanking gamepak now supported
  • Qt: Memory range dumping (closes #1298)

Emulation fixes

  • GB: Fix using boot ROM with MMM01 games
  • GB Audio: Only reset channel 3 sample in DMG mode
  • GB Audio: Sample inactive channels (fixes #1455, mgba.io/i/1456)
  • GB Audio: Fix channel 4 volume (fixes #1529)
  • GB I/O: Filter IE top bits properly (fixes #1329)
  • GB Memory: Better emulate 0xFEA0 region on DMG, MGB and AGB
  • GB Video: Delay LYC STAT check (fixes #1331)
  • GB Video: Fix window being enabled mid-scanline (fixes #1328)
  • GB Video: Fix mode 0 window edge case (fixes #1519)
  • GB Video: Fix color scaling in AGB mode
  • GBA: All IRQs have 7 cycle delay (fixes #539, mgba.io/i/1208)
  • GBA: Reset now reloads multiboot ROMs
  • GBA BIOS: Fix multiboot entry point (fixes Magic Floor)

Other fixes

  • Core: Improved lockstep driver reliability (Le Hoang Quyen)
  • FFmpeg: Drain recording buffers
  • GB: Fix reading ROM immediately after unmapping BIOS
  • GB SIO: Fix lockstep failing games aren’t reloaded
  • GBA Cheats: Fix value incrementing in CB slide codes (fixes #1501)
  • Libretro: Fix crash changing allowing opposing directions (hhromic)
  • Qt: Fix some Qt display driver race conditions
  • Qt: Fix menu bar staying hidden in full screen (fixes #317)
  • Qt: Only show emulator restart warning once per settings saving
  • Qt: Fix LibraryController initialization (fixes #1324)
  • Shaders: Fix gba-color shader resolution (fixes #1435)
  • Switch: Fix audio when video rate desyncs (fixes #1532)

Miscellaneous

  • CMake: Don’t use libzip on embedded platforms (fixes #1527)
  • Core: Add keysRead callback
  • Core: Create game-related paths if they don’t exist (fixes #1446)
  • Core: Add more memory search ops (closes #1510)
  • Debugger: Make tracing compatible with breakpoints/watchpoints
  • Debugger: Print breakpoint/watchpoint number when inserting
  • Feature: Switch from ImageMagick to FFmpeg for GIF generation
  • FFmpeg: Support audio-only recording
  • GB Memory: Support running from blocked memory
  • GBA BIOS: Add timings for HLE BIOS math functions (fixes #1396)
  • GBA BIOS: Fix clobbered registers in CpuSet (fixes #1531)
  • GBA Savedata: EEPROM performance fixes
  • GBA Savedata: Automatically map 1Mbit Flash files as 1Mbit Flash
  • Debugger: Add breakpoint and watchpoint listing
  • mGUI: Remember name and position of last loaded game
  • OpenGL: Only resize textures when needed
  • Qt: Don’t unload ROM immediately if it crashes
  • Qt: Support switching webcams
  • Qt: Cap window size on start to monitor size
  • Qt: Open a message box for Qt frontend errors
  • Qt: Increase maximum magnifications and scaling
  • Qt: Add native FPS button to settings view
  • Qt: Improve sync code
  • Qt: Add option to pause on minimizing window (closes #1379)
  • Qt: Scale pixel color values to full range (fixes #1511)
  • Qt: Remove What’s This icon from dialogs
  • Qt: Printer quality of life improvements (fixes #1540)
  • Qt: Add copy and QoL improvements to graphic views (closes #1541)
  • Qt: Show list of all sprites in sprite view
  • Qt: Add option for disabling OSD messages
  • Qt, OpenGL: Disable integer scaling for dimensions that don’t fit
  • SM83: Support PC-relative opcode decoding
  • Switch: Dynamic display resizing
  • Switch: Support file associations
  • Vita: L2/R2 and L3/R3 can now be mapped on PSTV (fixes #1292)

Changes from 0.8 beta 1

Emulation fixes

  • ARM: Fix STR writeback pipeline stage
  • ARM: Partially fix LDM/STM writeback with empty register list
  • ARM: Fix stepping when events are pending
  • GBA DMA: Fix case where DMAs could get misaligned (fixes #1092)
  • GBA Memory: Fix open bus from IWRAM (fixes #1575)
  • GBA Timers: Improve timer startup emulation
  • GBA Video: Fix OpenGL renderer 512x512 backgrounds (fixes #1572)
  • GBA Video: Fix BLDY for semitransparent sprite on non-target-2 backgrounds
  • GBA Video: Fix effects blending improperly in some non-last windows
  • GBA Video: Copy higher priority target 1 flag

Other fixes

  • 3DS: Fix screen darkening (fixes #1562)
  • Core: Fix uninitialized memory issues with graphics caches
  • Core: Return null for out of bounds cached tile VRAM querying
  • GBA Video: Fix OpenGL fragment data binding
  • GBA Video: Fix mosaic in modes 1-5 in OpenGL (fixes #1620)
  • Debugger: Fix tracing skipping instructions (fixes #1614)
  • OpenGL: Only invalidate texture if dimensions change (fixes #1612)
  • Qt: Fix fast forward mute being reset (fixes #1574)
  • Qt: Fix scrollbar arrows in memory view (fixes #1558)
  • Qt: Fix several cases where shader selections don’t get saved
  • Qt: Fix division by zero error in invalid TilePainter state
  • Qt: Fix “restart needed” dialog after first config (fixes #1601)
  • Qt: Fix undesired screen filtering when paused (fixes #1602)
  • Qt: Fix sprite view using wrong base address (fixes #1603)
  • Qt: Fix inability to clear default keybindings
  • Qt: Release held actions if they get rebound
  • Qt: Fix crash double-clicking menus in shortcut settings (fixes #1627)
  • Qt: Fix record A/V window not updating resolution (fixes #1626)
  • Vita: Fix analog controls (fixes #1554)
  • Wii: Fix game fast-forwarding after slowing down
  • Wii: Improve audio buffering (fixes #1617)

Miscellaneous

  • GB Memory: Support manual SRAM editing (fixes #1580)
  • GBA: Trim non-movie ROMs to 32 MiB if applicable
  • GBA Audio: Redo channel 4 batching for GBA only
  • GBA I/O: Stop logging several harmless invalid register reads
  • GBA Video: Changing OpenGL scaling no longer requires restart
  • Debugger: Separate aliases from main commands
  • Debugger: Print break-/watchpoint ID when breaking in CLI
  • Debugger: Minor interface cleanup
  • SDL: Use controller GUID instead of name
  • SM83: Rename LR35902 to SM83
  • Tools: Allow using threaded renderer in perf.py
  • Tools: Clean up unused argument in mgba-perf

沒有留言:

張貼留言