Compare commits
3 commits
635ed1be42
...
bcc7c827ab
Author | SHA1 | Date | |
---|---|---|---|
Able | bcc7c827ab | ||
Able | eff2a22018 | ||
Able | 883c01b2ba |
|
@ -36,18 +36,22 @@ identify := fn(): u8 {
|
||||||
log.info("Waiting for status.\0")
|
log.info("Waiting for status.\0")
|
||||||
loop {
|
loop {
|
||||||
if (status & STAT_BSY) == 0 {
|
if (status & STAT_BSY) == 0 {
|
||||||
|
log.info("Status got.\0")
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
sloop()
|
sloop()
|
||||||
}
|
}
|
||||||
status = inb(ATA_PRIMARY_COMM_REGSTAT)
|
status = inb(ATA_PRIMARY_COMM_REGSTAT)
|
||||||
}
|
}
|
||||||
log.info("Status got\0")
|
if status == 0 {
|
||||||
if status == 0 return 0
|
log.error("No drive detected.\0")
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
log.info("Status indicates presence of a drive. Polling while STAT_BSY... \0")
|
log.info("Status indicates presence of a drive. Polling while STAT_BSY... \0")
|
||||||
loop {
|
loop {
|
||||||
if (status & STAT_BSY) == 0 {
|
if (status & STAT_BSY) == 0 {
|
||||||
|
log.info("Status got.\0")
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
sloop()
|
sloop()
|
||||||
|
|
5
sysdata/programs/hblang2/README.md
Normal file
5
sysdata/programs/hblang2/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# hblang²
|
||||||
|
The hblang² or hblang2 compiler is intended to compile hblang to hbvm bytecode while also being written in hblang.
|
||||||
|
|
||||||
|
This is the first step in bootstrapping ableOS.
|
||||||
|
|
11
sysdata/programs/hblang2/meta.toml
Normal file
11
sysdata/programs/hblang2/meta.toml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[package]
|
||||||
|
name = "hblang2"
|
||||||
|
authors = [""]
|
||||||
|
|
||||||
|
[dependants.libraries]
|
||||||
|
|
||||||
|
[dependants.binaries]
|
||||||
|
hblang.version = "1.0.0"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
command = "hblang src/main.hb"
|
5
sysdata/programs/hblang2/src/main.hb
Normal file
5
sysdata/programs/hblang2/src/main.hb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
stn := @use("stn")
|
||||||
|
|
||||||
|
main := fn(): int {
|
||||||
|
return 0
|
||||||
|
}
|
9
sysdata/programs/sunset_server/README.md
Normal file
9
sysdata/programs/sunset_server/README.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Sunset Server
|
||||||
|
|
||||||
|
## Omnibar
|
||||||
|
The omnibar is a clone of the polybar concept and will be configured via lisp.
|
||||||
|
|
||||||
|
|
||||||
|
probably should be spawned in as a window with special permission to not draw window decorators
|
||||||
|
|
||||||
|
not drawing decorators could also function as a full screen of sorts if it resizes
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "sunset_server"
|
name = "sunset_server"
|
||||||
authors = ["koniifer"]
|
authors = ["able", "koniifer"]
|
||||||
|
|
||||||
[dependants.libraries]
|
[dependants.libraries]
|
||||||
|
|
||||||
|
|
5
sysdata/programs/sunset_server/omnibar.uil
Normal file
5
sysdata/programs/sunset_server/omnibar.uil
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
(meta height:(+ font_height 1))
|
||||||
|
|
||||||
|
(horizontal
|
||||||
|
(label last_pressed_key)
|
||||||
|
(seperator percent:10))
|
|
@ -83,7 +83,9 @@ main := fn(): int {
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
pos := Vec2(uint).(1, screen.height - 21)
|
/* Omnibar */
|
||||||
|
omnibar_height := 21
|
||||||
|
pos := Vec2(uint).(1, screen.height - omnibar_height)
|
||||||
render_label_to_surface(screen, text_label, font, pos)
|
render_label_to_surface(screen, text_label, font, pos)
|
||||||
render.put_rect(screen, .(0, screen.height - 21), .(screen.width - 1, 20), sunset.server.DECO_COLOUR)
|
render.put_rect(screen, .(0, screen.height - 21), .(screen.width - 1, 20), sunset.server.DECO_COLOUR)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue