zpalette_pc[8 + 6] = zpalette_pc[16 + 0xff0];
zpalette_pc[8 + 7] = zpalette_pc[16 + 0xfff];
#endif
+
+ PrepareBitTransTableUint16(&bit_trans_table_b0, 0x01, 0x00);
+ PrepareBitTransTableUint16(&bit_trans_table_r0, 0x02, 0x00);
+ PrepareBitTransTableUint16(&bit_trans_table_g0, 0x04, 0x00);
}
void DISPLAY::reset()
if(attr & 0x80) {
// horizontal doubled char
+#if 0
d[ 0] = d[ 1] = ((b & 0x80) >> 7) | ((r & 0x80) >> 6) | ((g & 0x80) >> 5);
d[ 2] = d[ 3] = ((b & 0x40) >> 6) | ((r & 0x40) >> 5) | ((g & 0x40) >> 4);
d[ 4] = d[ 5] = ((b & 0x20) >> 5) | ((r & 0x20) >> 4) | ((g & 0x20) >> 3);
d[ 6] = d[ 7] = ((b & 0x10) >> 4) | ((r & 0x10) >> 3) | ((g & 0x10) >> 2);
+#else
+ ConvertRGBTo8ColorsUint8_Zoom2Left(r, g, b, d, &bit_trans_table_r0, &bit_trans_table_g0, &bit_trans_table_b0, 0);
+#endif
} else {
+#if 0
d[0] = ((b & 0x80) >> 7) | ((r & 0x80) >> 6) | ((g & 0x80) >> 5);
d[1] = ((b & 0x40) >> 6) | ((r & 0x40) >> 5) | ((g & 0x40) >> 4);
d[2] = ((b & 0x20) >> 5) | ((r & 0x20) >> 4) | ((g & 0x20) >> 3);
d[5] = ((b & 0x04) >> 2) | ((r & 0x04) >> 1) | ((g & 0x04) >> 0);
d[6] = ((b & 0x02) >> 1) | ((r & 0x02) >> 0) | ((g & 0x02) << 1);
d[7] = ((b & 0x01) >> 0) | ((r & 0x01) << 1) | ((g & 0x01) << 2);
+#else
+ ConvertRGBTo8ColorsUint8(r, g, b, d, &bit_trans_table_r0, &bit_trans_table_g0, &bit_trans_table_b0, 0);
+#endif
}
prev_attr = attr;
}
int ofs_b = ofs + 0x0000;
int ofs_r = ofs + 0x4000;
int ofs_g = ofs + 0x8000;
-
+
+#if 0
for(int x = 0; x < hz_disp && x < width; x++) {
src &= 0x7ff;
uint8_t b = vram_ptr[ofs_b | src];
d[6] = ((b & 0x02) >> 1) | ((r & 0x02) >> 0) | ((g & 0x02) << 1);
d[7] = ((b & 0x01) >> 0) | ((r & 0x01) << 1) | ((g & 0x01) << 2);
}
+#else
+ _render_command_data_t cmd;
+ for(int i = 0; i < 3; i++) {
+ cmd.data[i] = vram_ptr;
+ cmd.baseaddress[i] = 0;
+ }
+ cmd.voffset[0] = ofs_b;
+ cmd.voffset[1] = ofs_r;
+ cmd.voffset[2] = ofs_g;
+ cmd.bit_trans_table[0] = &bit_trans_table_b0;
+ cmd.bit_trans_table[1] = &bit_trans_table_r0;
+ cmd.bit_trans_table[2] = &bit_trans_table_g0;
+ cmd.addrmask = 0xffffffff;
+ cmd.addrmask2 = 0x07ff;
+ cmd.begin_pos = src;
+ cmd.shift = 0;
+ int iwidth = (hz_disp > width) ? width : hz_disp;
+ uint8_t* d = &(cg[line][0]);
+ cmd.render_width = (iwidth <= 0) ? 0 : (uint32_t)iwidth;
+
+ Convert8ColorsToByte_Line(&cmd, d);
+#endif
}
}