Commit graph

  • 64ee1d0170
    Merge 210ba920b5 into db7ee9f215 James Rowe 2025-04-02 07:06:58 +09:00
  • db7ee9f215 Added Linux ARM64 build master Sour 2025-04-01 19:44:07 +09:00
  • 0dfdbbdd9b WS: APU - Revert LSFR behavior change when noise flag is clear This seems to be incorrect despite the test rom's results - Card Captor's intro sequence freezes for a few seconds because of this Sour 2025-04-01 17:40:17 +09:00
  • b905665df6
    Merge d19bcff30a into 7267e28e21 Victor Zhavoronkov 2025-04-01 19:01:32 +10:30
  • 5d15f42a85
    Merge e1b2e0fc40 into 7267e28e21 Gamaiel Zavala 2025-04-01 19:00:12 +10:30
  • 212ec029be
    Merge f3590f3243 into 7267e28e21 Gamaiel Zavala 2025-04-01 18:59:35 +10:30
  • d400b0a8e2
    Merge 1f022e5c52 into 7267e28e21 x3ro 2025-04-01 18:58:50 +10:30
  • 31f58a4b11
    Merge 4d65410f88 into 7267e28e21 Persune 2025-03-31 17:20:23 +02:00
  • 7267e28e21 Debugger: GBA - Added option to configure whether unidentified code/data is disassembled as arm/thumb Sour 2025-03-30 23:25:28 +09:00
  • 02180abed1
    Linux: ARM64 build support (#73) SourMesen 2025-03-30 21:06:18 +09:00
  • c1220ddcc0 am64 appimage SeregaWin555 2025-03-30 18:40:31 +11:00
  • dd25967b89 Add support for Linux ARM64 build support SeregaWin555 2025-03-30 18:36:57 +11:00
  • 66c19f9ed2 GBA: Fixed re-entry problems with DMA that could sometimes cause the same DMA to run twice in a row, breaking some games This caused Sonic Advance 3 to randomly freeze/crash Sour 2025-03-29 23:36:25 +09:00
  • a9a0b788db Debugger: Test runner - Initialize debugger immediately after loading the rom, instead of 1 frame later Sour 2025-03-29 10:33:37 +09:00
  • 1975ab958c Debugger: Fixed crashes when switching between games from different consoles (in AOT build) Caused by what looks like slight differences between how AOT treats an empty array (vs JIT builds) when it marshals the array (AOT sends a null pointer, JIT sends a pointer to an empty array) This was causing issues in both builds (AOT crashed immediately because of the null pointer, JIT read from out-of-bounds memory) Sour 2025-03-28 18:03:30 +09:00
  • acbe931ba0 Debugger: SNES - Added break on options for SPC Break on BRK, STOP/SLEEP Sour 2025-03-27 23:46:36 +09:00
  • 2d96724b28 Debugger: SNES - Added new "break on..." options Invalid vram/oam/cgram access, controller read while auto-read is running Sour 2025-03-27 21:30:38 +09:00
  • ad548465c6 Debugger: NES - Added new "break on..." options Invalid VRAM access, Invalid OAM write, DMA controller read, Unstable opcodes Sour 2025-03-27 18:03:25 +09:00
  • 9e5d013c84 Debugger: Minor performance improvements for debugger initialization Sour 2025-03-26 21:25:34 +09:00
  • af9eda3524 Debugger: NES - MMC1 - Added shift register state to register viewer Sour 2025-03-25 18:02:23 +09:00
  • a2637ef2d4 Debugger: Fixed labels getting erased when spamming reload rom shortcut Sour 2025-03-24 22:02:15 +09:00
  • dd94362d29 Audio player: Use console time to detect X seconds of silence, rather than real time Player was skipping to next track when pausing for more than X seconds and then resuming playback, etc. Sour 2025-03-24 15:45:54 +09:00
  • 04cb3d5fa3 UI: Added missing CV tab in command line help dialog Sour 2025-03-24 11:39:59 +09:00
  • f64bd8af09 Debugger: Palette viewer - Fixed scrolling back to the top left when clicked while out of focus Sour 2025-03-24 10:16:37 +09:00
  • f762ceead9 SNES: Fixed return values for reads to 4017/4213 + fixed open bus when reading CPU internal registers Fixes most of the openbus_test tests Sour 2025-03-24 10:03:32 +09:00
  • fef5573bda NES: Added option to reverse DPCM bit playback order Improves DPCM quality for some specific games that have their DPCM data reversed Sour 2025-03-23 20:52:09 +09:00
  • c4472f3a4d Debugger: Make shift+home/end select rows in disassembly/source view and trace logger Sour 2025-03-23 15:36:51 +09:00
  • 004ec5f3db NES: Display header information in log even when the rom can't be loaded because of a bad header Sour 2025-03-23 15:04:22 +09:00
  • 20c2a24af7 SNES: Fixed mul/div edge cases when writing to mul/div registers while mul/div is still running Matches results from this thread: https://forums.nesdev.org/viewtopic.php?t=24087 Sour 2025-03-23 14:32:31 +09:00
  • 2e8ca044ec GB: Fixed HDMA not running on scanline 143 This fixes graphical issues in Warau Inu no Bouken (because some tiles were not being transferred to VRAM) Sour 2025-03-23 13:33:45 +09:00
  • 8c04e1ad6c GB: HDMA shouldn't run if CPU is halted Fixes MagenTests/hblank_vram_dma test rom Sour 2025-03-23 13:32:00 +09:00
  • b844642866 Debugger: GB - Fixed tilemap viewer displaying incorrect tiles when the tile index is above 127 Seems to only happen in release builds in MSVC (unsure if other compilers were affected) + Also added missing member in GbCpuState in the UI Sour 2025-03-23 12:26:35 +09:00
  • 5ec6763a8e UI: Added commit ID in about window + Removed ubuntu 20.04 build (no longer supported by github) + Enable ccache to speed up github builds Sour 2025-03-22 20:41:07 +09:00
  • d3afd0dbf2 Debugger: PCE - Tilemap viewer - Fixed scroll overlay Y position Sour 2025-03-22 08:44:49 +09:00
  • 0dbe874fa4 Debugger: Sprite Viewer - SNES - Fixed crash when EnableOamPriority flag was set startIndex could be set to 128+, depending on the oam address, which caused memory corruption Sour 2025-03-21 23:31:07 +09:00
  • e79db8fcac Debugger: Sprite viewer - Fixed rare crash when reloading rom that could happen because debugger is being reinitialized while the sprite list is being fetched by the UI Sour 2025-03-21 23:29:28 +09:00
  • 929d4dcc20 GB: Fixed APU emulation issues -Super Mario Land 2 - Pops in menu are fixed by immediately updating APU output after a write -Perfect Dark - Low voice volume is fixed by having the correct output when the channels are disabled (but DAC is still enabled) -Daiku no Gen - Low voice volume is fixed by keeping square channel output to digital 0 (= analog 1) until its first tick after being enabled (the game does not let the channel tick at all while the voice sample is playing) Sour 2025-03-21 23:03:01 +09:00
  • 85070a6dc2 NES: Mapper 142 - Added missing variable to save state Sour 2025-03-20 17:24:45 +09:00
  • 62e6fb750b NES: Mapper 107 - Fixed PRG mappings Sour 2025-03-19 22:30:44 +09:00
  • 99311f9af2 NES: Mapper 142 - Misc fixes, including IRQ behavior that was breaking SMB2j on reset Sour 2025-03-19 22:30:27 +09:00
  • 4921d09468 NES: Mapper 139 - Fixed mirroring issue Sour 2025-03-19 22:29:49 +09:00
  • e12f40ae3b Fixed compilation warning Sour 2025-03-19 22:29:07 +09:00
  • d324582c6f Debugger: Script window - Added option to show line numbers Sour 2025-03-18 21:48:09 +09:00
  • 4e63730c73 FDS: Implemented 4030.3 bit (mirroring flag) Sour 2025-03-15 18:18:12 +09:00
  • e8c99284d1 FDS: Audio - Fixed behavior of the 4089.7 bit. When set, the wave unit continues to run, but the output is held at its previous value Sour 2025-03-15 16:06:35 +09:00
  • 51f5afb7a3 GBA: Fixed window rendering glitch when X position was changed during hblank Super Mario Advance 4 (SMB3) window animation when entering a stage had a glitchy scanline when the window's end position was moved from x=255 to x=239 during hblank, because ProcessWindow was not getting called when the window X position register was changed Sour 2025-03-14 23:55:16 +09:00
  • f359b80eb5 Debugger: Assembler - Allow using #label syntax on NES/SNES/PCE This used to be allowed in Mesen-S Sour 2025-03-13 18:32:46 +09:00
  • 24dfab45de NES: Added support for mapper 487 (Maxivision 30-in-1) Sour 2025-03-12 20:18:06 +09:00
  • d0a3db20d8 PCE: Fixed ADPCM audio decoding issues -Output is a 12-bit value and should wrap -"Magnitude"/"step size" should be reset to 0 when playback starts Sour 2025-03-12 16:46:32 +09:00
  • 9fcfc1ecde Debugger: SNES - Fixed incorrect addresses for HDMA reads/writes on the event viewer Sour 2025-03-11 18:36:48 +09:00
  • 6334ef2a6a Debugger: GBC - Fixed crashes when memory viewer was opened and addresses FF76/FF77 were visible This was causing the APU to run inside the UI thread, causing memory corruption/crashes Sour 2025-03-11 17:50:19 +09:00
  • 7ae5d7c83a WS: APU - Fixed inverted sample order for wave table Sour 2025-03-10 17:57:43 +09:00
  • 1d947180a9 WS: APU - LSFR value doesn't update unless all 3 enable flags (channel+noise+lfsr) are enabled Sour 2025-03-10 17:56:32 +09:00
  • c90b8a9ef6 WS: APU - Disabled channels should output 0 + Ch2 outputs PCM if PCM is enabled, even when channel is disabled Sour 2025-03-10 17:55:22 +09:00
  • db4cc01967 NES: FDS - Fixed emulation issues with modulation Fixes incorrect audio in Yuu Maze and 19 Neunzehn Sour 2025-03-09 23:30:44 +09:00
  • 470cf9d7ee NES: VRC6 - Fixed missing audio register mirrors Sour 2025-03-09 08:51:26 +09:00
  • cde15d2b38 Debugger: SNES - Fixed open bus mask for register 4210 peek Sour 2025-03-07 15:44:44 +09:00
  • 77fc5301eb WS: Suppress trace IRQ for 1 instruction after it gets enabled Sour 2025-03-03 18:25:50 +09:00
  • 0d91684cba SGB: Added missing packet byte buffer for SGB commands Based on binarycounter's tests and documentation: https://github.com/binarycounter/SGB_Packet_Buffer_Tests Sour 2025-03-02 13:33:12 +09:00
  • e9a0e7aaa5 SGB: Improved logic to select row/bank to write pixels to Uses hblank/vblank (when mode changes) to move to the next row/reset to the top of the screen Sour 2025-03-02 13:23:07 +09:00
  • 53f17745d7 SGB: Prevent freeze/lock up when resetting a MBC3 game that has a RTC clock Sour 2025-03-02 11:25:21 +09:00
  • 8d190963da UI: Linux - Tweak previous fix for menu focus to make it work correctly in some rarer scenarios Sour 2025-03-02 10:51:53 +09:00
  • f9e4232105 UI: Command line - Fixed behavior when using relative paths to load a game while an instance of the emulator is already running Sour 2025-03-02 09:54:41 +09:00
  • bd970ac08f UI: Fixed menu being focused by default when launching a game from the command line Sour 2025-03-02 09:51:52 +09:00
  • 211b42e91c WS: Improved IRQ handling after IRQ flag is set or SS segment is modified Sour 2025-03-01 22:17:45 +09:00
  • 5823761791 SMS: Implemented fairly accurate sprite eval+fetch timings, for all modes + Fixed VRAM read to wait until next available CPU access slot + Fixed NMI triggering on the wrong scanline on SMS + Fixed NMI issues on ColecoVision + Fixed random ram option not working properly on SG-1000 + Added "Mem access" tab to tilemap viewer to see fetch patterns Sour 2025-03-01 00:09:36 +09:00
  • 16d6d70376 Debugger: Fixed bug that copied watch entries from rom to rom While the debugger was active and the current rom had watch entries, opening a new rom for the same console that had never been opened in the debugger would end up copying the watch entries from the previous rom into the new rom's workspace Sour 2025-02-26 20:38:46 +09:00
  • fadf7c4d44 GBA: Fixed problem with wave channel in Kidou Senshi Gundam - Seed Destiny Wave channel was playing the wrong audio on the title screen, because some writes were being blocked. It looks like the restriction on wave "ram" access that exists on GB don't exist on GBA Additionally, it seems like the wave data is supposed to be stored in a large shift register (not emulated yet), rather than an array of bytes Sour 2025-02-26 17:41:33 +09:00
  • 7ddd25ec6c Debugger: Fixed crashes when importing .dbg symbols that contains data that exceeds the size of the loaded rom Sour 2025-02-22 19:11:49 +09:00
  • 3a4cba8f3d Debugger: Fixed exceptions (not visible in release builds) when displaying tooltips in the debugger Sour 2025-02-22 19:10:58 +09:00
  • 8dc389df49 NES: Runahead - Fixed issues switching disks or inserting coins with FDS/VS System Sour 2025-02-20 18:43:56 +09:00
  • 0b593d4c78 NES: FDS - Fixed IPS save data not being applied when loading the rom Sour 2025-02-20 17:38:21 +09:00
  • d72658de7a NES: FDS - Fixed issues with Kosodate Gokko (unlicensed disk copying program) + Added option to save directly to the original rom file instead of creating .ips files (for FDS & cartridges with flashable prg/chr rom) Sour 2025-02-19 21:27:15 +09:00
  • 1da719bb80 NES: MMC5 - Added support for 128kb ram Sour 2025-02-18 09:30:20 +09:00
  • 57f136f432 GBA: Fixed APU sampling timing problem which reduced audio quality Sour 2025-02-17 13:52:44 +09:00
  • 352adae9f8 NES: FDS - Implement CRC checks/writes for .qd files Sour 2025-02-15 22:38:32 +09:00
  • 09cd8b7cec Debugger: GSU - Fixed trace log not logging the correct instructions in some scenarios Sour 2025-02-15 20:09:02 +09:00
  • 991136e58a Audio Player: Fixed shuffle/repeat buttons not working Sour 2025-02-13 22:07:10 +09:00
  • 081ae70167 Debugger: NES header editor - Fixed blank VS PPU Type value when VS System Type was not the default value Sour 2025-02-12 17:06:38 +09:00
  • b1c54193d2 Fixed compilation warnings Sour 2025-02-12 16:57:59 +09:00
  • 6877fee0ab Fixed compilation error with latest version of VS2022 Sour 2025-02-12 16:57:42 +09:00
  • 762e5ea617 Debugger: NES header editor - Fixed incorrect values for VS system roms Sour 2025-02-11 21:46:30 +09:00
  • ea7aa40265 UI: Prevent window from being auto-resized to a scale below 1x Sour 2025-02-11 21:15:59 +09:00
  • 5422619516 Debugger: Fixed viewers scrolling back to the top left when clicked while out of focus Sour 2025-02-11 20:52:30 +09:00
  • 556b99d267 Debugger: Prevent margin clicks from removing range breakpoints that aren't shown in the margin Sour 2025-02-11 20:51:30 +09:00
  • 17e23462b1 Debugger: NES/SNES - Fixed scanline value in status view not being updated properly when over 261 in PAL mode Sour 2025-02-11 20:51:03 +09:00
  • 336c56f226 CV: Fixed incorrect gamepad mapping in xbox P2 preset Sour 2025-02-11 20:49:51 +09:00
  • d0b1a9d6f5 NES: Fixed crash when changing region while playing VS Dualsystem games Sour 2025-02-11 20:49:15 +09:00
  • f7ca5d06fb Debugger: Prevent rewind/step back from changing the value of frozen addresses Sour 2025-02-11 20:48:52 +09:00
  • 30fd76d9e0 NES: Added support for .qd format FDS roms Sour 2025-02-07 21:06:17 +09:00
  • 031cb7058c Debugger: Fixed issues with NES/SNES/PCE assemblers -Labels defined within the assembler that were referred to before their definition did not work properly and ended up being assigned the wrong value (when the label's address wasn't a value between 0x100 and 0xFFFF) - this is fixed by running multiple passes until the resulting byte code stops changing. -Fixed issues where e.g EOR $00, Y would be assembled as a 2-byte instruction, which is invalid. Sour 2025-02-06 21:20:24 +09:00
  • f45aaa39f3 UI: Cheats - Prevent re-importing existing cheats when importing from cheat DB Sour 2025-02-05 17:48:37 +09:00
  • f9b5897dbc UI: Fixed recent game grid not letting the first game be started via keyboard/gamepad input without moving to another element and then back first Sour 2025-02-05 17:41:55 +09:00
  • a574032c8f Debugger: Fixed crash when trying to use the "Edit selected code" on a block start/end header Sour 2025-02-05 17:36:24 +09:00
  • 797ef1f57a PCE: Improved timing for SATB/VRAM DMA Fixes freeze in TV Sports Football's "New Season" screen and is very close to new test rom's timings/results Sour 2025-02-01 19:43:59 +09:00
  • 4ce300877d PCE: Fixed memory mappings for save ram Save ram is not mirrored across the entire 8kb, can only be accessed in the first 2kb This fixes Death Bringer corrupting save ram when trying to start a new game Sour 2025-02-01 18:01:15 +09:00
  • f102b94e38 Debugger: Improved SDCC integration by loading additional symbols from .sym files Sour 2025-01-30 17:56:16 +09:00
  • 081c3bca7a GBA: Fixed save type detection issues Some games contained the string "FLASH_" but it wasn't actually the "FLASH_Vxxx" marker for the 64kb flash chips Sour 2025-01-24 21:56:52 +09:00
  • f15f90d06c SNES: SPC7110 - Fixed incorrect memory mappings after loading save states Also fixes a bug in the decompression init code that could cause the emulator to crash when an invalid decompression mode was read from rom Sour 2025-01-22 17:41:42 +09:00
  • d3e70be65b Debugger: Fixed some invalid PRG addresses/mappings in DBG file imports (because of the .nes header and CHR data) Sour 2025-01-21 18:36:43 +09:00