====================================================================== ' File.. 97 Haunt Controller ' Author.. Steve O..GoE ' {$STAMP BS1} ' {$PBASIC 1.0} ' {$PORT COM1} ====================================================================== ' -----[ Constants ]-------------------------------------------------- SYMBOL Door1 = 6 SYMBOL Door2 = 4 SYMBOL Prop = 5 SYMBOL IsOn = 1 SYMBOL IsOff = 0 SYMBOL Baud = OT2400 SYMBOL AP8Addr = %00 SYMBOL RC4Addr = %10 SYMBOL Serial = 7 SYMBOL Trigger1 = PIN0 SYMBOL Trigger2 = PIN1 SYMBOL Trigger3 = PIN2 SYMBOL Trigger4 = PIN3 ' -----[ Variables ]-------------------------------------------------- SYMBOL IDX = B2 ' -----[ Program Code ]----------------------------------------------- Main: IF Trigger1 = IsOn THEN Door_Slam IF Trigger2 = IsOn THEN Fog IF Trigger3 = IsOn THEN Crypt_Pop GOTO Main Door_Slam: FOR IDX = 1 TO 7 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 2, 1) HIGH Door1 HIGH Door2 PAUSE 100 LOW Door1 LOW Door2 PAUSE 100 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 2, 0) NEXT GOTO Main Fog: SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 1, 1) PAUSE 1000 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 1, 0) GOTO Main Crypt_Pop: FOR IDX = 1 TO 7 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 3, 1) PAUSE 50 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 3, 0) PAUSE 150 NEXT SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 2, 1) SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 1, 0) HIGH Door1 PAUSE 70 'pause to synch door open HIGH Door2 PAUSE 100 'pause for door open HIGH Prop SEROUT Serial, Baud, ("!AP8", AP8Addr, "P", 1) FOR IDX = 1 TO 20 ' flash lights SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 2, 1) PAUSE 75 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 2, 0) NEXT SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 1, 0) LOW Prop PAUSE 550 ' pause for prop drop LOW Door1 PAUSE 50 'pause to synch door close LOW Door2 SEROUT Serial, Baud, ("!RC4", RC4Addr, "R", 2, 0) GOTO Main