Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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)
Beispiel #4
0
def cleartext():
	if textmode:	tb = textbuffer
	else:		tb = savebuffer
	blit.fill(tb, 4000, 0,0, 4000,1, ' \015 \015 \015 \015')
Beispiel #5
0
def cleartext():
    if textmode: tb = textbuffer
    else: tb = savebuffer
    blit.fill(tb, 4000, 0, 0, 4000, 1, ' \015 \015 \015 \015')
Beispiel #6
0
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)
Beispiel #7
0
    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
Beispiel #8
0
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)
Beispiel #9
0
	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