📄 .#palette.c.1.24
字号:
void map_12bit_rrrr_gggg_bbbb_xxxx_rev_32(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)+30); ct = (UINT32 *) coltab[bank]; do{ yy = ReadWord68k(ta--) >> 4; GET_PEN_FOR_COLOUR_32( (yy&0x0F00)>>6, (yy&0x00F0)>>2, (yy&0x000F)<<2, res ); *ct++ = res; }while(--cols);}struct COLOUR_MAPPER col_map_rrrr_gggg_bbbb_xxxx_68k ={ "12bit rrrr gggg bbbb xxxx [M68000]", map_12bit_rrrr_gggg_bbbb_xxxx_rev_8, map_12bit_rrrr_gggg_bbbb_xxxx_rev_15, map_12bit_rrrr_gggg_bbbb_xxxx_rev_16, map_12bit_rrrr_gggg_bbbb_xxxx_rev_24, map_12bit_rrrr_gggg_bbbb_xxxx_rev_32,};/******************************************************************************//* 15-bit xRGB (15-bit mapping) *//******************************************************************************/void Map_15bit_xRGB(int bank, int cols){ UINT16 yy; UINT16 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_8( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}/******************************************************************************//* 15-bit xRGB (15-bit mapping) Reverse Colour Order 680X0 format (Gunbird) *//******************************************************************************/void map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_8(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)+30); ct = coltab[bank]; do{ yy = ReadWord68k(ta--) & 0x7FFF; GET_PEN_FOR_COLOUR_8( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_15(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)+30); ct = (UINT16 *) coltab[bank]; do{ yy = ReadWord68k(ta--) & 0x7FFF; GET_PEN_FOR_COLOUR_15( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_16(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)+30); ct = (UINT16 *) coltab[bank]; do{ yy = ReadWord68k(ta--) & 0x7FFF; GET_PEN_FOR_COLOUR_16( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_24(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)+30); ct = (UINT32 *) coltab[bank]; do{ yy = ReadWord68k(ta--) & 0x7FFF; GET_PEN_FOR_COLOUR_24( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_32(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)+30); ct = (UINT32 *) coltab[bank]; do{ yy = ReadWord68k(ta--) & 0x7FFF; GET_PEN_FOR_COLOUR_32( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}struct COLOUR_MAPPER col_map_xrrr_rrgg_gggb_bbbb_rev_68k ={ "15bit xrrr rrgg gggb bbbb [reverse] [68000]", map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_8, map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_15, map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_16, map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_24, map_15bit_xrrr_rrgg_gggb_bbbb_rev_68k_32,};/******************************************************************************//* 15-bit xRGB (15-bit mapping) *//******************************************************************************/void map_15bit_xrrr_rrgg_gggb_bbbb_8(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_8( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_15(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT16 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_15( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_16(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT16 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_16( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_24(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT32 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_24( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}void map_15bit_xrrr_rrgg_gggb_bbbb_32(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT32 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_32( (yy&0x7C00)>>9, (yy&0x03E0)>>4, (yy&0x001F)<<1, res ); *ct++ = res; }while(--cols);}struct COLOUR_MAPPER col_map_xrrr_rrgg_gggb_bbbb ={ "15bit xrrr rrgg gggb bbbb", map_15bit_xrrr_rrgg_gggb_bbbb_8, map_15bit_xrrr_rrgg_gggb_bbbb_15, map_15bit_xrrr_rrgg_gggb_bbbb_16, map_15bit_xrrr_rrgg_gggb_bbbb_24, map_15bit_xrrr_rrgg_gggb_bbbb_32,};/******************************************************************************//* 15-bit xBGR (15-bit mapping) *//******************************************************************************/void Map_15bit_xBGR(int bank, int cols){ UINT16 yy; UINT16 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_8( (yy&0x001F)<<1, (yy&0x03E0)>>4, (yy&0x7C00)>>9, res ); *ct++ = res; }while(--cols);}void map_15bit_xbbb_bbgg_gggr_rrrr_8(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_8( (yy&0x001F)<<1, (yy&0x03E0)>>4, (yy&0x7C00)>>9, res ); *ct++ = res; }while(--cols);}void map_15bit_xbbb_bbgg_gggr_rrrr_15(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT16 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_15( (yy&0x001F)<<1, (yy&0x03E0)>>4, (yy&0x7C00)>>9, res ); *ct++ = res; }while(--cols);}void map_15bit_xbbb_bbgg_gggr_rrrr_16(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT16 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_16( (yy&0x001F)<<1, (yy&0x03E0)>>4, (yy&0x7C00)>>9, res ); *ct++ = res; }while(--cols);}void map_15bit_xbbb_bbgg_gggr_rrrr_24(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT32 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_24( (yy&0x001F)<<1, (yy&0x03E0)>>4, (yy&0x7C00)>>9, res ); *ct++ = res; }while(--cols);}void map_15bit_xbbb_bbgg_gggr_rrrr_32(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT32 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_32( (yy&0x001F)<<1, (yy&0x03E0)>>4, (yy&0x7C00)>>9, res ); *ct++ = res; }while(--cols);}struct COLOUR_MAPPER col_map_xbbb_bbgg_gggr_rrrr ={ "15bit xbbb bbgg gggr rrrr", map_15bit_xbbb_bbgg_gggr_rrrr_8, map_15bit_xbbb_bbgg_gggr_rrrr_15, map_15bit_xbbb_bbgg_gggr_rrrr_16, map_15bit_xbbb_bbgg_gggr_rrrr_24, map_15bit_xbbb_bbgg_gggr_rrrr_32,};/******************************************************************************//* 15-bit xBGR (15-bit mapping) [4bits used; AIR-SYSTEM; change to 12-bit?] *//******************************************************************************/void map_15bit_xxbb_bbxg_gggx_rrrr_8(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_8( (yy&0x000F)<<2, (yy&0x01E0)>>3, (yy&0x3C00)>>8, res ); *ct++ = res; }while(--cols);}void map_15bit_xxbb_bbxg_gggx_rrrr_15(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT16 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_15( (yy&0x000F)<<2, (yy&0x01E0)>>3, (yy&0x3C00)>>8, res ); *ct++ = res; }while(--cols);}void map_15bit_xxbb_bbxg_gggx_rrrr_16(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT16 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT16 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_16( (yy&0x000F)<<2, (yy&0x01E0)>>3, (yy&0x3C00)>>8, res ); *ct++ = res; }while(--cols);}void map_15bit_xxbb_bbxg_gggx_rrrr_24(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT32 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_24( (yy&0x000F)<<2, (yy&0x01E0)>>3, (yy&0x3C00)>>8, res ); *ct++ = res; }while(--cols);}void map_15bit_xxbb_bbxg_gggx_rrrr_32(UINT32 bank, UINT32 cols){ UINT16 yy; UINT16 *ta; UINT32 *ct,res; bank_status[bank] = cols; ta = (UINT16 *) (RAM_PAL+(bank<<5)); ct = (UINT32 *) coltab[bank]; do{ yy = (*ta++) & 0x7FFF; GET_PEN_FOR_COLOUR_32( (yy&0x000F)<<2, (yy&0x01E0)>>3, (yy&0x3C00)>>8, res ); *ct++ = res; }while(--cols);}struct COLOUR_MAPPER col_map_xxbb_bbxg_gggx_rrrr ={ "15bit xxbb bbxg gggx rrrr", map_15bit_xxbb_bbxg_gggx_rrrr_8, map_15bit_xxbb_bbxg_gggx_rrrr_15, map_15bit_xxbb_bbxg_gggx_rrrr_16, map_15bit_xxbb_bbxg_gggx_rrrr_24, map_15bit_xxbb_bbxg_gggx_rrrr_32,};/******************************************************************************//* 24-bit xRGB (12-bit mapping) 680x0 format *//******************************************************************************/void Map_24bit_xRGB(int bank, int cols){ UINT8 yr,yg,yb; UINT16 yy; UINT8 *ta; UINT8 *ct,res; bank_status[bank] = cols; ta = (RAM_PAL+(bank<<6)); ct = coltab[bank]; do{ yr = (*(ta+1)) >>4; yg = (*(ta+2)) >>4; yb = (*(ta+3)) >>4; ta += 4; yy=((yr<<8)|(yg<<4)|(yb)); GET_PEN_FOR_COLOUR_8( yr<<2, yg<<2, yb<<2, res ); *ct++ = res; }while(--cols);}void map_24bit_xxxx_xxxx_rrrr_rrrr_gggg_gggg_bbbb_bbbb_8(UINT32 bank, UINT32 cols){ UINT8 yr,yg,yb; UINT32 yy;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -