Commit graph

109 commits

Author SHA1 Message Date
Henry Sloan
9b1af2196f Add support for mappers 2 and 3 2021-03-17 13:43:53 -04:00
Henry Sloan
c22924c865 Clean up and fix mappers 0 and 1 2021-03-17 13:43:30 -04:00
Henry Sloan
77f7acb7cf
Merge pull request #13 from henryksloan/realistic-ppu
Realistic PPU
2021-03-17 13:03:05 -04:00
Henry Sloan
7ecd391f14 Add more accurate sprite evaluation and pixels 2021-03-17 12:23:25 -04:00
Henry Sloan
9bcd9f32ae Implement initial realistic sprite evaluation 2021-03-16 21:46:17 -04:00
Henry Sloan
54124f810e Substantially improve accuracy of CPU 2021-03-16 18:01:52 -04:00
Henry Sloan
9897bcdf3b Add sprite zero hit and other sprite behaviors 2021-03-15 11:08:11 -04:00
Henry Sloan
16581a2484 Add framerate lock 2021-03-15 11:05:22 -04:00
Henry Sloan
124e61e981
Merge pull request #12 from henryksloan/build-test-ci
Add CI workflow for building and testing
2021-03-14 00:20:46 -05:00
Henry Sloan
67a989707f
Add CI workflow for building and testing 2021-03-14 00:17:41 -05:00
Henry Sloan
978accc3a7
Merge pull request #11 from henryksloan/mapper-1
Implement mapper 1
2021-03-14 00:15:02 -05:00
Henry Sloan
f8ec67f89c Implement mostly working mapper 1 2021-03-14 00:05:58 -05:00
Henry Sloan
aa47102bbd Expand cartridge and mapper API 2021-03-14 00:05:42 -05:00
Henry Sloan
5016eb39e8 Mostly fix up PPU scanline timing 2021-03-14 00:04:53 -05:00
Henry Sloan
a793780061
Merge pull request #10 from henryksloan/controllers
Standard NES controller support
2021-03-13 17:49:53 -05:00
Henry Sloan
5b322af185 Abstract controllers into a trait 2021-03-12 22:09:11 -05:00
Henry Sloan
7c643f4621 Fix slow event polling with strobe-based polling 2021-03-12 16:54:16 -05:00
Henry Sloan
5b2852f07b Run cargo fmt 2021-03-12 13:57:23 -05:00
Henry Sloan
6638daf004 Add controller support in frontend and API 2021-03-12 13:56:54 -05:00
Henry Sloan
7df580a4a0
Merge pull request #9 from henryksloan/ppu-sprites
PPU sprite evaluation and fetching
2021-03-12 10:34:32 -05:00
Henry Sloan
028bb4b6d5 Add naive support for overlapping sprites 2021-03-12 10:26:25 -05:00
Henry Sloan
8ba7e91d73 Add initial working, colored sprites 2021-03-12 01:45:37 -05:00
Henry Sloan
10b25bf550 Initial, inaccurate sprite fetching and evalution 2021-03-11 17:52:46 -05:00
Henry Sloan
70aacbbd3a
Merge pull request #8 from henryksloan/game-loading
ROM loading and SDL frontend
2021-03-07 14:01:56 -05:00
Henry Sloan
b2fa7bc7ae Add working SDL frontend 2021-03-07 13:49:52 -05:00
Henry Sloan
b4427700d0 Allow replacement of cartridges 2021-03-07 13:48:16 -05:00
Henry Sloan
83e0e81a37 Implement first working mapper capabilities 2021-03-06 13:09:27 -05:00
Henry Sloan
3a533b1c2a Add dummy cartridges without mappers or memory 2021-03-05 23:29:33 -05:00
Henry Sloan
d88c383696 Move DMA to avoid multiple borrows 2021-03-05 13:25:05 -05:00
Henry Sloan
0c99f745a4 Implement NMI and make logging optional 2021-03-05 13:23:38 -05:00
Henry Sloan
fc1789fa82 Fix several silly bugs, achieving working BG 2021-03-04 23:58:10 -05:00
Henry Sloan
c3e336599e
Merge pull request #7 from henryksloan/ppu-scan
PPU scan and initial background rendering
2021-03-04 11:26:39 -05:00
Henry Sloan
63dd7ec717 Add untested pixel output 2021-03-04 11:24:34 -05:00
Henry Sloan
3a25d3e0de Implement background tile fetching 2021-03-03 18:27:53 -05:00
Henry Sloan
96002f4ed4 Implement skeleton timing for PPU scan 2021-03-03 14:15:46 -05:00
Henry Sloan
e98393e234
Merge pull request #6 from henryksloan/ppu-skeleton
PPU skeleton implementation
2021-03-02 16:03:59 -05:00
Henry Sloan
39590da75e Implement PPUDATA and OAMDMA 2021-03-02 15:26:42 -05:00
Henry Sloan
33ec58cc22 Implement most PPU register writes 2021-03-02 12:24:39 -05:00
Henry Sloan
ac76f625ac Implement memory peeking for PPU 2021-03-02 10:55:03 -05:00
Henry Sloan
15719cfd8d Revise registers and implement valid reads 2021-03-02 01:08:45 -05:00
Henry Sloan
07964373fc PPU registers and skeleton implementation 2021-02-28 21:33:16 -05:00
Henry Sloan
32f1940f47
Merge pull request #5 from henryksloan/nestest
Relocate NEStest testing to test
2021-02-28 10:37:03 -05:00
Henry Sloan
4d3fafe504 Relocate nestest testing to test 2021-02-28 10:31:54 -05:00
Henry Sloan
ec673d8ebf
Merge pull request #4 from henryksloan/nestest-accurate
NEStest accurate
2021-02-27 22:30:15 -05:00
Henry Sloan
be803c22c8 Abstract step printing 2021-02-27 22:21:05 -05:00
Henry Sloan
bd849d99ed Add nestest-accurate instructions, memory, logging 2021-02-27 22:10:09 -05:00
Henry Sloan
0f994f9e7a
Merge pull request #3 from henryksloan/rustfmt
Run rustfmt
2021-02-26 17:35:54 -05:00
Henry Sloan
f97bb156e1 Run rustfmt 2021-02-26 17:33:29 -05:00
Henry Sloan
d3dc40f9d6
Merge pull request #2 from henryksloan/finish-cpu
Finish CPU instructions
2021-02-23 22:30:57 -05:00
Henry Sloan
4312992f4a Add remaining unofficial instructions 2021-02-23 16:34:24 -05:00