--:Minify:-- local kernel=... kernel.tty={} function kernel.tty.register(tty, ttyo) kernel.tty[tty]=ttyo end function kernel.tty.print(text) local term=kernel.currentTask.term if term and kernel.tty[term] then kernel.tty[term].print(text) end end function kernel.tty.printInline(text) local term=kernel.currentTask.term if term and kernel.tty[term] then kernel.tty[term].printInline(text) end end function kernel.tty.size() local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].size() end end function kernel.tty.setCursorPos(x,y) local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].setCursorPos(x,y) end end function kernel.tty.getCursorPos() local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].getCursorPos() end end function kernel.tty.clear() local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].clear() end end function kernel.tty.setTextColor(color) local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].setTextColor(color) end end function kernel.tty.setBackgroundColor(color) local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].setBackgroundColor(color) end end function kernel.tty.scroll(n) local term=kernel.currentTask.term if term and kernel.tty[term] then return kernel.tty[term].scroll(n) end end function kernel.tty.getTextColor() local term=kernel.currentTask.term if term and kernel.tty[term] and kernel.tty[term].getTextColor then return kernel.tty[term].getTextColor() end end function kernel.tty.getBackgroundColor() local term=kernel.currentTask.term if term and kernel.tty[term] and kernel.tty[term].getBackgroundColor then return kernel.tty[term].getBackgroundColor() end end function kernel.tty.bind(ttyid) if not ttyid then return false, "No TTY ID specified" end if not kernel.tty[ttyid] then return false, "TTY "..tostring(ttyid).." not registered" end kernel.currentTask.term=ttyid return true end function kernel.tty.unbind() kernel.currentTask.term=false end function kernel.tty.isBound() return kernel.currentTask.term ~= nil end function kernel.tty.getBoundTTY() return kernel.currentTask.term end kernel.syscalls["TTY_print"]=kernel.tty.print kernel.syscalls["TTY_printInline"]=kernel.tty.printInline kernel.syscalls["TTY_size"]=kernel.tty.size kernel.syscalls["TTY_setCursorPos"]=kernel.tty.setCursorPos kernel.syscalls["TTY_getCursorPos"]=kernel.tty.getCursorPos kernel.syscalls["TTY_clear"]=kernel.tty.clear kernel.syscalls["TTY_setTextColor"]=kernel.tty.setTextColor kernel.syscalls["TTY_setBackgroundColor"]=kernel.tty.setBackgroundColor kernel.syscalls["TTY_scroll"]=kernel.tty.scroll kernel.syscalls["TTY_getTextColor"]=kernel.tty.getTextColor kernel.syscalls["TTY_getBackgroundColor"]=kernel.tty.getBackgroundColor kernel.syscalls["TTY_bind"]=kernel.tty.bind kernel.syscalls["TTY_unbind"]=kernel.tty.unbind kernel.syscalls["TTY_isBound"]=kernel.tty.isBound kernel.syscalls["TTY_getBoundTTY"]=kernel.tty.getBoundTTY kernel.log("TTY module loaded attempting to register console tty") kernel.status="init"