local args = {...}
local component = require("component")
local computer = require("computer")
local event = require("event")
local gpu = component.gpu
local unicode = require("unicode")
local keyboard = require("keyboard")
local text = require("text")
local os = require("os")

function resetGPU(w, h)
	gpu.setResolution(w, h)
	gpu.setBackground(0, false)
	gpu.setForeground(16777215, false)
	gpu.fill(1, 1, w, h, " ")
end

active = 1
function onKeyDown(name, addr, char, key, player)
	active = 0
	return false
end
event.listen("key_down", onKeyDown)

resetGPU(160, 50)
local ticks = 0

gpu.setViewport(80, 25)
gpu.setBackground(0x404040, false)
local osx = 80
local osy = 25
for i=1,25 do
   local ch = ""
   for j=1,80 do
     ch = ch .. unicode.char(64 + i)
   end
   gpu.set(1, i, ch)
end
while active == 1 do
	local w = 80 - ((math.sin(ticks / 10) + 1) * 35)
	local h = w * 5 / 16
 gpu.setViewport(w, h)
 os.sleep(0.05)
 ticks = ticks + 1
end

resetGPU(80, 25)
