add USE_BGR565

This commit is contained in:
Tobias Gunkel
2025-08-16 11:50:51 +02:00
parent a9d2851688
commit b71c83a5ca
2 changed files with 174 additions and 161 deletions
+9 -2
View File
@@ -1402,8 +1402,12 @@ void __gb_write(struct gb_s *gb, uint_fast16_t addr, uint8_t val)
/* CGB BG Palette*/
case 0x69:
gb->cgb.BGPalette[(gb->cgb.BGPaletteID & 0x3F)] = val;
fixPaletteTemp = (gb->cgb.BGPalette[(gb->cgb.BGPaletteID & 0x3E) + 1] << 8) + (gb->cgb.BGPalette[(gb->cgb.BGPaletteID & 0x3E)]); // BGR555
fixPaletteTemp = (gb->cgb.BGPalette[(gb->cgb.BGPaletteID & 0x3E) + 1] << 8) + (gb->cgb.BGPalette[(gb->cgb.BGPaletteID & 0x3E)]);
#ifdef USE_BGR565 // BGR555 -> BGR565
gb->cgb.fixPalette[((gb->cgb.BGPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) << 1) | ((fixPaletteTemp & 0x03E0) << 1) | (fixPaletteTemp & 0x001F); // swap Red and Blue
#else // RGB565
gb->cgb.fixPalette[((gb->cgb.BGPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) >> 10) | ((fixPaletteTemp & 0x03E0) << 1) | ((fixPaletteTemp & 0x001F) << 11); // swap Red and Blue
#endif
if(gb->cgb.BGPaletteInc) gb->cgb.BGPaletteID = (++gb->cgb.BGPaletteID) & 0x3F;
return;
@@ -1417,8 +1421,11 @@ void __gb_write(struct gb_s *gb, uint_fast16_t addr, uint8_t val)
case 0x6B:
gb->cgb.OAMPalette[(gb->cgb.OAMPaletteID & 0x3F)] = val;
fixPaletteTemp = (gb->cgb.OAMPalette[(gb->cgb.OAMPaletteID & 0x3E) + 1] << 8) + (gb->cgb.OAMPalette[(gb->cgb.OAMPaletteID & 0x3E)]);
gb->cgb.fixPalette[0x20 + ((gb->cgb.OAMPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) >> 10) | ((fixPaletteTemp & 0x03E0) << 1) | ((fixPaletteTemp & 0x001F) << 11); // swap Red and Blue
#ifdef USE_BGR565 // BGR555 -> BGR565
gb->cgb.fixPalette[0x20 + ((gb->cgb.OAMPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) << 1) | ((fixPaletteTemp & 0x03E0) << 1) | (fixPaletteTemp & 0x001F); // swap Red and Blue
#else // RGB565
if(gb->cgb.OAMPaletteInc) gb->cgb.OAMPaletteID = (++gb->cgb.OAMPaletteID) & 0x3F;
#endif
return;
/* CGB WRAM Bank*/