home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib31b.dsk
/
PROFRE.DEMO.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
64 lines
10 REM ************************
20 REM * PROFRE.DEMO *
30 REM * BY YVAN KOENIG *
40 REM * COPYRIGHT (C) 1987 *
50 REM * BY MICROSPARC, INC. *
60 REM * CONCORD, MA 01742 *
70 REM ************************
80 TEXT : PRINT CHR$(21): HOME
90 DEF FN PIK2(X) = PEEK(X) +256 * PEEK(X +1)
100 KBOARD = 49152:KSTRB = 49168
110 GLING = -1052
120 VTAB 8: HTAB 8: PRINT "PROFRE.DEMO BY YVAN KOENIG": PRINT "* COPYRIGHT 1987 BY MICROSPARC, INC. *"
130 PRINT CHR$(4)"BRUN PROFRE":NM = 860
140 A$ = "A1" +"A1"
150 B$ = "B1" +"B1"
160 A$ = "A2" +"A2"
170 B$ = "B2" +"B2"
180 REM FIRST USE:
190 REM FILLING MEM WITH STRINGS
200 INVERSE : VTAB 24: HTAB 10: PRINT " BUILDING ";NM;" STRINGS ";: NORMAL : POKE 35,22: VTAB 1
210 HOME
220 DIM A$(NM)
230 FOR I = 0 TO NM
240 IF I THEN J = I/20: ON J = INT(J) GOSUB 540
250 GOSUB 640
260 NEXT
270 GOSUB 550
280 B$ = "XYZ"
290 TEXT : HOME
300 PRINT : HTAB 14: PRINT "HIMEM IS " FN PIK2(115)
310 HTAB 12: PRINT "ARRAY TOP IS " FN PIK2(109)
320 GOSUB 620
330 PRINT
340 HTAB 5: PRINT "NOW USE PROFRE TO FREE GARBAGE": PRINT
350 CALL GL: & & FRE: CALL GL
360 PRINT : HTAB 16: PRINT "IT'S DONE": PRINT
370 REM
380 PRINT : HTAB 21 - LEN("LAST STRING: " +B$)/2: PRINT "LAST STRING: " +B$
390 PRINT : GOSUB 620
400 INVERSE : HTAB 12: PRINT " CLEARING STRINGS ": NORMAL : PRINT
410 FOR I = 0 TO NM:A$(I) = "": NEXT :A$ = "":M$ = "": & & FRE: GOSUB 620: PRINT : GOSUB 590
420 REM SECOND USE:
430 REM FILLING STRING ARRAY
440 REM USE &&FRE AFTER EVERY 100
450 FOR I = 0 TO NM
460 GOSUB 640
470 IF I THEN J = I/100: ON J = INT(J) GOSUB 570
480 NEXT
490 GOSUB 570
500 & & END
510 REM
520 REM SUBROUTINES
530 REM
540 IF PEEK(KB) <128 THEN RETURN
550 PRINT : GOSUB 590: PRINT : RETURN
560 REM
570 GOSUB 620: PRINT : PRINT "CALLING PROFRE": CALL GL: & & FRE: CALL GL: PRINT : HTAB 9: PRINT "BOTTOM-OF-STRINGS NOW " FN PIK2(111): PRINT
580 IF PEEK(KB) <128 THEN RETURN
590 HTAB 11: INVERSE : PRINT " RETURN TO CONTINUE ";: NORMAL
600 POKE KS,0: WAIT KB,128: POKE KS,0: PRINT : RETURN
610 REM
620 HTAB 9: PRINT "BOTTOM-OF-STRINGS IS " FN PIK2(111): RETURN
630 REM
640 A$(I) = STR$(I):A$(I) = ">" + STR$( RND(1) *1000) +"<": HTAB 13: PRINT I;: HTAB 17: PRINT A$(I): RETURN