gameduino/python/remoteunit.py

44 lines
1.3 KiB
Python

import sys
import time
import unittest
import Image
import StringIO
import gameduino.remote
import gameduino.prep as gdprep
gd = gameduino.remote.Gameduino(sys.argv.pop(), 115200)
class TestGameduino(unittest.TestCase):
def setUp(self):
pass
def test_talk(self):
self.assertEqual(gd.rd(gameduino.IDENT), 0x6d)
def test_sprites(self):
ir = gdprep.ImageRAM(StringIO.StringIO())
(rock0, rock1) = gdprep.palettize([Image.open("rock0r.png"), Image.open("rock1r.png")], 16)
ir.addsprites("rock0", (16, 16), rock0, gdprep.PALETTE16A, center = (8,8))
ir.addsprites("rock1", (32, 32), rock1, gdprep.PALETTE16A, center = (16,16))
gd.wr16(gameduino.RAM_PAL, gameduino.RGB(0, 255, 0))
gd.wrstr(gameduino.RAM_SPRIMG, ir.used())
gd.wrstr(gameduino.PALETTE16A, gdprep.getpal(rock0))
for i in range(128):
gd.sprite(i, 200 + 20 * (i & 7), 20 * (i / 8), i / 2, gdprep.PALETTE16A[i&1], 0)
(pic,chr,pal) = gdprep.encode(Image.open("platformer.png"))
gd.wrstr(gameduino.RAM_CHR, chr)
gd.wrstr(gameduino.RAM_PAL, pal)
for y in range(32):
gd.wrstr(gameduino.RAM_PIC + 64 * y, pic[16*y:16*y+16])
def test_ascii(self):
gd.ascii()
gd.putstr(10, 10, "THIS IS A!!")
if __name__ == '__main__':
unittest.main()