Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #![feature(no_std)]
- #![no_std]
- #![allow(ctypes)]
- enum Color {
- Black = 0,
- Blue = 1,
- Green = 2,
- Cyan = 3,
- Red = 4,
- Pink = 5,
- Brown = 6,
- LightGray = 7,
- DarkGray = 8,
- LightBlue = 9,
- LightGreen = 10,
- LightCyan = 11,
- LightRed = 12,
- LightPink = 13,
- Yellow = 14,
- White = 15,
- }
- enum Option<T> {
- None,
- Some(T)
- }
- struct IntRange {
- cur: i32,
- max: i32
- }
- impl IntRange {
- fn next(&mut self) -> Option<i32> {
- if self.cur < self.max {
- self.cur += 1;
- Option::Some(self.cur - 1)
- } else {
- Option::None
- }
- }
- }
- fn range(lo: i32, hi: i32) -> IntRange {
- IntRange { cur: lo, max: hi }
- }
- fn clear_screen(background: Color) {
- for i in range(0, 80 * 25) {
- unsafe {
- *((0xb8000 + i * 2) as *mut u16) = (background as u16) << 12;
- }
- }
- }
- #[no_mangle]
- pub fn main() {
- clear_screen(Color::LightRed);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement