41 lines
		
	
	
		
			730 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			730 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
local monitor = peripheral.find("monitor")
 | 
						|
monitor.setTextScale(0.5)
 | 
						|
 | 
						|
videoFile = fs.open("video.bin", "rb")
 | 
						|
videoData = videoFile.readAll()
 | 
						|
 | 
						|
monitor.clear()
 | 
						|
 | 
						|
function drawFrame (frame)
 | 
						|
	local byteIndex = frame * 24 * 3
 | 
						|
 | 
						|
	for y = 1, 24 do
 | 
						|
		monitor.setCursorPos(5, y + 2)
 | 
						|
		for x = 1, 3 do
 | 
						|
			byteIndex = byteIndex + 1
 | 
						|
			drawByte(videoData:byte(byteIndex))
 | 
						|
		end
 | 
						|
	end
 | 
						|
end
 | 
						|
 | 
						|
function drawByte (byte)
 | 
						|
	local divisor = 0x80
 | 
						|
 | 
						|
	for i = 1, 8 do
 | 
						|
		local bit = ((byte / divisor) % 2) >= 1
 | 
						|
		if bit then
 | 
						|
			monitor.setBackgroundColor(colors.white)
 | 
						|
		else
 | 
						|
			monitor.setBackgroundColor(colors.black)
 | 
						|
		end
 | 
						|
		monitor.write("  ")
 | 
						|
		divisor = divisor / 2
 | 
						|
	end
 | 
						|
end
 | 
						|
 | 
						|
for index = 1, 2516 do
 | 
						|
	drawFrame(index)
 | 
						|
	os.sleep(0.1)
 | 
						|
	-- os.sleep(0.5)
 | 
						|
end
 |