2023-10-15 04:26:23 +03:00
|
|
|
local tape = peripheral.find("tape_drive")
|
|
|
|
local mon = peripheral.find("monitor")
|
|
|
|
|
2023-10-15 04:40:16 +03:00
|
|
|
tape.seek(-tape.getSize())
|
2023-10-15 04:26:23 +03:00
|
|
|
mon.setTextScale(1)
|
|
|
|
|
|
|
|
local w, h = string.byte(tape.read(2), 1, 2)
|
|
|
|
|
2023-10-15 04:45:49 +03:00
|
|
|
local b = ""
|
|
|
|
for _ = 1, w do b = b .. "0" end
|
|
|
|
local f = b
|
|
|
|
|
2023-10-15 04:26:23 +03:00
|
|
|
repeat
|
|
|
|
for y = 1, h do
|
|
|
|
mon.setCursorPos(1, y)
|
2023-10-15 04:40:58 +03:00
|
|
|
local buf = { string.byte(tape.read(w), 1, -1) }
|
2023-10-15 04:45:49 +03:00
|
|
|
local s = "" -- , f, b = "", "", ""
|
2023-10-15 04:26:23 +03:00
|
|
|
for x = 1, w do
|
2023-10-15 04:40:16 +03:00
|
|
|
s = s .. string.char(0x80 + bit32.band(0x7F, buf[x]))
|
2023-10-15 04:45:49 +03:00
|
|
|
-- local inv = bit32.band(0x80, buf[x])
|
|
|
|
-- f = f .. (inv and "f" or "0")
|
|
|
|
-- b = b .. (inv and "0" or "f")
|
2023-10-15 04:26:23 +03:00
|
|
|
end
|
|
|
|
mon.blit(s, f, b)
|
|
|
|
end
|
|
|
|
os.sleep(0.01)
|
|
|
|
until tape.isEnd()
|