made fetch get the logo, instead of getting preloaded when booting

This commit is contained in:
Ponali
2025-10-05 08:09:14 +02:00
parent 1d49683d3c
commit 296aba9a2f
3 changed files with 21 additions and 20 deletions
+19 -9
View File
@@ -1,5 +1,6 @@
local component = require("component") local component = require("component")
local computer = require("computer") local computer = require("computer")
local filesystem = require("filesystem")
local function printstat(text) local function printstat(text)
local cursorPosX, cursorPosY = terminal.getCursorPos() local cursorPosX, cursorPosY = terminal.getCursorPos()
@@ -7,18 +8,27 @@ local function printstat(text)
terminal.write(text .. "\n", false) terminal.write(text .. "\n", false)
end end
terminal.write(_OSLOGO, false) local logo = ""
local handle, tmpdata = filesystem.open("/halyde/config/oslogo.ans", "r"), nil
repeat
tmpdata = handle:read(math.inf or math.maxinteger)
logo = logo .. (tmpdata or "")
until not tmpdata
terminal.write(logo, false)
local cursorPosX, cursorPosY = terminal.getCursorPos() local cursorPosX, cursorPosY = terminal.getCursorPos()
terminal.setCursorPos(cursorPosX, cursorPosY - 17) terminal.setCursorPos(cursorPosX, cursorPosY - 17)
printstat("\27[92mOS\27[0m: ".._OSVERSION) printstat("\27[92mOS\27[0m: " .. _OSVERSION)
printstat("\27[92mArchitecture\27[0m: ".._VERSION) printstat("\27[92mArchitecture\27[0m: " .. _VERSION)
local componentCounter = 0 local componentCounter = 0
for _, _ in component.list() do for _, _ in component.list() do
componentCounter = componentCounter + 1 componentCounter = componentCounter + 1
end end
printstat("\27[92mComponents\27[0m: "..tostring(componentCounter)) printstat("\27[92mComponents\27[0m: " .. tostring(componentCounter))
printstat("\27[92mCoroutines\27[0m: "..tostring(#tsched.getTasks())) printstat("\27[92mCoroutines\27[0m: " .. tostring(#tsched.getTasks()))
printstat("\27[92mBattery\27[0m: "..tostring(math.floor(computer.energy() / computer.maxEnergy() * 1000 + 0.5) / 10).."%") printstat(
"\27[92mBattery\27[0m: " .. tostring(math.floor(computer.energy() / computer.maxEnergy() * 1000 + 0.5) / 10) .. "%"
)
local totalMemory = computer.totalMemory() local totalMemory = computer.totalMemory()
local usedMemory = computer.totalMemory() - computer.freeMemory() local usedMemory = computer.totalMemory() - computer.freeMemory()
local totalMemoryString local totalMemoryString
@@ -41,7 +51,7 @@ elseif convert(usedMemory, "B", "KiB") >= 1 then
else else
usedMemoryString = tostring(usedMemory) .. " B" usedMemoryString = tostring(usedMemory) .. " B"
end end
printstat("\27[92mMemory\27[0m: "..usedMemoryString.." / "..totalMemoryString) printstat("\27[92mMemory\27[0m: " .. usedMemoryString .. " / " .. totalMemoryString)
local totalDisk = component.invoke(computer.getBootAddress(), "spaceTotal") local totalDisk = component.invoke(computer.getBootAddress(), "spaceTotal")
local usedDisk = component.invoke(computer.getBootAddress(), "spaceUsed") local usedDisk = component.invoke(computer.getBootAddress(), "spaceUsed")
local totalDiskString local totalDiskString
@@ -64,9 +74,9 @@ elseif convert(usedDisk, "B", "KiB") >= 1 then
else else
usedDiskString = tostring(usedDisk) .. " B" usedDiskString = tostring(usedDisk) .. " B"
end end
printstat("\27[92mDisk\27[0m: "..usedDiskString.." / "..totalDiskString) printstat("\27[92mDisk\27[0m: " .. usedDiskString .. " / " .. totalDiskString)
local width, height = component.invoke(component.list("gpu")(), "getResolution") local width, height = component.invoke(component.list("gpu")(), "getResolution")
printstat("\27[92mResolution\27[0m: "..tostring(width).."x"..tostring(height).."\n") printstat("\27[92mResolution\27[0m: " .. tostring(width) .. "x" .. tostring(height) .. "\n")
printstat("\27[40m \27[41m \27[42m \27[43m \27[44m \27[45m \27[46m \27[47m ") printstat("\27[40m \27[41m \27[42m \27[43m \27[44m \27[45m \27[46m \27[47m ")
printstat("\27[100m \27[101m \27[102m \27[103m \27[104m \27[105m \27[106m \27[107m ") printstat("\27[100m \27[101m \27[102m \27[103m \27[104m \27[105m \27[106m \27[107m ")
local cursorPosX, cursorPosY = terminal.getCursorPos() local cursorPosX, cursorPosY = terminal.getCursorPos()
-8
View File
@@ -1,7 +1,6 @@
local loadfile = ... local loadfile = ...
local filesystem = assert(loadfile("/lib/filesystem.lua")(loadfile)) local filesystem = assert(loadfile("/lib/filesystem.lua")(loadfile))
_G._OSVERSION = "HALYDE VERSION" -- TODO: Put this in a separate config file _G._OSVERSION = "HALYDE VERSION" -- TODO: Put this in a separate config file
_G._OSLOGO = ""
_G._PUBLIC = {} _G._PUBLIC = {}
_G._PUBLIC.unicode = assert(loadfile("/lib/unicode.lua")(loadfile)) _G._PUBLIC.unicode = assert(loadfile("/lib/unicode.lua")(loadfile))
local component = assert(loadfile("/lib/component.lua")(loadfile)) local component = assert(loadfile("/lib/component.lua")(loadfile))
@@ -15,13 +14,6 @@ local log = assert(loadfile("/lib/log.lua")(loadfile))
log.kernel.info("Bound GPU to screen " .. tostring(screenAddress)) log.kernel.info("Bound GPU to screen " .. tostring(screenAddress))
local handle, tmpdata = filesystem.open("/halyde/config/oslogo.ans", "r"), nil
repeat
tmpdata = handle:read(math.huge)
_OSLOGO = _OSLOGO .. (tmpdata or "")
until not tmpdata
handle:close()
log.kernel.info("Loaded OS logo") log.kernel.info("Loaded OS logo")
_G.package = { ["preloaded"] = {} } _G.package = { ["preloaded"] = {} }
+2 -3
View File
@@ -1,6 +1,6 @@
local module = {} local module = {}
module.dependencies = {"terminal"} module.dependencies = { "terminal" }
function module.check() function module.check()
return true -- This module should always be loaded return true -- This module should always be loaded
@@ -11,7 +11,6 @@ function module.init()
"print", "print",
"_VERSION", "_VERSION",
"_OSVERSION", "_OSVERSION",
"_OSLOGO",
"assert", "assert",
"error", "error",
"getmetatable", "getmetatable",
@@ -39,7 +38,7 @@ function module.init()
"table", "table",
"checkArg", "checkArg",
"utf8", "utf8",
"convert" "convert",
} }
for _, value in ipairs(publicTable) do for _, value in ipairs(publicTable) do
_G._PUBLIC[value] = table.copy(_G[value]) _G._PUBLIC[value] = table.copy(_G[value])