1 '*************************** 2 '* * 3 '* REVEIL.BA * 4 '* by Richard D. White * 5 '* FEB. 2,1988 * 6 '* PORTABLE 100 MAG. * 7 '*************************** 8 ' *** Initialize prog *** 9 CLS:BEEP:PRINT@135,"REVEILLE!":PRINT:PRINTTAB(14)"Alarm Clock" 10 LINE(50,20)-(179,48),1,B 14 DIM A(61,2) 20 GOSUB1000 25 FOR TT=1 TO 300:NEXT 30 ' **** Set the alarm & display clock. *** 90 CLS:PRINT@130,"";:INPUT"Set alarm at";T$ 95 CLS 100 PRINT@130,"ALARM SET at: ";T$; 102 ' **** Main loop starts here. **** 105 PRINT@208,"Present time is ";TIME$ 106 ' **** Compare clock to alarm setting. **** 107 ' *** If time, do alarm routine. *** 109 PRINT@290,"ANY KEY TO STOP ALARM"; 110 IF TIME$=T$ THEN 900 112 ' ** If not, loop back. ** 120 GOTO 105 130 ' *** Alarm Routine. *** 900 CLS:PRINT@134,"Get Up, DUMMY!";:GOTO2110 990 ' *** This subroutine READs notes and duration into the array. *** 1000 FOR X=0 TO 61 1050 FOR Y=1 TO 2 1100 READ A(X,Y) 1200 NEXT Y:NEXT X 1400 RETURN 2100 ' *** This routine sounds notes *** 2110 FOR N=0 TO 61 2200 PRINT@217,TIME$;:SOUND A(N,1),A(N,2)*2 2206 PRINT@290,"ANY KEY TO STOP ALARM"; 2210 IF INKEY$=""THEN 2220 ELSE MENU 2220 NEXT N 2300 GOTO 2110 9999 ' **** Notes & duration values for "Reveille". *** 10000 DATA 4184,4,3134,4,2484,2,3134,2,4184,4 10100 DATA 4184,4,3134,4,2484,2,3134,2,4184,4 10200 DATA 4184,4,3134,4,2484,2,3134,2,4184,4 10300 DATA 3134,4,2484,2,3134,2 10400 DATA 4184,4,3134,4,2484,2,3134,2,4184,4 10500 DATA 4184,4,3134,4,2484,2,3134,2,4184,4 10600 DATA 4184,4,3134,4,2484,2,3134,2,4184,4,4184,4,3134,8,0,8 10800 DATA 2484,4,2484,4,2484,4,2484,4,2092,8,2484,8 10900 DATA 2484,4,3134,4,2484,4,3134,4,2484,8,3134,8 11000 DATA 2484,4,2484,4,2484,4,2484,4,2092,8,2484,4 11010 DATA 4184,4,3134,4,2484,2,3134,2,4184,4,4184,4,3134,8,0,32 11020 END