|
|
|
@ -2,21 +2,21 @@
|
|
|
|
|
|
|
|
|
|
use core::ptr::{read_volatile, write_volatile};
|
|
|
|
|
|
|
|
|
|
const BASE_POINTER: u32 = 0x1000_0000;
|
|
|
|
|
pub const BASE_POINTER: u32 = 0x1000_0000;
|
|
|
|
|
|
|
|
|
|
const NUMBER_DISPLAY_OFFSET: u32 = 0x00;
|
|
|
|
|
const RANDOM_NUMBER_OFFSET: u32 = 0x04;
|
|
|
|
|
const BUTTONS_OFFSET: u32 = 0x08;
|
|
|
|
|
const TEXT_DISPLAY_OFFSET: u32 = 0x0C;
|
|
|
|
|
const KEYBOARD_OFFSET: u32 = 0x10;
|
|
|
|
|
const SCREEN_OFFSET: u32 = 0x80;
|
|
|
|
|
pub const NUMBER_DISPLAY_OFFSET: u32 = 0x00;
|
|
|
|
|
pub const RANDOM_NUMBER_OFFSET: u32 = 0x04;
|
|
|
|
|
pub const BUTTONS_OFFSET: u32 = 0x08;
|
|
|
|
|
pub const TEXT_DISPLAY_OFFSET: u32 = 0x0C;
|
|
|
|
|
pub const KEYBOARD_OFFSET: u32 = 0x10;
|
|
|
|
|
pub const SCREEN_OFFSET: u32 = 0x80;
|
|
|
|
|
|
|
|
|
|
const NUMBER_DISPLAY_POINTER: *mut u32 = (BASE_POINTER + NUMBER_DISPLAY_OFFSET) as *mut u32;
|
|
|
|
|
const RANDOM_NUMBER_POINTER: *mut u32 = (BASE_POINTER + RANDOM_NUMBER_OFFSET) as *mut u32;
|
|
|
|
|
const BUTTONS_POINTER: *mut u8 = (BASE_POINTER + BUTTONS_OFFSET) as *mut u8;
|
|
|
|
|
const TEXT_DISPLAY_POINTER: *mut u8 = (BASE_POINTER + TEXT_DISPLAY_OFFSET) as *mut u8;
|
|
|
|
|
const KEYBOARD_POINTER: *mut u32 = (BASE_POINTER + KEYBOARD_OFFSET) as *mut u32;
|
|
|
|
|
const SCREEN_POINTER: *mut u32 = (BASE_POINTER + SCREEN_OFFSET) as *mut u32;
|
|
|
|
|
pub const NUMBER_DISPLAY_POINTER: *mut u32 = (BASE_POINTER + NUMBER_DISPLAY_OFFSET) as *mut u32;
|
|
|
|
|
pub const RANDOM_NUMBER_POINTER: *mut u32 = (BASE_POINTER + RANDOM_NUMBER_OFFSET) as *mut u32;
|
|
|
|
|
pub const BUTTONS_POINTER: *mut u8 = (BASE_POINTER + BUTTONS_OFFSET) as *mut u8;
|
|
|
|
|
pub const TEXT_DISPLAY_POINTER: *mut u8 = (BASE_POINTER + TEXT_DISPLAY_OFFSET) as *mut u8;
|
|
|
|
|
pub const KEYBOARD_POINTER: *mut u32 = (BASE_POINTER + KEYBOARD_OFFSET) as *mut u32;
|
|
|
|
|
pub const SCREEN_POINTER: *mut u32 = (BASE_POINTER + SCREEN_OFFSET) as *mut u32;
|
|
|
|
|
|
|
|
|
|
pub struct Screen {}
|
|
|
|
|
impl Screen {
|
|
|
|
|