diff --git a/targets/mega65/vic4.c b/targets/mega65/vic4.c index e123c42a..b651b5dd 100644 --- a/targets/mega65/vic4.c +++ b/targets/mega65/vic4.c @@ -1473,7 +1473,7 @@ static XEMU_INLINE void vic4_render_char_raster ( void ) } else if (CHAR_IS256_COLOR(char_id)) { // 256-color character // fgcolor in case of FCM should mean colour index $FF // FIXME: check if the passed palette[color_data & 0xFF] is correct or another index should be used for that $FF colour stuff - const Uint32 *palette_now = SXA_ATTR_ALTPALETTE(color_data) ? altpalette : used_palette; + const Uint32 *palette_now = ((REG_VICIII_ATTRIBS) && SXA_ATTR_ALTPALETTE(color_data)) ? altpalette : used_palette; vic4_render_fullcolor_char_row( main_ram + (((char_id * 64) + ((sel_char_row + char_fetch_offset) * 8)) & 0x7FFFF), 8 - glyph_trim, diff --git a/targets/mega65/vic4.h b/targets/mega65/vic4.h index d4aa242a..e6b892b8 100644 --- a/targets/mega65/vic4.h +++ b/targets/mega65/vic4.h @@ -189,7 +189,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #define SXA_ATTR_BOLD(cw) ((cw) & 0x0040) #define SXA_ATTR_REVERSE(cw) ((cw) & 0x0020) // BOLD+REVERSE = alternate palette -#define SXA_ATTR_ALTPALETTE(cw) ((cw) & 0x0060) +#define SXA_ATTR_ALTPALETTE(cw) (((cw) & 0x0060) == 0x60) //#define SXA_TRIM_TOP_BOTTOM(cw) (((cw) & 0x0300) >> 8)