image of READY prompt

Wang2200.org

Listing of file='BIRTHDAY' on disk='vmedia/2282_graphics_crt_demos.wvd.zip'

# Sector 119, program filename = 'BIRTHDAY'
0001 REM %BIRTHDAY GREETING PROGRAM - 04/13/79 - by R.L. Droz
0002 COM P$3
0003 DIM S1$64,L(9,2),N$16,A$2
0005 PRINT HEX(0D03),,"BIRTHDAY GREETING PROGRAM."
   : PRINT
0010 LINPUT "GRAPHICS CRT IS AT WHICH ADDRESS?" -P$
0011 MAT SEARCH "0413151617", = STR(P$,2,2) TO L$
   : IF STR(L$,,2)=HEX(0000) THEN 5
0012 SELECT PLOT  <P$>
0015 SELECT D
0016 LINPUT "WHO'S BIRTHDAY IS IT TODAY?" -N$
0043 PLOT  <,,HEX(0603E5)>
   : ERRORGOTO 5
0045 GOSUB '60(350,"HAPPY BIRTHDAY")
0049 STR(S1$,,20)=ALL("]")
   : STR(S1$,10-LEN(N$)/2,LEN(N$))=N$
0050 GOSUB '60(Y9-5,S1$)
0051 PRINT "HOW OLD IS ";N$;"?";
   : LINPUT -A$
   : IF NUM(A$)=LEN(A$) OR A$=" " THEN 62
   : PRINT HEX(0C07);
   : GOTO 51
0062 SELECT P9
   : PRINT "2200 Birthday Greeting program running ..."
0063 PRINT "To stop program, $RELEASE TERMINAL TO";#PART
   : PRINT
   : PRINT
   : PRINT
0064 SELECT P
   : $RELEASE TERMINAL
   : $PSTAT="GREETING"
0065 REM % DRAW CAKE
0066 X=300
   : REM X POSITION
0067 Y=0
   : REM Y POSITION
0068 M=2
   : REM MAGNIFICATION FACTOR
0069 PLOT  <,,R>,<X,Y,U>
0070 PLOT  <0,40*M,D>,<80*M,0,D>,<0,-40*M,D>,<-80*M,0,D>
0071 PLOT  <13*M,40*M,U>
0072 FOR I=1 TO 3
0073 PLOT  <0,15*M,D>,<4*M,0,D>,<0,-15*M,D>,<21*M,0,U>
0074 NEXT I
0075 PLOT  <1,,C>,<0,0,S>
0076 FOR I=0 TO 2
   : PLOT  <,,R>,<X+14*M+25*M*I,Y+60*M,"(">,<,,R>,<X+14*M+25*M*I+3,Y+60*M,")">
   : NEXT I
0077 REM %PLOT AGE
0078 PLOT  <3,,C>,<30,,S>,<,,R>,<X+80*M/3,Y+60*M/3,A$>
0079 PLOT  <1,,C>,<0,,S>
0080 REM % BLINK LIGHTS
0085 RESTORE
   : FOR I=1 TO 9
   : READ L
   : L(I,1)=M*L+X
   : READ L
   : L(I,2)=M*L+Y
   : NEXT I
0090 DATA  15,70,   40,70,   65,70,  10,65,  20,65,  35,65,  45,65,  60,65,  7
     0,65
0095 PLOT  <1,,C>,<10,,S>
0100 L=MOD(9*RND(1),9)
   : PLOT  <,,R>,<L(L+1,1),L(L+1,2),"'">
0105 IF RND(1)>.5 THEN PLOT  <,,HEX(E1)>
   : ELSE PLOT  <,,HEX(E2)>
0110 FOR I=1 TO 5
   : $BREAK 255
   : NEXT I
   : GOTO 100
0115 REM % CENTER WORDS
0120 DEFFN'60(Y9,S1$)
   : C=MIN(INT(80/LEN(S1$)),4)
   : S=MAX(10*C,800/LEN(S1$))
0125 $TRAN (S1$, " ]  ") R
   : PLOT  <,,R>,<C,,C>,<S,,S>,<S/2,MIN(512-S,Y9),S1$>
0130 Y9=MIN(Y9,512)-2.5*S
   : RETURN
0135 DEFFN'31
   : COM CLEAR  P$
   : LOAD DC T "!"
9000 DEFFN'0
   : PLOT  <,,HEX(03)>
   : RETURN