From 9f71f189ed2fc2cb7234a77b22eccc00670f463c Mon Sep 17 00:00:00 2001 From: LDDestroier Date: Sat, 30 Sep 2023 00:59:56 -0400 Subject: [PATCH] Create tapewrite.lua --- tapewrite.lua | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tapewrite.lua diff --git a/tapewrite.lua b/tapewrite.lua new file mode 100644 index 0000000..5716693 --- /dev/null +++ b/tapewrite.lua @@ -0,0 +1,35 @@ +local tArg = {...} +local fileName = tArg[1] +local tapeName = tArg[2] +local tape = peripheral.find("tape_drive") +local file +if fileName:sub(1,8) == "https://" then + file = http.get(fileName) +else + file = fs.open(fs.combine(shell.dir(),fileName), "r") +end + +local byte = 0 +tape.seek(-tape.getPosition()) +if tapeName then + tape.setLabel(tapeName) +end +local counter = 0 + +while true do + byte = file.read() + if not byte then break end + counter = counter + 1 + tape.write(byte:byte()) + if counter == 4096 then + counter = 0 + os.queueEvent("yield") + os.pullEvent("yield") + write(".") + end +end + +tape.seek(-tape.getPosition()) +file.close() + +print("\nIt is written.")