diff --git a/Concurrency/AsyncTaskQueue.hpp b/Concurrency/AsyncTaskQueue.hpp index c8b70be20..a9510abf7 100644 --- a/Concurrency/AsyncTaskQueue.hpp +++ b/Concurrency/AsyncTaskQueue.hpp @@ -44,7 +44,7 @@ template struct TaskQueueStorage { }; /// An implementation detail; provides a no-op implementation of time advances for TaskQueues without a Performer. -template <> struct TaskQueueStorage { +template <> struct TaskQueueStorage { TaskQueueStorage() {} protected: @@ -65,7 +65,7 @@ template <> struct TaskQueueStorage { with the arguments supplied to TaskQueue's constructor, and that class will receive calls of the form @c .perform(nanos) to update it to every batch of new actions. */ -template class TaskQueue: public TaskQueueStorage { +template class TaskQueue: public TaskQueueStorage { public: template TaskQueue(Args&&... args) : TaskQueueStorage(std::forward(args)...), diff --git a/Machines/Amiga/Chipset.cpp b/Machines/Amiga/Chipset.cpp index d038b32e8..ca4b78e87 100644 --- a/Machines/Amiga/Chipset.cpp +++ b/Machines/Amiga/Chipset.cpp @@ -102,17 +102,17 @@ void Chipset::apply_ham(uint8_t modification) { case 0x00: // Direct palette lookup. last_colour_ = swizzled_palette_[modification & 0x1b]; break; - case 0x04: // Replace red. - colour[0] = uint8_t( + case 0x04: // Replace blue. + colour[1] = uint8_t( + (colour[1] & 0xf0) | ((modification & 0x10) >> 1) | // bit 3. ((modification & 0x02) << 1) | // bit 2. ((modification & 0x08) >> 2) | // bit 1. (modification & 0x01) // bit 0. ); break; - case 0x20: // Replace blue. - colour[1] = uint8_t( - (colour[1] & 0xf0) | + case 0x20: // Replace red. + colour[0] = uint8_t( ((modification & 0x10) >> 1) | // bit 3. ((modification & 0x02) << 1) | // bit 2. ((modification & 0x08) >> 2) | // bit 1.