From 31c71533013de247438105af595e42f9c7c3e5aa Mon Sep 17 00:00:00 2001
From: Thomas Harte <thomas.harte@gmail.com>
Date: Tue, 1 Aug 2017 20:52:42 -0400
Subject: [PATCH] Corrected bit to colour mapping for modes 0 and 1. The total
 palette is still way off but there's consistency between modes now.

---
 Machines/AmstradCPC/AmstradCPC.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/Machines/AmstradCPC/AmstradCPC.cpp b/Machines/AmstradCPC/AmstradCPC.cpp
index 538ef437f..a50fc6c35 100644
--- a/Machines/AmstradCPC/AmstradCPC.cpp
+++ b/Machines/AmstradCPC/AmstradCPC.cpp
@@ -199,15 +199,15 @@ class CRTCBusHandler {
 				for(int c = 0; c < 256; c++) {
 					// prepare mode 0
 					uint8_t *mode0_pixels = (uint8_t *)&mode0_output_[c];
-					mode0_pixels[0] = palette_[((c & 0x80) >> 4) | ((c & 0x20) >> 3) | ((c & 0x08) >> 2) | ((c & 0x02) >> 1)];
-					mode0_pixels[1] = palette_[((c & 0x40) >> 3) | ((c & 0x10) >> 2) | ((c & 0x04) >> 1) | ((c & 0x01) >> 0)];
+					mode0_pixels[0] = palette_[((c & 0x80) >> 7) | ((c & 0x20) >> 3) | ((c & 0x08) >> 2) | ((c & 0x02) << 2)];
+					mode0_pixels[1] = palette_[((c & 0x40) >> 6) | ((c & 0x10) >> 2) | ((c & 0x04) >> 1) | ((c & 0x01) << 3)];
 
 					// prepare mode 1
 					uint8_t *mode1_pixels = (uint8_t *)&mode1_output_[c];
-					mode1_pixels[0] = palette_[((c & 0x80) >> 6) | ((c & 0x08) >> 3)];
-					mode1_pixels[1] = palette_[((c & 0x40) >> 5) | ((c & 0x04) >> 2)];
-					mode1_pixels[2] = palette_[((c & 0x20) >> 4) | ((c & 0x02) >> 1)];
-					mode1_pixels[3] = palette_[((c & 0x10) >> 3) | ((c & 0x01) >> 0)];
+					mode1_pixels[0] = palette_[((c & 0x80) >> 7) | ((c & 0x08) >> 2)];
+					mode1_pixels[1] = palette_[((c & 0x40) >> 6) | ((c & 0x04) >> 1)];
+					mode1_pixels[2] = palette_[((c & 0x20) >> 5) | ((c & 0x02) >> 0)];
+					mode1_pixels[3] = palette_[((c & 0x10) >> 4) | ((c & 0x01) << 1)];
 
 					// prepare mode 2
 					uint8_t *mode2_pixels = (uint8_t *)&mode2_output_[c];