Advertisement
Commandcracker

startup

Oct 27th, 2018 (edited)
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.61 KB | None | 0 0
  1. --Start timer and set timer
  2. os.startTimer(1)
  3. local t = 1
  4. local w,h = term.getSize()
  5. if w == 51 and h == 19 then
  6.     pc = true
  7. else
  8.     pc = false
  9. end
  10.  
  11. --Display
  12. term.setBackgroundColor(colors.black)
  13. term.clear()
  14. paintutils.drawImage(paintutils.loadImage("bootscreen"), 1, 1)
  15.  
  16. if pc == true then
  17.     term.setCursorPos(8,17)
  18.     print("F12:BIOS SETUP")
  19.  
  20.     term.setCursorPos(27,17)
  21.     print("DEL:Q-FLASH")
  22. else
  23.     term.setCursorPos(4,11)
  24.     print("F12:BIOS SETUP")
  25.  
  26.     term.setCursorPos(19,11)
  27.     print("DEL:Q-FLASH")
  28. end
  29.  
  30. --Loop
  31. while true do
  32.    
  33.     --Event
  34.     local event, key = os.pullEvent()
  35.    
  36.     --Timer
  37.     if event == "timer" then
  38.        
  39.         t = t - 1
  40.         os.startTimer(1)
  41.        
  42.         if t < 0 then
  43.             break
  44.         end
  45.    
  46.     --Keys
  47.     elseif event == "key" then
  48.    
  49.         if key == 211 then
  50.             term.clear()
  51.             term.setCursorPos(1,1)
  52.             print("DEL:Q-FLASH")
  53.             sleep(1)
  54.             os.reboot()
  55.         elseif key == 88 then
  56.             term.clear()
  57.             term.setCursorPos(1,1)
  58.             print("F12:BIOS SETUP")
  59.             sleep(1)
  60.             os.reboot()
  61.         end
  62.        
  63.     end
  64.    
  65. end
  66.  
  67. term.clear()
  68. paintutils.drawImage(paintutils.loadImage("bootscreen"), 1, 1)
  69. sleep(1)
  70.  
  71. --Boot loader
  72. os.startTimer(1)
  73. local t = 5
  74.  
  75. moved = false
  76. selected = 1
  77. if pc == true then
  78.     options = 8
  79. else
  80.     options = 3
  81. end
  82.  
  83. while true do
  84.  
  85.     --Menu
  86.     if term.isColor() then
  87.         term.setBackgroundColor(colors.blue)
  88.     else
  89.         term.setBackgroundColor(colors.gray)
  90.     end
  91.    
  92.     term.clear()
  93.    
  94.     if pc == true then
  95.         term.setCursorPos(17,2)
  96.         term.write("Oculus bootloader")
  97.     else
  98.         term.setCursorPos(11,2)
  99.         term.write("Oculus bootloader")
  100.     end
  101.    
  102.     if pc == true then
  103.    
  104.         term.setCursorPos(4,6)
  105.         term.write(" "..os.version())
  106.        
  107.         term.setCursorPos(4,7)
  108.         term.write(" ".."OculusOS")
  109.        
  110.         term.setCursorPos(4,8)
  111.         term.write(" ".."Startup")
  112.        
  113.     end
  114.    
  115.     if moved == true and pc == false then
  116.    
  117.         term.setCursorPos(4,6)
  118.         term.write(" "..os.version())
  119.        
  120.         term.setCursorPos(4,7)
  121.         term.write(" ".."OculusOS")
  122.        
  123.         term.setCursorPos(4,8)
  124.         term.write(" ".."Startup")
  125.        
  126.     end
  127.    
  128.     if pc == true then
  129.    
  130.         term.setCursorPos(4,9)
  131.         term.write(" ".."Disk1")
  132.        
  133.         term.setCursorPos(4,10)
  134.         term.write(" ".."Disk2")
  135.        
  136.         if moved == true then
  137.             term.setCursorPos(4,11)
  138.             term.write(" ".."Disk3")
  139.             term.setCursorPos(4,12)
  140.             term.write(" ".."Disk4")
  141.             term.setCursorPos(4,13)
  142.             term.write(" ".."Disk5")
  143.         end
  144.    
  145.     end
  146.    
  147.     if pc == true then
  148.         term.setCursorPos(4,selected+5)
  149.         term.write("*")
  150.     end
  151.    
  152.     if pc == false and moved == true then
  153.         term.setCursorPos(4,selected+5)
  154.         term.write("*")
  155.     end
  156.    
  157.     if moved == true then
  158.         term.setCursorPos(3,17)
  159.         term.write('Use the keys "UP" and "DOWN" to mark an entry,')
  160.         term.setCursorPos(3,18)
  161.         term.write('"ENTER" to boot of the marked operating system.')
  162.     end
  163.    
  164.     if moved == false then
  165.         term.setCursorPos(3,14)
  166.         term.write('Use the keys "UP" and "DOWN" to mark an entry,')
  167.         term.setCursorPos(3,15)
  168.         term.write('"ENTER" to boot of the marked operating system.')
  169.     end
  170.    
  171.     if moved == false and pc == false then
  172.         term.setCursorPos(9,5)
  173.         term.write('Use the keys "UP" and')
  174.         term.setCursorPos(7,6)
  175.         term.write('"DOWN" to mark an entry,')
  176.         term.setCursorPos(8,7)
  177.         term.write('"ENTER" to boot of the')
  178.         term.setCursorPos(7,8)
  179.         term.write('marked operating system.')
  180.     end
  181.    
  182.     if moved == false then
  183.         if pc == true then
  184.             term.setCursorPos(6,17)
  185.             term.write("The highlighted entry is automatically")
  186.             term.setCursorPos(18,18)
  187.             term.write("executed in "..t.."s.")
  188.         else
  189.             term.setCursorPos(7,11)
  190.             term.write("The highlighted entry is")
  191.             term.setCursorPos(5,12)
  192.             term.write("automatically executed in "..t.."s.")
  193.         end
  194.     end
  195.    
  196.     if moved == false then
  197.         if pc == true then
  198.             paintutils.drawBox(2,4,50,12,colors.white)
  199.         end
  200.     else
  201.         if pc == true then
  202.             paintutils.drawBox(2,4,50,15,colors.white)
  203.         else
  204.             paintutils.drawBox(2,4,38,10,colors.white)
  205.         end
  206.     end
  207.    
  208.     --Event
  209.     local event, key = os.pullEvent()
  210.    
  211.     --Timer
  212.     if event == "timer" and moved == false then
  213.        
  214.         t = t - 1
  215.         os.startTimer(1)
  216.        
  217.         if t < 0 then
  218.             break
  219.         end
  220.    
  221.     --Keys
  222.     elseif event == "key" then
  223.    
  224.         if key == 200 then
  225.             moved = true
  226.             selected = selected -1
  227.             if selected == 0 then
  228.                 selected = options
  229.             end
  230.         elseif key == 208 then
  231.             moved = true
  232.             selected = selected +1
  233.             if options < selected then
  234.                 selected = 1
  235.             end
  236.         elseif key == 28 then
  237.             break
  238.         end
  239.     end
  240.    
  241. end
  242.  
  243. function disk (disk,disk_name)
  244.     selected = 0
  245.     if not fs.exists("/"..disk) then
  246.         term.setBackgroundColor(colors.black)
  247.         term.clear()
  248.         term.setCursorPos(1,1)
  249.         if term.isColor() then
  250.             term.setTextColor(colors.red)
  251.         end
  252.         term.write(disk_name.." not found starting: "..os.version())
  253.         sleep(2)
  254.     else
  255.         if not fs.exists("/"..disk.."/boot") then
  256.             term.setBackgroundColor(colors.black)
  257.             term.clear()
  258.             term.setCursorPos(1,1)
  259.             if term.isColor() then
  260.                 term.setTextColor(colors.red)
  261.             end
  262.             term.write("Boot on "..disk_name.." not found starting: "..os.version())
  263.             sleep(2)
  264.         else
  265.             term.setBackgroundColor(colors.black)
  266.             term.clear()
  267.             term.setCursorPos(1,1)
  268.             shell.run("/"..disk.."/boot")
  269.             term.clear()
  270.             term.setCursorPos(1,1)
  271.             if term.isColor() then
  272.                 term.setTextColor(colors.yellow)
  273.             end
  274.             sleep(2)
  275.             term.write("Boot on "..disk_name.." done ore crashed starting: "..os.version())
  276.             sleep(2)
  277.         end
  278.     end
  279. end
  280.  
  281. if selected == 2 then
  282.     term.setBackgroundColor(colors.black)
  283.     term.clear()
  284.     term.setCursorPos(1,1)
  285.     if term.isColor() then
  286.         term.setTextColor(colors.red)
  287.     end
  288.     term.write("OculusOS is not done starting: "..os.version())
  289.     sleep(2)
  290. elseif selected == 3 then
  291.     if not fs.exists("boot") then
  292.         term.setBackgroundColor(colors.black)
  293.         term.clear()
  294.         term.setCursorPos(1,1)
  295.         if term.isColor() then
  296.             term.setTextColor(colors.red)
  297.         end
  298.         term.write("Boot not found starting: "..os.version())
  299.         sleep(2)
  300.     else
  301.         term.setBackgroundColor(colors.black)
  302.         term.clear()
  303.         term.setCursorPos(1,1)
  304.         shell.run("boot")
  305.         sleep(2)
  306.         term.clear()
  307.         term.setCursorPos(1,1)
  308.         if term.isColor() then
  309.             term.setTextColor(colors.yellow)
  310.         end
  311.         sleep(2)
  312.         term.write("Boot done ore crashed: "..os.version())
  313.         sleep(2)
  314.     end
  315. elseif selected == 4 then
  316.     disk("disk","Disk1")
  317. elseif selected == 5 then
  318.     disk("disk2","Disk2")
  319. elseif selected == 6 then
  320.     disk("disk3","Disk3")
  321. elseif selected == 7 then
  322.     disk("disk4","Disk4")
  323. elseif selected == 8 then
  324.     disk("disk5","Disk5")
  325. end
  326.  
  327. --CraftOS
  328. term.setBackgroundColor(colors.black)
  329. term.clear()
  330. term.setCursorPos(1,1)
  331. if term.isColor() then
  332.     term.setTextColor(colors.yellow)
  333. end
  334. term.write(os.version())
  335. term.setCursorPos(1,2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement