hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/kernel/main.rv
blob: 67850d581a6989370dc5b0ceff0adfc8c23c567b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# kmain
pic_remap()
pit_init()

pic_unmask(0) # pit      (irq0) -> cursor blink / uptime
pic_unmask(1) # keyboard (irq1)

wipe()
dump_memmap()

fs:mount()
if (disk_sectors() != 0 and fs.ready == :false) do
  puts("blank disk, formatting + seeding default files\n")
  fs:format()
  seed_fs()
end

if fs:size("/etc/profile") >= 0 do
  run_script_path("/etc/profile", "profile", make_ctx("", { "" }))
end

# lung will be happy
const default_face = load_ttf("/fonts/terminess.ttf", 32)
if default_face != :nil do
  add_font("terminess", default_face.glyphs, default_face.width, default_face.height, :ttf, "/fonts/terminess.ttf", 32)
  console:set_font(find_font("terminess"))
end

welcome()
flush_console()