Commit graph

53 commits

Author SHA1 Message Date
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
Souryo
4745c740b6 Fixed IRQ/BRK timing issue, not quite right yet, but fixes Dragon Quest 3 2015-07-19 15:00:29 -04:00
Souryo
af749cb6ad Unofficial op codes (partially) implemented 2015-07-18 14:53:15 -04:00
Souryo
d70010f324 Run APU every 1 CPU clock 2015-07-16 16:55:16 -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
f8f9755eff Unfinished visual debugger implementation (to be finished later) 2015-06-24 19:26:19 -04:00
Souryo
84e54c9b7d Fix for MMC1 - Ignore writes that occur after a dummy write - Fixes Bill & Teds + others 2014-07-28 20:52:47 -04:00
Souryo
941efc4110 CPU: Rewrote logic to use an addressing mode table, implemented dummy writes 2014-07-27 19:29:04 -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
200926f7e0 Implemented OpCode $89 (2-byte NOP) - Fixes Puzznic 2014-06-28 16:23:12 -04:00
Souryo
9ec756fae2 Quick save/load support 2014-06-25 21:52:37 -04:00
Souryo
0fe4091f27 Fixed reset state for CPU (to pass test roms) 2014-06-25 13:30:02 -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
2c650e1529 MMC3 support - without IRQs. Disabled APU IRQs too - they fixed sound in Dragon Warrior, but break most MMC3 games at the moment. 2014-06-24 21:59:58 -04:00
Souryo
9048c206be Basic (probably incorrect) IRQ support (Fixes sound in Dragon Quest 1) 2014-06-24 14:28:49 -04:00
Souryo
1783578522 Minor refactoring 2014-06-23 19:02:09 -04:00
Souryo
568dea7c41 Fixed FPS limiter 2014-06-22 10:07:40 -04:00
Souryo
1765b9a690 Keyboard support + FPS limit 2014-06-21 15:43:41 -04:00
Souryo
95abc2f371 Fixed timing for branch instructions 2014-06-21 11:23:33 -04:00
Souryo
16b6ebeb84 Fixed CPU page crossing cycles 2014-06-21 00:37:20 -04:00
Souryo
fdb5776856 Fixed remaining color issues, added horizontal/vertical mirroring support 2014-06-19 19:58:15 -04:00
Souryo
0262e8c53c PPU working (lots of glitches, but draws correctly) 2014-06-18 22:54:23 -04:00
Souryo
608c9a03cf PPU, NMI 2014-06-15 09:35:17 -04:00
Souryo
177d53e8bf PPU work 2014-06-14 18:20:56 -04:00