Commit graph

45 commits

Author SHA1 Message Date
Sour
2d96724b28 Debugger: SNES - Added new "break on..." options
Invalid vram/oam/cgram access, controller read while auto-read is running
2025-03-27 21:30:38 +09:00
Sour
bc2383ab16 SNES: Removed old debug information 2025-01-05 11:08:12 +09:00
Sour
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
2024-12-25 23:03:36 +09:00
Sour
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)
2024-12-25 15:10:22 +09:00
Sour
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
2024-12-24 18:09:47 +09:00
Sour
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
2024-12-24 17:43:09 +09:00
Sour
0b1fe08bba SNES: Fixed PPU $213F reads to always reset the h/v counter low/high toggles 2024-10-15 20:18:56 +09:00
Sour
13acb3fe42 Added GBA support 2024-03-30 11:42:31 +09:00
Sour
efcf0d1523 SNES: Improved gamepad auto-read emulation
-Read each bit at roughly the correct cycles (instead of all at once at the start of nmi)
-Don't perform auto-read when auto-read flag is disabled at the very start of nmi, before it actually starts
2023-08-17 18:24:03 +09:00
Sour
2822ca5dd0 SNES: Implement broken vertical mirroring for rectangular sprites (same as hardware) 2023-07-23 13:38:15 +09:00
Sour
4e65a37357 Debugger: SNES - Fixed crash when stepping through code while "draw partial frame" is enabled 2023-07-04 18:02:19 +09:00
Sour
8948221261 Debugger: Fixed crashes when setting an invalid palette value via the memory viewer 2023-05-29 16:20:30 +09:00
Sour
061dd406bb SNES: Fixed graphical glitch when fast-forwarding with frame skipping enabled when game switches between low resolution/high resolution modes 2023-03-19 16:33:46 -04:00
Sour
08301e122a SNES: Partially fixed glitchy frames when rewinding an interlaced game
Looks less glitchy, but still doesn't display the right image for one frame after loading each state
2023-03-12 19:31:23 -04:00
Sour
a86f5abfd1 SNES: Use double buffering for interlaced games (like all other games)
Improves fast forward performance when video filters are used
+ Fixed issues with frame skipping that could cause only half the lines to be redrawn for an extended period of time at some emulation speeds
2023-03-12 17:57:40 -04:00
Sour
2b0be570fb UI: Moved "disable frame skipping" option to SNES/PC Engine configuration
Other cores are not affected by this option
2023-01-25 16:26:06 -05:00
Sour
0d7e457dae Fixed/removed some TODOs 2023-01-06 11:10:24 +09:00
Sour
e6b4d23f70 Rename TODOs that need to be fixed/checked before release to TODOv2 2023-01-05 14:07:08 +09:00
Sour
36e463b903 Debugger: SNES - Added VRAM/OAM/CGRAM address to status view (+ added missing information in register viewer) 2022-10-08 17:52:27 -04:00
Sour
ce83eaadbc Fixed subtract code/ui typos 2022-09-16 00:02:35 -04:00
Sour
7108bdde36 Refactoring - Moved some leftover files out of the root folder 2022-09-08 21:48:49 -04:00
Sour
152abf690b Rename stdafx.h to pch.h 2022-09-08 21:29:52 -04:00
Sour
45287639ca PCE: Added support for frame skipping, moved frame skipping option to global video settings 2022-09-01 14:45:18 -04:00
Sour
6d1f166317 Debugger: Tilemap Viewer - Added Main/Sub tabs for SNES 2022-08-19 13:52:02 -04:00
Sour
7df142e420 Debugger: Tilemap viewer - Mode 7 overlay 2022-08-06 11:29:50 -04:00
Sour
2eda2cc27e Debugger: Lua - Allow callback to change read/written value, allow callbacks on any memory type (not just cpu memory), allow callbacks for ppu memory 2022-08-02 01:42:14 -04:00
Sour
6163158637 Debugger: Lua - Implemented getState + setState 2022-07-31 15:00:53 -04:00
Sour
077e8db3d7 Fixed some minor TODOs 2022-07-26 00:29:02 -04:00
Sour
623892d6c3 Fixed ram init logic to ensure the correct config option is used when loading a game 2022-07-25 22:04:44 -04:00
Sour
b456170551 Save states: Serializer rework/rewrite 2022-07-20 00:40:32 -04:00
Sour
87e611f930 SNES: Fixed typo in variable name 2022-07-16 11:01:53 -04:00
Sour
cfdd8b28d0 SNES: Minor performance improvements 2022-07-05 21:48:50 -04:00
Sour
60889176b7 Debugger: Added "draw partial frame" option 2022-06-26 21:57:03 -04:00
Sour
f5d45c7619 SNES: Mode 7 extbg layer does not support direct color 2022-06-06 23:15:53 -04:00
Sour
9d226d6588 Linux: Fixed build, fixed some clang warnings 2022-05-09 20:53:56 -04:00
Sour
191304e025 wip - everything to review 2022-04-06 18:37:35 -04:00
Sour
aa6a9699fb UI: Added global input options (deadzone, display inputs on screen, etc.) 2022-03-04 22:08:29 -05:00
Sour
757f1cfd5d UI: SNES - Renamed options to use BG1-4 instead of BG0-3 (for consistency with register viewer, etc.) 2022-02-13 12:55:32 -05:00
Sour
d2d20d7b46 SNES: Fixed mosaic regression caused by the previous mosaic fix
Mosaic effect should now be working properly when the mosaic size is 1x1
(Mosaic code was also disabled entirely when 1x1 in mode 7, but the logic bug w/ mosaicCounter is also fixed when 1x1)
2022-02-06 12:12:22 -05:00
Sour
7bbb21194b Debugger: SNES - fixed PPU cycle/scanline display 2022-01-30 11:45:24 -05:00
Sour
5017f4ed24 Debugger: SNES - Fixed invalid hclock value during startframe/endframe events
Caused issues with event viewer because the snapshot was not on cycle 0
2022-01-29 17:11:43 -05:00
Sour
a99ff82c88 Video: Prevent window resize when switching between normal and high res modes on SNES 2022-01-23 20:33:50 -05:00
Sour
3615ef0eb1 Core: Enabled warning level 4, fixed/disabled warnings 2022-01-23 12:36:35 -05:00
Sour
dffbd4921a Refactoring: Renamed SnesMemoryType 2022-01-22 12:16:10 -05:00
Sour
0b228f5951 Refactoring: Added Snes prefix to files/classes 2022-01-22 11:55:17 -05:00
Renamed from Core/SNES/Ppu.cpp (Browse further)