Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --os.pullEvent = os.pullEventRaw
- local backups = {}
- backups["fs"] = fs
- backups["io"] = io
- m = peripheral.find("monitor")
- m.setTextScale(2)
- function clear()
- m.clear()
- m.setCursorPos(1, 1)
- end
- function mwrite(str)
- x, y = m.getCursorPos()
- m.write(str)
- y = y + 1
- m.setCursorPos(1, y)
- end
- while true do
- if fs.exists("disk/startup") then
- clear()
- f = fs.open("disk/startup","r")
- data = {}
- line = f.readLine()
- repeat
- data[#data + 1] = line
- line = f.readLine()
- until not line
- f.close()
- if data[1] == "--lua" then
- --code = "fs = nil\nio = nil\n"
- --for i,v in pairs(data) do
- --code = code..v.."\n"
- tEnv = getfenv()
- tEnv.fs = {}
- tEnv.io = {}
- ntv = term.redirect(m)
- os.run(tEnv,"disk/startup")
- -- pcall(loadstring(code))
- term.redirect(ntv)
- fs = backups.fs
- io = backups.io
- else
- for i,v in pairs(data) do
- mwrite(v)
- end
- end
- rs.setOutput("top",false)
- elseif fs.exists("disk") then
- rs.setOutput('top',false)
- elseif rs.getInput('left') then
- clear()
- mwrite("Mass Ejecting.")
- for i=1,100 do
- sleep(0)
- disk.eject()
- end
- else
- clear()
- m.write("No Disk.")
- rs.setOutput('top',true)
- end
- if rs.getInput("back") then
- disk.eject("drive_42")
- clear()
- m.write("Ejecting.")
- end
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement