Commit graph

  • 43ff951e83 Debugger: Fixed crash in GetMemoryValues When start is not 0 and end is beyond the max size, memset would write out of bounds. Caused by the previous tile viewer fix Sour 2025-01-21 18:35:49 +09:00
  • 30ece8ec62 Debugger: Fixed broken tile viewer output with some size combinations If the number of rows and columns did not result in an amount of bytes that was a power of 2, the viewer would incorrectly repeat some tiles, etc. This was broken by performance fixes done a few months ago Sour 2025-01-20 17:56:51 +09:00
  • 4052eccbc8 Debugger: Allow opening scripts from the command line while the emulator is already running, but skip scripts that are already opened in the emulator Sour 2025-01-20 17:03:23 +09:00
  • 6f68db5c4b GB: Improved behavior when changing SCX in the middle of a scanline Improves the results for the m3_scx_high_5_bits and m3_scx_low_3_bits tests, and fixes the effect in one of the scenes in the "Mental respirator" demo Sour 2025-01-20 13:11:54 +09:00
  • fd2c3fa46e GBC: Initialize palette RAM based on power on ram option The "Vila Caldan Color" homebrew demo (?) doesn't initialize the OBJ palette and would likely get non-deterministic OBJ colors on hardware Sour 2025-01-20 13:04:41 +09:00
  • be66075519 GB: Fixed freeze during Batman - The Video Game's title screen animation Sour 2025-01-20 12:59:27 +09:00
  • 210ba920b5 Combine the two macos releases into a single universal binary James Rowe 2025-01-08 16:01:33 -05:00
  • bc2383ab16 SNES: Removed old debug information Sour 2025-01-05 11:08:12 +09:00
  • b3fd15963b UI: Try to better recover from unexpected errors while opening the main window Sour 2025-01-05 11:04:32 +09:00
  • ea657c1898 UI: Call EmuApi.Release() before the main window closes This seems to fix deadlocks (join on VideoRenderer thread never finished) in some scenarios when closing the emulator using the "Exit" shortcut (only seen on Linux) Sour 2025-01-05 10:46:47 +09:00
  • b37f2e38a6 SNES: Added missing "else" in condition This caused the SPC writes to trigger the PPU's "unimplemented register write" debug message (in debug builds only), but doesn't have any impact on accuracy/etc. Sour 2025-01-05 10:41:53 +09:00
  • abb86d4f0e Audio: Fixed buffer overflow crashes when slowing down emulation below ~5% + Mute audio when playback is so slow that the sound breaks Sour 2025-01-05 00:02:58 +09:00
  • 18269da46b SNES: Add support for Sufami Turbo games Sour 2025-01-03 09:09:39 +09:00
  • 28f5bd6949
    Merge dfee774e81 into 8d6830a70a Qxe5 2024-12-31 19:26:00 -06:00
  • 8d6830a70a SNES: Add support for ST018 coprocessor Used by a single game: Hayazashi Nidan Morita Shougi 2 Sour 2024-12-29 10:47:59 +09:00
  • 43afe7956b UI: Change Avalonia build to nightly containing the AOT deadlock fix (instead of the PR build) Sour 2024-12-29 11:50:47 +09:00
  • 21f1f62424 SNES: Added sinc audio interpolation option Sour 2024-12-27 23:02:02 +09:00
  • 636e645436 Debugger: Fixed code comments not supporting non-ASCII text Entering CJK characters or accented characters in a comment resulted in ? characters in the disassembly, etc. Sour 2024-12-27 14:21:08 +09:00
  • d6537ed0a5 Debugger: SNES - Fixed crash when resetting game while SPC debugger is opened Sour 2024-12-27 11:49:16 +09:00
  • 1063146082 GG: Fixed freeze at boot in BIOS code (when a bios is provided) Sour 2024-12-26 16:48:11 +09:00
  • eed94fdbe7 UI: Fixed error message/broken layout when clearing the text/value in a NumericUpDown control Sour 2024-12-26 16:09:21 +09:00
  • 8dda623a1f UI: Focus game selection screen on startup +Try to avoid menu getting stuck with focus +Improve keyboard/gamepad navigation for it +Make selected game a bit easier to see Sour 2024-12-26 14:49:35 +09:00
  • 7f0831a542 GBA/SMS/WS: Fixed broken lag counter Also make counter reset to 0 when game is reset on all consoles Sour 2024-12-26 11:52:29 +09:00
  • e0dd12bcdb SNES: SPC - Tweak previous timing fix for Kishin Douji The previous fix on its own fixed Kishin, but broke Kawasaki Superbike Sour 2024-12-26 11:10:37 +09:00
  • 44337e507e SNES: Fixed regression in Kawasaki Carribean Challenge (palette corruption) Caused by CGRAM writes on scanline 0 being blocked, even though they apparently should work correctly Sour 2024-12-25 23:03:36 +09:00
  • 0dfc8ac834 UI: Update to Avalonia build that fixes freezes in AOT builds on Windows Sour 2024-12-25 19:02:23 +09:00
  • 6820db3793 Fixed compilation errors in clang (in VS) Sour 2024-12-25 18:58:57 +09:00
  • 0ab6e92dc2 SNES: Set internal palette address to 0 when outputting bg color (when no layers have visible pixels) This fixes regressions in PGA Tour Golf and Mini Yonku Shining Scorpion. These games attempt to write to CGRAM during rendering, but at a time where the background color is being rendered, so the writes overwrite address 0 in CGRAM. Without this fix, the last non-transparent pixel's color address was being used, causing it to corrupt the wrong color in CGRAM (which caused the glitches) Sour 2024-12-25 15:10:22 +09:00
  • 30d28c83a5 SNES: Performance improvements This makes performance equal or slightly better to what it was before all of the recent accuracy improvements Sour 2024-12-24 22:40:54 +09:00
  • a9d3cb5755 SNES: Implement correct/better behavior when reading/writing to CGRAM during rendering This allows 93143's "dmacolor" demo to work correctly: https://forums.nesdev.org/viewtopic.php?p=164248#p164248 Also prevents reading from VRAM during rendering Sour 2024-12-24 17:51:13 +09:00
  • 542d73029a SNES: Fixed freeze in intro/menus in Battle Grand Prix The alignment done at the end of DMA appears to ignore master clocks spent in DRAM refresh (which is why a separate counter is needed). Unsure if this has been verified on hardware, but this is also what ares does to fix this issue. Sour 2024-12-24 17:47:19 +09:00
  • 59f106b8cc SNES: Fixed NMI/IRQ timing issues Passes all NMI/IRQ tests: demo_irqtest, demo_nmitest, irq, nmi, test_irq, test_irq4200, test_irq4209, test_irqb, test_nmi, Also fixes timing issues with WAI Sour 2024-12-24 17:43:09 +09:00
  • 831e177d87 SNES: Fixed HDMA timing issues Passes the test_hdma, test_hdmasync, test_hdmatiming tests Sour 2024-12-24 15:08:55 +09:00
  • 29df2fb4d0 Debugger: SNES - Fixed minor issues with CPU internal registers' peek implementation Sour 2024-12-21 13:40:52 +09:00
  • c0d61b46f4 SNES: Delay the SPC's access to the new values written by the CPU This allows Kishin Douji Zenki to boot without locking up on a black screen Sour 2024-12-24 15:04:40 +09:00
  • e4d317635f SNES: Improved gamepad auto-read behavior Based on new tests: blip-autojoy-test, blip-autojoy-test-automatic, enable-autojoy-late-test-2 Sour 2024-12-20 18:51:03 +09:00
  • 88210b3fcf SNES/PCE/SMS: Added missing "allow invalid input" option (and prevent invalid inputs by default) Sour 2024-12-20 14:48:15 +09:00
  • 32ab5cfa7e GBA: Fixed open bus issues This fixes a freeze in Zelda Minish Cap (in the final dungeon) and fixes a test in the mGBA test suite (Misc -> DMA prefetch -> Read) Sour 2024-12-20 14:25:10 +09:00
  • 71ecb09ffe UI: Added Firmwares tab in emulation settings to view/manage firmware files Sour 2024-12-19 18:45:53 +09:00
  • c447eaf997 Debugger: Improve call stack/profiler behavior when dealing with some types of stack manipulation Sour 2024-12-17 18:52:17 +09:00
  • 1e3422b69e Debugger: Profiler - Show [irq]/[nmi] markers on functions Sour 2024-12-17 18:51:01 +09:00
  • d1aa957a80 SNES: Allow gamepad auto-read to be disabled while it's running Matches new hardware tests: clear-autojoy-1st-vb-sl / clear-autojoy-during-autojoy Sour 2024-12-17 17:21:41 +09:00
  • 84995227fc Debugger: PCE - Added DDA output value to register viewer, fixed incorrect addresses Sour 2024-12-16 21:54:02 +09:00
  • f7c1bebdbc PCE: Fixed PSG channels in DDA mode not immediately updating output when a new output value was written Sour 2024-12-16 20:41:20 +09:00
  • 86cac326d7 Debugger: Tile editor - Improved behavior when editing tiles from a tilemap in games that bankswitch vram in the middle of the screen -Also allows cropping the edit window when the size doesn't fit (e.g using 4x4 near the bottom of the screen can result in a 4x2 edit window, etc.) -Fixed a display issue when the number of edited columns & rows didn't match Sour 2024-12-14 23:19:02 +09:00
  • e2ea8438f2 Debugger: Added edit 8x8 tile option in tilemap/tile viewers Sour 2024-12-14 22:38:12 +09:00
  • 6b77200364 SNES: Improved gamepad auto-read emulation based on research/test rom Sour 2024-12-14 14:39:42 +09:00
  • 0352c7d675 Debugger: Always show modal popups in the taskbar It's possible to click minimize on them, which isn't very user friendly (appears as a tiny title bar at the bottom left in Windows, not sure about Linux/macOS) Sour 2024-12-13 23:35:47 +09:00
  • ed1b5c51ca Debugger: Keep focus on main window when opening script windows alongside a rom via the command line Sour 2024-12-13 23:13:37 +09:00
  • ff1580def4 SNES: Fixed input issues with Pocky & Rocky Caused by the game enabling controller auto-read in the middle of the auto-read "portion" of the frame Sour 2024-12-13 19:36:48 +09:00
  • 84919bccdc Rewind: Fixed partial desync of input data when rewind stops This could potentially cause desyncs on subsequent rewinds, but most obviously it caused rewinding during movie playback to break movie playback entirely (because some inputs were handled by the rewind, while others were handled by the movie, causing the _deviceIndex value to be out of sync with its expected value) Sour 2024-12-13 19:00:32 +09:00
  • 0ff6e6a1ea Debugger: Added basic support for SDCC symbol files (.cdb), including source mappings Sour 2024-12-12 22:28:33 +09:00
  • b30bb12000 WS: EEPROM - Fixed "read done" flag never being reset Sour 2024-12-12 21:04:26 +09:00
  • 460ea81ca3 Debugger: WS - Fixed "freeze" memory not working Sour 2024-12-12 20:57:55 +09:00
  • 604f1a6fc9 PCE: Fixed SuperGrafx layering problem When VDC1 had both BG and sprites disabled, it blocked the VDC2's background (resulting in a black screen). VDC1's output should count as transparent in this scenario Sour 2024-12-11 18:32:55 +09:00
  • 75b667d2cc NES: Fixed behavior for SHX, SHY, SHA, TAS Sour 2024-12-11 18:27:06 +09:00
  • d32763e7f8 NES: Fixed regression in "remove sprite limit" feature that caused some sprites to be missing Caused by recent accuracy improvements to sprite evaluation Sour 2024-12-10 19:11:02 +09:00
  • 8ad34343ba Debugger: Prevent UI freeze when viewer updates pile up and end up taking up 100% of the UI thread's time Prevent queueing another update while the previous update is still running, which should prevent most issues. Also slightly improves performance for the SNES tilemap viewer (which was causing the freeze when displaying an 8bpp 1024x1024 tilemap) Sour 2024-12-10 18:59:13 +09:00
  • 8d49d0ea54 Debugger: Label list - Toggle breakpoint on ram labels should create RWX breakpoints Sour 2024-12-08 17:22:51 +09:00
  • d94646590d Debugger: Source View - Fix selected file/scroll position being incorrect after manually loading a symbol file when the source view tab was already visible Sour 2024-12-08 16:48:01 +09:00
  • 3e822297e9 FDS: Fixed out-of-bounds write that could cause crashes Sour 2024-12-08 11:04:22 +09:00
  • 47c123124b Debugger: Source View - Improve active line highlight logic for C files Highlight the C line of code if any of the CPU instructions contained inside of it is the current CPU instruction Sour 2024-12-07 21:15:57 +09:00
  • 962a1445c7 Debugger: Source View - Auto-switch to disassembly when no source mapping is found for the current statement Auto-switch back to source view once a mapping is found again Sour 2024-12-07 21:11:38 +09:00
  • e52fa70944 Debugger: Source View - Improve active row behavior when multiple mirrors exist + Automatically move to current address when clicking on the source view tab (so that the active row is shown after manually loading a symbol file, etc.) Sour 2024-12-07 20:00:24 +09:00
  • 614e61a2d1 Debugger: Fixed issues with step over/out in some scenarios (bank swapping, recursive functions, etc.) Only break when both the stack pointer and the return address match what the debugger was expecting, instead of just the return address Sour 2024-12-07 17:46:28 +09:00
  • 9ccea2f43c Readme: Fixed broken macOS build links Sour 2024-12-06 21:25:44 +09:00
  • beffca7fcd Builds: Upgrade to macOS 13 for x64 builds macos-12 is no longer supported by GitHub Sour 2024-12-06 20:42:20 +09:00
  • d690e97e41 PCE: Fixed issues loading CD-ROM games that are split into multiple files and have pregaps defined for one or more tracks The pregaps were not calculated properly when starting each subsequent file, causing the start position of subsequent files to be offset by an amount equal to the cumulative pregaps of all the previous tracks Sour 2024-12-06 19:41:10 +09:00
  • 94d88ecbe2 Linux: Slow down audio playback when emulation speed is set to less than 100% Sour 2024-12-03 21:30:31 +09:00
  • fb9fba041a Debugger: PCE - Added missing PCEAS import mappings for CD-ROM RAM symbols Sour 2024-12-03 16:23:33 +09:00
  • 3eabc4a4a6 Debugger: Show/hide source view tab as needed when manually loading a symbol file Sour 2024-12-03 16:22:47 +09:00
  • 32fbc70fe8 GBA: Fixed incorrect GB noise channel condition that caused it to not run at all in some scenarios Sour 2024-12-03 16:02:21 +09:00
  • 4081adca21 GBA: Fixed missing scanline in textbox in Spyro Season of Ice Tweaked the BG layer enable delay/timings to make it work for both mGBA suite's test and Spyro Sour 2024-12-02 20:17:43 +09:00
  • 355ca16074 Debugger: Lua - Added getCdlData API Sour 2024-12-01 15:27:46 +09:00
  • 04062de085 Debugger: Lua - Fixed typo in documentation Sour 2024-12-01 14:52:49 +09:00
  • be41cdeaeb Debugger: Update CDL stats while running when "refresh while running" is enabled + Optimize CDL stats calculation Sour 2024-12-01 14:51:56 +09:00
  • e115308400 GBA: Fixed save memory type for Super Monkey Ball Jr. Game uses EEPROM but contains markers for EEPROM, Flash and Save RAM, which breaks the auto-detect feature Sour 2024-12-01 13:40:27 +09:00
  • e77ba250e8 Debugger: Sprite viewer - Fixed crash when switching from a GBA game to a SNES game with "Show offscreen regions" unchecked MinWidth was getting set to a negative value, because LeftClipSize and RightClipSize temporarily were set to a value exceeding Source.Size.Width, which caused a crash Sour 2024-12-01 13:33:43 +09:00
  • cda1e831ae GBA: Fixed missing sprites at top of screen when enabling sprite layer during vblank Sour 2024-12-01 13:29:28 +09:00
  • 403fe083ed Debugger: Allow screensaver/sleep to turn on when paused while debug tools are opened Sour 2024-11-30 13:49:23 +09:00
  • 9b4905a337 Debugger: Various source view fixes -Fixed color issues with source files (particularly for C files with pceas/hucc) -Improved tooltips to react to more symbols/labels in source files (asm or C) -Fixed bug that caused opcode tooltips to appear in C source files -For hucc, try to find symbols that start with an underscore as a fallback when the symbol is not found (C symbols are exported as their asm name, which has an underscore prefixed) -Fix double-click on a label/symbol name in source view to navigate to that symbol/function/etc Sour 2024-11-29 20:13:56 +09:00
  • fee6f3922b UI: Game selection screen - Fixed unintended unclickable margin on both sides of the arrow buttons Sour 2024-11-28 16:57:07 +09:00
  • e7b85cad36 Debugger: Fixed breakpoint highlight issues for data rows that start with .db Sour 2024-11-28 16:40:53 +09:00
  • 21a279e1fe Debugger: Event Viewer - Fixed incorrect breakpoint information for marked breakpoints for multi-cpu consoles/games Sour 2024-11-28 16:40:07 +09:00
  • cb412ccc02 Debugger: PCE - Updated PCEAS symbol import to match latest changes to file format Sour 2024-11-26 18:39:44 +09:00
  • 03fad75c5f Fixed .NET 6 compilation error Sour 2024-11-24 18:10:16 +09:00
  • af01175569 Debugger: PCE - Split PCEAS symbol importer from wla-dx's importer code Added support for length value for data labels, added support for [definitions] section for constants Sour 2024-11-24 17:36:48 +09:00
  • 3903845768 SMS: Fixed broken sprites on the left side of the screen when first 8-pixel column is hidden Sour 2024-11-24 12:05:34 +09:00
  • c956eea0ba UI: Fixed unexpected screen cropping when window width is reduced The screen's height should be reduced to fit the window, instead. Caused by changes done recently to fix some rounding errors with screen/window sizing Sour 2024-11-24 11:34:27 +09:00
  • 1548ce20cb GG: When using auto aspect ratio, GG should use a 6:5 pixel aspect ratio Sour 2024-11-24 11:04:23 +09:00
  • c13f52dcb8 Debugger: PCE - Updated symbol file support for PCEAS + Improve logic to find/load source files Sour 2024-11-23 17:31:48 +09:00
  • cebdab9b5d UI: Fixed keyboard focus being on menu when opening emulator via file associations Sour 2024-11-20 20:01:45 +09:00
  • 919e14faf6 UI: Fixed fade in/out effect on HUD messages Sour 2024-11-20 20:00:35 +09:00
  • bde9ad3879 NES: Rainbow mapper - Fixed save ram not being saved to disk Sour 2024-11-19 16:54:04 +09:00
  • 4ae738f028 SNES: Fixed emulator crash caused by large DMA transfer (across multiple frames) Sour 2024-11-17 19:34:14 +09:00
  • 9161a9e2c1 NES: Removed incorrect mapper 220 mapping Nothing uses mapper 220 - it's a mapper number that was used in FCEUX as a way to debug/test implementations Sour 2024-11-17 19:14:51 +09:00
  • a91f8ecf73 Debugger: Source View - Added tab size option Sour 2024-11-14 19:38:52 +09:00
  • 2e6a2e5494 Debugger: WS - Fixed effective address calculation for LES/LDS Show first word's address instead of the second's Sour 2024-11-13 21:27:48 +09:00
  • 54b8973c61 Debugger: WS - Fixed code highlighting issue caused by previous commit Sour 2024-11-13 21:25:30 +09:00
  • aa32d7e4a0 Debugger: PCE - Generate CDL data based on PCEAS symbol file + use IgnoreColumns comment + make code highlighting accept label definitions with dots in them, etc. Sour 2024-11-13 20:40:59 +09:00