mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-19 07:31:15 +00:00
Introduce separate state for palette entries.
This commit is contained in:
parent
c04d292c8e
commit
b538407386
@ -944,13 +944,13 @@ void Base<personality>::write_register(uint8_t value) {
|
||||
template <Personality personality>
|
||||
void Base<personality>::write_palette(uint8_t value) {
|
||||
if constexpr (is_yamaha_vdp(personality)) {
|
||||
if(!write_phase_) {
|
||||
if(!Storage<personality>::palette_write_phase_) {
|
||||
Storage<personality>::new_colour_ = value;
|
||||
write_phase_ = true;
|
||||
Storage<personality>::palette_write_phase_ = true;
|
||||
return;
|
||||
}
|
||||
|
||||
write_phase_ = false;
|
||||
Storage<personality>::palette_write_phase_ = false;
|
||||
|
||||
const uint8_t r = ((Storage<personality>::new_colour_ >> 4) & 7) * 255 / 7;
|
||||
const uint8_t g = (value & 7) * 255 / 7;
|
||||
|
@ -148,6 +148,7 @@ template <Personality personality> struct Storage<personality, std::enable_if_t<
|
||||
std::array<uint32_t, 16> palette_{};
|
||||
uint8_t new_colour_ = 0;
|
||||
uint8_t palette_entry_ = 0;
|
||||
bool palette_write_phase_ = false;
|
||||
|
||||
uint8_t mode_ = 0;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user