local component = require("component") local computer = require("computer") local filesystem = require("filesystem") local function printstat(text) local cursorPosX, cursorPosY = terminal.getCursorPos() terminal.setCursorPos(35, cursorPosY) terminal.write(text .. "\n", false) end 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() terminal.setCursorPos(cursorPosX, cursorPosY - 17) printstat("\27[92mOS\27[0m: " .. _OSVERSION) printstat("\27[92mArchitecture\27[0m: " .. _VERSION) local componentCounter = 0 for _, _ in component.list() do componentCounter = componentCounter + 1 end printstat("\27[92mComponents\27[0m: " .. tostring(componentCounter)) printstat("\27[92mCoroutines\27[0m: " .. tostring(#tsched.getTasks())) printstat( "\27[92mBattery\27[0m: " .. tostring(math.floor(computer.energy() / computer.maxEnergy() * 1000 + 0.5) / 10) .. "%" ) local totalMemory = computer.totalMemory() local usedMemory = computer.totalMemory() - computer.freeMemory() local totalMemoryString if convert(totalMemory, "B", "GiB") >= 1 then totalMemoryString = tostring(math.floor(convert(totalMemory, "B", "GiB") * 100 + 0.5) / 100) .. " GiB" elseif convert(totalMemory, "B", "MiB") >= 1 then totalMemoryString = tostring(math.floor(convert(totalMemory, "B", "MiB") * 100 + 0.5) / 100) .. " MiB" elseif convert(totalMemory, "B", "KiB") >= 1 then totalMemoryString = tostring(math.floor(convert(totalMemory, "B", "KiB") * 100 + 0.5) / 100) .. " KiB" else totalMemoryString = tostring(totalMemory) .. " B" end local usedMemoryString if convert(usedMemory, "B", "GiB") >= 1 then usedMemoryString = tostring(math.floor(convert(usedMemory, "B", "GiB") * 100 + 0.5) / 100) .. " GiB" elseif convert(usedMemory, "B", "MiB") >= 1 then usedMemoryString = tostring(math.floor(convert(usedMemory, "B", "MiB") * 100 + 0.5) / 100) .. " MiB" elseif convert(usedMemory, "B", "KiB") >= 1 then usedMemoryString = tostring(math.floor(convert(usedMemory, "B", "KiB") * 100 + 0.5) / 100) .. " KiB" else usedMemoryString = tostring(usedMemory) .. " B" end printstat("\27[92mMemory\27[0m: " .. usedMemoryString .. " / " .. totalMemoryString) local totalDisk = component.invoke(computer.getBootAddress(), "spaceTotal") local usedDisk = component.invoke(computer.getBootAddress(), "spaceUsed") local totalDiskString if convert(totalDisk, "B", "GiB") >= 1 then totalDiskString = tostring(math.floor(convert(totalDisk, "B", "GiB") * 100 + 0.5) / 100) .. " GiB" elseif convert(totalDisk, "B", "MiB") >= 1 then totalDiskString = tostring(math.floor(convert(totalDisk, "B", "MiB") * 100 + 0.5) / 100) .. " MiB" elseif convert(totalDisk, "B", "KiB") >= 1 then totalDiskString = tostring(math.floor(convert(totalDisk, "B", "KiB") * 100 + 0.5) / 100) .. " KiB" else totalDiskString = tostring(totalDisk) .. " B" end local usedDiskString if convert(usedDisk, "B", "GiB") >= 1 then usedDiskString = tostring(math.floor(convert(usedDisk, "B", "GiB") * 100 + 0.5) / 100) .. " GiB" elseif convert(usedDisk, "B", "MiB") >= 1 then usedDiskString = tostring(math.floor(convert(usedDisk, "B", "MiB") * 100 + 0.5) / 100) .. " MiB" elseif convert(usedDisk, "B", "KiB") >= 1 then usedDiskString = tostring(math.floor(convert(usedDisk, "B", "KiB") * 100 + 0.5) / 100) .. " KiB" else usedDiskString = tostring(usedDisk) .. " B" end printstat("\27[92mDisk\27[0m: " .. usedDiskString .. " / " .. totalDiskString) local width, height = component.invoke(component.list("gpu")(), "getResolution") 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[100m \27[101m \27[102m \27[103m \27[104m \27[105m \27[106m \27[107m ") local cursorPosX, cursorPosY = terminal.getCursorPos() terminal.setCursorPos(cursorPosX, cursorPosY + 5)