Here is another approach that allows you to wait for all of the characters to be entered before testing the password.
It also makes use of arraywrite to enter the Master Password.
Code:DEFINE OSC 4 'Set oscillator in MHz 'OSCCON = $60 '4 Megs DEFINE HSER_RCSTA 90H 'Set receive status and control DEFINE HSER_TXSTA 24H 'Set transmit status and control DEFINE HSER_BAUD 9615 'Baud Rate MasterPass var byte[9] pass var byte[9] PassTest var bit i var byte ' ADCON1 = 7 ' Turns Analogs off ' CMCON0 = 7 'Disable both comparators ' ANSEL = 0 ' Set all analog pins to digital arraywrite MasterPass,["299792458"] main: 'Test for 299792458 PassTest = 1 for i = 0 to 8 pass[i] = 0 next i hserout [":- "] for i = 0 to 8 hserin 65535, bed, [pass(i)] hserout [pass(i)] next i 'Check Password with Master for i = 0 to 8 if pass(i) <> MasterPass(i) then PassTest = 0 next i if PassTest = 1 then correct hserout [13,10,"NO WAY!!",13,10] goto main correct: hserout [13,10,"Correct!",13,10] goto main bed: hserout ["Timeout",13,10] bye: goto main




Bookmarks