Commit graph

101 commits

Author SHA1 Message Date
Souryo
ea9c32437c Debugger: Added feature to manually change the CPU/PPU's state 2016-11-26 17:48:11 -05:00
Souryo
98e6a83c15 PPU: Fixed issue with Remove Sprite Limit option that could cause the game to display the extra sprites from the wrong chr banks (i.e MMC5 Castlevania 3) due to calling LoadExtraSprites() on cycle 256 2016-11-13 22:46:55 -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
281d11b7de Video: Added disable sprites/background options 2016-09-11 11:03:26 -04:00
Souryo
9ad4719d57 Trace Logger: Added options + improved UI usability 2016-09-03 21:52:59 -04:00
Souryo
b700f94b4e PPU: Fixed out-of-bounds array write 2016-08-26 22:07:09 -04:00
Souryo
4180b35c84 JY Company (Mapper 90, 209, 211) support 2016-07-22 19:54:47 -04:00
Souryo
f3bf2a631c PPU: Fixed a couple of rendering-related scanline conditions for scanline 239/240 2016-07-10 09:08:31 -04:00
Souryo
f24b0e3595 MMC5: Vertical split mode support 2016-07-02 14:48:46 -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
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
4cb8ae7076 Save states: Removed MS-specific extension usage & disabled extensions + Removed some errors/warnings caused by this change 2016-06-02 23:56:11 -04:00
Souryo
53f1808f73 MMC3: Implemented submapper 3 (MM-ACC) - fixes Incredible Crash Dummies
-Also fixed a bug in NES 2.0 mapper ID code
2016-06-02 20:35:08 -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
1825fdcc1c Dendy: Vertical blank flag must be set on scanline 291, not 241 - fixes crashes/odd behavior in multiple games 2016-06-01 17:42:52 -04:00
Souryo
f84b4e776e PPU: PAL/Dendy mode had 1 extra scanline (313 instead of 312) - fixed. This fixes nmi_sync/demo_pal test. 2016-06-01 07:17:34 -04:00
Souryo
03feeb247d Dendy: Fixed vblank nmi timing (had an extra scanline by mistake) 2016-05-31 23:37:11 -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
04d470b15d Support for VS Unisystem games (Not yet supported properly in movies and netplay) 2016-04-30 20:08:53 -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
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
c772d4d0d5 PPU: Fixed missing/bad sprites on scanline 0 2016-01-28 20:47:45 -05:00
Souryo
56d2580fbf Misc: Added "Remove sprite limit" option 2016-01-14 22:20:50 -05:00
Souryo
1b57dbc2e0 PPU: Fixed wrap-around behavior issues when video ram addr goes from 3FFF to $0000 (ended up reading/writing palette ram by mistake) 2016-01-13 00:06:01 -05:00
Souryo
fbecf90a54 Rendering: Fixed dropped frames in VideoDecoder (makes NTSC picture and full_palette tests a lot more stable).
+Fixed vertical sync causing high cpu usage.
+Reduced memory usage by removing useless buffers (Renderer)
2016-01-12 19:42:28 -05:00
Souryo
f3f7953392 Made palette power up ram match the power_up_palette test. Doubt anything would ever rely on this. 2016-01-11 19:19:06 -05:00
Souryo
181e461db1 Fixed oam memory getting overridden during prerender scanline when rendering was disabled. oam_stress & cpu_dummy_writes_ppumem tests now pass. 2016-01-11 18:55:58 -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
a0d6e2d547 Debugger breakpoint improvements (Conditional breaks, vram breaks, absolute address breaks, etc.) 2016-01-09 13:15:43 -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
b821350385 Make sure PPU state is defined at bootup (and make bootup screen gray) 2016-01-01 12:33:43 -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
a3acdd68f0 Fixed memory corruption bug introduced in earlier checkin (OAM DMA) 2015-12-28 23:20:38 -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
5b565bfeeb GCC support - Fixed warnings/compilation errors (Core & Utilities now compile under GCC, but code is incomplete) 2015-08-28 21:01:18 -04:00
Souryo
273c000c44 Debugger - Basic FCEUX CDL file support 2015-08-17 19:32:10 -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