|
@@ -0,0 +1,46 @@
|
|
|
+import array
|
|
|
+import zlib
|
|
|
+import textwrap
|
|
|
+import gameduino2 as gd2
|
|
|
+
|
|
|
+class Fragment(gd2.base.GD2):
|
|
|
+ def __init__(self):
|
|
|
+ self.commands = ""
|
|
|
+ self.run()
|
|
|
+ print "static const PROGMEM uint8_t __%s[%d] = {" % (self.name, len(self.commands))
|
|
|
+ print textwrap.fill(", ".join(["%d" % ord(c) for c in self.commands]))
|
|
|
+ print "};"
|
|
|
+
|
|
|
+ def c(self, s):
|
|
|
+ self.commands += s
|
|
|
+
|
|
|
+class Bsod(Fragment):
|
|
|
+ name = "bsod"
|
|
|
+ def run(self):
|
|
|
+ self.cmd_dlstart()
|
|
|
+ if 1:
|
|
|
+ self.ClearColorRGB(0, 0, 96)
|
|
|
+ self.Clear()
|
|
|
+ self.cmd_text(240, 90, 31, gd2.OPT_CENTER, "ERROR")
|
|
|
+ else:
|
|
|
+ self.BitmapLayout(gd2.TEXTVGA, 2 * 60, 17)
|
|
|
+ self.BitmapSize(gd2.NEAREST, gd2.BORDER, gd2.BORDER, 480, 272)
|
|
|
+ self.BlendFunc(gd2.ONE, gd2.ZERO)
|
|
|
+ self.Begin(gd2.BITMAPS)
|
|
|
+ self.Vertex2ii(0,0,0,0)
|
|
|
+ full = 60 * "!"
|
|
|
+ edge = "! !"
|
|
|
+ text = full + 15 * edge + full
|
|
|
+ screen = "".join(c + chr(0x1f) for c in text)
|
|
|
+ cscreen = zlib.compress(screen)
|
|
|
+ self.cmd_inflate(0)
|
|
|
+ self.c(cscreen)
|
|
|
+
|
|
|
+class IoMessage(Fragment):
|
|
|
+ name = "bsod_badfile"
|
|
|
+ def run(self):
|
|
|
+ self.cmd_text(240, 148, 29, gd2.OPT_CENTER, "Cannot open file:")
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ Bsod()
|
|
|
+ IoMessage()
|