aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--startup62
-rw-r--r--system/boot.lua24
2 files changed, 73 insertions, 13 deletions
diff --git a/startup b/startup
index 2e9e5ca..a1efcd0 100644
--- a/startup
+++ b/startup
@@ -1,2 +1,62 @@
-- bits-UI: An operating system for ComputerCraft. Licensed with GPL-3.0.
-shell.run("/system/boot.lua") \ No newline at end of file
+local boot = "/system/boot.lua"
+
+function bootloader()
+ term.setCursorPos(1,1)
+ term.write("Welcome to the BUBL boot loader!\n")
+ term.setCursorPos(1,3)
+ term.write("1. Boot bits-UI\n")
+ term.setCursorPos(1,4)
+ term.write("2. Update bits-UI\n")
+ term.setCursorPos(1,5)
+ term.write("3. Boot CraftOS\n")
+ term.setCursorPos(1,7)
+ term.write("> ")
+end
+
+function clear()
+ term.clear()
+ term.setCursorPos(1,1)
+ term.setTextColor(colors.white)
+end
+
+function bootloaderInput()
+ local input = read()
+
+ if input == "1" then
+ clear()
+ shell.run("/system/boot.lua")
+ elseif input == "2" then
+ clear()
+ term.write("Running updater...")
+ sleep(3)
+ shell.run("pastebin", "run", "7XY80hfG")
+ elseif input == "3" then
+ clear()
+ term.write(os.version())
+ term.setCursorPos(1,2)
+ else
+ term.write("[ERROR] Invalid number.")
+ bootloader()
+ bootloaderInput()
+ end
+
+end
+
+
+if fs.exists(boot) then
+ term.setTextColor(colors.green)
+ term.write("Boot detected!")
+else
+ clear()
+ term.setTextColor(colors.red)
+ term.write("[ERROR] System has been halted.")
+ term.setCursorPos(1,2)
+ term.write("Details: Cannot find boot.lua")
+ sleep(3)
+ os.shutdown()
+end
+
+clear()
+bootloader()
+bootloaderInput() \ No newline at end of file
diff --git a/system/boot.lua b/system/boot.lua
index 1afc489..4554d9e 100644
--- a/system/boot.lua
+++ b/system/boot.lua
@@ -7,14 +7,14 @@ local desktop = "/system/desktop.lua"
term.clear()
term.setCursorPos(1,1)
-print("Starting up bits-UI ".. version .."...")
+term.write("Starting up bits-UI ".. version .."...")
sleep(3)
if term.isColor() then
term.setTextColor(colors.green)
- print("[OK] Advanced Computer is detected...")
+ term.write("[OK] Advanced Computer is detected...")
else
- print("[ERROR] You need a advanced computer in order to make the UI functional...")
+ term.write("[ERROR] You need a advanced computer in order to make the UI functional...")
sleep(3)
os.shutdown()
end
@@ -23,10 +23,10 @@ sleep(3)
if fs.exists(desktop) then
term.setTextColor(colors.green)
- print("[OK] Desktop has been found...")
+ term.write("[OK] Desktop has been found...")
else
term.setTextColor(colors.red)
- print("[ERROR] Desktop cannot be found...")
+ term.write("[ERROR] Desktop cannot be found...")
sleep(3)
os.shutdown()
end
@@ -35,29 +35,29 @@ sleep(3)
if fs.exists("/home") then
term.setTextColor(colors.green)
- print("[OK] Home has been found...")
+ term.write("[OK] Home has been found...")
else
fs.makeDir("/home")
term.setTextColor(colors.green)
- print("[OK] Home directory has been created...")
+ term.write("[OK] Home directory has been created...")
end
sleep(3)
if fs.exists("/system/bitUI.config") then
term.setTextColor(colors.green)
- print("[OK] Config has been found...")
+ term.write("[OK] Config has been found...")
else
config = io.open("/system/bitUI.config", "w")
config:close()
term.setTextColor(colors.blue)
- print("[INFO] Config has not been found!")
- print("[INFO] You will be sent to the OOBE setup...")
+ term.write("[INFO] Config has not been found!")
+ term.write("[INFO] You will be sent to the OOBE setup...")
end
sleep(3)
term.setTextColor(colors.green)
-print("[DONE] Boot sequence is completed...")
-
+term.write("[DONE] Boot sequence is completed...")
+term.setTextColor(colors.white)
sleep(3)
shell.run(desktop) \ No newline at end of file