From d5f19c21d8b7184541175644f2e5890b97b498b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Mon, 16 Feb 2015 18:17:43 +0100 Subject: [PATCH 1/3] Added event viewing program MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Łukasz Magiera --- .../opencomputers/loot/OpenOS/bin/dmesg.lua | 31 +++++++++++++++++++ .../opencomputers/loot/OpenOS/usr/man/dmesg | 6 ++++ 2 files changed, 37 insertions(+) create mode 100644 src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua create mode 100644 src/main/resources/assets/opencomputers/loot/OpenOS/usr/man/dmesg diff --git a/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua b/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua new file mode 100644 index 000000000..60bfd71e7 --- /dev/null +++ b/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua @@ -0,0 +1,31 @@ +local event = require "event" +local component = require "component" + +local interactive = io.output() == io.stdout +local color, isPal, evt +if interactive then + color, isPal = component.gpu.getForeground() +end +pcall(function() + repeat + evt = {event.pull()} + if interactive then component.gpu.setForeground(0xCC2200) end + io.write("[" .. os.date("%T") .. "] ") + if interactive then component.gpu.setForeground(0x44CC00) end + io.write(tostring(evt[1]) .. string.rep(" ", math.max(10 - #tostring(evt[1]), 0) + 1)) + if interactive then component.gpu.setForeground(0xB0B00F) end + io.write(tostring(evt[2]) .. string.rep(" ", 37 - #tostring(evt[2]))) + if interactive then component.gpu.setForeground(0xFFFFFF) end + if #evt > 2 then + for i = 3, #evt do + io.write(" " .. tostring(evt[i])) + end + end + + io.write("\n") + until evt[1] == "key_down" and evt[3] == 113 +end) +if interactive then + component.gpu.setForeground(color, isPal) +end + diff --git a/src/main/resources/assets/opencomputers/loot/OpenOS/usr/man/dmesg b/src/main/resources/assets/opencomputers/loot/OpenOS/usr/man/dmesg new file mode 100644 index 000000000..89f1f7e10 --- /dev/null +++ b/src/main/resources/assets/opencomputers/loot/OpenOS/usr/man/dmesg @@ -0,0 +1,6 @@ +NAME + dmesg - display messages(events) + +SYNOPIS + dmesg + From d71c52136fdea95fd820e1246be94523c98501eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Mon, 16 Feb 2015 18:51:07 +0100 Subject: [PATCH 2/3] Added backwards compatibility to OpenLoader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Łukasz Magiera --- .../opencomputers/loot/OpenLoader/bin/opl-flash.lua | 13 +++++++++++-- .../assets/opencomputers/loot/OpenLoader/init.lua | 9 ++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/resources/assets/opencomputers/loot/OpenLoader/bin/opl-flash.lua b/src/main/resources/assets/opencomputers/loot/OpenLoader/bin/opl-flash.lua index d13f30063..a8de2204e 100644 --- a/src/main/resources/assets/opencomputers/loot/OpenLoader/bin/opl-flash.lua +++ b/src/main/resources/assets/opencomputers/loot/OpenLoader/bin/opl-flash.lua @@ -1,9 +1,18 @@ +local version = "OpenLoader 0.2EE" + local eeprom = [[ -_G._OSVERSION = "OpenLoader 0.1EE" +_G._OSVERSION = "]] .. version .. [[" local component = component or require('component') local computer = computer or require('computer') local unicode = unicode or require('unicode') +local eeprom = component.list("eeprom")() +computer.getBootAddress = function() + return component.invoke(eeprom, "getData") +end +computer.setBootAddress = function(address) + return component.invoke(eeprom, "setData", address) +end local gpu = component.list("gpu")() local w, h @@ -147,7 +156,7 @@ say ("Do you really want to flash openloader to EEPROM("..tostring(#eeprom).." b if options.q or options.quiet or io.read():lower() == "y" then say("Flashing... Do not reboot now!") component.eeprom.set(eeprom) - component.eeprom.setLabel((type(options.label) == "string" and options.label) or "OpenLoader") + component.eeprom.setLabel((type(options.label) == "string" and options.label) or version) if options.r or options.reboot then computer.shutdown(true) else diff --git a/src/main/resources/assets/opencomputers/loot/OpenLoader/init.lua b/src/main/resources/assets/opencomputers/loot/OpenLoader/init.lua index 2f70d5a3b..037fde921 100644 --- a/src/main/resources/assets/opencomputers/loot/OpenLoader/init.lua +++ b/src/main/resources/assets/opencomputers/loot/OpenLoader/init.lua @@ -1,8 +1,15 @@ -_G._OSVERSION = "OpenLoader 0.1" +_G._OSVERSION = "OpenLoader 0.2" local component = component or require('component') local computer = computer or require('computer') local unicode = unicode or require('unicode') +local eeprom = component.list("eeprom")() +computer.getBootAddress = function() + return component.invoke(eeprom, "getData") +end +computer.setBootAddress = function(address) + return component.invoke(eeprom, "setData", address) +end local gpu = component.list("gpu")() local w, h From bfb1347e8ca188b2cd00900b8385f29838d39dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Mon, 16 Feb 2015 20:58:46 +0100 Subject: [PATCH 3/3] Done some suggestions in dmesg.lua --- .../assets/opencomputers/loot/OpenOS/bin/dmesg.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua b/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua index 60bfd71e7..ab3bb4a0e 100644 --- a/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua +++ b/src/main/resources/assets/opencomputers/loot/OpenOS/bin/dmesg.lua @@ -1,14 +1,16 @@ local event = require "event" local component = require "component" +local keyboard = require "keyboard" local interactive = io.output() == io.stdout local color, isPal, evt if interactive then color, isPal = component.gpu.getForeground() end +io.write("Press 'q' to exit\n") pcall(function() repeat - evt = {event.pull()} + evt = table.pack(event.pull()) if interactive then component.gpu.setForeground(0xCC2200) end io.write("[" .. os.date("%T") .. "] ") if interactive then component.gpu.setForeground(0x44CC00) end @@ -16,14 +18,14 @@ pcall(function() if interactive then component.gpu.setForeground(0xB0B00F) end io.write(tostring(evt[2]) .. string.rep(" ", 37 - #tostring(evt[2]))) if interactive then component.gpu.setForeground(0xFFFFFF) end - if #evt > 2 then - for i = 3, #evt do + if evt.n > 2 then + for i = 3, evt.n do io.write(" " .. tostring(evt[i])) end end io.write("\n") - until evt[1] == "key_down" and evt[3] == 113 + until evt[1] == "key_down" and evt[4] == keyboard.keys.q end) if interactive then component.gpu.setForeground(color, isPal)