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