Commit graph

79 commits

Author SHA1 Message Date
Ben Holley
813aabb04a Fix CPU::StreamState extraScanlinesAfterNmi argument
Previously the CPU::StreamState function passed the
extraScanlinesBeforeNmi value twice to Stream().

Change the second argument to extraScanlinesAfterNmi instead.
2021-02-20 12:31:44 -06:00
Sour
f7ff089689 Core: Fix NMI code to better reflect the hardware
Fixes a crash in Super Chinese 3 caused by the PPU rapidly switching the NMI signal on and then back off (which caused the CPU to incorrectly jump to the IRQ handler and crashed the game)
2019-11-21 22:33:08 -05:00
Sour
8d1f66b2d3 Debugger: Stop/halt instructions now only display a message, and only break execution if break on cpu crash option is turned on 2019-11-16 13:18:55 -05:00
Sour
7041ec7682 Linux: Fixed compilation warnings/errors with GCC/clang 2019-11-13 18:30:05 -05:00
Sour
26773a1ecc CPU: Randomize cpu/ppu alignment on resets (not just power cycle) 2019-11-12 21:03:03 -05:00
Sour
d96f09a1e1 Core: Display CPU/PPU alignment in log window at power on (when random) 2019-11-11 21:10:53 -05:00
Sour
a72acc9f1a Core: Rewrite DMC/OAM DMA, tweak PPU timings, add option to simulate PPU/CPU alignments 2019-11-11 21:10:47 -05:00
Sour
72fc0de383 Allow dipswitches to be manually configured for mappers that use them (instead of incrementing the value on reset) 2019-02-08 19:39:35 -05:00
Sour
8293382024 Debugger: Added more values for expressions (Sprite0Hit, Branched, etc.) 2019-01-19 20:41:31 -05:00
Sour
de7ded3139 NSF: Added support for history viewer 2018-12-26 13:28:17 -05:00
Sour
071f69520b Linux: Fixed compilation warning 2018-12-25 22:40:05 -05:00
Sour
ae0822e7cd Linux: Fixed compilation warnings 2018-12-25 00:32:33 -05:00
Sour
8deb63e646 Debugger: Avoid setting debug PC value if debugger is not running (performance) 2018-12-25 00:07:45 -05:00
Sour
60e0bd4e01 Debugger: Fixed issues & improved performance with new breakpoint logic 2018-12-25 00:07:38 -05:00
Sour
937a90626d Debugger: Added option to evaluate all breakpoints on the first cycle of an instruction 2018-12-24 15:21:21 -05:00
Sour
35192daeed Debugger: Add option to trigger breakpoints on dummy read/writes (+ distinguish between writes & dummy writes) 2018-12-23 13:12:46 -05:00
Sour
022085082b Debugger: Added option to show current instruction's progress (cycle count, exec/read/write cycle display) 2018-12-23 11:56:28 -05:00
Sour
757054798b Keep game running after CPU crash (when Dev Mode is enabled) 2018-08-30 22:37:22 -04:00
Sour
15373016d0 Refactoring - removed statics from EmulationSettings 2018-07-14 18:32:32 -04:00
Sour
04310eddb4 Core refactoring (remove static variables) - WIP 2018-07-08 10:28:47 -04:00
Sour
ee8e8fc7bf Debugger: Trace Logger - Potential fix for trace logger not logging NMI/IRQ in some conditions
It was possible for the static instance to become null even though an active trace logger instance existed
2018-06-20 20:17:33 -04:00
Sour
091da2164c Debugger: Trace Logger - Added output format customization 2018-05-26 01:14:37 -04:00
Sour
c8cbbb5c41 Fixed compilation warning in debug build 2018-02-23 08:05:27 -05:00
Sour
3bb760703e Debugger: Added "Break on Crash" option 2018-02-20 21:59:56 -05:00
Sour
cf0bd50b9e Libretro support (Windows) 2018-01-04 19:03:47 -05:00
Sour
bcdc2522d3 Movies: Fixed issue with disable PPU reset option 2017-12-27 13:36:09 -05:00
Souryo
4e14a83625 Debugger: General speed optimizations 2017-08-05 17:18:09 -04:00
Souryo
ce62e40d47 FDS: Added option to automatically switch disks
+Fixed bug with eject disk functionality
2017-05-04 22:55:46 -04:00
Souryo
0c2cc8c94d Code cleanup 2017-04-29 08:29:56 -04:00
Souryo
3a6c8ca416 Added rewind functionality 2017-04-28 19:54:58 -04:00
Souryo
c477d75b66 PPU: Fixed reset state (started at cycle 1 instead of 0) + adjusted reset sync values (improves read2004 result).
+Simplified PPU code for a small performance boost (+3-6%)
2017-04-21 21:29:39 -04:00
Souryo
a79bbd06eb PPU: Emulate pixels being rendered 2 cycles later (in regards to grayscale/intensify flags) - fixes nmi_sync\demo_ntsc (thanks to Alyosha's research) 2017-04-20 21:58:35 -04:00
Souryo
bed6976570 PPU: Fixed overflow bug emulation & $2004 read behavior (fixed read2004 test) 2017-03-10 21:29:48 -05:00
Souryo
8a450f6902 Sprite DMA: Removed old patch that was no longer needed 2017-02-23 20:00:52 -05:00
Souryo
b542fd56ec Linux: Fixed PPU crash when rendering is off + uninitalized variables 2016-12-16 07:13:33 -05:00
Souryo
6be499368c Debugger: Callstack improvements (uses function labels when possible, shows NMI/IRQ calls, etc.) 2016-11-22 00:14:49 -05:00
Souryo
b852edfec8 NSF/NSFe support 2016-06-25 20:46:54 -04:00
Souryo
57f24af64f Overclocking: Added settings to add extra scanlines in vblank before and after NMI + Moved a lot of emulation-related settings to a new "Emulation" menu item 2016-06-21 18:58:22 -04:00
Souryo
593f845fff Debugger: Break on invalid op code 2016-06-18 09:41:38 -04:00
Souryo
9d1f5f61ba Overclocking: Allow CPU overclocking 2016-06-12 18:11:31 -04:00
Souryo
4a784ff87a Save States: Refactoring - everything is now saved in size-defined blocks (should no longer need to break compatibility in the future) 2016-06-02 20:20:26 -04:00
Souryo
4eb5b11607 Trace Logger: Made output match Nintendulator's output closely to make comparisons easier 2016-06-01 21:01:04 -04:00
Souryo
f1d8bde090 Debugger: Allow disassembly of cartridge work ram & cpu ram + Added tracing for NMI, IRQ and DMAs 2016-02-13 22:19:42 -05:00
Souryo
17f814e47a BaseMapper: Fixed missing CPU clocks in ProcessCpuClock 2016-01-24 16:51:58 -05:00
Souryo
56b3084e33 Implemented SXA & SYA (behavior may be incorrect, but passes existing tests) 2016-01-06 22:27:58 -05:00
Souryo
64b2856d7c Reverted start cycle for CPU and fixed initial "period" for DMC - makes "dpcmletterbox" more stable at first, and doesn't break sprdma_and_dmc tests 2016-01-03 11:42:01 -05:00
Souryo
8d020a2e72 Accuracy improvements (Fixed several tests: nmi_timing, nmi_and_brk, nmi_and_irq, irq_and_dma, sprdma_and_dmc_dma, sprdma_and_dmc_dma512, branch_delays_irq) 2016-01-02 13:52:55 -05:00
Souryo
8325aae6ca Jaleco SS88006 (Mapper 18) support 2015-12-28 20:07:27 -05:00
Souryo
b8380352f2 DMC/Sprite DMA interactions, CPU stalling, Controller read corruption 2015-07-25 11:59:18 -04:00
Souryo
95c0ab9047 IRQ/NMI timing fixed (Dragon Quest 3 was still broken) + code cleanup 2015-07-19 22:09:24 -04:00