mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 08:49:37 +00:00
Alters 4bpp mapping; adds character mode 4bpp and 8bpp.
This commit is contained in:
parent
2c2bb3765f
commit
6c8b23e708
@ -489,12 +489,12 @@ template <int bpp, bool is_lpixel> void Nick::output_pixel(uint16_t *target, int
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
target[0] = palette_[((pixels[0] & 0x80) >> 4) | ((pixels[0] & 0x20) >> 3) | ((pixels[0] & 0x08) >> 2) | ((pixels[0] & 0x02) >> 1)];
|
target[0] = palette_[((pixels[0] & 0xa0) >> 4) | ((pixels[0] & 0x0a) >> 1)];
|
||||||
target[1] = palette_[((pixels[0] & 0x40) >> 3) | ((pixels[0] & 0x10) >> 2) | ((pixels[0] & 0x04) >> 1) | ((pixels[0] & 0x01) >> 0)];
|
target[1] = palette_[((pixels[0] & 0x50) >> 3) | ((pixels[0] & 0x05) >> 0)];
|
||||||
|
|
||||||
if constexpr (!is_lpixel) {
|
if constexpr (!is_lpixel) {
|
||||||
target[2] = palette_[((pixels[1] & 0x80) >> 4) | ((pixels[1] & 0x20) >> 3) | ((pixels[1] & 0x08) >> 2) | ((pixels[1] & 0x02) >> 1)];
|
target[2] = palette_[((pixels[1] & 0xa0) >> 4) | ((pixels[1] & 0x0a) >> 1)];
|
||||||
target[3] = palette_[((pixels[1] & 0x40) >> 3) | ((pixels[1] & 0x10) >> 2) | ((pixels[1] & 0x04) >> 1) | ((pixels[1] & 0x01) >> 0)];
|
target[3] = palette_[((pixels[1] & 0x50) >> 3) | ((pixels[1] & 0x05) >> 0)];
|
||||||
|
|
||||||
target += 2;
|
target += 2;
|
||||||
}
|
}
|
||||||
@ -534,7 +534,6 @@ template <int bpp, int index_bits> void Nick::output_character(uint16_t *target,
|
|||||||
switch(bpp) {
|
switch(bpp) {
|
||||||
default:
|
default:
|
||||||
assert(false);
|
assert(false);
|
||||||
// TODO: other BPPs are supported for character modes, I think.
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: {
|
case 1: {
|
||||||
@ -556,9 +555,19 @@ template <int bpp, int index_bits> void Nick::output_character(uint16_t *target,
|
|||||||
target[1] = palette_[((pixels & 0x40) >> 5) | ((pixels & 0x04) >> 2)];
|
target[1] = palette_[((pixels & 0x40) >> 5) | ((pixels & 0x04) >> 2)];
|
||||||
target[2] = palette_[((pixels & 0x20) >> 4) | ((pixels & 0x02) >> 1)];
|
target[2] = palette_[((pixels & 0x20) >> 4) | ((pixels & 0x02) >> 1)];
|
||||||
target[3] = palette_[((pixels & 0x10) >> 3) | ((pixels & 0x01) >> 0)];
|
target[3] = palette_[((pixels & 0x10) >> 3) | ((pixels & 0x01) >> 0)];
|
||||||
|
|
||||||
target += 4;
|
target += 4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
target[0] = palette_[((pixels & 0xa0) >> 4) | ((pixels & 0x0a) >> 1)];
|
||||||
|
target[1] = palette_[((pixels & 0x50) >> 3) | ((pixels & 0x05) >> 0)];
|
||||||
|
target += 2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
target[0] = mapped_colour(pixels);
|
||||||
|
++target;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user