0 REM (null) (null) (null)(null)(null)(null)`NEWCLOSERNDLET(null)(null)MID$(null)(null)L................................................. 5 REM 6 REM WARNING! 7 REM DO NOT DELETE LINE 0! IT CONTAINS A MACHINE LANGUAGE ROUTINE; 8 REM WHICH, IF DELETED, COULD CAUSE YOUR COMPUTER TO LOCK-UP. 9 REM IE: DELETING LINE 0 COULD BE HAZARDOUS TO THIS PRG'S HEALTH! 10 REM 11 REM LINE 0 IS NOT NEEDED TO RUN NUBASIC. IT IS NEEDED TO RUN 12 REM THIS DEMO PROGRAM. ALL NUBASIC COMMANDS WILL WORK WITHOUT IT. 13 REM 20 REM NUBASIC DEMO 25 REM BY JOE GARRETT 30 IF PEEK(49152)=165 AND PEEK(49153)=2 THEN 50 35 IFPEEK(816)=231ANDPEEK(817)=195THENSYS49155:POKE816,165:POKE817,244 40 GOSUB60100 45 LOAD"NUBASIC",8,1 50 SYS 49152 60 : 65 GOSUB 5000 70 REM THE 'AT' STATEMENT EXAMPLE 75 : 77 POKE53280,3:POKE53281,3 80 PRINT"[147]" 85 PRINT" THE 'AT' COMMAND MAKES TEXT FORMATTING" 86 (null) 14,7 : PRINT "A BREEZE!":GOSUB4000 87 PRINT"[147]":POKE53281,14:POKE53280,14 90 FOR T=0 TO 18 STEP 2 100 (null) 18+T,24 : PRINT "WOW"; 110 (null) 18-T,24 : PRINT "WOW" 115 (null) 10,2 : NEXT 120 : 130 FOR T=18 TO 0 STEP -2 140 (null) 18+T,24 : PRINT "WOW"; 150 (null) 18-T,24 : PRINT "WOW" 160 (null) 0,2 : NEXT T : PRINT 165 PRINT" SYNTAX: AT XPOS,YPOS":GOSUB10030 170 (null) 5,24 : PRINT" "; 190 : 200 REM THE 'BEEP' EXAMPLE 205 : 206 POKE53280,7:POKE53281,7 207 (null) 5,12 : PRINT"THERE'S A 'BEEP' SOUND COMMAND" 208 REM NOTE FREQUENCYS ARE FOUND ON PAGE 152 OF YOUR USER'S MAN. 209 PRINT" " 210 (null) 4816,4 220 (null) 6430,4 230 (null) 8100,4 240 (null) 9634,8 250 (null) 8100,4 260 (null) 9634,20 265 PRINT"[144] SYNTAX: BEEP PITCH,DURATION" 270 (null) 16,14 : PRINT "CHARGE!"; : GOSUB10030 290 : 300 REM THE 'ALPHA' STATEMENT EXAMPLE 310 : 330 PRINT"[147][144]" : POKE53280,13:POKE53281,13 340 (null) 0,4 : PRINT"THE 'ALPHA' STATEMENT WILL ALPHABETIZE" 345 PRINT "A STRING ARRAY." 350 (null) 0,14 : PRINT"PLEASE WAIT WHILE I GENERATE SOME LETTERS TO SORT..." 355 DIM A$(100) 360 FOR T=1 TO 100 370 A$(T)=CHR$(RND(1)*26+65) 380 NEXT T : GOSUB10000 390 PRINT"[147]HERE ARE THE LETTERS BEFORE USING THE 'ALPHA' STATEMENT:" 400 FOR T=1 TO 100 410 PRINT A$(T); 420 NEXT T : PRINT : PRINT 425 PRINT"CALLING ALPHA..." : (null) A$(0) 430 PRINT"HERE ARE THE LETTERS AFTER USING THE 'ALPHA' STATEMENT:" 440 FOR T=1 TO 100 450 PRINT A$(T); 460 NEXT T :PRINT:PRINT 465 PRINT" SYNTAX: ALPHA A$(0) " 470 GOSUB10030 500 : 510 REM DIRECTORY COMMAND 520 : 525 POKE53280,5:POKE53281,5 530 PRINT"[147]THE 'DIR' COMMAND WILL DISPLAY THE DISK DIRECTORY..." 533 PRINT"TO PAUSE THE DIRECTORY, PRESS & HOLD" 534 PRINT"THE SPACE BAR; TO STOP IT, PRESS ANY" 535 PRINT"OTHER KEY." 537 GOSUB10000 : PRINT"[147]" 540 (null) : PRINT 550 PRINT"OH WOW, THAT WAS REALLY COOL." 560 PRINT"AND IT DIDN'T DO A THING TO MY PROGRAM IN MEMORY!" 570 GOSUB10030 580 : 590 REM WINDOW COMMANDS 600 : 605 POKE53280,11:POKE53281,11 610 PRINT "[147][150]NEXT, A DEMO OF THE 'WINDOW', 'SCRLUP', AND 'SCRLDN' COMMANDS" 620 PRINT"FIRST, I WILL DRAW A BOX AROUND THE" 622 PRINT"WINDOW, THEN LET THE SCRLUP AND SCRLDN" 624 PRINT"COMMANDS DO THEIR DUTY." 630 (null) 5,10 : PRINT"[144]X1,Y1[159][176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 640 FOR T=1 TO 5 650 (null) 10,10+T:PRINT"[221] [159][221]" 660 NEXT T 670 (null) 10,15 : PRINT"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189][144]X2,Y2" 680 FORT=1 TO 20 : READ A$(T) : NEXT T 690 DATA JOE,KAREN,TOM,MARY,SUE,DAVE,JERRY,BETTY,LUANNE,GREG,JOAN,JON,MARK,DONNA 700 DATA JIM,AL,JUDY,BOBBY,JUSTIN,MIKE 710 (null) 11,11,28,14 720 FOR T=1 TO 4 730 (null) 11,10+T : PRINT T;A$(T) : NEXT : N=1 740 (null) 0,7 : PRINT"PRESS CURSOR UP OR DOWN" 745 (null) 5 ,24 : PRINT"<<< PRESS SPACE TO CONTINUE >>>"; 746 (null) 0,17 : PRINT"[158]THE JOYSTICK WORKS TOO IN PORT 2!" 747 (null) 0,19 : PRINT"NOW THAT'S A FANCY WAY TO DISPLAY INFO." 748 PRINT"[144] SYNTAX: WINDOW X1,Y1,X2,Y2" 749 PRINT" SCRLUP : SCRLDN" 750 GET T$ : J=(null)(2) : IF T$=" "THEN 800 760 IF T$<>"[145]" AND J<>1 THEN 780 765 N=N-1 : IF N=0 THEN N=1 : (null)20000,3 : GOTO750 770 (null) : (null) 11,11 : PRINT N;A$(N) 775 GOTO 750 780 IF T$<>"" AND J<>5 THEN 750 785 N=N+1 : IF N=18 THEN N=17 : (null) 20000,3 : GOTO750 790 (null) : (null) 11,14 : PRINT N+3;A$(N+3) 795 GOTO 750 800 (null) 1024,2023,40960 : (null) 55296,56295,41960 805 PRINT"[147][159]THE JOY(X) FUNCTION, WHERE 'X' IS THE" 810 PRINT"PORT NUMBER, RETURNS A VALUE OF 0-8 FOR" 820 PRINT"DIRECTIONS AS FOLLOWS:" 825 PRINT" CENTERED - 0" 830 PRINT" NORTH - 1" 840 PRINT" NORTHEAST - 2" 845 PRINT" EAST - 3" 850 PRINT" SOUTHEAST - 4" 855 PRINT" SOUTH - 5" 860 PRINT" SOUTHWEST - 6" 865 PRINT" WEST - 7" 870 PRINT" NORTHWEST - 8" 880 PRINT"IF THE FIRE BUTTON WAS PRESSED, THE VALUE WOULD BE 16 MORE." 890 (null)0,21: PRINT"THAT'S A MAJOR IMPROVEMENT IN HANDLING THE JOYSTICK!" 895 POKE198,0: (null) 5,24 : PRINT"<<< PRESS SPACE TO CONTINUE >>> "; 900 GOSUB 3000 910 : 915 REM THE MOVE COMMAND 920 : 925 POKE53280,7:POKE53281,7 930 PRINT"[147][144]THE LAST COMMAND IN THIS INSTALLMENT OF" 935 PRINT"NUBASIC IS THE 'MOVE' COMMAND." 940 PRINT"THIS COMMAND WILL COPY A SECTION OF" 945 PRINT"MEMORY FROM ONE PLACE TO ANOTHER." 950 PRINT"I PLAYED A SNEAKY TRICK ON YOU TWO" 955 PRINT"SCREENS AGO BY 'MOVE'ING THE SCREEN AND" 960 PRINT"ITS COLOR MEMORY UNDERNEATH THE KERNAL" 965 PRINT"ROM. NOW, I CAN GET THEM BACK IN A " 970 PRINT"FLASH...": (null) 1024,2023,42960 : (null)55296,56295,43960 975 GOSUB10030 :POKE53280,11:POKE53281,11 980 (null) 40960,41959,1024 : (null) 41960,42959,55296 990 GOSUB10030 : POKE53280,7:POKE53281,7 995 (null) 42960,43959,1024 : (null) 43960,44959,55296 997 FORT=1 TO 5 1000 (null) 2+T,13+T: PRINT"HOLY SMOKES, THAT'S LIKE MAGIC." 1010 NEXTT 1040 PRINT"SYNTAX: MOVE STARTADDR,ENDADDR,DESTADDR":GOSUB10030 1050 PRINT"[147]TO DISABLE NUBASIC AT ANY TIME, TYPE 'NUOFF' [RETURN]." 1060 PRINT"TRY THESE ADVANCED COMMANDS IN YOUR OWN" 1070 PRINT"PROGRAMS AND SEND THEM TO US FOR POSSIBLE PUBLICATION." 1080 PRINT"THIS UTILITY IS BROUGHT TO YOU BY THE" 1090 PRINT"LOADSTAR PROGRAMMING STAFF." 1092 PRINT"DON'T DARE MISS OUR FUTURE ENHANCEMENTS" 1094 PRINT"TO NUBASIC. MORE NEW AND EXCITING" 1096 PRINT"COMMANDS WILL GREATLY INCREASE YOUR PROGRAMMING POTENTIAL." 1100 PRINT"PRESS 'A' TO RUN THE DEMO AGAIN" 1110 PRINT"PRESS 'Q' TO QUIT" 1120 GETT$:IFT$<>"A"ANDT$<>"Q"THEN1120 1130 IFT$="A"THENRUN70 1140 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT" 1150 INPUT#15,ER:CLOSE15 1160 IF ER<>63 THEN END 1170 PRINT"[147]NUOFF":PRINT"LOADF$,8":PRINT"RUN";:F$="HELLO CONNECT" 1180 POKE631,13:POKE632,13:POKE633,13:POKE198,3:END 2997 : 2998 REM *** JOYSTICK ROUTINE *** 3000 FOR T=0 TO 8 : READ JY$(T) : NEXT 3010 DATA CENTERED,NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH,SOUTHWEST,WEST 3020 DATA NORTHWEST 3025 (null) 18,18 : PRINT" " 3030 (null) 0,18 : PRINT"[158]JOYSTICK PORT 2 = "; 3040 J=(null)(2) : GET T$ 3050 IF J>=16 THEN J=J-16 : PRINT"FIRE "; 3060 PRINT JY$(J) : IF T$<>" "THEN 3025 3070 RETURN 3998 : 3999 REM AT BLURB 4000 PRINT"YOU CAN PLOT THE CURSOR ANYWHERE ON THE" 4010 PRINT " SCREEN AND THE NEXT CHARACTER PRINTED" 4020 PRINT" WILL BE 'AT' YOUR DESIGNATED LOCATION." : GOTO10000 4997 : 4998 REM *** INTRO 4999 : 5000 POKE53280,12:POKE53281,15 5002 PRINT"[147][144] NUBASIC DEMO" 5005 PRINT"THIS PROGRAM WILL DEMONSTRATE SEVERAL" 5010 PRINT"NEW COMMANDS THAT NUBASIC IS ADDING TO" 5020 PRINT"YOUR COMMODORE-64 STANDARD BASIC." 5030 GOTO10000 10000 : 10010 REM PRESS A KEY TO CONTINUE 10020 : 10030 POKE198,0: (null) 5,24 : PRINT"<<< PRESS SPACE TO CONTINUE >>> "; 10040 GETT$: IF T$<>" " THEN 10040 10050 RETURN 60100 PN$="[206][213][194][193][211][201][195] [196][197][205][207]":AN$="[194][217]: [202][207][197] [199][193][210][210][197][212][212]" 60110 BO=00:SC=00:CL=06:C1=12:C2=01:C3=12:C4=01:C5=01:C6=15:C7=07 60120 REM BO - BORDER COLOR 60121 REM SC - SCREEN COLOR 60122 REM CL - COLOR ON BORDER 60123 REM C1 - TOP BOX OUTSIDE COLOR 60124 REM C2 - TOP BOX INSIDE COLOR 60125 REM C3 - BOTTOM BOX OUTSIDE COLOR 60126 REM C4 - BOTTOM BOX INSIDE COLOR 60127 REM C5 - 'COPYRIGHT' COLOR 60128 REM C6 - 'PROGRAM NAME' COLOR 60129 REM C7 - 'AUTHORS NAME' COLOR 60130 POKE53280,BO:POKE53281,SC:PRINT"[147]";:GOTO60250 60140 POKE646,C1:PRINT" [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]" 60150 POKE646,C2:PRINT" [165] [204][207][193][196][211][212][193][210] [208][210][197][211][197][206][212][211]: [167]" 60170 POKE646,C1:PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 60180 POKE646,C6:PRINT""TAB(20-LEN(PN$)/2);PN$ 60190 POKE646,C7:PRINT""TAB(20-LEN(AN$)/2);AN$ 60200 POKE646,C5:PRINT""TAB(13)"[195][207][208][217][210][201][199][200][212] 1986" 60210 PRINT 60220 POKE646,C3:PRINT" [164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]" 60230 POKE646,C4:PRINT" [165] [167]" 60240 POKE646,C3:PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][146]"; 60245 POKE198,.:GOTO60360 60250 POKE646,CL 60255 PRINT" [172][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][187]" 60260 FORA=1TO3:GOSUB60470:NEXT 60270 GOSUB60470:PRINT"[145][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]" 60280 FORA=1TO16:GOSUB60470:NEXT 60290 PRINT"[145][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]" 60300 FORA=1TO3:GOSUB60470:NEXT 60310 PRINT" [188][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146][190]"; 60320 POKE53280,BO:POKE53281,SC:GOTO60140 60360 PRINT""; 60370 POKE646,C2:PRINT"[165][208]RESS THE [[211][208][193][195][197] [194][193][210]] TO CONTINUE.[167]" 60375 POKE53270,PEEK(53270)AND255-8 60380 POKE2068,1:POKE2070,187:SYS2055 60385 POKE53270,PEEK(53270)OR8 60390 RETURN 60470 PRINT" [161][146][161]":RETURN