Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local argv = {...}
- local new = tonumber(select(string.gsub(os.version(), "[^0-9%.]+", ""))) >= 1.6
- local biosenv = _G
- biosenv.oldshutdown = os.shutdown
- biosenv.oldredirect = term.redirect
- biosenv.oldpe = os.pullEvent
- function biosenv.bootup()
- setfenv(1, _G)
- biosenv.os.pullEvent = biosenv.oldpe
- biosenv.term.redirect = biosenv.term.oldredirect
- biosenv.os.shutdown = biosenv.oldshutdown
- biosenv.bootup = nil
- biosenv.oldpe = nil
- biosenv.oldredirect = nil
- biosenv.oldshutdown = nil
- --init below
- local ok, fun = pcall(loadfile(argv[1]))
- if ok then
- pcall(fun, unpack(argv, 2))
- term.setTextColor(1)
- term.setBackgroundColor(32768)
- term.setCursorPos(1,1)
- else
- print("Loading error")
- print(fun)
- end
- term.write("Program is dead, press any key to shutdown")
- coroutine.yield("key")
- end
- if new then
- term.redirect = function(tar)
- biosenv.oldredirect(tar)
- biosenv.os.shutdown = biosenv.bootup
- end
- else
- biosenv.os.shutdown = biosenv.bootup
- end
- biosenv.os.pullEvent = function(useless) os.queueEvent("dummy") return coroutine.yield() end
- os.queueEvent("modem_message", 56)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement