text editor work and misc changes
This commit is contained in:
parent
7f01b0e0f8
commit
adbf32d970
147
Cargo.lock
generated
147
Cargo.lock
generated
|
@ -17,21 +17,6 @@ version = "0.2.18"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
|
||||
|
||||
[[package]]
|
||||
name = "android-tzdata"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
||||
|
||||
[[package]]
|
||||
name = "android_system_properties"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.92"
|
||||
|
@ -110,26 +95,6 @@ version = "1.0.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.38"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
|
||||
dependencies = [
|
||||
"android-tzdata",
|
||||
"iana-time-zone",
|
||||
"js-sys",
|
||||
"num-traits",
|
||||
"wasm-bindgen",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation-sys"
|
||||
version = "0.8.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-queue"
|
||||
version = "0.3.11"
|
||||
|
@ -208,7 +173,6 @@ checksum = "05669f8e7e2d7badc545c513710f0eba09c2fbef683eb859fd79c46c355048e0"
|
|||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"byteorder",
|
||||
"chrono",
|
||||
"log",
|
||||
]
|
||||
|
||||
|
@ -264,12 +228,12 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "hbbytecode"
|
||||
version = "0.1.0"
|
||||
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#513d2c71276441d1951281eef0f27d5f94d1f738"
|
||||
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#0374848b283f29547625c76e7629d5d61bac3109"
|
||||
|
||||
[[package]]
|
||||
name = "hblang"
|
||||
version = "0.1.0"
|
||||
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#513d2c71276441d1951281eef0f27d5f94d1f738"
|
||||
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#0374848b283f29547625c76e7629d5d61bac3109"
|
||||
dependencies = [
|
||||
"hashbrown 0.15.1",
|
||||
"hbbytecode",
|
||||
|
@ -281,34 +245,11 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "hbvm"
|
||||
version = "0.1.0"
|
||||
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#513d2c71276441d1951281eef0f27d5f94d1f738"
|
||||
source = "git+https://git.ablecorp.us/AbleOS/holey-bytes.git#0374848b283f29547625c76e7629d5d61bac3109"
|
||||
dependencies = [
|
||||
"hbbytecode",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone"
|
||||
version = "0.1.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
|
||||
dependencies = [
|
||||
"android_system_properties",
|
||||
"core-foundation-sys",
|
||||
"iana-time-zone-haiku",
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
"windows-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone-haiku"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_collections"
|
||||
version = "1.5.0"
|
||||
|
@ -458,15 +399,6 @@ dependencies = [
|
|||
"hashbrown 0.15.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.72"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
|
||||
dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "kernel"
|
||||
version = "0.2.0"
|
||||
|
@ -567,15 +499,6 @@ version = "2.7.4"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.20.2"
|
||||
|
@ -986,61 +909,6 @@ version = "0.11.0+wasi-snapshot-preview1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
"wasm-bindgen-macro",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.26.6"
|
||||
|
@ -1050,15 +918,6 @@ dependencies = [
|
|||
"rustls-pki-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-core"
|
||||
version = "0.52.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.52.0"
|
||||
|
|
|
@ -24,10 +24,6 @@ version = "0.3"
|
|||
default-features = false
|
||||
features = ["alloc", "nightly"]
|
||||
|
||||
# [dependencies.clparse]
|
||||
# git = "https://git.ablecorp.us/ableos/ableos_userland"
|
||||
# default-features = false
|
||||
|
||||
[dependencies.derive_more]
|
||||
version = "1"
|
||||
default-features = false
|
||||
|
|
|
@ -6,29 +6,15 @@ edition = "2021"
|
|||
[dependencies]
|
||||
str-reader = "0.1"
|
||||
derive_more = { version = "1", default-features = false, features = [
|
||||
"add",
|
||||
"add_assign",
|
||||
"constructor",
|
||||
"display",
|
||||
"from",
|
||||
"into",
|
||||
"mul",
|
||||
"mul_assign",
|
||||
"not",
|
||||
"sum",
|
||||
] }
|
||||
error-stack = "0.5"
|
||||
fatfs = "0.3"
|
||||
toml = "0.8"
|
||||
hblang = { git = "https://git.ablecorp.us/AbleOS/holey-bytes.git", features = [
|
||||
fatfs = { version = "0.3", default-features = false, features = [
|
||||
"std",
|
||||
# "opts",
|
||||
], default-features = false }
|
||||
"alloc",
|
||||
] }
|
||||
toml = "0.8"
|
||||
hblang.git = "https://git.ablecorp.us/AbleOS/holey-bytes.git"
|
||||
log = "0.4"
|
||||
raw-cpuid = "11"
|
||||
ureq = { version = "2", default-features = false, features = ["tls"] }
|
||||
|
||||
# [dependencies.reqwest]
|
||||
# version = "0.12"
|
||||
# default-features = false
|
||||
# features = ["rustls-tls", "blocking"]
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,19 +1,42 @@
|
|||
.{memory, log, string} := @use("../../../../libraries/stn/src/lib.hb")
|
||||
render := @use("../../../../libraries/render/src/lib.hb")
|
||||
|
||||
/* expected result:
|
||||
trash notepad app, colours should change with r,g,b,w keys */
|
||||
/* expected result: almost-not-trash notepad app
|
||||
very jank
|
||||
-----------------
|
||||
features:
|
||||
- basic keys
|
||||
- holding support with DAS
|
||||
- visible cursor
|
||||
- shift key support
|
||||
*/
|
||||
|
||||
psf := @embed("../../../../consolefonts/tamsyn/10x20r.psf")
|
||||
|
||||
send_byte := fn(byte: u8): u8 {
|
||||
memory.outb(96, byte)
|
||||
return memory.inb(96)
|
||||
handle_char := fn(char: u8, cursor: ^u8, buf: ^u8): ^u8 {
|
||||
if char == 0 {
|
||||
return cursor
|
||||
}
|
||||
if char != 0x8 {
|
||||
*cursor = char
|
||||
return cursor + 1
|
||||
} else if char == 0xA {
|
||||
*cursor = 32
|
||||
cursor += 1;
|
||||
*cursor = 92
|
||||
return cursor + 1
|
||||
} else if cursor > buf {
|
||||
cursor -= 1;
|
||||
*cursor = 32
|
||||
return cursor
|
||||
}
|
||||
return cursor
|
||||
}
|
||||
|
||||
example := fn(): void {
|
||||
screen := render.init(true)
|
||||
font := render.text.font_from_psf2(@bitcast(&psf), false)
|
||||
window := render.new_surface(480, 340)
|
||||
font := render.text.font_from_psf2(@bitcast(&psf), true)
|
||||
|
||||
msg := "ableboard (tm) (patent pending):\n\0"
|
||||
msg_len := string.length(msg)
|
||||
|
@ -25,147 +48,86 @@ example := fn(): void {
|
|||
|
||||
if font == null {
|
||||
return
|
||||
}
|
||||
};
|
||||
|
||||
_ = send_byte(238)
|
||||
log.info("PS/2 Driver Loaded\0")
|
||||
if send_byte(238) == 238 {
|
||||
log.info("PS/2 Keyboard Echoed\0")
|
||||
}
|
||||
if send_byte(244) == 250 {
|
||||
log.info("Enabled scanning\0")
|
||||
}
|
||||
*cursor = 95
|
||||
draw(screen, window, font, buf);
|
||||
*cursor = 0
|
||||
|
||||
color := render.white
|
||||
memory.outb(96, 238)
|
||||
memory.outb(96, 238)
|
||||
memory.outb(96, 244)
|
||||
|
||||
prev_input := @as(u8, 0xFF)
|
||||
current_key := @as(u8, 0)
|
||||
holding_timer := @as(u32, 0)
|
||||
is_shift_pressed := @as(bool, false)
|
||||
|
||||
initial_delay := @as(u32, 50)
|
||||
repeat_delay := @as(u32, 7)
|
||||
|
||||
prev_input := 250
|
||||
loop {
|
||||
input := memory.inb(96)
|
||||
if input != prev_input {
|
||||
prev_input = input
|
||||
char := map_keys(input)
|
||||
if char != 0 {
|
||||
if char == 0xA {
|
||||
*cursor = 32
|
||||
cursor += 1;
|
||||
*cursor = 92
|
||||
cursor += 1
|
||||
} else if char == 0x72 {
|
||||
color = render.red
|
||||
} else if char == 0x67 {
|
||||
color = render.green
|
||||
} else if char == 0x62 {
|
||||
color = render.blue
|
||||
} else if char == 0x77 {
|
||||
color = render.white
|
||||
} else if char == 0xE {
|
||||
cursor -= 1;
|
||||
*cursor = 32
|
||||
is_release := (input & 0x80) != 0
|
||||
key_code := input & 0x7F
|
||||
|
||||
continue
|
||||
};
|
||||
*cursor = char
|
||||
cursor += 1
|
||||
if input != prev_input {
|
||||
if is_release {
|
||||
if key_code == current_key {
|
||||
current_key = 0
|
||||
holding_timer = 0
|
||||
} else if input == 0xAA | input == 0xB6 {
|
||||
is_shift_pressed = false
|
||||
}
|
||||
} else {
|
||||
if input == 0x2A | input == 0x36 {
|
||||
is_shift_pressed = true
|
||||
} else {
|
||||
current_key = input
|
||||
holding_timer = 1
|
||||
cursor = handle_char(map_keys(current_key, is_shift_pressed), cursor, buf)
|
||||
}
|
||||
}
|
||||
prev_input = input
|
||||
}
|
||||
|
||||
if current_key != 0 & holding_timer > 0 {
|
||||
holding_timer += 1
|
||||
|
||||
if holding_timer >= initial_delay {
|
||||
cursor = handle_char(map_keys(current_key, is_shift_pressed), cursor, buf)
|
||||
holding_timer = initial_delay - repeat_delay
|
||||
}
|
||||
};
|
||||
*cursor = 95
|
||||
draw(screen, window, font, buf);
|
||||
*cursor = 0
|
||||
|
||||
if holding_timer > 0 & current_key != 0 {
|
||||
if (memory.inb(96) & 0x80) != 0 {
|
||||
current_key = 0
|
||||
holding_timer = 0
|
||||
}
|
||||
}
|
||||
render.clear(screen, render.black)
|
||||
render.put_rect(screen, .(0, 0), .(screen.width - 1, screen.height - 1), render.white)
|
||||
render.put_text(screen, font, .(0, 0), color, buf)
|
||||
|
||||
render.sync(screen)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
map_keys := fn(inp: u8): u8 {
|
||||
if inp == 0x29 {
|
||||
return 0x7E
|
||||
} else if inp == 0x2 {
|
||||
return 0x31
|
||||
} else if inp == 0x3 {
|
||||
return 0x32
|
||||
} else if inp == 0x4 {
|
||||
return 0x33
|
||||
} else if inp == 0x5 {
|
||||
return 0x34
|
||||
} else if inp == 0x6 {
|
||||
return 0x35
|
||||
} else if inp == 0x7 {
|
||||
return 0x36
|
||||
} else if inp == 0x8 {
|
||||
return 0x37
|
||||
} else if inp == 0x9 {
|
||||
return 0x38
|
||||
} else if inp == 0xA {
|
||||
return 0x39
|
||||
} else if inp == 0xB {
|
||||
return 0x30
|
||||
} else if inp == 0xC {
|
||||
return 0x2D
|
||||
} else if inp == 0xD {
|
||||
return 0x3D
|
||||
} else if inp == 0xE {
|
||||
return 0xE
|
||||
} else if inp == 0x1C {
|
||||
return 0xA
|
||||
} else if inp == 0x10 {
|
||||
return 0x71
|
||||
} else if inp == 0x11 {
|
||||
return 0x77
|
||||
} else if inp == 0x12 {
|
||||
return 0x65
|
||||
} else if inp == 0x13 {
|
||||
return 0x72
|
||||
} else if inp == 0x14 {
|
||||
return 0x74
|
||||
} else if inp == 0x15 {
|
||||
return 0x79
|
||||
} else if inp == 0x16 {
|
||||
return 0x75
|
||||
} else if inp == 0x17 {
|
||||
return 0x69
|
||||
} else if inp == 0x18 {
|
||||
return 0x6F
|
||||
} else if inp == 0x19 {
|
||||
return 0x70
|
||||
} else if inp == 0x1E {
|
||||
return 0x61
|
||||
} else if inp == 0x1F {
|
||||
return 0x73
|
||||
} else if inp == 0x20 {
|
||||
return 0x64
|
||||
} else if inp == 0x21 {
|
||||
return 0x66
|
||||
} else if inp == 0x22 {
|
||||
return 0x67
|
||||
} else if inp == 0x23 {
|
||||
return 0x68
|
||||
} else if inp == 0x24 {
|
||||
return 0x6A
|
||||
} else if inp == 0x25 {
|
||||
return 0x6B
|
||||
} else if inp == 0x26 {
|
||||
return 0x6C
|
||||
} else if inp == 0x2C {
|
||||
return 0x7A
|
||||
} else if inp == 0x2D {
|
||||
return 0x78
|
||||
} else if inp == 0x2E {
|
||||
return 0x63
|
||||
} else if inp == 0x2F {
|
||||
return 0x76
|
||||
} else if inp == 0x30 {
|
||||
return 0x62
|
||||
} else if inp == 0x31 {
|
||||
return 0x6E
|
||||
} else if inp == 0x32 {
|
||||
return 0x6D
|
||||
} else if inp == 0x2B {
|
||||
return 0x5C
|
||||
} else if inp == 0x39 {
|
||||
return 32
|
||||
} else {
|
||||
return 0
|
||||
draw := fn(screen: render.Surface, window: render.Surface, font: render.text.Font, buf: ^u8): void {
|
||||
render.clear(screen, render.black)
|
||||
render.clear(window, render.black)
|
||||
render.put_rect(window, .(0, 0), .(window.width - 1, window.height - 1), render.white)
|
||||
render.put_text(window, font, .(7, 7), render.gray, buf)
|
||||
render.put_surface(screen, window, .(100, 100), false)
|
||||
render.sync(screen)
|
||||
}
|
||||
|
||||
ps2_table := [u8].(0x0, 0x1B, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x2D, 0x3D, 0x8, 0x9, 0x71, 0x77, 0x65, 0x72, 0x74, 0x79, 0x75, 0x69, 0x6F, 0x70, 0x5B, 0x5D, 0xA, 0x0, 0x61, 0x73, 0x64, 0x66, 0x67, 0x68, 0x6A, 0x6B, 0x6C, 0x3B, 0x27, 0x60, 0x0, 0x5C, 0x7A, 0x78, 0x63, 0x76, 0x62, 0x6E, 0x6D, 0x2C, 0x2E, 0x2F, 0x0, 0x2A, 0x0, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1B, 0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0x28, 0x29, 0x5F, 0x2B, 0x8, 0x9, 0x51, 0x57, 0x45, 0x52, 0x54, 0x59, 0x55, 0x49, 0x4F, 0x50, 0x7B, 0x7D, 0xA, 0x0, 0x41, 0x53, 0x44, 0x46, 0x47, 0x48, 0x4A, 0x4B, 0x4C, 0x3A, 0x22, 0x7E, 0x0, 0x7C, 0x5A, 0x58, 0x43, 0x56, 0x42, 0x4E, 0x4D, 0x3C, 0x3E, 0x3F, 0x0, 0x0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
|
||||
map_keys := fn(scancode: u8, shift: bool): u8 {
|
||||
if shift {
|
||||
return ps2_table[scancode + 0x40]
|
||||
}
|
||||
return ps2_table[scancode]
|
||||
}
|
|
@ -1 +1 @@
|
|||
.{example: main} := @use("./examples/image.hb")
|
||||
.{example: main} := @use("./examples/text.hb")
|
|
@ -28,8 +28,8 @@ resolution = "1024x768x24"
|
|||
# [boot.limine.ableos.modules.diskio_driver]
|
||||
# path = "boot:///diskio_driver.hbf"
|
||||
|
||||
# [boot.limine.ableos.modules.render_example]
|
||||
# path = "boot:///render_example.hbf"
|
||||
[boot.limine.ableos.modules.render_example]
|
||||
path = "boot:///render_example.hbf"
|
||||
|
||||
# [boot.limine.ableos.modules.serial_driver]
|
||||
# path = "boot:///serial_driver.hbf"
|
||||
|
|
Loading…
Reference in a new issue