Commit graph

165 commits

Author SHA1 Message Date
Amish Naidu
9579a8c6a0 Merge branch 'ppu-scrolling-rewrite'
PPU background rendering process rewritten to accomodate scrolling
and split-screen effects. Super Mario Bros. works now.
README updated to reflect this and added screenshots.
2016-09-03 17:11:08 +05:30
Amish Naidu
9a5de5e362 Readme updated with more games and screenshots! 2016-09-03 17:08:48 +05:30
Amish Naidu
9c4797fc58 Made 'Release' the default CMake build type. 2016-09-03 16:08:14 +05:30
Amish Naidu
7ec085a10a Added a keybinding to pause/resume emulation. 2016-09-02 18:30:45 +05:30
Amish Naidu
8fceac4440 Added a key to pause/resume emulation
Pressing F2 would pause/resume emulation.
Unlike the Start keybinding, this doesn't depend on the game.
2016-09-02 18:29:54 +05:30
Amish Naidu
e83f09afed Emulation pauses/resumes depending on window focus 2016-09-02 18:12:22 +05:30
Amish Naidu
bc2c06baec Emulation pauses/resumes depending on window focus. 2016-09-02 18:11:09 +05:30
Amish Naidu
32b0a0b299 Fixed glitchy graphics
Minor tweaks in the rendering process to fix graphics
2016-09-02 16:14:04 +05:30
Amish Naidu
bb1f72de0f PPU background rendering rewritten. (First commit)
The background pixel calculation as well as register callbacks have been
rewritten to allow scrolling and split-screen effects to work.
Scrolling does work to some extent, however, the graphics have become
worse.
2016-09-02 00:54:17 +05:30
Amish Naidu
53092669ae Argument deduction minor bug fix 2016-07-26 15:16:10 +05:30
Amish Naidu
f1c719c850 Made a TODO.md file and added demo roms to README 2016-07-26 12:48:49 +05:30
Amish Naidu
8ca1346f6e README updated 2016-07-25 19:27:51 +05:30
Amish Naidu
59ed94e08b Changed Key bindings
Changed key mappings because for some reason, the previous ones weren't
working on some systems
2016-07-25 19:21:07 +05:30
Amish Naidu
c8236b8857 Command line arguments added 2016-07-25 18:20:38 +05:30
Amish Naidu
1e3f8085de Logging improvements
Now with a tee stream to output to multiple
streams and an extra logging level
Also: minor addition for pixel calculation/multiplexer
2016-07-25 17:24:21 +05:30
Amish Naidu
5062c9095c Sprite-0 hit detection and README tweaks 2016-07-24 20:37:15 +05:30
Amish Naidu
48f10ba2a6 Readme small fix 2016-07-24 18:11:44 +05:30
Amish Naidu
070786ae57 Readme updated 2016-07-24 18:10:57 +05:30
Amish Naidu
86565c3e46 README updated with useful info 2016-07-24 18:00:49 +05:30
Amish Naidu
0ff6894fc2 Fixed bug where NMI was generated in each VBlank scanline 2016-07-24 17:41:04 +05:30
Amish Naidu
0d89b20f54 Changed KeyBindings (hard coded)
A = Numpad4
B = Numpad5
Start = Enter/Return
Select = RShift
W/A/S/D = Directional keys
2016-07-24 13:34:37 +05:30
Amish Naidu
51ab2a67f0 Controller tweaks (still hit and miss for games) 2016-07-24 13:14:38 +05:30
Amish Naidu
6ad88354bb Removed unnecessary redirection and small rename 2016-07-24 12:13:20 +05:30
Amish Naidu
ef6f0bf4e4 Added a controller and sprite rendering improved 2016-07-24 12:03:41 +05:30
Amish Naidu
16aa626fc9 Sprites work much better now 2016-07-23 19:17:02 +05:30
Amish Naidu
58e4911340 Sprites work much better now 2016-07-23 19:14:42 +05:30
Amish Naidu
4c6b7a62fa Sprites support a bit better now 2016-07-23 19:04:45 +05:30
Amish Naidu
a81064347f Sprites KINDA work 2016-07-23 18:56:41 +05:30
Amish Naidu
5968fa8bdd FindSFML.cmake added and updated CMakeList.txt 2016-07-23 17:58:42 +05:30
Amish Naidu
00440b2b42 minor tweak 2016-07-23 17:15:12 +05:30
Amish Naidu
e4765a407a PPUDATA read is now buffered and OAM stuff 2016-07-23 16:59:52 +05:30
Amish Naidu
ce46a97788 CHR-ROM read delayed by one byte and OAM basics 2016-07-23 13:38:23 +05:30
Amish Naidu
40da23a347 Minor changes in the quest to get something run 2016-07-20 17:16:08 +05:30
Amish Naidu
aab74a88c3 Bug fixes (most notably attribute calculation) 2016-07-20 16:11:46 +05:30
Amish Naidu
53a8afba89 Background Rendering works now (yaaaay!!!) 2016-07-20 09:21:05 +05:30
Amish Naidu
8ca7ed0fb3 SOME crap shows on screen (many things done)
* CPU trace is logged independently
* VBlank Interrupt firing
* Branch offset is now signed
* MANY small logic bugs fixed
2016-07-19 19:54:56 +05:30
Amish Naidu
540f282cdc Added a 'filename without macro' in cmake 2016-07-19 19:46:24 +05:30
Amish Naidu
04a0c98c88 Added std namespace before int type usage 2016-07-18 16:40:11 +05:30
Amish Naidu
9d5ad7bf6d Untested Background pixel calculation done.
Programming is the best drug.
2016-07-18 16:19:54 +05:30
Amish Naidu
6a24255b8c Alpha channel added in Palette colors (all solid) 2016-07-18 11:26:37 +05:30
Amish Naidu
73258700fe Palette colors added 2016-07-18 11:16:27 +05:30
Amish Naidu
52f2ae1edb Virtual screen vertices position setup moved 2016-07-18 11:15:46 +05:30
Amish Naidu
bbeacdec4c More PPU register callbacks implemented 2016-07-17 18:27:29 +05:30
Amish Naidu
5076b2e0da VirtualScreen pixel width is now float 2016-07-17 16:44:22 +05:30
Amish Naidu
6dcc35c6e7 Added the Log sources 2016-07-17 13:39:17 +05:30
Amish Naidu
8c9109e100 CPU cycle logic fixed 2016-07-17 13:38:09 +05:30
Amish Naidu
64963b1d5e Logger class added and used instead of cout 2016-07-17 12:53:07 +05:30
Amish Naidu
8954926389 Compiles. "nestest.nes" path hardcoded for now. 2016-07-17 10:06:57 +05:30
Amish Naidu
ba2b6eb9e5 Some PPU empty functions added to be implemented later 2016-07-16 21:41:11 +05:30
Amish Naidu
2ccd8817c8 CMakeLists.txt updated with SFML config and made better in other aspects 2016-07-16 21:38:54 +05:30