home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib26b.dsk
/
HAPPY.BIRTHDAY.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
3KB
|
68 lines
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