#low-level #vga #freestanding #0x-b8000

vga-rs

独立的Rust中低级VGA(0xB8000)库

1个不稳定版本

0.1.4 2023年11月29日
0.1.3 2023年11月29日
0.1.2 2023年11月28日
0.1.1 2023年11月28日
0.1.0 2023年11月28日

#126 in 视频

每月38次下载
用于 vgastream-rs

MIT/Apache

10KB
178

vga-rs

独立的Rust中低级VGA(0xB8000)库。

如何构建


cargo add vga-rs

示例

#![no_std]
extern crate vga_rs;
use vga_rs::*;
extern crate cursor_rs;

fn reset_screen() {
	let mut vga_buffer = VgaBuffer::new()
	let buffer_slice = let mut vga_buffer.as_mut_slice();
	for vchar in buffer_slice.iter_mut()
	{
		let VgaChar { codepoint: _,attribute: attr,} = vchar.get_volatile();
		vchar.set_volatile(VgaChar::new(0u8, Attribute::from_u8(attr)));
	}
    cursor_rs::set_cursor(0,0);
}

联系我


lib.rs:

vga-rs

独立的Rust中低级VGA(0xB8000)库。

示例

#![no_std]
extern crate vga_rs;
use vga_rs::*;
extern crate cursor_rs;

fn reset_screen() {
	let mut vga_buffer = VgaBuffer::new()
	let buffer_slice = let mut vga_buffer.as_mut_slice();
	for vchar in buffer_slice.iter_mut()
	{
   		let VgaChar { codepoint: _,attribute: attr,} = vchar.get_volatile();
		vchar.set_volatile(VgaChar::new(0u8, Attribute::from_u8(attr)));
	}
    cursor_rs::set_cursor(0,0);
}

依赖项

~3KB