home *** CD-ROM | disk | FTP | other *** search
- 10 REM **********************
- 20 REM * HAPPY.BIRTHDAY *
- 30 REM * BY JONATHAN COHEN *
- 40 REM * COPYRIGHT (C) 1985 *
- 50 REM * BY MICROSPARC, INC *
- 60 REM * CONCORD, MA 01742 *
- 70 REM **********************
- 80 REM POKE PROGRAM AND DATA
- 90 HOME : VTAB 12: PRINT "READING DATA": FOR LOOP = 24576 TO 24868
- 100 READ A
- 110 POKE LOOP,A
- 120 NEXT LOOP
- 130 REM ---GET INFORMATION---
- 140 HOME : VTAB 22: PRINT "** COPYRIGHT 1985 BY MICROSPARC, INC. **": VTAB 1: INPUT "ENTER THE NAME OF THE BIRTHDAY PERSON ";P$
- 150 IF LEN(P$) >20 OR LEN(P$) <1 THEN PRINT "SORRY, BAD LENGTH": PRINT : GOTO 140
- 160 PRINT : PRINT : PRINT "HOW MANY LETTERS FOR THE FIRST NOTE? ";: GET F
- 170 PRINT F
- 180 IF F <1 OR F >20 OR F > LEN(P$) THEN 160
- 190 PRINT : INPUT "FLASHING, INVERSE, OR NORMAL NAME? ";S$
- 200 IF LEFT$(S$,1) = "F" THEN S = 0
- 210 IF LEFT$(S$,1) = "I" THEN S = -64
- 220 IF LEFT$(S$,1) = "N" THEN S = 64
- 230 IF S = 0 AND LEFT$(S$,1) < >"F" THEN GOTO 190
- 240 REM ------POKE NAME------
- 250 FOR LOOP = 0 TO LEN(P$) -1
- 260 IF ASC( MID$ (P$,LOOP +1,1)) <65 THEN POKE 24769 +LOOP, ASC( MID$ (P$,LOOP +1,1)) +S +64: GOTO 280
- 270 POKE 24769 +LOOP, ASC( MID$ (P$,LOOP +1,1)) +S
- 280 NEXT LOOP
- 290 REM POKE LETTERS IN NOTE
- 300 POKE 24698,F +62
- 310 REM -GIVE DEMONSTRATION-
- 320 CALL 24576
- 330 REM -----OFFER SAVE------
- 340 PRINT "SAVE PROGRAM (Y/N)?";: GET A$: PRINT A$: IF A$ < >"Y" GOTO 370
- 350 IF LEN(P$) >10 THEN P$ = LEFT$(P$,10)
- 360 PRINT CHR$(4)"BSAVE "P$".BDAY,A24576,L293"
- 370 END
- 380 REM --PROGRAM AND DATA--
- 390 DATA 32,88,252,169,0,133,0,133,1,133
- 400 DATA 2,133,3,133,4,133,7,169,40,133
- 410 DATA 5,169,4,133,6,164,2,166,4,189
- 420 DATA 235,96,197,2,240,3,76,47,96,230
- 430 DATA 4,230,6,169,0,133,7,185,131,96
- 440 DATA 164,7,145,5,166,3,230,2,230,7
- 450 DATA 189,105,96,197,2,208,214,189,240,96
- 460 DATA 133,0,189,10,97,133,1,173,48,192
- 470 DATA 136,208,4,198,1,240,8,202,208,246
- 480 DATA 166,0,76,77,96,230,3,166,3,224
- 490 DATA 25,208,178,96,234,2,6,11,15,18
- 500 DATA 21,23,27,32,36,39,42,44,48,53
- 510 DATA 57,62,64,82,84,88,93,97,100,103
- 520 DATA 234,200,193,208,208,217,160,194,201,210
- 530 DATA 212,200,196,193,217,160,212,207,160,217
- 540 DATA 207,213,200,193,208,208,217,160,194,201
- 550 DATA 210,212,200,196,193,217,160,212,207,160
- 560 DATA 217,207,213,200,193,208,208,217,160,194
- 570 DATA 201,210,212,200,196,193,217,160,196,197
- 580 DATA 193,210,160,160,160,160,160,160,160,160
- 590 DATA 160,160,160,160,160,160,160,160,160,160
- 600 DATA 160,160,160,200,193,208,208,217,160,194
- 610 DATA 201,210,212,200,196,193,217,160,212,207
- 620 DATA 160,217,207,213,234,21,42,82,103,234
- 630 DATA 96,96,86,96,72,76,96,96,86,96
- 640 DATA 64,72,96,96,47,57,72,76,86,54
- 650 DATA 54,57,72,64,72,234,94,31,125,125
- 660 DATA 125,250,94,31,125,125,125,250,94,31
- 670 DATA 125,125,125,125,125,94,31,125,125,125
- 680 DATA 250,234,0