common: Tweak bit order of screen data.
authorTilman Sauerbeck <tilman@code-monkey.de>
Mon, 30 Dec 2019 17:18:08 +0000 (18:18 +0100)
committerTilman Sauerbeck <tilman@code-monkey.de>
Mon, 6 Jan 2020 09:45:34 +0000 (10:45 +0100)
The left-most pixel is now defined by the most significant bit.
This is a more intuitive representation than what we had before.

src/common/display.rs
src/common/screen.rs

index 04f6c354d776b36d20ed4df8b3ee597c21277e73..38eeaa9228ed6c23f8afa4466bc5834d95c98688 100644 (file)
@@ -157,10 +157,10 @@ impl Display {
     }
 
     pub fn draw(&mut self, screen: &screen::Screen) {
-        let mut mask : u8 = 0x80;
+        let mut mask : u8 = 0x01;
 
         for col in 0..screen::WIDTH_PX {
-            mask = mask.rotate_left(1);
+            mask = mask.rotate_right(1);
 
             // Rotate by 90 degrees.
             //
index 71425c40c0c14811f6eed0792250a04cb67133fa..3b890a1847860b197021b7f284d24997a20800ea 100644 (file)
@@ -29,6 +29,8 @@ pub const WIDTH_BYTES: usize = (WIDTH_PX as usize + 7) / 8;
 pub const SIZE_BYTES: usize = HEIGHT_PX as usize * WIDTH_BYTES;
 
 pub struct Screen {
+    // Each byte corresponds to 8 pixels, with the MSB referring
+    // to the left-most pixel.
     pixels: [u8; SIZE_BYTES],
 }