Skip to content

Commit 08d5ec5

Browse files
committed
Initial commit
0 parents  commit 08d5ec5

11 files changed

Lines changed: 118 additions & 0 deletions

File tree

.cargo/config.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[unstable]
2+
json-target-spec =true
3+
build-std-features = ["compiler-builtins-mem"]
4+
build-std = ["core", "compiler_builtins"]
5+
[build]
6+
target = "x86_64-ShabbOS.json"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

.idea/.gitignore

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/ShabbOS.iml

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.lock

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[package]
2+
name = "ShabbOS"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
[profile.dev]
7+
panic = "abort"
8+
9+
[profile.release]
10+
11+
[dependencies]
12+
bootloader = "0.9"
13+
14+
[[bin]]
15+
name ="ShabbOS"
16+
test = false
17+
bench = false

qemu-system-x86_64

Whitespace-only changes.

src/main.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
#![no_std]
3+
#![no_main]
4+
5+
use core::panic::PanicInfo;
6+
7+
8+
9+
static hello: &[u8] = b"hello world";
10+
11+
#[unsafe(no_mangle)]
12+
pub extern "C" fn _start()->!{
13+
let vga_buffer = 0xb8000 as *mut u8;
14+
for(i,&byte) in hello.iter().enumerate(){
15+
unsafe {
16+
*vga_buffer.offset(i as isize *2) = byte;//char
17+
*vga_buffer.offset(i as isize *2+1) = 0xb;//color
18+
}
19+
}
20+
loop{}
21+
}
22+
23+
#[panic_handler]
24+
fn panic(_info:&PanicInfo)->!{
25+
loop{}
26+
}
27+

0 commit comments

Comments
 (0)