15 DEFINT A-Z:KEY OFF:SCREEN 1,0:COLOR 8,1:CLS:K=0:MN=0:Z=0
17 GOSUB 64800
20 DEF SEG=&HB800
25 GOSUB 60140
36 GOSUB 65027:REM SETUP INITIAL SECONDS,HOUR,MIN,SECOND
37 COUNTER=SECONDS:STARTTIME=COUNTER+10:REM BASE FOR CALCULATING SECONDS TO GO
50 GOSUB 400:REALTIME$=TM$
61 SCREEN 1,0:COLOR 8,1:K=0:MN=0:Z=0
62 CLS:EC=0:OC=0:BC=3:X=75:Y=23:D$="THE TIME IS NOW":GOSUB 60010
65 EC=2:OC=2:BC=4:X=135:Y=48:D$=REALTIME$:GOSUB 60010:REM PRINT CIVILIAN TIME
75 GOSUB 65030:REM GET CURRENT SECONDS
76 TIMELEFT=STARTTIME-SECONDS:GOSUB 65030:REM CALCULATE THE MIN,SECOND LEFT
77 SECONDS=TIMELEFT:GOSUB 65045:IF MIN=-1 THEN FOR DELAY=1 TO 1000:NEXT:GOTO 123
78 TIMELEFT$=STR$(MIN)+" MIN, "+STR$(SECOND)+" SEC"
80 X=14:Y=98:D$="COUNTDOWN TO BLASTOFF":GOSUB 60010
85 EC=1:OC=1:X=75:Y=123:D$=TIMELEFT$:GOSUB 60010:FOR DELAY=1 TO 3000:NEXT
90 GOTO 50
120 GOSUB 64800
123 DEF SEG=&HB800
125 CLS:EC=2:OC=2:BC=4:X=70:Y=20:D$="LET'S BLAST OFF":GOSUB 60010
130 EC=2:OC=2:BC=4:X=60:Y=50:D$="TO THE WORLD OF":GOSUB 60010
132 EC=3:OC=3:BC=4:X=60:Y=80:D$="THE IBM PERSONAL":GOSUB 60010
135 EC=3:OC=3:BC=4:X=100:Y=110:D$="COMPUTER":GOSUB 60010
140 FOR PAUSE=1 TO 3000:NEXT:COLOR ,0
145 CLS:EC=1:OC=1:BC=4:X=60:Y=20:D$="IMAGINE THAT YOU":GOSUB 60010
150 EC=1:OC=1:BC=4:X=60:Y=50:D$="ARE AN ASTRONAUT":GOSUB 60010
152 EC=2:OC=2:BC=4:X=60:Y=80:D$="BLASTING OFF FROM":GOSUB 60010
155 EC=2:OC=2:BC=4:X=60:Y=110:D$="THE FAIRGROUNDS":GOSUB 60010
160 FOR PAUSE=1 TO 3000:NEXT:COLOR ,1
165 CLS:EC=3:OC=3:BC=4:X=60:Y=80:D$="  HERE WE GO!!!  ":GOSUB 60010
170 GOSUB 60250
175 CLS:SCREEN 1,0:COLOR 2,0:K=0:MN=0:Z=0
177 CLS
180 DEF SEG=&HB800
185 CLS:EC=2:OC=2:BC=4:X=140:Y=80:D$="TEN":GOSUB 60010
190 CLS:EC=2:OC=2:BC=4:X=140:Y=80:D$="NINE":GOSUB 60010
195 CLS:EC=2:OC=2:BC=4:X=140:Y=80:D$="EIGHT":GOSUB 60010
197 COLOR 6,0
200 CLS:OS=0:EC=2:OC=2:BC=3:X=140:Y=80:D$="SEVEN":GOSUB 60010
205 CLS:EC=2:OC=2:BC=3:X=140:Y=80:D$="SIX":GOSUB 60010
210 CLS:EC=2:OC=2:BC=3:X=140:Y=80:D$="FIVE":GOSUB 60010
215 CLS:EC=2:OC=2:BC=3:X=140:Y=80:D$="FOUR":GOSUB 60010
217 COLOR 4,0
220 CLS:EC=3:OC=3:BC=2:X=140:Y=80:D$="THREE":GOSUB 60010
225 CLS:EC=3:OC=3:BC=2:X=140:Y=80:D$="TWO":GOSUB 60010
230 CLS:EC=3:OC=3:BC=2:X=140:Y=80:D$="ONE":GOSUB 60010
235 CLS:EC=3:OC=3:BC=2:X=100:Y=80:D$="BLAST OFF!!!!":GOSUB 60010
240 REM ********************************************************
250 REM INSET NOISE AND BLASTOFF SEQUENCE HERE
260 REM **********************************************************
270 RUN"BLASTOFF
400 TM$=TIME$:TM!=(3600*VAL(MID$(TM$,1,2)))+(60*VAL(MID$(TM$,4,2)))+VAL(MID$(TM$,7,2))+ADR
402 TMH=INT(TM!/3600):IF TMH>12 THEN TMH=TMH-12
404 TMM=TM!-3600*INT(TM!/3600):TMM=100+INT(TMM/60)
406 TMS=100+(TM!-60*INT(TM!/60))
410 TM$=RIGHT$(STR$(TMH),2)+":"+RIGHT$(STR$(TMM),2)+":"+RIGHT$(STR$(TMS),2)
420 RETURN
60000 'SAVE"GCS",A  'GRAPHICS CHARACTER SUBROUTINES
60010 'DISPLAY STRING
60020 FOR I=1 TO LEN(D$):A=ASC(MID$(D$,I,1))
60030 IF OS=128 THEN IF A<>32 THEN A=A+128
60040 'DISPLAY CHARACTER
60050 LX=X+W(A):IF LX>WID THEN X=0:Y=Y+SH:GOTO 60050
60060 LY=Y+H(A):IF LY>200 THEN Y=0:X=0:GOTO 60050
60070 IF (X AND 1)=0 THEN SWAP EC,OC
60080 IF BC<4 THEN LINE(X,Y)-(LX-1,LY-1),BC,BF
60090 K=POINT(X,Y):PSET(X,Y),K:FOR K=0 TO 2:IF CHAR$(A,K)<>"" THEN DRAW CHAR$(A,K)
60100 NEXT K:IF (X AND 1)=0 THEN SWAP EC,OC
60110 X=LX:IF X+SW>WID THEN X=0:Y=Y+SH:IF Y+SH>200 THEN Y=0
60120 NEXT I:RETURN
60130 '
60140 'INITIALIZATION
60150 A=0:X=0:Y=0:LX=0:LY=0:EC=3:OC=3:BC=4:D$="":K=0:WID=320
60160 DIM CHAR$(255,2),H(255),W(255)
60170 'GET CHARACTER SET
60180 OPEN "ELEPH.EXE" FOR INPUT AS #1
60190 INPUT #1,DEC,H,W,K:IF DEC=0 THEN 60220
60200 FOR I=0 TO K-1:INPUT #1,D$:IF H(DEC)<>99 THEN CHAR$(DEC,I)=D$
60210 NEXT I:H(DEC)=H:W(DEC)=W:GOTO 60190
60220 CLOSE #1:SH=H:SW=W:H(32)=SH:W(32)=SW:RETURN
60250 FOR BACKGROUND=1 TO 16
60252 FOR PAUSE=1 TO 300:NEXT
60255 FOR PALETTE=0 TO 1:NEXT
60257 COLOR BACKGROUND,PALETTE
60260 NEXT
60265 RETURN
64800 ' START.BAS    SYSTEM STARTUP ROUTINE     6/9/81 PBK
64805 KEY OFF
64810 DIM A$(15),P$(15):SCREEN 0,1:WIDTH 40:COLOR 15,1,1:LOCATE ,,0
64815 GREEN=2: BLUE=9: CYAN=3: YELLOW=6 ELSE GREEN=7: BLUE=9: CYAN=7: YELLOW=7
64820 A$(13)= "       Personal Computer     "
64825 A$(1)=SPACE$(39):A$(2)=A$(1):A$(11)=A$(1):A$(12)=A$(1):A$(14)=A$(1):A$(15)=A$(1)
64830  A$(1)= "          The             "
64835  A$(3)= "????  ??????   ??       ??"
64840  A$(4)= "????  ???????  ???     ???"
64845  A$(5)=" ??    ??  ??   ???   ??? "
64850  A$(6)=" ??    ?????    ???? ???? "
64855  A$(7)=" ??    ?????    ????????? "
64860  A$(8)=" ??    ??  ??   ?? ??? ?? "
64865  A$(9)="????  ???????  ???  ?  ???"
64870 A$(10)="????  ??????   ???  ?  ???"
64875 CLS
64880 FOR I = 2 TO 40
64885 FOR J = 3 TO 10
64890 LOCATE J+5,I:PRINT "?";
64895 NEXT J:SOUND 100+RND*3000,1:NEXT I
64900 FOR I = 1 TO 7
64905 FOR J = 3 TO 10
64910 LOCATE J+5,I:PRINT " ";
64915 NEXT J:SOUND 100+RND*3000,1:NEXT I
64920 FOR I=8 TO 33:FOR J=3 TO 10:IF MID$(A$(J),I-7,1)=" "THEN LOCATE J+5,I:PRINT " ";
64925 NEXT J:SOUND 100+RND*3000,1:NEXT I
64930 FOR I = 34 TO 40
64935 FOR J = 3 TO 10
64940 LOCATE J+5,I:PRINT " ";
64945 NEXT J:SOUND 100+RND*3000,1:NEXT I
64950 GOTO 64965
64955 FOR I=2 TO 12
64960 COLOR 15,BLUE:LOCATE I+5,5: PRINT SPACE$(3)+A$(I)+SPACE$(3): NEXT
64965 COLOR 15,BLUE:LOCATE 1+5,6: PRINT SPACE$(3)+A$(1)+SPACE$(3)
64970 SOUND 100+RND*3000,1
64975 COLOR 15,BLUE:LOCATE 13+5,2: PRINT SPACE$(3)+A$(13)
64980 SOUND 100+RND*3000,4
64985 RETURN
65027 MILTIME$=TIME$:MILHR$=LEFT$(MILTIME$,2):MILHR=VAL(MILHR$)
65028 IF MILHR>12 THEN REALHR=MILHR-12:REALHR$=STR$(REALHR)
65029 REALTIME$=REALHR$+MID$(TIME$,3,6)
65030 HR$=LEFT$(REALTIME$,2):MIN$=MID$(TIME$,4,2):SEC$=RIGHT$(TIME$,2)
65035 HR=VAL(HR$):MIN=VAL(MIN$):SEC=VAL(SEC$)
65040 SECONDS=(60*MIN)+SEC
65045 MIN=INT(SECONDS/60)
65050 SECOND=(SECONDS-(MIN*60))
65060 RETURN