home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib29a.dsk
/
SEPTEMBER.1986
/
TIME.DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
40 lines
10 REM **********************
20 REM * TIME.DEMO *
30 REM * COPYRIGHT 1986 BY *
40 REM * MICROSPARC, INC. *
50 REM * CONCORD, MA 01742 *
60 REM **********************
70 HOME
80 CVEC = 48902: REM CLOCK VECTOR
90 CL = 0: IF PEEK(CVEC) < >96 THEN CL = 1
100 IF PEEK(48896) < >76 THEN VTAB 7: PRINT "THIS PROGRAM ONLY WORKS UNDER PRODOS": END
110 ONERR GOTO 370
120 PRINT CHR$(4)"BRUN UNIV.APSFT": POKE 216,0
130 IF CL THEN & AT (8,2):A$ = "A clock card is installed": & TEXT (A$): GOTO 240
140 & AT (8,2):A$ = "No clock card installed": & TEXT (A$)
150 A$ = "Enter hours (0-23): ": & AT (0,4): & TEXT (A$): & INPUT (2,H$,H$):H% = VAL(H$)
160 A$ = "Enter minutes (0-59): ": & AT (0,5): & TEXT (A$): & INPUT (2,M$,M$):M% = VAL(M$)
170 ONERR GOTO 330: REM CHECK FOR VALID TIME
180 & S(H%,M%):A$ = "The time is now set": & AT (0,7): & TEXT (A$)
190 A$ = "Enter month (1-12): ": & AT (0,9): & TEXT (A$): & INPUT (2,MN$,MN$):MN% = VAL(MN$)
200 A$ = "Enter day (1-31): ": & AT (0,10): & TEXT (A$): & INPUT (2,DA$,DA$):DA% = VAL(DA$)
210 A$ = "Enter year (0-99): ": & AT (0,11): & TEXT (A$): & INPUT (2,YR$,YR$):YR% = VAL(YR$)
220 ONERR GOTO 350: REM CHECK FOR VALID DATE
230 & D(MN%,DA%,YR%):A$ = "The date is now set": & AT (0,13): & TEXT (A$)
240 & AT (0,22):A$ = "Press <RETURN> to read date and time": & TEXT (A$)
250 GET CH$
260 & T(H%,M%): & R(MN%,DA%,YR%)
270 & AT (0,20)
280 A$ = "The time is " + STR$(H%) + LEFT$(":0",(M% <10) +1) + STR$(M%): & TEXT (A$)
290 & AT (0,21)
300 A$ = "The date is " + STR$(MN%) +"/" + STR$(DA%) +"/" + STR$(YR%): & TEXT (A$)
310 & AT (0,22): CALL -958
320 & Q: END
330 POKE 216,0:A$ = "Invalid time entered": & AT (0,21): CALL -958: & TEXT (A$):A$ = "Press <RETURN> to continue": & AT (0,22): & TEXT (A$)
340 GET CH$: CALL -3288: & AT (0,4): CALL -958: GOTO 150
350 POKE 216,0:A$ = "Invalid date entered": & AT (0,21): CALL -958: & TEXT (A$):A$ = "Press <RETURN> to continue": & AT (0,22): & TEXT (A$)
360 GET CH$: CALL -3288: & AT (0,9): CALL -958: GOTO 190
370 EE = PEEK(222): POKE 216,0
380 HOME : VTAB 7
390 IF EE = 6 THEN PRINT "THIS PROGRAM REQUIRES THAT THE FILE": INVERSE : PRINT "UNIV.APSFT";: NORMAL : PRINT " BE ON THE SAME DISK": END
400 PRINT "I/O ERROR": END