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

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