Commit graph

85 commits

Author SHA1 Message Date
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
380ab4c9ba PAL: Minor PPU behavior adjustment based on tests 2017-04-14 19:19:43 -04:00
Souryo
e1fae4e302 PPU: Added option to emulate OAM decay 2017-04-08 14:13:10 -04:00
Souryo
6ffc27c96b PPU: Disable sprite evaluation on prerender line + tweak PAL behavior 2017-04-07 19:24:34 -04:00
Souryo
619bc956bd Optimizations: Improved emulation performance (5-15% speed boost depending on game) 2017-04-02 17:41:24 -04:00
Souryo
bf979be756 Optimizations: Most games now run 15-20% faster 2017-03-31 22:14:16 -04:00
Souryo
17d75287bd PPU: Added delay to VRAM address update after $2006 write based on Visual NES findings by fred
Fixes Bart vs Mutants + Wizards & Warriors 3
2017-03-10 22:21:14 -05:00
Souryo
bed6976570 PPU: Fixed overflow bug emulation & $2004 read behavior (fixed read2004 test) 2017-03-10 21:29:48 -05:00
Souryo
312a07bbdd Debugger: Trace Logger improvements (Last 30k instructions visible, performance fixes, options are saved) 2017-03-04 15:18:00 -05:00
Souryo
8a450f6902 Sprite DMA: Removed old patch that was no longer needed 2017-02-23 20:00:52 -05:00
Souryo
7accd1ff18 Overclocking: Fixed sound issues when overclocking was enabled 2016-12-23 13:56:45 -05:00
Souryo
b4489ed0f7 Linux: Fixed all clang warnings 2016-12-17 23:14:47 -05:00
Souryo
b542fd56ec Linux: Fixed PPU crash when rendering is off + uninitalized variables 2016-12-16 07:13:33 -05:00
Souryo
ea9c32437c Debugger: Added feature to manually change the CPU/PPU's state 2016-11-26 17:48:11 -05:00
Souryo
af331bf5ae Video: Added option to force the display of bg/sprites in the first 8 pixels of the screen (left side) 2016-10-23 13:29:37 -04:00
Souryo
760c844d4d Debugger: Allow export/import of memory to/from files 2016-09-05 09:05:34 -04:00
Souryo
9ad4719d57 Trace Logger: Added options + improved UI usability 2016-09-03 21:52:59 -04: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
9d1f5f61ba Overclocking: Allow CPU overclocking 2016-06-12 18:11:31 -04:00
Souryo
6fb0551693 Performance: Minor optimizations (forced inlining) 2016-06-06 23:09:22 -04:00
Souryo
3f801e22ff Debugger: Option to display the current frame as it is being drawn (pixel by pixel), instead of displaying when the full frame is done. 2016-06-05 10:26:05 -04:00
Souryo
0bd7cfe6ed PPU: Fix for Kick Master (race condition between 2006 writes and Y scrolling increment at cycle 256) 2016-05-31 17:12:43 -04:00
Souryo
d0cc79aeed PPU: Removed existing sprite 0 timing patch - replaced with a better solution that fixes ppu_sprite_overflow/03-timing and ppu_sprite_hit/09-timing.
(Confirmed this old patch is no longer needed for Dizzy & Micro Machines)
2016-05-18 20:46:03 -04:00
Souryo
cf450bcdb7 PPU: Scrolling increments use a "IsRendering" flag delayed by 1 ppu cycle. This fixes Battletoads freezes, but may be incorrect. 2016-02-14 13:57:47 -05:00
Souryo
c26a45ab8f Input: Reworked most of the input-related code. Zapper/Famicom support added. NetPlay and Movies now support any input type 2016-02-05 23:14:27 -05:00
Souryo
c3dabcd1d2 Basic Dendy (Russian NES clone) support + Fixed a lock-up condition when switching between regions 2016-01-30 19:33:32 -05:00
Souryo
a14d5b4703 Fixed function signature (GetCurrentScanline) 2016-01-24 21:35:43 -05:00
Souryo
56d2580fbf Misc: Added "Remove sprite limit" option 2016-01-14 22:20:50 -05:00
Souryo
fc8add8262 Timing fixes - Sprite 0 hit flag and rendering disabled/enabled flag both needed to be delayed by 1 cycle. Fixes Micro Machines & Adventures of Dizzy. 2016-01-11 17:18:01 -05:00
Souryo
c6e31e58da PPU: Cycle-accurate tile loading (small performance hit) - keeps MMC3 IRQ timing correct and doesn't break "scanline" test 2016-01-03 19:39:41 -05:00
Souryo
c79a0326ed Implemented ignored reads on PPU $2007 when read 2 cpu cycles in a row (i.e with a dummy read)
Changed DMC stall-time read behavior to read only every other cycle
Fixes tests: "dma_2007_read", "dma_4016_read", "double_2007_read"
2016-01-03 17:20:18 -05:00
Souryo
a6188aef7f Fine-tune the cycle at which sprite/tile data is reloaded. Not 100% accurate (would need to be split across multiple cycles), but fixes scanline_timing for the MMC3 tests 2016-01-03 15:35:40 -05:00
Souryo
b135f9f4e4 Rewrote sprite evaluation logic to match wiki - fixes "sprite overflow - 3.timing" test 2016-01-03 11:44:20 -05:00
Souryo
411967e4fa Open bus (PPU and CPU) - Fixes several open bus related tests (ppu_open_bus, test_cpu_exec_space_apu, test_cpu_exec_space_ppuio) 2016-01-02 20:36:22 -05:00
Souryo
5f2d2851fe Fixed PPU even_odd_timing test (when disabling BG just before cycle 339) 2016-01-02 18:02:56 -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
76e060907d PPU: Fixes for $2004 register (OAM Read/Write) - Fixes oam_read test, improves oam_stress, and fixes most Micro Machines glitches 2015-12-29 13:24:15 -05:00
Souryo
8325aae6ca Jaleco SS88006 (Mapper 18) support 2015-12-28 20:07:27 -05:00
Souryo
d648f18b8a Added automatic tests 2015-12-26 17:11:00 -05:00
Souryo
37c3201057 Frame decoding/Rendering is now handled by separate threads (i.e there are now 3 threads in the emu + UI thread)
Improved performance (less memory copying, less spin waiting, etc.) - uses less CPU at normal speed, and faster when no FPS limit
2015-08-30 21:04:21 -04:00
Souryo
21220052d9 HD packs - Fixed blending, vertical mirroring & added missing file 2015-08-15 10:40:27 -04:00
Souryo
f2ee0f916e "HDNes" HD pack support (still some bugs left) 2015-08-14 21:50:14 -04:00
Souryo
0a7e1a9c32 Debugger - Added palette memory option to memory viewer 2015-08-05 21:43:53 -04:00
Souryo
a37354fbc1 Debugger - Added memory viewer (CPU, PPU, Sprite, PRG, CHR) 2015-08-05 20:40:10 -04:00
Souryo
dffc03ad68 MMC5 support (incomplete)
Heavy refactoring of BaseMapper (to support MMC5 functionality, and be more flexible in general)
2015-07-29 22:10:34 -04:00
Souryo
068fa72e87 Added overscan config 2015-07-23 23:16:31 -04:00
Souryo
fb17e7b154 PPU - Grayscale/Emphasis bit support & fixed behavior when rendering disabled and vram addr in palette range 2015-07-22 22:08:28 -04:00
Souryo
41ae3cdcd2 PAL support (PPU & APU) 2015-07-21 23:05:27 -04:00