home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib31b.dsk / PROFRE.DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  2KB  |  64 lines

  1. 10  REM  ************************
  2. 20  REM  *     PROFRE.DEMO      *
  3. 30  REM  *    BY YVAN KOENIG    *
  4. 40  REM  * COPYRIGHT (C) 1987   *
  5. 50  REM  * BY MICROSPARC, INC.  *
  6. 60  REM  * CONCORD, MA  01742   *
  7. 70  REM  ************************
  8. 80  TEXT : PRINT  CHR$(21): HOME 
  9. 90  DEF  FN PIK2(X) =  PEEK(X) +256 * PEEK(X +1)
  10. 100 KBOARD = 49152:KSTRB = 49168
  11. 110 GLING =  -1052
  12. 120  VTAB 8: HTAB 8: PRINT "PROFRE.DEMO BY YVAN KOENIG": PRINT "* COPYRIGHT 1987 BY MICROSPARC, INC. *"
  13. 130  PRINT  CHR$(4)"BRUN PROFRE":NM = 860
  14. 140 A$ = "A1" +"A1"
  15. 150 B$ = "B1" +"B1"
  16. 160 A$ = "A2" +"A2"
  17. 170 B$ = "B2" +"B2"
  18. 180  REM  FIRST USE:
  19. 190  REM  FILLING MEM WITH STRINGS
  20. 200  INVERSE : VTAB 24: HTAB 10: PRINT " BUILDING ";NM;" STRINGS ";: NORMAL : POKE 35,22: VTAB 1
  21. 210  HOME 
  22. 220  DIM A$(NM)
  23. 230  FOR I = 0 TO NM
  24. 240  IF I  THEN J = I/20: ON J =  INT(J) GOSUB 540
  25. 250  GOSUB 640
  26. 260  NEXT 
  27. 270  GOSUB 550
  28. 280 B$ = "XYZ"
  29. 290  TEXT : HOME 
  30. 300  PRINT : HTAB 14: PRINT "HIMEM IS " FN PIK2(115)
  31. 310  HTAB 12: PRINT "ARRAY TOP IS " FN PIK2(109)
  32. 320  GOSUB 620
  33. 330  PRINT 
  34. 340  HTAB 5: PRINT "NOW USE PROFRE TO FREE GARBAGE": PRINT 
  35. 350  CALL GL: &  &  FRE: CALL GL
  36. 360  PRINT : HTAB 16: PRINT "IT'S DONE": PRINT 
  37. 370  REM 
  38. 380  PRINT : HTAB 21 - LEN("LAST STRING: " +B$)/2: PRINT "LAST STRING: " +B$
  39. 390  PRINT : GOSUB 620
  40. 400  INVERSE : HTAB 12: PRINT " CLEARING STRINGS ": NORMAL : PRINT 
  41. 410  FOR I = 0 TO NM:A$(I) = "": NEXT :A$ = "":M$ = "": &  &  FRE: GOSUB 620: PRINT : GOSUB 590
  42. 420  REM  SECOND USE:
  43. 430  REM  FILLING STRING ARRAY
  44. 440  REM  USE &&FRE AFTER EVERY 100
  45. 450  FOR I = 0 TO NM
  46. 460  GOSUB 640
  47. 470  IF I  THEN J = I/100: ON J =  INT(J) GOSUB 570
  48. 480  NEXT 
  49. 490  GOSUB 570
  50. 500  &  &  END 
  51. 510  REM 
  52. 520  REM  SUBROUTINES
  53. 530  REM 
  54. 540  IF  PEEK(KB) <128  THEN  RETURN 
  55. 550  PRINT : GOSUB 590: PRINT : RETURN 
  56. 560  REM 
  57. 570  GOSUB 620: PRINT : PRINT "CALLING PROFRE": CALL GL: &  &  FRE: CALL GL: PRINT : HTAB 9: PRINT "BOTTOM-OF-STRINGS NOW " FN PIK2(111): PRINT 
  58. 580  IF  PEEK(KB) <128  THEN  RETURN 
  59. 590  HTAB 11: INVERSE : PRINT " RETURN TO CONTINUE ";: NORMAL 
  60. 600  POKE KS,0: WAIT KB,128: POKE KS,0: PRINT : RETURN 
  61. 610  REM 
  62. 620  HTAB 9: PRINT "BOTTOM-OF-STRINGS IS " FN PIK2(111): RETURN 
  63. 630  REM 
  64. 640 A$(I) =  STR$(I):A$(I) = ">" + STR$( RND(1) *1000) +"<": HTAB 13: PRINT I;: HTAB 17: PRINT A$(I): RETURN