'SMART CARD READER PROGRAMM
'Reads Memory Card Data and transmits them as ASCII characters
'to a terminal.


'DEFINE OSC 8


TRISB = %00011001

f VAR BYTE
g VAR BYTE
h VAR BYTE
e VAR BYTE
r VAR BYTE
blink VAR BYTE

INCLUDE "C:\PBP\MODEDEFS.BAS"

PORTB = %00000010
High 7
High 6      'clock to card
Low 6
Low 7
High 6
Low 6
High 5
IF PORTB.3=0 Then learn
IF PORTB.3=1 Then check
learn:	For f = 0 to 31
		e=0
		For g=0 to 7
		e=e*2
		e=e+PORTB.4
		High 6
		Low 6
		Next g
		h=32*PORTB.0
		h=h+f
		Write h,e
		Next f
		PORTB=0
		blink=50
		GoTo led
check:	For f = 0 to 31
		e=0
		For g=0 to 7
		e=e*2
		e=e+PORTB.4
		High 6
		Low 6
		Next g
		Read f,r
		IF e<>r Then other
		GoTo cont
other:	h=f+32
		Read h,r
		IF e<>r Then error
cont:	Next f
		PORTB=%00000110
		GoTo forever
error:	PORTB=0
		blink=255
		GoTo led

led:	For f=0 to 10
		High 1
		Pause blink
		Low 1
		Pause blink
		Next f
forever:GoTo forever

End
