def clk_isr(): global bufchar global dir blit.fill(pyvga.framebuffer, 320, 312, 0, 8, 8, (isr.ticker & 15) + 16) if py8042.more_squeaks(): dx = dy = 0 while py8042.more_squeaks(): _,dx,dy = py8042.get_squeak() if dx > 10: dir = 'l' elif dy > 10: dir = 'k' elif dx < -10: dir = 'h' elif dy < -10: dir = 'j' elif dir: bufchar = dir; dir = None
def clk_isr(): global bufchar global dir blit.fill(pyvga.framebuffer, 320, 312, 0, 8, 8, (isr.ticker & 15) + 16) if py8042.more_squeaks(): dx = dy = 0 while py8042.more_squeaks(): _, dx, dy = py8042.get_squeak() if dx > 10: dir = 'l' elif dy > 10: dir = 'k' elif dx < -10: dir = 'h' elif dy < -10: dir = 'j' elif dir: bufchar = dir dir = None
def clk_work(): while 1: global dir blit.fill(pyvga.framebuffer, 320, \ 312, 0, 8, 8, (isr.ticker & 15) + 16) pybeep.on(qerf[isr.ticker & 31]) if py8042.more_squeaks(): dx = dy = 0 while py8042.more_squeaks(): _,dx,dy = py8042.get_squeak() if dx > 10: dir = 'l' elif dy > 10: dir = 'k' elif dx < -10: dir = 'h' elif dy < -10: dir = 'j' stack.swap(None, idl_task) elif dir: ch = dir; dir = None stack.swap(ch) else: stack.swap(None, idl_task)
def cleartext(): if textmode: tb = textbuffer else: tb = savebuffer blit.fill(tb, 4000, 0,0, 4000,1, ' \015 \015 \015 \015')
def cleartext(): if textmode: tb = textbuffer else: tb = savebuffer blit.fill(tb, 4000, 0, 0, 4000, 1, ' \015 \015 \015 \015')
def seven_segment(n): if ord("\01\00\01\01\00\01\01\01\01\01\01\00\01\00\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 140, 30, horz, 40) else: blit.fill(pyvga.framebuffer, 320, 140, 30, 40, 20, v) if ord("\01\00\00\00\01\01\01\00\01\01\00\01\01\00\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 130, 50, vert, 20) else: blit.fill(pyvga.framebuffer, 320, 130, 50, 20, 40, v) if ord("\01\01\01\01\01\00\00\01\01\01\01\00\00\01\00\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 170, 50, vert, 20) else: blit.fill(pyvga.framebuffer, 320, 170, 50, 20, 40, v) if ord("\00\00\01\01\01\01\01\00\01\01\01\01\00\01\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 140, 90, horz, 40) else: blit.fill(pyvga.framebuffer, 320, 140, 90, 40, 20, v) if ord("\01\00\01\00\00\00\01\00\01\00\01\01\01\01\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 130, 110, vert, 20) else: blit.fill(pyvga.framebuffer, 320, 130, 110, 20, 40, v) if ord("\01\01\00\01\01\01\01\01\01\01\01\01\00\01\00\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 170, 110, vert, 20) else: blit.fill(pyvga.framebuffer, 320, 170, 110, 20, 40, v) if ord("\01\00\01\01\00\01\01\00\01\00\01\01\01\01\01\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer, 320, 140, 150, horz, 40) else: blit.fill(pyvga.framebuffer, 320, 140, 150, 40, 20, v)
else: blit.fill(pyvga.framebuffer, 320, 140, 150, 40, 20, v) ######################################## import isr import ports def key_isr(): ports.outb(0xfe, 0x64) # reboot! def clk_isr(): if isr.ticker > 50: seven_segment(rtc.seconds() & 0xF) ######################################## pyvga.set320x200x256() pyvga.framebuffer[:0xFA00] = pyvga.splashscreen[:0xFA00] isr.setvec(clk_isr, key_isr) while isr.ticker < 40: pass blit.fill(pyvga.framebuffer, 320, 0, 0, 320, 200, 0) while 1: pass
def seven_segment(n): if ord("\01\00\01\01\00\01\01\01\01\01\01\00\01\00\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 140, 30, horz, 40) else: blit.fill(pyvga.framebuffer,320, 140, 30, 40, 20, v) if ord("\01\00\00\00\01\01\01\00\01\01\00\01\01\00\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 130, 50, vert, 20) else: blit.fill(pyvga.framebuffer,320, 130, 50, 20, 40, v) if ord("\01\01\01\01\01\00\00\01\01\01\01\00\00\01\00\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 170, 50, vert, 20) else: blit.fill(pyvga.framebuffer,320, 170, 50, 20, 40, v) if ord("\00\00\01\01\01\01\01\00\01\01\01\01\00\01\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 140, 90, horz, 40) else: blit.fill(pyvga.framebuffer,320, 140, 90, 40, 20, v) if ord("\01\00\01\00\00\00\01\00\01\00\01\01\01\01\01\01"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 130, 110, vert, 20) else: blit.fill(pyvga.framebuffer,320, 130,110, 20, 40, v) if ord("\01\01\00\01\01\01\01\01\01\01\01\01\00\01\00\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 170, 110, vert, 20) else: blit.fill(pyvga.framebuffer,320, 170,110, 20, 40, v) if ord("\01\00\01\01\00\01\01\00\01\00\01\01\01\01\01\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 140, 150, horz, 40) else: blit.fill(pyvga.framebuffer,320, 140,150, 40, 20, v)
if ord("\01\00\01\01\00\01\01\00\01\00\01\01\01\01\01\00"[n]): v = 55 else: v = 0 if v: blit.paste(pyvga.framebuffer,320, 140, 150, horz, 40) else: blit.fill(pyvga.framebuffer,320, 140,150, 40, 20, v) ######################################## import isr import ports def key_isr(): ports.outb(0xfe,0x64) # reboot! def clk_isr(): if isr.ticker > 50: seven_segment(rtc.seconds() & 0xF) ######################################## pyvga.set320x200x256() pyvga.framebuffer[:0xFA00] = pyvga.splashscreen[:0xFA00] isr.setvec(clk_isr, key_isr) while isr.ticker < 40: pass blit.fill(pyvga.framebuffer,320,0,0,320,200,0) while 1: pass