Commit graph

70 commits

Author SHA1 Message Date
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
Souryo
62d87d6bab Optimizations/cleanup in PPU 2015-07-21 18:18:20 -04:00
Souryo
e70448820c Input mapping support + Fourscore support + Turbo buttons 2015-07-10 21:07:24 -04:00
Souryo
7cf5dafc40 -Fixed timing issues (with sprite DMA) + a bit of refactoring
-PPU is now run AFTER a read/write, instead of before.  (And the CPU class is in charge of running it, instead of the MemoryManager class)
2015-07-05 00:27:26 -04:00
Souryo
f3df2ecf17 -CPU code changes to implement all dummy reads/writes. Each memory access runs the PPU for 3 cycles (PPU is now controlled by the CPU)
-Optimizations + PGO (profile guided optimization) build support
2015-07-04 22:21:14 -04:00
Souryo
48409ae82b -Rewrote entire GUI in .NET
-Several other fixes (bugfixes, refactoring, etc.)
-Added a few more features to debugger
2015-07-01 23:17:14 -04:00
Souryo
6fb497855c Several fixes for movies record/playback (and a couple of potential savestate fixes) 2014-07-01 18:05:54 -04:00
Souryo
2c55437a44 Changed the way cpu/ppu cycles are kept in memory (slightly faster) 2014-06-30 14:44:30 -04:00
Souryo
6e1742393d Improved timing, passes some more VBL/NMI tests 2014-06-27 12:18:07 -04:00
Souryo
ec1b0d5e16 MMC3 IRQ fixes - All tests pass (Revision A) 2014-06-26 16:41:07 -04:00
Souryo
9ec756fae2 Quick save/load support 2014-06-25 21:52:37 -04:00
Souryo
57db54f2f3 MMC3 IRQ Counter - not working 100% correctly, but seems to allow some games to work. 2014-06-25 17:30:35 -04:00
Souryo
fbaf3bc42e Fixed issue with memory handlers (conflict on 0x4017 between APU & Controllers) - Fixes dragon quest 1 sound while allowing MMC3 games to boot properly 2014-06-25 12:22:48 -04:00
Souryo
b5b9a1ca53 Sound improvements (sync, etc.), added pause/resume/stop/reset in GUI 2014-06-23 13:52:53 -04:00
Souryo
bed43cec62 Small performance improvements by using 32-bit ints 2014-06-22 16:22:10 -04:00
Souryo
a6a2199dd4 Removed unused variable 2014-06-22 12:32:58 -04:00