Skip to content

Commit

Permalink
Fix CGB Sprite Palettes
Browse files Browse the repository at this point in the history
  • Loading branch information
IsaacMarovitz committed May 1, 2024
1 parent ceb40d6 commit d775a7a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/components/ppu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -403,6 +403,7 @@ impl PPU {
let r = self.bcpd[palette_no_1][color][0];
let g = self.bcpd[palette_no_1][color][1];
let b = self.bcpd[palette_no_1][color][2];

self.set_rgb_mapped(x, r, g, b);
} else {
let color = if !self.lcdc.contains(LCDC::WINDOW_PRIORITY) {
Expand All @@ -429,7 +430,7 @@ impl PPU {
let py = self.read(sprite_address).wrapping_sub(16);
let px = self.read(sprite_address + 1).wrapping_sub(8);
let tile_number = self.read(sprite_address + 2) & if self.lcdc.contains(LCDC::OBJ_SIZE) { 0xFE } else { 0xFF };
let tile_attributes = Attributes::from_bits_truncate(self.read(sprite_address + 3));
let tile_attributes = Attributes::from_bits_retain(self.read(sprite_address + 3));

if py <= 0xFF - sprite_size + 1 {
if self.ly < py || self.ly > py + sprite_size - 1 {
Expand Down Expand Up @@ -512,6 +513,7 @@ impl PPU {
let r = self.ocpd[palette_no_1][color][0];
let g = self.ocpd[palette_no_1][color][1];
let b = self.ocpd[palette_no_1][color][2];

self.set_rgb_mapped(px.wrapping_add(x) as usize, r, g, b);
} else {
let color = if tile_attributes.contains(Attributes::PALETTE_NO_0) {
Expand Down

0 comments on commit d775a7a

Please sign in to comment.