Commit Graph

414 Commits

Author SHA1 Message Date
Rekai Nyangadzayi Musuka af3edde2ab chore(ppu): rearrange/reimplement some behaviour 2021-05-05 17:47:06 -05:00
Rekai Nyangadzayi Musuka abdff1251e fix: properly implement LY==LYC behaviour 2021-05-05 08:29:39 -05:00
Rekai Nyangadzayi Musuka b36f4441fa chore(ppu): change signature of get_obj_low_addr 2021-05-05 00:14:14 -05:00
Rekai Nyangadzayi Musuka 2cf85b0add fix(ppu): fix off by one error when grabbing sprite address 2021-05-05 00:01:19 -05:00
Rekai Nyangadzayi Musuka b57df3d2a7 chore(ppu): rename Pixel to Pixels
Since the Pixel struct represents 8 pixels in a 2BPP format, I felt like
the name of the type needed to represent this
2021-05-04 22:55:34 -05:00
Rekai Nyangadzayi Musuka 6b0bba48f9 chore(build): remove verbose flags from cargo 2021-05-04 22:17:15 -05:00
Rekai Nyangadzayi Musuka 5bdf5d4084 chore(build): add dependency to CI build config 2021-05-04 22:15:58 -05:00
Rekai Nyangadzayi Musuka 2a7377c724 chore(ppu): reimplement offset calculation for obj fetcher 2021-05-04 22:11:03 -05:00
Rekai Nyangadzayi Musuka 6f919acafb chore(bus): remove 0xFF7F matches from read and write_byte 2021-05-04 21:38:37 -05:00
Rekai Nyangadzayi Musuka 834b1bd9fd chore(cpu): remove branching code in instructions
also, rename a couple of methods
2021-05-04 00:50:22 -05:00
Rekai Nyangadzayi Musuka 5a59c31b72 fix(joypad): fix bug where gameboy overwrites read only bits 2021-05-03 23:37:30 -05:00
Rekai Nyangadzayi Musuka 4abb2833c4 chore: implement gamepad controls 2021-05-03 23:11:39 -05:00
Rekai Nyangadzayi Musuka 1e19854ab0 feat: reimplement joypad status register 2021-05-03 03:27:23 -05:00
Rekai Nyangadzayi Musuka 66414075da fix(ppu): fix bug when loading sprite pixels into FIFO 2021-05-01 16:22:44 -05:00
Rekai Nyangadzayi Musuka b251efcc7d fix(ppu): reimplement the pixel fifo shifter 2021-04-30 17:44:02 -05:00
Rekai Nyangadzayi Musuka 11398303b5 feat(ppu): reimplement window line counter check 2021-04-30 02:10:16 -05:00
Rekai Nyangadzayi Musuka 51252db753 chore(ppu): rename select structs 2021-04-30 00:24:22 -05:00
Rekai Nyangadzayi Musuka 6ffdd92dbb feat(ppu): implement sprite x-flip check 2021-04-30 00:20:50 -05:00
Rekai Nyangadzayi Musuka 3c680dec2f fix(ppu): reimplement OAM scan 2021-04-30 00:09:17 -05:00
Rekai Nyangadzayi Musuka 0672c7346a chore(ppu): rename select method and variables 2021-04-28 19:36:00 -05:00
Rekai Nyangadzayi Musuka 8a06fe9ff8 chore(ppu): improve code quality 2021-04-28 17:59:30 -05:00
Rekai Nyangadzayi Musuka 7620633116 chore(ppu): reimplement background/sprite fetcher state machine 2021-04-27 04:57:00 -05:00
Rekai Nyangadzayi Musuka 9003617459 chore: rename properties in bus.rs 2021-04-27 04:06:08 -05:00
Rekai Nyangadzayi Musuka 9d01b2458d chore: move ppu bitfield structs to separate file 2021-04-27 04:03:50 -05:00
Rekai Nyangadzayi Musuka 81354a1df5 chore: update dependencies 2021-04-26 00:35:55 -05:00
Rekai Nyangadzayi Musuka 029c3a5c89 chore: update README.md 2021-04-26 00:35:15 -05:00
Rekai Nyangadzayi Musuka 1343e8e52e chore(ppu): flatten if statement 2021-04-24 02:14:58 -05:00
Rekai Nyangadzayi Musuka 2586314f9a chore(ppu): implement IntoIterator and iter() for ObjectBuffer 2021-04-24 02:14:50 -05:00
Rekai Nyangadzayi Musuka 067049e2dd chore: rename to_byte_count to as_byte_count
using to_* and not taking ownership of self violates rust conventions
according to clippy.
2021-04-24 02:12:05 -05:00
Rekai Nyangadzayi Musuka e8f6a94fee chore(ppu): reimplement object buffer remove 2021-04-24 01:48:15 -05:00
Rekai Nyangadzayi Musuka 98af1865ee chore(ppu): reimplement the object buffer struct 2021-04-23 23:55:18 -05:00
Rekai Nyangadzayi Musuka 4ab59007f9 chore(cpu): disable logging by default 2021-04-23 23:31:16 -05:00
Rekai Nyangadzayi Musuka 6f4f872765 fix(cpu): pass SLA (HL) and SRA (HL) tests from blargg 2021-04-22 20:38:13 -05:00
Rekai Nyangadzayi Musuka 9bf10f0c7d chore(ppu): improve accuracy of sprite pixel fifo 2021-04-21 00:03:17 -05:00
Rekai Nyangadzayi Musuka d457761c3b chore(ppu): reimplement the object buffer 2021-04-20 23:39:16 -05:00
Rekai Nyangadzayi Musuka f92f4a17e0 chore(ppu): add alternate colour palette 2021-04-20 23:15:54 -05:00
Rekai Nyangadzayi Musuka c90b9ab024 fix(ppu): fix sprite buffer bug
Now, the background renders like it should and some sprites do load,
though they aren't where they're supposed to be
2021-04-20 04:26:28 -05:00
Rekai Nyangadzayi Musuka 4f4c867a63 fix(ppu): ensure better timings for sprite fetcher 2021-04-20 03:14:00 -05:00
Rekai Nyangadzayi Musuka db1b40fe2d fix(ppu): clear oam on hblank 2021-04-20 03:13:40 -05:00
Rekai Nyangadzayi Musuka 0361d04248 feat(ppu): implement broken ppu fifo renderer 2021-04-20 01:27:32 -05:00
Rekai Nyangadzayi Musuka 38460577b9 chore(ppu): move bg fetcher code into fetcher functions 2021-04-18 02:43:34 -05:00
Rekai Nyangadzayi Musuka 2acdaaeec2 chore(ppu): rename types and improve code quality 2021-04-18 01:45:09 -05:00
Rekai Nyangadzayi Musuka b43c8ac7c9 feat(cartridge): grab title from the ROM 2021-04-14 01:21:45 -05:00
Rekai Nyangadzayi Musuka cbd085c25b chore: use Default::default instead of Type::Default 2021-04-13 23:02:13 -05:00
Rekai Nyangadzayi Musuka e9f129dbee fix(ppu): move frame/pixel buffer from the stack to the heap 2021-04-13 22:55:11 -05:00
Rekai Nyangadzayi Musuka 12a51b115a feat(ppu): reimplement ppu as fifo pixel renderer 2021-04-11 02:07:25 -05:00
Rekai Nyangadzayi Musuka 5931fe95e3 feat(ppu): implement (broken) sprite renderer 2021-04-09 00:35:41 -05:00
Rekai Nyangadzayi Musuka 7425384fb1 chore: convert select base 10 constants to base 16 2021-04-08 20:32:32 -05:00
Rekai Nyangadzayi Musuka 770b081f98 feat(ppu): stub sprite attribute table 2021-04-08 20:28:30 -05:00
Rekai Nyangadzayi Musuka 23de87e482 chore: remove panics when gameboy performs certain actions 2021-04-08 19:23:29 -05:00