Commit graph

79 commits

Author SHA1 Message Date
Sour
ae20428bdd PPU: Minor mode 7 optimization 2019-07-13 00:02:36 -04:00
Sour
667aed6f7b PPU: Refactoring and optimizations 2019-07-12 23:53:47 -04:00
Sour
f5bb073b9d PPU: Improved frame skipping logic 2019-07-11 23:30:40 -04:00
Sour
81d373b99b PPU: Convert VRAM to uint16_t array (cleaner code) 2019-07-11 23:03:02 -04:00
Sour
6ba622df9f PPU: Minor refactoring/optimizations 2019-07-11 21:45:56 -04:00
Sour
aa9f7b3f23 PPU: Convert CGRAM to uint16_t array (performance + code simplicity) 2019-07-11 20:03:57 -04:00
Sour
26bf239cee PPU: Cycle-by-cycle sprite evaluation & fetching
Not 100% accurate, but much better than doing it all at once
2019-07-10 22:50:12 -04:00
Sour
9996d569d4 PPU: Fixed mosaic issues (was disabled on subscreens and palette wasn't properly kept for the entire block) 2019-07-08 23:46:31 -04:00
Sour
353a13963b PPU: Fetch sprites tile data from H=272 to 339 2019-07-08 15:24:43 -04:00
Sour
40a165d07c PPU: Improved mosaic effect (still wrong in high res) 2019-07-08 09:13:08 -04:00
Sour
5c17890142 PPU: Implemented cycle-by-cycle fetches for tilemap/tile data (for modes 0-6) 2019-07-07 18:22:20 -04:00
Sour
f16970a2fd Video: Output standard resolution frames in 256x239 instead of always doubling resolution 2019-07-06 14:03:27 -04:00
Sour
a4a07d7bd5 PPU: Implement latch behavior for CGRAM writes 2019-06-29 09:16:53 -04:00
Sour
ab15564ea1 PPU: Fixed scroll issues with offset-per-tile in mode 6 2019-06-28 16:34:15 -04:00
Sour
9cae20c527 Video: Added options to toggle bg/sprite layers 2019-05-20 15:35:09 -04:00
Sour
7bc96a867d Performance improvements and refactoring for timing changes 2019-04-20 14:17:34 -04:00
Sour
11937c1ac3 IRQ: Improved IRQ logic (passes demo_irqtest) 2019-04-14 15:22:34 -04:00
Sour
3715e844c0 PPU: Skip frames while fast forwarding to improve maximum speed (no impact on emulation accuracy) 2019-04-10 22:32:28 -04:00
Sour
e8a4168c82 PPU: Improved timings (removed 341th dot, fixed issue where V+H IRQ was never triggered at scanline 240, dot 0 2019-04-10 21:38:10 -04:00
Sour
bd2b9a1132 PPU: Fixed IRQs to trigger whenever the signal transitions from low to high (+ some refactoring) 2019-04-10 16:04:55 -04:00
Sour
41af179c61 PPU: Even/Odd flag should change at the end of vblank, not at the start 2019-04-08 10:16:12 -04:00
Sour
42379b26d1 PPU: Approximate OAM write behavior during HBlank (fixes Uniracers) 2019-04-04 20:46:29 -04:00
Sour
60468d10e1 PPU: Apply color math to subpixels in hires modes 2019-04-02 23:44:00 -04:00
Sour
e1c7e7b9c4 Linux: Fixed build/makefile and compilation errors/warnings (and add missing files to git) 2019-03-31 14:50:12 -04:00
Sour
5b2476fde1 PPU: Mosaic improvements (still incorrect) 2019-03-31 09:38:47 -04:00
Sour
63f6de6a8e Core: Reset/Power Cycle support (+ fixed power on state for DMA controller) 2019-03-16 12:20:18 -04:00
Sour
73913e1f0c Save state support 2019-03-12 09:15:57 -04:00
Sour
94370b3226 PPU: Implemented PPU1/2 open bus 2019-03-09 10:29:19 -05:00
Sour
9f5be3f97c PPU: Fixed issue in draw logic that caused lines to be processed twice in some scenarios 2019-03-07 20:13:44 -05:00
Sour
0ada7f9d2f Debugger: Added Event Viewer 2019-03-07 20:12:32 -05:00
Sour
4139f6dca8 CPU/PPU: Improved timing and implemented catch-up in PPU when registers are written to in the middle of a scanline 2019-03-04 17:49:14 -05:00
Sour
3cfb3f7f25 PPU: Improved hires/interlace support (allow mid-screen changes) 2019-03-02 18:00:27 -05:00
Sour
37c9996e7b PPU: Fixed sprite draw order/priority and implemented priority activation bit 2019-03-02 13:51:42 -05:00
Sour
28a151e00d PPU: Fixed sprite range/time flags and hblank flag 2019-03-02 00:11:42 -05:00
Sour
cbd08a3767 PPU: Implemented vram address translation + fixed issues with H/V flags/irqs 2019-03-01 22:24:18 -05:00
Sour
002cda8cf6 PPU: Sprite interlace flag support (untested) 2019-02-24 19:21:19 -05:00
Sour
b9aedafd32 PPU: Offset per tile mode support (mode 2/4/6) 2019-02-24 18:45:47 -05:00
Sour
75dee8b8e4 PPU: Fixed mode 5 when using 16x16 tiles 2019-02-24 11:14:24 -05:00
Sour
e80d6fcd7f PPU: Mode 6 support (incomplete) 2019-02-24 10:30:19 -05:00
Sour
21791170f4 PPU: Fixed VRAM read behavior 2019-02-24 09:38:22 -05:00
Sour
073e7b2bf3 PPU: Code refactoring 2019-02-24 01:30:55 -05:00
Sour
16cc0653e9 PPU: Direct color mode support 2019-02-24 01:11:26 -05:00
Sour
85f1333c3d PPU: Support for mode 5, hires, interlace, and overscan mode 2019-02-23 21:39:35 -05:00
Sour
19a6663ed9 PPU: Mode 7 Ext BG mode 2019-02-23 16:04:04 -05:00
Sour
39ae565aa1 PPU: Mode 7 support 2019-02-23 15:40:32 -05:00
Sour
86326215fd PPU: Precalculate some flags through templates for performance 2019-02-23 08:54:46 -05:00
Sour
fef78e5802 PPU: Support for 16x16 tiles 2019-02-23 01:28:41 -05:00
Sour
4b2697612e PPU: Minor refactoring 2019-02-22 22:35:53 -05:00
Sour
f028518664 PPU: Implement brightness control 2019-02-22 22:31:20 -05:00
Sour
dbfed2bb46 PPU: Implemented color window 2019-02-22 22:19:20 -05:00