REM See the WYWTK Index of BBC BASIC Tutorials for more help with BBC BASIC. Many pages give you more than just the code, the way this one does. REM wywtk.com/prgm/bas/basb-med-tim-2.htm REM MedTime2.BBC- Meditation Timer REM VERS 07 Apr 2025-13:50 REM Characters accumulating in the KEYBOARD BUFFER made my REM life difficult for a while. "Press and HOLD" keys is REM NOT the way to go! PRINT "Hi. Repeat..." PRINT "Don't press more than one key at any time." PRINT "To start, press a key BRIEFLY. (Not 'Q')" PRINT "Then BRIEFLY press a key (Again, not 'Q')" PRINT "Do this at least 9 times to see all that the program does." PRINT "Until you've had enough!" PRINT "(Q TO Quit)" REPEAT PRINT "But first set the WAIT time. (20 is probably" PRINT "about right. More than 5.)" INPUT delay% UNTIL delay%>5 PRINT ci$="i" co$="*" ch$="." REM Flush buffer REPEAT pressed$=INKEY$(2) UNTIL pressed$="" REPEAT : REM Wait for user to press key... pressed$=INKEY$(2) UNTIL pressed$><"" REM Now begin main part of program... REPEAT REM Drives outer loop REM Start of first pass through inner parts REPEAT PRINT ci$; pressed$=INKEY$(2) WAIT(delay%) UNTIL pressed$><"":REMpressed$="." OR pressed$="," REM Done? IF pressed$="q" OR pressed$="Q" THEN PRINT PRINT "Bye" WAIT(120) QUIT ENDIF REPEAT PRINT ch$; pressed$=INKEY$(2) WAIT(delay%) UNTIL pressed$><"" REM Done? IF pressed$="q" OR pressed$="Q" THEN PRINT PRINT "Bye" WAIT(120) QUIT ENDIF REM End of inner parts REM *crude* "Do inner parts again" by copy/paste... REM========= VVV Second copy of "inner parts" vvv REPEAT PRINT co$; pressed$=INKEY$(2) WAIT(delay%) UNTIL pressed$><"":REMpressed$="." OR pressed$="," REM Done? IF pressed$="q" OR pressed$="Q" THEN PRINT PRINT "Bye" WAIT(120) QUIT ENDIF REPEAT PRINT ch$; pressed$=INKEY$(2) WAIT(delay%) UNTIL pressed$><"" REM Done? IF pressed$="q" OR pressed$="Q" THEN PRINT PRINT "Bye" WAIT(120) QUIT ENDIF REM========= ^^^ Second copy of "inner parts" ^^^ PRINT:REM Starts new line of Pressed/Not pressed characters UNTIL 4=5 REM End of Outer loop.