fix rgb mode
This commit is contained in:
+4
-3
@@ -1404,7 +1404,7 @@ void __gb_write(struct gb_s *gb, uint_fast16_t addr, uint8_t val)
|
||||
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)]);
|
||||
#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
|
||||
gb->cgb.fixPalette[((gb->cgb.BGPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) << 1) | ((fixPaletteTemp & 0x03E0) << 1) | (fixPaletteTemp & 0x001F);
|
||||
#else // RGB565
|
||||
gb->cgb.fixPalette[((gb->cgb.BGPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) >> 10) | ((fixPaletteTemp & 0x03E0) << 1) | ((fixPaletteTemp & 0x001F) << 11); // swap Red and Blue
|
||||
#endif
|
||||
@@ -1422,10 +1422,11 @@ void __gb_write(struct gb_s *gb, uint_fast16_t addr, uint8_t val)
|
||||
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)]);
|
||||
#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
|
||||
gb->cgb.fixPalette[0x20 + ((gb->cgb.OAMPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) << 1) | ((fixPaletteTemp & 0x03E0) << 1) | (fixPaletteTemp & 0x001F);
|
||||
#else // RGB565
|
||||
if(gb->cgb.OAMPaletteInc) gb->cgb.OAMPaletteID = (++gb->cgb.OAMPaletteID) & 0x3F;
|
||||
gb->cgb.fixPalette[0x20 + ((gb->cgb.OAMPaletteID & 0x3E) >> 1)] = ((fixPaletteTemp & 0x7C00) >> 10) | ((fixPaletteTemp & 0x03E0) << 1) | ((fixPaletteTemp & 0x001F) << 11); // swap Red and Blue
|
||||
#endif
|
||||
if(gb->cgb.OAMPaletteInc) gb->cgb.OAMPaletteID = (++gb->cgb.OAMPaletteID) & 0x3F;
|
||||
return;
|
||||
|
||||
/* CGB WRAM Bank*/
|
||||
|
||||
Reference in New Issue
Block a user