'{$STAMP BS2} task0 VAR Bit task1 VAR Bit task2 VAR Bit task3 VAR Bit task4 VAR Bit task5 VAR Bit task6 VAR Bit task7 VAR Bit INPUT 0 INPUT 1 INPUT 2 INPUT 3 Getred: IF IN0 = 0 AND IN1 = 0 AND IN2 = 0 AND IN3 = 0 THEN Red GOTO Getgreen Getgreen: IF IN0 = 1 AND IN1 = 0 AND IN2 = 0 AND IN3 = 0 THEN Green GOTO Getblue Getblue: IF IN0 = 0 AND IN1 = 1 AND IN2 = 0 AND IN3 = 0 THEN Blue GOTO Getorange Getorange: IF IN0 = 1 AND IN1 = 1 AND IN2 = 0 AND IN3 = 0 THEN Orange GOTO Getviolet Getviolet: IF IN0 = 0 AND IN1 = 0 AND IN2 = 1 AND IN3 = 0 THEN Violet GOTO Getyellow Getyellow: IF IN0 = 1 AND IN1 = 0 AND IN2 = 1 AND IN3 = 0 THEN Yellow GOTO Getwhite Getwhite: IF IN0 = 0 AND IN1 = 1 AND IN2 = 1 AND IN3 = 0 THEN White GOTO Getwhat Getwhat: IF IN0 = 1 AND IN1 = 1 AND IN2 = 1 AND IN3 = 0 THEN What GOTO GetOffred ''''''''''''''''''''''''''''''''''''''''''''''''''''''' GetOffred: IF IN0 = 0 AND IN1 = 0 AND IN2 = 0 AND IN3 = 1 THEN Offred GOTO GetOffgreen GetOffgreen: IF IN0 = 1 AND IN1 = 0 AND IN2 = 0 AND IN3 = 1 THEN Offgreen GOTO GetOffblue GetOffblue: IF IN0 = 0 AND IN1 = 1 AND IN2 = 0 AND IN3 = 1 THEN Offblue GOTO GetOfforange GetOfforange: IF IN0 = 1 AND IN1 = 1 AND IN2 = 0 AND IN3 = 1 THEN Offorange GOTO GetOffviolet GetOffviolet: IF IN0 = 0 AND IN1 = 0 AND IN2 = 1 AND IN3 = 1 THEN Offviolet GOTO GetOffyellow GetOffyellow: IF IN0 = 1 AND IN1 = 0 AND IN2 = 1 AND IN3 = 1 THEN Offyellow GOTO GetOffwhite GetOffwhite: IF IN0 = 0 AND IN1 = 1 AND IN2 = 1 AND IN3 = 1 THEN Offwhite GOTO GetOffwhat GetOffwhat: IF IN0 = 1 AND IN1 = 1 AND IN2 = 1 AND IN3 = 1 THEN Offwhat GOTO Tasks '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Tasks: GOSUB Flashred GOSUB Flashgreen GOSUB Flashblue GOSUB Flashorange GOSUB Flashviolet GOSUB Flashyellow GOSUB Flashwhite GOSUB Flashwhat GOTO Getred Red: HIGH 8 task0 = 1 GOTO Getgreen Offred: LOW 8 task0 = 0 GOTO GetOffgreen Green: HIGH 9 task1 = 1 GOTO Getblue Offgreen: LOW 9 task1 = 0 GOTO GetOffblue Blue: HIGH 10 task2 = 1 GOTO Getorange Offblue: LOW 10 task2 = 0 GOTO GetOfforange Orange: HIGH 11 task3 = 1 GOTO Getviolet Offorange: LOW 11 task3 = 0 GOTO GetOffviolet Violet: HIGH 11 HIGH 10 task4 = 1 GOTO GetOffred Offviolet: LOW 11 LOW 10 task4 = 0 GOTO Getyellow Yellow: HIGH 12 task5 = 1 GOTO Getwhite Offyellow: LOW 12 task5 = 0 GOTO GetOffwhite White: HIGH 13 task6 = 1 GOTO Getwhat Offwhite: LOW 13 task6 = 0 GOTO GetOffwhat What: HIGH 14 task7 = 1 GOTO GetOffred Offwhat: LOW 14 task7 = 0 GOTO Tasks '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Lowall: LOW 8 LOW 9 LOW 10 LOW 11 LOW 12 LOW 13 LOW 14 RETURN Flashred: IF task0 = 1 THEN DoFlashRed RETURN DoFlashRed: GOSUB Lowall HIGH 8 PAUSE 800 RETURN Flashgreen: IF task1 = 1 THEN DoFlashGreen RETURN DoFlashGreen: GOSUB Lowall HIGH 9 PAUSE 800 RETURN Flashblue: IF task2 = 1 THEN DoFlashBlue RETURN DoFlashBlue: GOSUB Lowall HIGH 10 PAUSE 800 RETURN Flashorange: IF task3 = 1 THEN DoFlashOrange RETURN DoFlashOrange: GOSUB Lowall HIGH 11 PAUSE 800 RETURN Flashviolet: IF task4 = 1 THEN DoFlashViolet RETURN DoFlashViolet: GOSUB Lowall HIGH 10 HIGH 11 PAUSE 800 RETURN Flashyellow: IF task5 = 1 THEN DoFlashYellow RETURN DoFlashYellow: GOSUB Lowall HIGH 12 PAUSE 800 RETURN Flashwhite: IF task6 = 1 THEN DoFlashWhite RETURN DoFlashWhite: GOSUB Lowall HIGH 13 PAUSE 800 RETURN Flashwhat: IF task7 = 1 THEN DoFlashWhat RETURN DoFlashWhat: GOSUB Lowall HIGH 14 PAUSE 800 RETURN