diff --git a/src/main.rs b/src/main.rs index e8800f5..2991c58 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,32 +13,22 @@ fn panic_handler(_info: &PanicInfo) -> ! { } const OUTPUT: *mut u32 = 0x2000_0000 as *mut u32; -const BTNS: *mut u8 = 0x2000_0008 as *mut u8; +// const BTNS: *mut u8 = 0x2000_0008 as *mut u8; + +const SCREEN: *mut u32 = 0x2000_0080 as *mut u32; #[entry] fn main() -> ! { let mut value: u32 = 1; - let mut btnA_prev = false; - let mut btnB_prev = false; + let mut offset: isize = 0; loop { - let btns_value; unsafe { - btns_value = BTNS.read_volatile(); - } - let btnA = (btns_value & 0b00000001) > 0; - let btnB = (btns_value & 0b00000010) > 0; - if btnA && !btnA_prev { - value >>= 1; - } else if btnB && !btnB_prev { - value <<= 1; + SCREEN.offset(offset).write_volatile(value); } + value <<= 1; + offset += 1; if value == 0 { panic!(); } - unsafe { - OUTPUT.write_volatile(value); - } - btnA_prev = btnA; - btnB_prev = btnB; } }