mirror of
				https://github.com/kepler155c/opus
				synced 2025-10-30 15:13:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1004 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1004 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| local bootOptions = {
 | |
|   { prompt = 'Default Shell', file = '/sys/boot/default.boot' },
 | |
|   { prompt = 'Opus'         , file = '/sys/boot/multishell.boot' },
 | |
| --  { prompt = 'TLCO'         , file = '/sys/boot/tlco.boot' },
 | |
| }
 | |
| local bootOption = 2
 | |
| 
 | |
| local function startupMenu()
 | |
|   while true do
 | |
|     term.clear()
 | |
|     term.setCursorPos(1, 1)
 | |
|     print('Select startup mode')
 | |
|     print()
 | |
|     for k,option in pairs(bootOptions) do
 | |
|       print(k .. ' : ' .. option.prompt)
 | |
|     end
 | |
|     print('')
 | |
|     term.write('> ')
 | |
|     local ch = tonumber(read())
 | |
|     if ch and bootOptions[ch] then
 | |
|       return ch
 | |
|     end
 | |
|   end
 | |
|   term.clear()
 | |
|   term.setCursorPos(1, 1)
 | |
| end
 | |
| 
 | |
| term.clear()
 | |
| term.setCursorPos(1, 1)
 | |
| print('Starting OS')
 | |
| print()
 | |
| print('Press any key for menu')
 | |
| local timerId = os.startTimer(1.5)
 | |
| while true do
 | |
|   local e, id = os.pullEvent()
 | |
|   if e == 'timer' and id == timerId then
 | |
|     break
 | |
|   end
 | |
|   if e == 'char' then
 | |
|     bootOption = startupMenu()
 | |
|     break
 | |
|   end
 | |
| end
 | |
| 
 | |
| os.run(getfenv(1), bootOptions[bootOption].file) | 
