193 Commits

Author SHA1 Message Date
7620633116 chore(ppu): reimplement background/sprite fetcher state machine 2021-04-27 04:57:00 -05:00
9003617459 chore: rename properties in bus.rs 2021-04-27 04:06:08 -05:00
9d01b2458d chore: move ppu bitfield structs to separate file 2021-04-27 04:03:50 -05:00
81354a1df5 chore: update dependencies 2021-04-26 00:35:55 -05:00
029c3a5c89 chore: update README.md 2021-04-26 00:35:15 -05:00
1343e8e52e chore(ppu): flatten if statement 2021-04-24 02:14:58 -05:00
2586314f9a chore(ppu): implement IntoIterator and iter() for ObjectBuffer 2021-04-24 02:14:50 -05:00
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
e8f6a94fee chore(ppu): reimplement object buffer remove 2021-04-24 01:48:15 -05:00
98af1865ee chore(ppu): reimplement the object buffer struct 2021-04-23 23:55:18 -05:00
4ab59007f9 chore(cpu): disable logging by default 2021-04-23 23:31:16 -05:00
6f4f872765 fix(cpu): pass SLA (HL) and SRA (HL) tests from blargg 2021-04-22 20:38:13 -05:00
9bf10f0c7d chore(ppu): improve accuracy of sprite pixel fifo 2021-04-21 00:03:17 -05:00
d457761c3b chore(ppu): reimplement the object buffer 2021-04-20 23:39:16 -05:00
f92f4a17e0 chore(ppu): add alternate colour palette 2021-04-20 23:15:54 -05:00
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
4f4c867a63 fix(ppu): ensure better timings for sprite fetcher 2021-04-20 03:14:00 -05:00
db1b40fe2d fix(ppu): clear oam on hblank 2021-04-20 03:13:40 -05:00
0361d04248 feat(ppu): implement broken ppu fifo renderer 2021-04-20 01:27:32 -05:00
38460577b9 chore(ppu): move bg fetcher code into fetcher functions 2021-04-18 02:43:34 -05:00
2acdaaeec2 chore(ppu): rename types and improve code quality 2021-04-18 01:45:09 -05:00
b43c8ac7c9 feat(cartridge): grab title from the ROM 2021-04-14 01:21:45 -05:00
cbd085c25b chore: use Default::default instead of Type::Default 2021-04-13 23:02:13 -05:00
e9f129dbee fix(ppu): move frame/pixel buffer from the stack to the heap 2021-04-13 22:55:11 -05:00
12a51b115a feat(ppu): reimplement ppu as fifo pixel renderer 2021-04-11 02:07:25 -05:00
5931fe95e3 feat(ppu): implement (broken) sprite renderer 2021-04-09 00:35:41 -05:00
7425384fb1 chore: convert select base 10 constants to base 16 2021-04-08 20:32:32 -05:00
770b081f98 feat(ppu): stub sprite attribute table 2021-04-08 20:28:30 -05:00
23de87e482 chore: remove panics when gameboy performs certain actions 2021-04-08 19:23:29 -05:00
41081e9cce feat(bus): implement echo RAM 2021-04-08 17:58:33 -05:00
2733bbe6d7 feat(ppu): implement window rendering 2021-04-08 17:10:24 -05:00
e2fa72aa0e chore: remove unecessary eprintln! statements 2021-04-08 00:02:54 -05:00
0538522aa2 chore: update readme 2021-04-08 00:02:37 -05:00
cf3b79f0dc chore(cpu): move RST behaviour to a method 2021-04-07 23:05:22 -05:00
0eb40a8109 feat: comply with the fourth individual blargg test rom 2021-04-07 22:37:33 -05:00
067ed03de3 feat: comply with test 03 of blargg's cpu_instrs test rom 2021-04-07 20:12:05 -05:00
6db132ad48 feat(cartridge): handle MBC-less games like tetris
TODO: This will panic whenever a write is attempted on the MBC-less
cartridge. This would be fine if games held the implicit rules given by
the hardware, however this is not the case. We will have to modify the
NoMBC implementation to ignore writes to the cartrige (while still
documenting them just in case of bugs)
2021-04-05 01:43:26 -05:00
823e4b1e0a chore: follow rust style guides 2021-04-05 01:40:26 -05:00
9b77d6c6c3 fix(cpu): ensure that timer, lcd and sound runs regardless of HALT 2021-04-05 01:20:18 -05:00
9d2fbd2427 chore: remove unecessary print statements 2021-04-05 01:20:03 -05:00
748c32c446 fix(cpu): use enums only of maintaining IME register state 2021-04-05 01:10:03 -05:00
77c7c610d0 chore(cpu): rename ImeSet to ImeEnabled 2021-04-05 00:53:46 -05:00
a15a6a25b6 feat(cpu): properly implement EI instruction 2021-04-05 00:52:12 -05:00
4ace092257 chore: update cargo.lock 2021-04-05 00:50:53 -05:00
62bd88945f chore: rename a couple of interrupt instances to "int" instead of
"interrupt"
2021-04-04 01:52:53 -05:00
7c9bff61f6 fix(ppu): add missing check for enabled interrupt 2021-04-04 01:50:49 -05:00
777abd1c10 chore: rename some symbols 2021-04-04 01:31:31 -05:00
4dd7a0d9ce chore: fix several clippy warnings 2021-04-04 01:19:39 -05:00
cb1bcdb859 feat(cpu): implement DAA instruction 2021-04-04 01:03:44 -05:00
25e44f3e49 chore: fix condition when logs are printed 2021-03-27 15:07:17 -05:00