Jump to content
Omega-TI

Oldie, but not moldy storage box goldies (BASIC found tape)

Recommended Posts

A couple of days ago I found one of my old Radio Shack cassette tapes with BASIC, not XB programs.  Man, this is old stuff as it even predates my P-Box days!  Sadly, the Boa Alley program was corrupted, but the other programs were still intact after nearly 40 years! 

 

Found!.PNG

 

The next few posts will be what came off of the tape, starting with the DOW-4 Gazelle Flight Simulator program.

 



100 REM    DOW-4 GAZELLE, JOHN T DOW, PITTSBURGH, PA. FEB 82  (0783)  110 DIM FUEL(2),AV(119),SV(18),CSV(18) 120 RANDOMIZE  130 CALL CLEAR 140 FOR I=1 TO 8 150 READ T,T$ 160 CALL CHAR(T,T$) 170 NEXT I 180 FOR I=33 TO 47 190 READ T$ 200 CALL CHAR(I,T$) 210 NEXT I 220 FOR I=96 TO 159 230 READ T$ 240 CALL CHAR(I,T$) 250 NEXT I 260 DATA 59,"1F1F1F1F1F1F1F1F",60,"F0F0F0F0F0F0F0F",61,"FFFFFFE7E7FFFFFF",64,"003C42423E020438" 270 DATA 66,"000C1424447E0404",74,"FFFEFCF8F0E0C08",81,"",94,"FFC381818181C3FF" 280 DATA "0000000000010307","00000000FFFEFFFF","0000000080C0E0F","F8D8F8F8F8F8F8D8" 290 DATA "F0F0E0C08","FFFFFEFFFF","0F070301","FCF0F0F0F0F0F0F","F0FCF0F0F0F0F0F" 300 DATA "F0F0FCF0F0F0F0F","F0F0F0FCF0F0F0F","F0F0F0F0FCF0F0F","F0F0F0F0F0FCF0F","F0F0F0F0F0F0FCF" 310 DATA "F0F0F0F0F0F0F0FC" 320 DATA "FFFFFFFEFCF8F1E0","FFFFFF00001001","FFFFFFFF7F3F1F0F","E0E4E0E0E0E4E0E","0F4F0F0F0F4F0F0F" 330 DATA "F1F8FCFEFFFFFFFF","01100000FFFFFFFF","1F3F7FFFFFFFFFFF","FFFFFFFFFFFFFFFFF" 340 DATA "000600000800003","000200000800002","000201000800402","0000010008004","0000010108404" 350 DATA "00000001084","00000001494","0000000049","000000404901","000000400801","00004040080101" 360 DATA "00004000080001","0020400008000102","0020000008000002","0030000008000006" 370 DATA "1000001","1800001","0800001","0C00001","0400001","0402001","0002001","0002021","0000021","00000212" 380 DATA "00000012","0000001202","0000001002","000000100202","000000100002","00000010000204","00000010000004" 390 DATA "0000001000000C","00000010000008","00000010000018","0000001000001","0000001000003","0000001000002" 400 DATA "0000001000006","0000001000004","0000001000804","00000010008","00000010808","000000108","000000908" 410 DATA "0000009","0000809","0000801","0080801","0080001","4080001","4000001","6000001","2000001","3000001" 420 FOR A=0 TO 39 430 AV(A)=A+120 440 AV(A+40)=A+120 450 AV(A+80)=A+120 460 NEXT A 470 FOR I=0 TO 18 480 SV(I)=SIN((I-9)*.157) 490 CSV(I)=COS((I-9)*.157) 500 NEXT I 570 TANK=1 580 FUEL(1)=24 590 FUEL(2)=24 600 CALL CLEAR 610 FOR I=1 TO 8 620 CALL COLOR(I,2,1) 630 NEXT I 640 CALL SCREEN(13) 650 RESTORE 680 660 READ ST,AA,AAT,SM,L1,RC,LAB,S2,DRC,RT,AB,DIR,FLAPS,SS,PPI,AC,TOS,LVL,OA,CC,INV,RLEN,CX,CY,WX,WY,T$,F1 670 READ Z0,Z1,Z2,Z3,Z4,Z5,Z6 680 DATA 1,3,0,.448,30,0,0,1,0,0,0,30,0,32,0,0,1,0,0,0,1,-1,-.001,0,0,0,"",500,99,0,0,0,0,0,0 690 PRINT "1:TAKE OFF":"2:IN FLIGHT":"3:LANDING":"4:SHORT FIELD LANDING":"5:ILS APPROACH":"6:STOP" 700 INPUT "CHOICE:":Z 710 IF (Z<1)+(Z>6)THEN 700 720 ON Z GOTO 900,800,940,930,730,4620 730 DIR=30 740 ALT=2000 750 V=140 760 CX=8+RND 770 CY=4*RND-2 780 CC=200+300*RND 790 GOTO 990 800 INPUT "ALT:":ALT 810 IF (ALT>=0)*(ALT<=35000)=0 THEN 800 820 INPUT "GROUND:":GL 830 IF (GL>=0)*(GL<=ALT)=0 THEN 820 840 INPUT "V:":V 850 IF V<0 THEN 840 860 CX=10*RND-5 870 CY=10*RND-5 880 DIR=RND*40 890 GOTO 1000 900 ALT=0 910 V=0 920 GOTO 990 930 RLEN=-.5 940 DIR=5 950 ALT=1000 960 V=129 970 CX=-1.3 980 CY=-1.3 990 GL=0 1000 TT=INT(ALT/10000) 1010 AD=ALT-TT*10000 1020 TH=INT(AD/1000) 1030 AD=(AD-TH*1000)*.040 1040 DEN=1-ALT/36000 1050 TRIM=10 1060 PP=0 1070 IF V=0 THEN 1100 1080 TRIM=2400/(.03*V*V*DEN) 1090 PP=(.0075*2400*TRIM+.02*V*V*DEN)/(750*(1-.0007*V)*DEN) 1100 PP=PP-(PP>1)*(1-PP) 1110 F3=PP*3200+220 1120 L4=15-PP*15-15*(PP=0) 1130 INF=ALT>GL 1140 INPUT "WIND:":WIND 1150 IF (WIND<0)+(WIND>3)THEN 1140 1160 IF WIND=0 THEN 1210 1170 WD=RND*360 1180 WV=(RND+WIND)*15 1190 WX=WV*.0011*SIN(WD*.0174) 1200 WY=WV*.0011*COS(WD*.0174) 1210 INPUT "CHOP:":TURB 1220 IF (TURB>=0)*(TURB<=3)=0 THEN 1210 1230 TURB=2*TURB 1240 CALL CLEAR 1250 FOR I=1 TO 16 1260 CALL COLOR(I,1,1) 1270 NEXT I 1280 PRINT "  JQQQQQQQQQQQQQQQQQQQQQQQQQ [email protected]@BAQQQJQQQQQQQQQQQQQQQQQQQQQQQQQQQ" 1290 PRINT "QMKRQQQASQQQQAHQQQALTQQQNAVQQhhhQQ`abQQQ!""#QQQ`abQT^hhhhQ===QQcxdQQQ,p$QQQcxdQQh+x;h" 1300 PRINT "QhhhQQefgQQQ'&%QQQefgQF=efghQQQQQQQQQQQQQQQQQQQQQQQh270hQQQQQQQQQQQQQQQQQQQQQQQ=hhhh" 1310 PRINT "QQQQQTURNQQQQDGQQQQVSQQILSQQWINGSQ`abQQQ`abQUP`abQQQQQQQLEVELQcxdQQQcxdQQQcxdQQQQQQQ" 1320 PRINT "QQ=QQQhhhQQQefgQDNefgQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPITCHQQQQQQQQQQQQQQQQQQQQQQQ" 1330 PRINT "QQ4QQQGASQQQGASQQTACHQFLAPSQQQQQQQ`abQQQ`abQQQ`abQQQQQQQQQQQQEcxdQQEcxdQQQcxdQQ^UPQQ" 1340 PRINT "QQQQQQh=hQQQh=hQQQefgQQ=DNQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"; 1350 CALL HCHAR(9,19,48+TT) 1360 CALL HCHAR(9,20,48+TH) 1370 CALL HCHAR(10,28,140) 1380 CALL HCHAR(22,22,AV(40*PP*DEN+40)) 1390 CALL HCHAR(22,10,AV(FUEL(1)+28)) 1400 CALL HCHAR(22,16,AV(FUEL(2)+28)) 1410 CALL HCHAR(23,4+6*TANK,94) 1420 CALL HCHAR(10,10,AV(V*.2+40)) 1430 CALL HCHAR(16,16,AV(DIR+40)) 1440 CALL HCHAR(16,22,150) 1450 IF Z<>5 THEN 1470 1460 CALL HCHAR(13,26,94) 1470 CALL SCREEN(2) 1480 CALL COLOR(1,16,1) 1490 FOR I=2 TO 4 1500 CALL COLOR(I,2,16) 1510 NEXT I 1520 FOR I=5 TO 7 1530 CALL COLOR(I,2,13) 1540 NEXT I 1550 CALL COLOR(8,2,10) 1560 FOR I=9 TO 16 1570 CALL COLOR(I,2,16) 1580 NEXT I 1590 GOTO 2530 1600 T$="TOTAL WIPEOUT" 1610 IF RC<-10 THEN 1840 1620 T$="MISSED RUNWAY" 1630 IF -(ABS(DIR-30)>2)*(ABS(DIR-10)>2)+(ABS(CY)>.15)+(CX>0)+(CX<RLEN)THEN 1840 1640 T$="TOO HARD" 1650 IF RC<-5 THEN 1840 1660 IF (ABS(AB)>3)+(V>100)THEN 1750 1670 T$="SAFE" 1680 CALL CLEAR 1690 CALL SCREEN(13) 1700 CALL SOUND(-200,262,0) 1710 CALL SOUND(400,392,0) 1720 CALL SOUND(200,392,0) 1730 CALL SOUND(1000,523,0) 1740 GOTO 2100 1750 T$="LOST CONTROL" 1760 GOTO 1840 1770 T$="TOO LOW" 1780 GOTO 1840 1790 T$="LOST FLAPS" 1800 GOTO 1840 1810 T$="LOST WINGS" 1820 GOTO 1840 1830 T$="LOST TAIL" 1840 CALL CLEAR 1850 CALL SOUND(-300,200,30) 1860 T=(ALT-GL)/10+500 1870 T=T-(T>1500)*(1500-T) 1880 IF T<520 THEN 1920 1890 CALL SOUND(-300,T,.03*T-15) 1900 T=T-5 1910 IF T>495 THEN 1890 1920 CALL SCREEN(7) 1930 CALL SOUND(100+RND*300,-5,RND*20) 1940 CALL SOUND(200+RND*500,-6,RND*20) 1950 CALL SOUND(200+RND*500,-7,RND*20) 1960 CALL SOUND(2000,200,30) 1970 CALL SOUND(1,200,30) 1980 FOR I=1 TO 2 1990 FOR T=800 TO 1000 STEP 10 2000 CALL SOUND(-200,T,0,T+75,0) 2010 NEXT T 2020 FOR T=1000 TO 800 STEP -10 2030 CALL SOUND(-200,T,0,T+75,0) 2040 NEXT T 2050 NEXT I 2060 FOR T=790 TO 110 STEP -10 2070 A=.0435*(800-T) 2080 CALL SOUND(-200,T,A,T+75,A) 2090 NEXT T 2100 CALL CLEAR 2110 FOR I=1 TO 16 2120 CALL COLOR(I,1,1) 2130 NEXT I 2140 IF WIND=0 THEN 2160 2150 PRINT "WIND";INT(WD);"DEG AT";INT(WV);"MPH" 2160 IF ALT>GL THEN 2190 2170 PRINT -INT(60*RC);" FPM" 2180 ALT=GL 2190 IF CC=0 THEN 2210 2200 PRINT INT(CC);" FT CEILING" 2210 IF ML<0 THEN 2230 2220 PRINT INT(.5+ML/240);"G X 10" 2230 PRINT INT(V);"MPH ";INT(ALT);"FT ";INT(DIR*9);"DEG": :T$: : 2240 GOTO 610 2250 TH=TH+SGN(AD) 2260 AD=A-120 2270 IF (TH>-1)*(TH<10)THEN 2321 2280 TT=TT+SGN(TH) 2290 TH=TH-10*SGN(TH) 2300 IF (TT>-1)*(TT<10)THEN 2320 2310 TT=TT-10*SGN(TT) 2320 CALL HCHAR(9,19,48+TT) 2321 CALL HCHAR(9,20,48+TH) 2322 ALT=10000*TT+1000*TH+25*AD 2330 GOTO 4480 2340 CX=CX+.00157*V*SIN(.157*DIR)+WX*INF 2350 S2=2 2360 CALL HCHAR(22,22,AV(40+PP*DEN*40)) 2370 GOTO 3700 2380 CY=CY+.00157*V*COS(.157*DIR)+WY*INF 2390 S2=3 2400 IF Z0=99 THEN 2420 2410 CALL HCHAR(Z0R,16-Z0,32) 2420 IF Z=5 THEN 2510 2430 IF (ABS(CX)>2.9)+(ABS(CY)>2.9)THEN 2510 2440 Z0=13*CY*SGN(DIR-20) 2450 IF ABS(Z0)<13 THEN 2470 2460 Z0=13*SGN(Z0) 2470 A=INT(10*ABS(CX)) 2480 Z0R=4-INT(.1*A) 2490 CALL HCHAR(Z0R,16-Z0,A+10*Z0R+8) 2500 GOTO 3700 2510 Z0=99 2520 GOTO 3700 2530 A=12*CY*SGN(CX)/(CX-(CX=0)) 2540 IF Z=5 THEN 2570 2550 A=A*INV 2560 GOTO 2580 2570 A=A*5 2580 IF ABS(A)<8 THEN 2610 2590 IF OA THEN 1770 2600 A=SGN(A)*8 2610 CALL HCHAR(10,28,A+140) 2620 IF Z<>5 THEN 2900 2630 ON OA+1 GOTO 2640,2680,2710,2740,2770 2640 IF ALT<1200+GL THEN 1770 2650 IF CX>4.4 THEN 2770 2660 CALL HCHAR(10,6,94) 2670 GOTO 2760 2680 IF CX>4 THEN 2770 2690 CALL HCHAR(10,6,61) 2700 GOTO 2760 2710 IF CX>1.8 THEN 2770 2720 CALL HCHAR(10,5,94) 2730 GOTO 2760 2740 IF CX>1.6 THEN 2770 2750 CALL HCHAR(10,5,61) 2760 OA=OA+1 2770 IF ALT>CC THEN 2820 2780 Z=2 2790 CALL HCHAR(13,26,61) 2800 OA=0 2810 GOTO 3730 2820 IF ALT<300+GL THEN 1770 2830 A=34*(1-ALT/(CX*300+GL)) 2840 IF ABS(A)<3 THEN 2880 2850 A=SGN(A)*3 2860 IF A<3 THEN 2880 2870 IF OA THEN 1770 2880 CALL HCHAR(10,27,43-A) 2890 GOTO 2930 2900 IF Z<>4 THEN 2930 2910 IF CX<.5 THEN 2930 2920 IF ALT<400 THEN 1770 2930 IF SGN(CX)=TOS*SGN(INV-2*(Z=5))THEN 2970 2940 CALL HCHAR(10-TOS,26,61) 2950 TOS=-TOS 2960 CALL HCHAR(10-TOS,26,94) 2970 S2=4 2980 GOTO 3700 2990 FUEL(TANK)=FUEL(TANK)-.05*PP*DEN 3000 AB=AB+.02*(FUEL(2)-FUEL(1)) 3010 A=FUEL(TANK)-12 3020 S2=1 3030 IF A>-12 THEN 3070 3040 PP=0 3050 L4=30 3060 GOTO 3410 3070 A=AV(A+40) 3080 IF A=Z2 THEN 3110 3090 Z2=A 3100 CALL HCHAR(22,4+TANK*6,Z2) 3110 IF (TURB=0)+(ALT-GL<100)THEN 3700 3120 AB=AB+TURB*(RND-.5+.1*AB) 3130 AAT=TURB*(RND-.5) 3140 GOTO 3700 3150 IF K<49 THEN 3730 3160 K=K-48 3170 IF K>9 THEN 3210 3180 CALL HCHAR(20,5,K+48) 3190 SM=K*K*K*.007 3200 GOTO 3730 3210 IF (K<17)+(K>28)THEN 3730 3220 ON K-16 GOTO 3280,3230,3290,3290,2100,3490,3440,3560,3600,3670,3730,3640 3230 IF CX<4.4 THEN 3730 3240 Z=5 3250 CALL HCHAR(13,26,94) 3260 CC=200+300*RND+GL 3270 GOTO 3730 3280 PP=99 3290 A=.1*(19.5-K) 3300 IF SGN(A)=SGN(PPI)THEN 3320 3310 PPI=0 3320 PPI=PPI+A 3330 PP=PP+PPI 3340 IF ABS(PP-.5)<.5 THEN 3360 3350 PP=.5*(1+SGN(PP-.5)) 3360 F3=PP*3200+220 3370 IF PP THEN 3400 3380 L4=30 3390 GOTO 3410 3400 L4=15*(1-PP) 3410 CALL HCHAR(22,22,AV(40+PP*DEN*40)) 3420 IF K=17 THEN 2780 3430 GOTO 3750 3440 CALL HCHAR(23,4+6*TANK,61) 3450 TANK=3-TANK 3460 CALL HCHAR(23,4+6*TANK,94) 3470 S2=3 3480 GOTO 3730 3490 CALL HCHAR(22+FLAPS,26,61) 3500 FLAPS=1-FLAPS 3510 CALL HCHAR(22+FLAPS,26,94) 3520 TRIM=TRIM+2*FLAPS-1 3530 IF FLAPS=0 THEN 3730 3540 IF V>100 THEN 1790 3550 GOTO 3730 3560 ST=0 3570 L2=5 3580 PPI=0 3590 GOTO 3760 3600 INV=-INV 3610 CALL HCHAR(12,27,49+INV) 3620 CALL HCHAR(12,28,56-INV) 3630 GOTO 3730 3640 LVL=1-LVL 3650 CALL HCHAR(17,5,61+LVL*33) 3660 GOTO 3730 3670 CALL SOUND(-1,200,30) 3680 CALL KEY(3,K,AK) 3690 IF K<>75 THEN 3680 3700 CALL JOYST(1,DX,DY) 3710 CALL KEY(3,K,AK) 3720 IF AK THEN 3150 3730 ST=1 3740 PPI=0 3750 L2=30 3760 DEN=1-.0000278*ALT 3770 V2=V*V 3780 IF DX THEN 3820 3790 IF LVL=0 THEN 3830 3800 AB=(SGN(AB)-AB)*(ABS(AB)>1) 3810 GOTO 3830 3820 AB=AB-.25*DX*INF 3830 IF ABS(AB)<7 THEN 3850 3840 AB=SGN(AB)*7 3850 IF AB=LAB THEN 3880 3860 CALL HCHAR(10,16,AB+112) 3870 LAB=AB 3880 AA=TRIM-SM*DY+AAT 3890 IF AA<18 THEN 3910 3900 AA=19 3910 ML=(.03+.01*FLAPS)*AA*V2*DEN 3920 IF AA<SS THEN 3950 3930 ML=ML*.4 3931 IF ML<2000 THEN 4020 3932 ML=2000 3940 GOTO 4020 3950 IF ML>9120 THEN 1810 3960 A=32+(AA>14)*2+(AA>18)*30 3970 IF A=SS THEN 4020 3980 SS=A 3990 L1=-30*(SS=32) 4000 F1=2000-SS*50 4010 CALL HCHAR(6,16,61-33*(SS<32)) 4020 CALL SOUND(-4000,F1,L1,200,L2,F3*(.003*V+.5),30,-4,L4) 4030 IF ST THEN 4050 4040 TRIM=AA 4050 DAC=.0042*(ML*CSV(AB*.9+9)-2400) 4060 IF INF THEN 4110 4070 INF=DAC>0 4080 IF INF THEN 4110 4090 DAC=0 4100 IF V>100 THEN 1750 4110 IF ABS(DAC)<5 THEN 4130 4120 DAC=SGN(DAC)*5 4130 AC=AC+DAC 4140 THRUST=750*(1-.0007*V)*PP*DEN 4150 DRAG=(.0075-.0045*FLAPS)*ML*(AC+AA)+(.02+.04*FLAPS)*V2*DEN 4160 V=V+.0092*(THRUST-DRAG)-.37*AC-3*DAC 4170 IF V>200 THEN 1830 4180 RC=AC*V*.024 4190 IF V=0 THEN 4210 4200 RT=(.52*ML*SV(AB*.9+9))/(V*CSV(AC*.1+9)) 4210 AD=AD+RC*.05333333 4220 ALT=ALT+RC*1.333333 4230 IF INF=0 THEN 4250 4240 IF ALT<=GL THEN 1600 4250 DIR=DIR+RT*.15 4260 A=(AC+AA-3-FLAPS)*.2 4270 IF ABS(A)<3.5 THEN 4290 4280 A=SGN(A)*3.5 4290 CALL HCHAR(10,15,A+43.5) 4300 S1=1-S1 4310 IF S1 THEN 4500 4320 A=AV(DIR+40) 4330 IF DIR<-.5 THEN 4350 4340 IF DIR<39.5 THEN 4360 4350 DIR=A-120 4360 IF A=Z6 THEN 4390 4370 Z6=A 4380 CALL HCHAR(16,16,A) 4390 A=AV(RT*1.33+40) 4400 IF A=Z5 THEN 4430 4410 Z5=A 4420 CALL HCHAR(16,10,A) 4430 A=AV(AD+40) 4440 IF A=Z3 THEN 4610 4450 Z3=A 4460 IF AD<-.5 THEN 2250 4470 IF AD>=39.5 THEN 2250 4480 CALL HCHAR(10,22,A) 4490 GOTO 4610 4500 A=AV(V*.2+40) 4510 IF A=Z1 THEN 4540 4520 Z1=A 4530 CALL HCHAR(10,10,A) 4540 DRC=.6*DRC+.4*RC 4550 IF ABS(DRC)<15 THEN 4570 4560 DRC=15*SGN(DRC) 4570 A=AV(DRC*1.2+70) 4580 IF A=Z4 THEN 4610 4590 Z4=A 4600 CALL HCHAR(16,22,A) 4610 ON S2 GOTO 2340,2380,2530,2990 4620 END 


  • Like 3
  • Thanks 2

Share this post


Link to post
Share on other sites

This one is called Personal Banking.  It's totally worthless by today's standards, but someone might be interested at looking at the code.



1 DIM A$(200) 2 DEF B$=STR$(INT(BAL))&"."&SEG$(STR$(BAL-INT(BAL))&"000",2,2) 3 CALL CLEAR 4 CALL SCREEN(16) 5 CALL CHAR(100,"000000030408111F") 6 CALL CHAR(101,"22204F6F4F8E8EEE") 7 CALL CHAR(102,"0739D22444887F88") 8 CALL CHAR(103,"1000FCFEFE0E0E0E") 9 CALL CHAR(104,"E09C4B242211FE11") 10 CALL CHAR(105,"08007F7F7F70707F") 11 CALL CHAR(106,"000000C0201088F8") 12 CALL CHAR(107,"4404C2E6F27171F7") 13 CALL CHAR(108,"8F8F8F6E4E4E2E20") 14 CALL CHAR(109,"1F11080403000000") 15 CALL CHAR(110,"FEFEFC00F8171010") 16 CALL CHAR(111,"887F884424D23907") 17 CALL CHAR(128,"00000000000000FF") 18 CALL CHAR(129,"000000000000FF00") 19 CALL CHAR(130,"000FF00000000000") 20 CALL CHAR(112,"7F7F70707F7F7F00") 21 CALL CHAR(113,"11FE1122244B9CE0") 22 CALL CHAR(114,"41F17176F2E2C404") 23 CALL CHAR(115,"F8881020C0000000") 24 CALL COLOR(2,6,6) 25 CALL COLOR(3,8,8) 26 CALL COLOR(4,5,5) 27 CALL COLOR(13,2,5) 28 CALL COLOR(9,5,8) 29 CALL COLOR(10,5,8) 30 CALL COLOR(11,5,8) 31 CALL COLOR(5,2,8) 32 CALL COLOR(6,2,8) 33 CALL COLOR(7,2,8) 34 CALL COLOR(8,2,8) 35 CALL HCHAR(18,4,42,6) 36 CALL HCHAR(19,4,42) 37 CALL HCHAR(19,9,42) 38 CALL HCHAR(20,4,42) 39 CALL HCHAR(20,9,42) 40 CALL HCHAR(21,4,42) 41 CALL HCHAR(21,9,42) 42 CALL HCHAR(22,4,42) 43 CALL HCHAR(22,9,42) 44 CALL HCHAR(23,4,42,6) 45 R=19 46 C=5 47 GOSUB 87 48 PRINT : : : : : : : : : : 49 CALL HCHAR(6,4,53,25) 50 CALL HCHAR(7,4,53,25) 51 CALL HCHAR(5,4,53,25) 52 CALL HCHAR(13,4,42,6) 53 FOR I=7 TO 12 54 CALL HCHAR(I+1,10,60,19) 55 NEXT I 56 CALL HCHAR(14,4,53,25) 57 CALL HCHAR(15,4,53,25) 58 M$="YOUR NAME HERE" 59 X=5 60 Y=15 61 GOSUB 240 62 M$="BANKING" 63 X=6 64 GOSUB 240 65 REM PUT YOUR NAME IN THE NEXT LINE, USE "5" FOR BLANKS    66 M$="" 67 X=5 68 Y=15 69 GOSUB 240 70 CALL HCHAR(9,16,130,8) 71 CALL HCHAR(10,11,128,17) 72 CALL HCHAR(11,11,128,17) 73 CALL HCHAR(13,17,129,8) 74 M$="PRESS5ANY5KEY5TO5CONTINUE" 75 X=19 76 Y=4 77 GOSUB 240 78 CALL KEY(0,I,J) 79 IF J=0 THEN 78 80 CALL CLEAR 81 FOR I=1 TO 8 82 CALL COLOR(I,5,1) 83 NEXT I 84 GOTO 104 85 R=3 86 C=21 87 CALL HCHAR(R,C,100) 88 CALL HCHAR(R,C+1,102) 89 CALL HCHAR(R,C+2,104) 90 CALL HCHAR(R,C+3,106) 91 CALL HCHAR(R+1,C,101) 92 CALL HCHAR(R+1,C+1,103) 93 CALL HCHAR(R+1,C+2,105) 94 CALL HCHAR(R+1,C+3,107) 95 CALL HCHAR(R+2,C,108) 96 CALL HCHAR(R+2,C+1,110) 97 CALL HCHAR(R+2,C+2,112) 98 CALL HCHAR(R+2,C+3,114) 99 CALL HCHAR(R+3,C,109) 100 CALL HCHAR(R+3,C+1,111) 101 CALL HCHAR(R+3,C+2,113) 102 CALL HCHAR(R+3,C+3,115) 103 RETURN  104 M$=" - LOAD ACCOUNT FILE" 105 PRINT TAB(9);"FUNCTION": : : : :TAB(5);"1"&M$:TAB(9);"FROM CS1": :TAB(5);"2"&M$:TAB(9);"FROM DSK1" 106 PRINT :TAB(5);"3"&M$:TAB(9);"FROM MINI-MEMORY": :TAB(5);"4 - CREATE ACCOUNT":TAB(9);"FILE": : : : 107 GOSUB 85 108 CALL SOUND(150,1200,0) 109 CALL KEY(O,I,J) 110 IF (J=0)+(I<49)+(I>52)THEN 109 111 ON I-48 GOTO 112,124,127,142 112 OPEN #1:"CS1",INPUT ,INTERNAL,FIXED 192 113 INPUT #1:NAM$,ACN$,DAT$,BAL 114 I=1 115 INPUT #1:A$(I),A$(I+1),A$(I+2),A$(I+3),A$(I+4),A$(I+5) 116 FOR J=0 TO 5 117 IF A$(I+J)="#" THEN 121 118 NEXT J 119 I=I+6 120 GOTO 115 121 L=I+J-1 122 CLOSE #1 123 GOTO 183 124 INPUT "FILENAME=DSK1.":M$ 125 M$="DSK1."&M$ 126 GOTO 128 127 M$="MINIMEM" 128 CALL CLEAR 129 OPEN #1:M$,INPUT ,INTERNAL,SEQUENTIAL,FIXED 32 130 INPUT #1:NAM$ 131 INPUT #1:ACN$ 132 INPUT #1:DAT$,BAL 133 I=1 134 INPUT #1:A$(I) 135 IF A$(I)="#" THEN 138 136 I=I+1 137 GOTO 134 138 L=I-1 139 CLOSE #1 140 GOTO 183 141 REM CREATE FILE  142 CALL CLEAR 143 PRINT TAB(9);"CREATE FILE":TAB(9);"------ ----": : :"ENTER -": : 144 INPUT "YOUR NAME:":NAM$ 145 INPUT "ACCOUNT NUMBER:":ACN$ 146 INPUT "TODAY'S DATE:":DAT$ 147 INPUT "ACCOUNT BALANCE: $":BAL 148 A$(1)="#" 149 L=0 150 CALL CLEAR 151 PRINT TAB(8);"SAVE FILE ON": :TAB(8);"1 - CS1": :TAB(8);"2 - DSK1": :TAB(8);"3 - MINIMEMORY": : : : : : : 152 CALL SOUND(150,1200,0) 153 CALL KEY(0,I,J) 154 IF (J=0)+(I<49)+(J>51)THEN 153 155 ON I-48 GOSUB 157,168,171 156 GOTO 183 157 OPEN #1:"CS1",OUTPUT,INTERNAL,FIXED 192 158 PRINT #1:NAM$,ACN$,DAT$,BAL 159 I=1 160 PRINT #1:A$(I),A$(I+1),A$(I+2),A$(I+3),A$(I+4),A$(I+5) 161 FOR J=0 TO 5 162 IF A$(I+J)="#" THEN 166 163 NEXT J 164 I=I+6 165 GOTO 160 166 CLOSE #1 167 RETURN  168 INPUT "FILENAME=DSK1.":M$ 169 M$="DSK1."&M$ 170 GOTO 172 171 M$="MINIMEM" 172 OPEN #1:M$,OUTPUT,SEQUENTIAL,INTERNAL,FIXED 32 173 PRINT #1:NAM$ 174 PRINT #1:ACN$ 175 PRINT #1:DAT$,BAL 176 I=1 177 PRINT #1:A$(I) 178 IF A$(I)="#" THEN 181 179 I=I+1 180 GOTO 177 181 CLOSE #1 182 RETURN  183 CALL CLEAR 184 PRINT TAB(5);"1 - UPDATE ACCOUNT": :TAB(5);"2 - DISPLAY FILE": :TAB(5);"3 - PRINT FILE" 185 PRINT :TAB(5);"4 - SAVE FILE": :TAB(5);"5 - LOAD ANOTHER FILE": :TAB(5);"6 - QUIT": : : : : 186 GOSUB 85 187 CALL SOUND(150,1200,0) 188 CALL KEY(0,I,J) 189 IF (J=0)+(I<49)+(I>54)THEN 188 190 ON I-48 GOTO 193,265,292,150,80,191 191 INPUT "ARE YOU SURE YOU WANT TO   QUIT? (Y/N)":M$ 192 IF M$="Y" THEN 244 ELSE 183 193 CALL CLEAR 194 PRINT TAB(5);"1 - ADD RECORDS TO FILE": :TAB(5);"2 - SORT FILE BY DATE": :TAB(5);"3 - EXIT" 195 CALL SOUND(150,1200,0) 196 CALL KEY(0,I,J) 197 IF (J=0)+(I<49)+(I>51)THEN 196 198 ON I-48 GOTO 199,246,183 199 CALL CLEAR 200 IF L>97 THEN 303 201 PRINT TAB(8);"UPDATE ACCOUNT": :"LAST UPDATE:":DAT$: :"BALANCE: $"&B$: :L;"RECORDS IN FILE.": : : 202 INPUT "TODAY'S DATE=":DAT$ 203 L=L+1 204 PRINT :"MONTH OF TRANSACTION" 205 INPUT "(1-12)?":M 206 M$=STR$(M) 207 IF M>9 THEN 209 208 M$="0"&M$ 209 PRINT :"DATE OF TRANSACTION" 210 INPUT "(1-31)?":D 211 D$=STR$(D) 212 IF D>9 THEN 214 213 D$="0"&D$ 214 IF (M<1)+(M>12)+(D<1)+(D>31)THEN 205 215 M$=M$&" "&D$ 216 PRINT :"DESCRIPTION OF TRANSACTION" 217 INPUT "(12 CHAR MAX)?":T$ 218 PRINT :"TYPE OF TRANSACTION:":"+ = DEPOSIT/CREDIT":"- = WITHDRAWAL/DEBIT" 219 CALL SOUND(150,1200,0) 220 CALL KEY(0,K,S) 221 IF S=0 THEN 220 222 IF (K<>43)*(K<>45)THEN 220 223 PRINT :"AMOUNT OF TRANSACTION" 224 INPUT "$":AM 225 AM$=STR$(INT(AM))&"."&SEG$(STR$(AM-INT(AM))&"000",2,2) 226 SP$=SEG$("              ",1,14-LEN(T$)) 227 A$(L)=M$&" "&SEG$(T$,1,12)&SP$&AM$&CHR$(K) 228 IF K=43 THEN 231 229 BAL=BAL-AM 230 GOTO 232 231 BAL=BAL+AM 232 PRINT :"ENTER ANOTHER TRANSACTION?  (Y/N)" 233 CALL SOUND(150,1200,0) 234 CALL KEY(0,X,Y) 235 IF (Y=0)THEN 234 236 IF X=89 THEN 203 237 IF X<>78 THEN 238 238 A$(L+1)="#" 239 GOTO 183 240 FOR I=1 TO LEN(M$) 241 CALL HCHAR(X,Y-1+I,ASC(SEG$(M$,I,1))) 242 NEXT I 243 RETURN  244 CALL CLEAR 245 STOP  246 CALL CLEAR 247 PRINT "SORTING - PLEASE WAIT" 248 R=1 249 R=R*2 250 IF R<=L THEN 249 251 R=INT(R/2) 252 IF R=0 THEN 264 253 FOR I=1 TO L-R 254 C=I 255 X=R+C 256 IF A$(C)<=A$(X)THEN 262 257 M$=A$(C) 258 A$(C)=A$(X) 259 A$(X)=M$ 260 C=C-R 261 IF C>0 THEN 255 262 NEXT I 263 GOTO 251 264 GOTO 183 265 CALL CLEAR 266 PRINT TAB(6);"DISPLAY ACCOUNT" 267 PRINT : :NAM$: :"ACCT #"&ACN$: :"LAST UPDATE:":DAT$: :"BALANCE: $"&B$ 268 IF L>0 THEN 272 269 PRINT : :"NO TRANSACTION RECORDS": :"PRESS A KEY" 270 CALL KEY(0,K,S) 271 IF S=0 THEN 270 ELSE 183 272 PRINT : : :"THERE ARE";L;"TRANSACTIONS":"IN THE FILE.": :"BEGIN DISPLAY WITH WHICH" 273 INPUT "TRANSACTION NUMBER?":X 274 IF X>L THEN 273 275 C=0 276 CALL CLEAR 277 PRINT TAB(6);DAT$:TAB(6);"BALANCE:$"&B$ 278 PRINT :"DATE  DESCRIPTION  AMOUNT":"----  -----------  ------" 279 FOR R=X TO L 280 PRINT A$(R) 281 C=C+1 282 IF C<16 THEN 288 283 PRINT :"  PRESS A KEY TO CONTINUE" 284 CALL KEY(0,I,J) 285 IF J=0 THEN 284 286 C=0 287 CALL CLEAR 288 NEXT R 289 PRINT :"  PRESS A KEY TO CONTINUE" 290 CALL KEY(0,K,S) 291 IF S=0 THEN 290 ELSE 183 292 CALL CLEAR 293 INPUT "PRINTER DEVICE NAME=":M$ 294 OPEN #1:M$,OUTPUT 295 I=0 296 PRINT #1:NAM$:ACN$:DAT$:"BALANCE: $";B$: :"DATE  DESCRIPTION   AMOUNT": : 297 I=I+1 298 IF A$(I)="#" THEN 301 299 PRINT #1:A$(I) 300 GOTO 297 301 CLOSE #1 302 GOTO 183 303 PRINT "FILE FULL" 304 CALL SOUND(200,110,0) 305 FOR R=1 TO 500 306 NEXT R 307 GOTO 183

  • Thanks 1

Share this post


Link to post
Share on other sites

This one is a drawing program, some on you cassette guys may already have it since it came from 99'er magazine.  To others, if you care to look at it, you may find it "new to you".

 



100 REM   ******************            110 REM   * MAKE YOUR MARK*  120 REM   ******************      130 REM    BY ROBERT C.TAYLOR       140 REM   99ER VERSION 2.12.1     150 REM  SET UP AND DATA INITIALIZATION                  160 REM   170 REM  180 OPTION BASE 1 190 DIM A$(8),COM(7),CHR(16),DIR(8,3) 200 DATA 69,0,-1,88,0,1,68,1,0 210 DATA 83,-1,0,82,1,-1,90,-1,1 220 DATA 67,1,1,87,-1,-1 230 FOR I=1 TO 8 240 FOR J=1 TO 3 250 REM DIR(): DIRECTION CODES FOR THE ARROW KEYS  260 READ DIR(I,J) 270 NEXT J 280 NEXT I 290 DATA 49,50,51,13,46,44,32 300 REM  COM: ASCII #'S OF THE COMMAND KEYS           310 FOR I=1 TO 7 320 READ COM(I) 330 NEXT I 340 K=32 350 REM CHR(): STARTING #'S OF EACH CHARACTER SET  360 FOR I=2 TO 16 370 K=K+8 380 CHR(I)=K 390 NEXT I 400 REM A$(): CHARACTER CODES FOR EACH SHAPE  410 A$(1)="FFFFFFFFFFFFFFFF" 420 A$(2)="AA55AA55AA55AA55" 430 A$(3)="FF0000FFFF0000FF" 440 A$(4)="9999999999999999" 450 A$(5)="FFFFC3C3C3C3FFFF" 460 A$(6)="00003C3C3C3C" 470 A$(7)="FF7E3C18183C7EFF" 480 A$(8)="81C3E7FFFFE7C381" 490 REM CURSOR SHAPES  500 B$="8142241818244281" 510 C$="7EBDDBE7E7DBBD7E" 520 D$="00666666667E7E" 530 E$="FF999999998181FF" 540 F$="007E407C7C407E" 550 G$="FF81BF8383BF81FF" 560 REM SET UP SHAPES FOR INSTRUCTIONS  570 FOR I=1 TO 8 580 CALL CHAR(I+127,A$(I)) 590 NEXT I 600 CALL CLEAR 610 REM SET UP CURSORS  620 CALL CHAR(33,B$) 630 CALL CHAR(34,C$) 640 CALL CHAR(35,D$) 650 CALL CHAR(36,E$) 660 CALL CHAR(37,F$) 670 CALL CHAR(38,G$) 680 REM  GOTO INSTRUCTIONS                     690 GOSUB 2330 700 REM SET UP REMAINING CHARACTER SHAPES  710 FOR I=39 TO 151 STEP 8 720 FOR J=1 TO 8 730 CALL CHAR(I+J,A$(J)) 740 NEXT J 750 NEXT I 760 REM SET UP COLORS  770 FOR I=2 TO 16 780 CALL COLOR(I,I,1) 790 NEXT I 800 REM @SCREEN: THE SCREEN COLOR  810 @SCREEN=16 820 REM    SET: THE CHARACTER SET (2-16). CHARACTER: THE PARTICULAR CHARACTER WITHIN THAT SET.   830 REM   PUT: THE ASCII CODE FOR THE CHARACTER TO BE DISPLAYED IN A CALL HCHAR STATEMENT.   840 CALL COLOR(1,16,2) 850 SET=2 860 CHARACTER=1 870 PUT=CHR(SET)+CHARACTER-1 880 REM ROW AND COL DEFINE THE POSITION OF THE CURSOR  890 ROW=12 900 COL=16 910 CALL SCREEN(@SCREEN) 920 REM  CURSOR: ASCII CODE FOR PRINTING A PARTICULAR CURSOR     930 CURSOR=33 940 REM GOTO 'ERASE ALL' SUBROUTINE  950 GOSUB 1980 960 REM   PRINT FIRST MARK AND SET FLAGS. FLAG1: 1>PEN DOWN; 0>PEN UP   970 REM FLAG2: 1>MARK; 0>ERASE.  FLAG3: 1>CURSOR; 2>NO SURSOR.  980 CALL HCHAR(ROW,COL,PUT) 990 FLAG1=1 1000 FLAG2=1 1010 FLAG3=1 1020 REM MAINLINE  1030 REM  1040 REM FLASH THE CURSOR, CHECK FOR CONTROL INPUT, AND GO TO RIGHT SUBROUTINE IF NECESSARY.  1050 REM ELSE GO BACK AND DO IT ALL AGAIN.  1060 CALL GCHAR(ROW,COL,HOLD) 1070 IF STICK=0 THEN 1090 1080 CALL JOYST(SIDE,X,Y) 1090 CALL KEY(3,K,S) 1100 IF FLAG3=0 THEN 1140 1110 CALL HCHAR(ROW,COL,CURSOR) 1120 CALL HCHAR(ROW,COL,CURSOR+1) 1130 CALL HCHAR(ROW,COL,HOLD) 1140 IF (S=0)*(X=0)*(Y=0)THEN 1070 1150 IF (S<>0)*(K<67)THEN 1180 1160 GOSUB 1230 1170 GOTO 1060 1180 GOSUB 1450 1190 GOTO 1060 1200 REM  1210 REM  ***MOVE ROUTINE***      1220 REM  1230 IF FLAG3=0 THEN 1410 1240 IF STICK=0 THEN 1280 1250 ROW1=ROW-Y/4 1260 COL1=COL+X/4 1270 GOTO 1330 1280 FOR I=1 TO 8 1290 IF K=DIR(I,1)THEN 1320 1300 NEXT I 1310 GOTO 1410 1320 ROW1=ROW+DIR(I,3) 1330 IF (ROW1>24)+(ROW1<1)THEN 1410 1340 IF STICK=1 THEN 1360 1350 COL1=COL+DIR(I,2) 1360 IF (COL1>30)+(COL1<3)THEN 1420 1370 COL=COL1 1380 ROW=ROW1 1390 IF FLAG1=0 THEN 1410 1400 CALL HCHAR(ROW,COL,PUT) 1410 RETURN  1420 REM  1430 REM   ***COMMAND ROUTINE***    1440 REM  1450 FOR I=1 TO 7 1460 IF K=COM(I)THEN 1490 1470 NEXT I 1480 GOTO 1500 1490 ON I GOSUB 1540,1700,1890,1980,2050,2130,2230 1500 RETURN  1510 REM  1520 REM  ***CHANGE PEN UP/DOWN ***  1530 REM  1540 IF FLAG3=0 THEN 1560 1550 ON FLAG1+1 GOSUB 1570,1620 1560 RETURN  1570 FLAG1=1 1580 PUT=CHR(SET)+CHARACTER-1 1590 CURSOR=33 1600 CALL HCHAR(ROW,COL,PUT) 1610 RETURN  1620 FLAG1=0 1630 CURSOR=35 1640 IF FLAG2=1 THEN 1660 1650 FLAG2=1 1660 RETURN  1670 REM  1680 REM  ***   CHANGE ERASE/DRAW ***  1690 REM  1700 IF FLAG3=0 THEN 1730 1710 ON FLAG2+1 GOSUB 1740,1800 1720 CALL HCHAR(ROW,COL,PUT) 1730 RETURN  1740 FLAG2=1 1750 PUT=CHR(SET)+CHARACTER-1 1760 IF FLAG1=1 THEN 1780 1770 FLAG1=1 1780 CURSOR=33 1790 RETURN  1800 FLAG2=0 1810 PUT=31 1820 CURSOR=37 1830 IF FLAG1=1 THEN 1850 1840 FLAG1=1 1850 RETURN  1860 REM  1870 REM  *** CURSOR UP/DOWN ***  1880 REM  1890 ON FLAG3+1 GOSUB 1910,1930 1900 RETURN  1910 FLAG3=1 1920 RETURN  1930 FLAG3=0 1940 RETURN  1950 REM  1960 REM  *** ERASE ALL ***  1970 REM  1980 FOR I=1 TO 24 1990 CALL HCHAR(I,1,31,32) 2000 NEXT I 2010 RETURN  2020 REM  2030 REM  ***CHANGE SCREEN COLOR ***  2040 REM  2050 @[email protected]+1 2060 IF @SCREEN<=16 THEN 2080 2070 @SCREEN=2 2080 CALL SCREEN(@SCREEN) 2090 RETURN  2100 REM  2110 REM  *** CHANGE PEN COLOR ***  2120 REM  2130 IF (FLAG1=0)+(FLAG2=0)+(FLAG3=0)THEN 2190 2140 SET=SET+1 2150 IF SET<=16 THEN 2170 2160 SET=2 2170 PUT=CHR(SET)+CHARACTER-1 2180 CALL HCHAR(ROW,COL,PUT) 2190 RETURN  2200 REM  2210 REM *** CHANGE SHAPE ***     2220 REM  2230 IF (FLAG1=0)+(FLAG2=0)+(FLAG3=0)THEN 2290 2240 CHARACTER=CHARACTER+1 2250 IF CHARACTER<=8 THEN 2270 2260 CHARACTER=1 2270 PUT=CHR(SET)+CHARACTER-1 2280 CALL HCHAR(ROW,COL,PUT) 2290 RETURN  2300 REM  2310 REM  *** INSTRUCTIONS ***    2320 REM  2330 CALL CLEAR 2340 PRINT "WANT INSTRUCTIONS? (Y/N¼)" 2350 CALL KEY(3,K,S) 2360 IF S=0 THEN 2350 2370 IF K=78 THEN 3030 2380 IF K=89 THEN 2410 2390 PRINT "'Y' OR'N' PLEASE." 2400 GOTO 2350 2410 CALL CLEAR 2420 PRINT "WELCOME TO 'MAKE YOUR MARK'": :"  THIS PROGRAM WILL ALLOW":"YOU TO DRAW DISIGNS OF YOUR" 2430 PRINT "OWN CHOOSING. SIMPLY USE":"THE JOYSTICK OR THE KEYBOARD":"TO DIRECT THE PEN.    WHEN" 2440 PRINT "IT IS DOWN, IT WILL DRAW":"ACCORDING TO THE SHAPE AND":"COLOR OF POINT YOU HAVE":"CHOSEN." 2450 PRINT : :"THE PEN LOOKS LIKE THIS:";CHR$(33) 2460 PRINT : :"[PRESS ANY KEY TO GO ON]" 2470 CALL HCHAR(20,27,33) 2480 CALL HCHAR(20,27,34) 2490 CALL KEY(0,K,S) 2500 IF S=0 THEN 2470 2510 CALL CLEAR 2520 PRINT "IF YOU WANT TO MOVE THE PEN":"AROUND WITHOUTDRAWING ANY-":"THING, SIMPLY PRESS THE '1'" 2530 PRINT "KEY,  THIS WILL LIFT THE PEN":"AND YOU WILL BE FREE TO":"MOVE THE PEN WHENEVER YOU" 2540 PRINT "WANT WITHOUT LEAVIN A MARK":"TO PUT THE PEN BACK DOWN,":"PRESS '1' AGAIN." 2550 PRINT : :"THE PEN, WHEN 'UP', LOOKS":"LIKE THIS:";CHR$(35) 2560 PRINT : :"[PRESS ANY KEY TO CONTINUE]" 2570 CALL HCHAR(20,13,35) 2580 CALL HCHAR(20,13,36) 2590 CALL KEY(0,K,S) 2600 IF S=0 THEN 2570 2610 CALL CLEAR 2620 PRINT "IF YOU WANT TO ERASE ANY ":"THING YOU HAVE DRAWN,SIMPLY":"PRESS'2.' EVEN IF YOUR" 2630 PRINT "PEN IS 'UP', IT WILL BECOME":"AN ERASER, WHEN YOU MOVE IT,":"IT WILL ERASE EVERYTHIN IT" 2640 PRINT "TOUCHES,  TO STOP ERASING,":"PRESS'2' AGAIN,OR PRESS":"'1' TO PUT THE PEN IN THE" 2650 PRINT "'UP' POSITION.":"WHEN THE PEN IS ERASING, IT":"LOOKS LIKE THIS:";CHR$(37) 2660 PRINT : :"(PRESS ANY KEY TO GO ON)" 2670 CALL HCHAR(20,19,37) 2680 CALL HCHAR(20,19,38) 2690 CALL KEY(0,K,S) 2700 IF S=0 THEN 2670 2710 CALL CLEAR 2720 PRINT "AT ANY TIME,YOU MAY MAKE":"THE PEN DISAPPERR SIMPLY BY":"PRESSING '3.'  THIS WILL" 2730 PRINT "MAKE THE PEN DISAPPEAR,":"EVEN IF IT IS 'UP' OR IN THE":"ERASE MODE.  TO MAKE THE PEN" 2740 PRINT "REAPPEAR, PRESS '3' AGAIN.":"THE PEN WILL COME BACK IN":"THE SAME MODE IT WAS IN WHEN" 2750 PRINT "YOU MADE IT DISAPPEAR":"WHILE IT WAS INVISIBLE,":"NO OTHER KEY BUT '3' WILL" 2760 PRINT "HAVE ANY EFFECT" 2770 PRINT "REMEMBER, YOU CAN GO FROM":"'UP' TO 'ERASE' AND FROM":"'ERASE' TO 'UP' AT ANY TIME." 2780 PRINT : :"[PRESS ANY KEY TO CONTINE]" 2790 CALL KEY(0,K,S) 2800 IF S=0 THEN 2790 2810 CALL CLEAR 2820 PRINT "YOU MAY ERASE THE ENTIRE":"SCREEN AT ANY TIME BY PRESS-":"ING (ENTER). THIS WILL" 2830 PRINT "CLEAR THE SCREEN AND ALLOW":"YOU TO START AFRESH.": :"YOU MAY CHANGE THE COLOR OF" 2840 PRINT "THE SCREEN BY PRESSING '.'":"IF YOU HOLD IT DOWN, THE":"SCREEN WILL CYCLE THROUGH" 2850 PRINT "ALL THE AVAILABLE COLORS,": :"YOU MAY CHANGE THE COLOR":"OF YOUR PEN BY PRESSING" 2860 PRINT "','.  IF YOU HOLD THIS KEY":"DOWN, YOUR PEN WILL":"CYCLE THROUGH ALL THE AVAIL-" 2870 PRINT "ABLE COLORS.": :"[PRESS ANY KEY TO CONTINUE]" 2880 CALL KEY(0,K,S) 2890 IF S=0 THEN 2880 2900 CALL CLEAR 2910 PRINT "YOU MAY CHANGE YOUR PEN'S":"SHAPE BY PRESSING[SPACE].":"BY HOLDING THIS KEY DOWN," 2920 PRINT "YOU MAY CYCLE THROUGH ALL":"THE AVAILABLE SHAPES.": :"THER ARE EIGHT SHAPES:" 2930 PRINT  2940 FOR I=0 TO 4 STEP 4 2950 FOR J=128 TO 131 2960 PRINT CHR$(I+J);"     "; 2970 NEXT J 2980 PRINT : : 2990 NEXT I 3000 PRINT : :"[PRESS ANY KEY TO GO ON]" 3010 CALL KEY(0,K,S) 3020 IF S=0 THEN 3010 3030 CALL CLEAR 3040 PRINT "YOU MAY MOVE THE PEN USING":"EITHER THE JOYSTICK OR THE":"ARROW KEYS.  IF YOU USE THE" 3050 PRINT "ARROW KEYS, YOU MAY ALSO USE":"'W', 'R', 'Z', AND 'C' FOR":"THE DIAGONALS." 3060 PRINT :"IT IS EASIER TO MAVE ON THE ":"DIAGONALS USING THE ARROW":"KEYS, BUT IT IS YOUR CHOISE." 3070 PRINT "DO YOU WANT TO THE":"JOYSTICKS? (Y/N)" 3080 CALL KEY(3,K,S) 3090 IF S=0 THEN 3080 3100 IF K=78 THEN 3140 3110 IF K=89 THEN 3170 3120 PRINT "'Y' OR 'N' PLEASE." 3130 GOTO 3080 3140 STICK=0 3150 JOY$="ARROW KEYS" 3160 GOTO 3260 3170 STICK=1 3180 PRINT : :"PRESS THE FIRING BUTTON ON":"THE JOYSTICK YOU WANT TO":"USE." 3190 FOR I=1 TO 2 3200 CALL KEY(I,K,S) 3210 IF K=18 THEN 3240 3220 NEXT I 3230 GOTO 3190 3240 SIDE=1 3250 JOY$="JOYSTICK "&STR$(SIDE) 3260 CALL CLEAR 3270 PRINT "REMEMBER:":"'1' TO LIFT AND LOWER PEN.": :"'2' TO ERASE OR DRAW AGAIN." 3280 PRINT :"'3' TO MAKE THE PEN DIS-":"APPEAR AND REAPPEAR.":"[ENTER] TO ERASE THE WHOLE":"SCREEN." 3290 PRINT "'.' TO CHANGE THE SCREEN COLOR.": :"',' TO CHANGE PEN COLOR.": :"[SPACE] TO CHANGE YOU PEN" 3300 PRINT "SHAPE." 3310 PRINT :"USE ";JOY$:"TO MOVE YOUR PEN." 3320 PRINT :"[PRESS ANY KEY TO START]" 3330 CALL KEY(3,K,S) 3340 IF S=0 THEN 3330 3350 IF STICK=0 THEN 3380 3360 PRINT : :"CHECK THE ALPHALOCK" 3370 CALL SOUND(200,440,5) 3380 PRINT : : :"NOW EXCUSE ME WHILE I GET":"SET UP." 3390 RETURN  3400 END 

 

That's all from the tape.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

nice :)

Boa Alley and Make your Mark

are also present in the GameBase already.

The other two programs Dow-4-Gazelle and Personal Banking i have a images but have to compare if the same version :)

Thanks for sharing ;)

  • Like 1

Share this post


Link to post
Share on other sites

I found another tape in the box and was able to retrieve 80% of what was on the tape.  Most of it appears to be learning programs for TI BASIC.  I'm not sure anyone is even interested in that sort of thing anymore, but I'll post this first one.  I need to know if anyone recognizes this program or has the series, if so, I'll not waste my time posting the others.  If it looks like a 'lost' or 'unknown' program, let me know then I'll post the rest over the next few days.

 

For the life of me I have no clue where I got these programs, and I sure as heck do not remember ever using them, or even loading them before.

 

Quote

10 QA=600
20 QZ=1
40 CALL CLEAR
50 GOTO 300
60 FOR Q=1 TO QA*QZ
70 NEXT Q
80 RETURN 
90 R=INT(LC)
100 QQ=0
110 C=100*(LC-R)
120 FOR Q=1 TO LEN(A$)
130 QQ=QQ+1
140 IF C+QQ<31 THEN 170
150 R=R+1
160 QQ=1
170 CALL HCHAR(R,C+QQ,ASC(SEG$(A$,Q,1)))
180 NEXT Q
190 RETURN 
200 INPUT "       (PRESS ENTER)":Q$
210 CALL CLEAR
220 RETURN 
300 CALL CHAR(96,"FF")
310 CALL SCREEN(2)
320 PRINT "IN THE LAST CHAPTER,": :"YOU SAW HOW WE COMPUTERS": :"CALCULATE NUMBERS.": : :
330 PRINT "NOW WE WILL DO A LITTLE": :"MORE WORK WITH NUMBERS": :"AND EXPRESSIONS.": : :"THEN YOU WILL BE READY FOR": :
340 PRINT "REAL COMPUTER PROGRAMMING!": : :
350 CALL SCREEN(8)
360 CALL CHAR(97,"FFFF")
370 CALL CHAR(98,"FFFFFF")
380 CALL CHAR(99,"FFFFFFFF")
390 CALL CHAR(100,"FFFFFFFFFF")
400 CALL CHAR(101,"FFFFFFFFFFFF")
410 CALL CHAR(102,"FFFFFFFFFFFFFF")
420 CALL CHAR(103,"FFFFFFFFFFFFFFFF")
430 CALL CHAR(104,"8142241818244281")
440 CALL COLOR(10,16,16)
450 GOSUB 60
460 CALL SCREEN(6)
470 CALL COLOR(9,7,1)
480 FOR I=1 TO 24
490 FOR K=1 TO 8
500 CALL HCHAR(I,1,95+K,32)
510 NEXT K
520 NEXT I
530 FOR I=1 TO 5
540 CALL HCHAR(9+I,6,104,20)
550 NEXT I
560 A$=" LEARNING BASIC "
570 LC=11.07
580 GOSUB 90
590 A$="  CHAPTER  TWO  "
594 PRINT "FOR 99/4A"
598 PRINT "BY UNKNOWN GUY"
600 LC=12.07
610 GOSUB 90
620 A$="  MORE NUMBERS  "
630 LC=13.07
640 GOSUB 90
650 CALL SCREEN(12)
660 GOSUB 60
670 CALL CLEAR
680 PRINT "LET'S SEE HOW MUCH YOU":"REMEMBER FROM CHAPTER ONE.": : :
690 GOSUB 200
700 PRINT "PRETEND THAT YOU ARE":"A COMPUTER"
710 GOSUB 60
720 PRINT "  (EVEN THOUGH YOU DON'T":"LOOK LIKE A COMPUTER).": :
730 PRINT "WHAT IS  1+2^2":"EQUAL TO?": :"TYPE A NUMBER AND":"PRESS ENTER."
740 PRINT :"(BY THE WAY":"IF YOU TYPE A LETTER INSTEAD":"OF A NUMBER, I WILL PRINT":"* WARNING:":"INPUT ERROR"
750 PRINT "TRY AGAIN:":"THIS IS MY WAY OF TELLING":"YOU TO TYPE A ""NUMBER"".)"
760 INPUT S
770 IF S<>5 THEN 820
780 PRINT "VERY GOOD!":"YOU'RE A GOOD COMPUTER."
790 GOSUB 60
800 PRINT "....AND I SHOULD KNOW!"
810 GOTO 1070
820 IF S<>9 THEN 860
830 PRINT "NO ";B$:"THAT'S NOT QUITE RIGHT.":"REMEMBER":"WE CALCULATE POWERS FIRST":"SO THAT WE FIRST CALCULATE"
840 PRINT "2^2 (WHICH EQUALS 4)":"TRY IT AGAIN."
850 GOTO 730
860 PRINT "I DON'T KNOW HOW YOU GOT":"THAT NUMBER.":"LET'S TRY ANOTHER EXAMPLE."
870 GOSUB 200
880 PRINT "WHAT IS 9-2^3":"EQUAL TO?"
890 INPUT ST
900 IF ST<>1 THEN 930
910 PRINT "RIGHT YOU ARE!"
920 GOTO 1060
930 PRINT "NO.  TRY SOMETHING EASIER":"WHAT IS 2^3 EQUAL TO?"
940 INPUT SS
950 IF SS<>8 THEN 1030
960 PRINT "O.K.  THEN WHAT IS 9-2^3":"EQUAL TO?"
970 INPUT SB
980 IF SB<>1 THEN 1010
990 PRINT "I THINK YOU'VE GOT IT.":"I THINK YOU'VE GOT IT!"
1000 GOTO 730
1010 PRINT "NO ";B$:"THE ANSWER IS 9 MINUS 2^3":"WHICH IS EQUAL TO 1."
1020 GOTO 1170
1030 PRINT "I THINK YOU ARE HAVING":"TROUBLE WITH POWERS.":"2^3 MEANS 2 TO THE THIRD":"POWER. WHICH MEANS"
1040 PRINT "2*2*2 (2 TIMES 2 TIMES 2)"
1050 GOTO 1170
1060 REM 
1070 PRINT "LET'S TRY ANOTHER EXAMPLE.":"WHAT IS":"2*3+3-4/2":"EQUAL TO?"
1080 INPUT S
1090 IF S<>7 THEN 1130
1100 PRINT "RIGHT AGAIN."
1110 GOSUB 60
1120 GOTO 1190
1130 PRINT "I'M AFRAID THAT'S NOT QUITE":"RIGHT.":"WE CALCULATE 2*3 FIRST,":"WHICH EQUALS 6"
1140 PRINT "AND THEN CALCULATE 4/2":"WHICH EQUALS 2.": :"THEN WE CALCULATE 6+3-2":"WHICH EQUALS 7.":
1150 PRINT "BE CAREFUL WITH THE":"ORDER THAT WE COMPUTERS":"DO CALCULATIONS."
1160 GOTO 1190
1170 PRINT "I THINK YOU'D BETTER REVIEW":"CHAPTER ONE AGAIN.":"I AM GOING TO STOP HERE AND"
1180 PRINT "LET YOU PUT CHAPTER ONE":"ON AGAIN.": : :
1182 PRINT "TYPE":"   OLD DSK1.B1":"AND PRESS ""ENTER"".": :"THEN TYPE":"     RUN":"AND PRESS ""ENTER""."
1183 END 
1190 GOSUB 200
1200 PRINT "WE KNOW THAT 7-2*3=1,": :
1210 PRINT "AND WE KNOW THAT COMPUTERS":"CALCULATE PRODUCTS BEFORE":"THEY DO SUMS.": :
1220 PRINT "THE ORDER OF CALCULATING":"IS CALLED:": :"THE HIERARCHY OF OPERATIONS.":
1230 GOSUB 200
1240 PRINT "THE HIERARCHY OF OPERATIONS":"IS USUALLY WRITTEN THIS WAY:": :"^":"* /":"+ -"
1250 GOSUB 60
1260 PRINT :"WHICH MEANS": :
1270 LC=18.05
1280 A$="POWERS FIRST             PRODUCTS & QUOTIENTS NEXTSUMS AND DIFFERENCES LAST"
1290 GOSUB 90
1300 GOSUB 60
1310 PRINT "THERE ARE ACTUALLY A FEW":"MORE OPERATORS THAN ^/*+- ;":"WE'LL GET TO THEM LATER."
1320 GOSUB 200
1330 PRINT "SO   7-3*2 EQUALS 1,": :"BUT WHAT IF WE WANT TO":"TAKE 3 AWAY FROM 7":"AND MULTIPLY BY 2?": :
1340 PRINT "HOW DO WE DO THAT?":
1350 GOSUB 60
1360 PRINT "WE USE PARENTHESES!": :
1370 GOSUB 60
1380 PRINT "WE COMPUTERS ALWAYS":"CALCULATE THINGS INSIDE":"PARENTHESES FIRST.": :
1390 GOSUB 60
1400 PRINT "THIS IS VERY IMPORTANT":"SO I'LL SAY IT AGAIN.": : :
1410 GOSUB 60
1420 CALL HCHAR(24,1,100,32)
1430 PRINT :"COMPUTERS ALWAYS CALCULATE":"THINGS INSIDE PARENTHESES":"FIRST!!"
1440 CALL HCHAR(24,1,100,32)
1450 GOSUB 60
1460 CALL COLOR(9,6,6)
1470 PRINT : : : : : : : : : : : : : : : : : : :
1480 GOSUB 60
1490 LC=9.1
1500 A$=" 7-3 *2=1  BUT"
1510 GOSUB 90
1520 LC=10.1
1530 A$="(7-3)*2=8"
1540 GOSUB 90
1550 GOSUB 60
1560 PRINT : :"TRY AN EXAMPLE":"WHAT IS 2*(4-3) EQUAL TO?"
1570 INPUT S
1580 IF S<>2 THEN 1610
1590 PRINT "RIGHT YOU ARE!"
1600 GOTO 1700
1610 IF S<>5 THEN 1660
1620 PRINT "NO. REMEMBER, COMPUTERS":"ALWAYS CALCULATE THINGS":"INSIDE PARENTHESES FIRST.": :"TRY ANOTHER EXAMPLE"
1630 PRINT "WHAT IS 3*(2+1) EQUAL TO?"
1640 INPUT SB
1650 IF SB=9 THEN 1680
1660 PRINT "NO. WE HAD BETTER REVIEW."
1670 GOTO 1330
1680 PRINT "RIGHT!  NOW--"
1690 GOTO 1560
1700 GOSUB 60
1710 CALL CLEAR
1720 PRINT "PARENTHESES ALWAYS COME":"IN SETS..."
1730 GOSUB 60
1740 PRINT "....A LEFT PARENTHESIS ( ...":"AND A RIGHT PARENTHESIS ).": :"AN EXPRESSION CAN HAVE MANY"
1750 PRINT "SETS OF PARENTHESIS IN IT.":"FOR EXAMPLE:": :"2*(3+2*(3-1))": :"WE EVALUATE THE INNERMOST"
1760 PRINT "PARENTHESES FIRST":"AND WORK OUR WAY OUT.": :
1770 GOSUB 200
1780 PRINT "WE COMPUTERS WOULD EVALUATE":"2*(3+2*(3-1))":"LIKE THIS:": : : : : : : : : : : : : : : : : : :
1790 LC=10.1
1800 A$="2*(3+2*(3-1))"
1810 GOSUB 90
1820 LC=11.1
1830 A$="2*(3+2*(2  ))"
1840 GOSUB 90
1850 LC=12.1
1860 A$="2*(3+2* 2   )"
1870 GOSUB 90
1880 LC=13.1
1890 A$="2*(3+4      )"
1900 GOSUB 90
1910 LC=14.1
1920 A$="2*(7        )"
1930 GOSUB 90
1940 LC=15.1
1950 A$="2* 7"
1960 GOSUB 90
1970 LC=16.1
1980 A$="14"
1990 GOSUB 90
2000 GOSUB 200
2010 PRINT "WHAT ABOUT THIS EXAMPLE?": : :"2*(3+2*(3-1)": : :
2020 GOSUB 60
2030 PRINT "T H I S  I S  W R O N G ! !": : :
2040 PRINT "HERE THERE ARE TWO LEFT (":"PARENTHESES AND ONLY ONE":"RIGHT ) PARENTHESIS.":"WE CAN'T HANDLE THAT."
2050 CALL COLOR(10,16,1)
2060 LC=13.01
2070 A$=""
2080 FOR I=1 TO 87
2090 A$=A$&CHR$(104)
2100 NEXT I
2110 GOSUB 90
2120 GOSUB 200
2130 PRINT "LET'S TALK A BIT ABOUT":"NUMBERS NOW.": : :"NUMBERS ARE VERY IMPORTANT":"TO US COMPUTERS.": : :
2140 GOSUB 60
2150 PRINT "EVERYTHING THAT WE DO IS":"DONE BY MOVING AROUND":"NUMBERS.":"EVEN WHEN I AM PRINTING"
2160 PRINT "LETTERS OF THE ALPHABET,":"I AM REALLY WORKING WITH":"NUMBERS.": :
2170 PRINT "FOR US COMPUTERS, EVERY":"LETTER OF THE ALPHABET IS":"REPRESENTED BY A NUMBER."
2180 PRINT "FOR EXAMPLE, THE LETTER ""A""":"IS REPRESENTED BY THE":"NUMBER 65.": :
2190 GOSUB 200
2200 PRINT "THERE ARE BIG NUMBERS": : : : : : : : : :"AND SMALL NUMBERS"
2210 LC=17.03
2220 A$="10,000,000,000  BIG NUMBER"
2230 GOSUB 90
2240 A$=".000000000001  SMALL NUMBER"
2250 LC=19.03
2260 GOSUB 90
2270 GOSUB 60
2280 CALL CLEAR
2290 PRINT : : : : :"10,000,000,000  BIG NUMBER": : :
2300 GOSUB 60
2310 CALL COLOR(2,7,16)
2320 PRINT "COMMAS , ARE BAD;":"DO NOT USE THEM IN NUMBERS."
2330 CALL COLOR(2,5,16)
2340 GOSUB 60
2350 CALL COLOR(2,1,1)
2360 A$="10000000000    "
2370 LC=19.02
2380 GOSUB 90
2390 CALL COLOR(2,2,1)
2400 GOSUB 60
2410 GOSUB 200
2420 PRINT "NUMBERS LIKE 40000000000 OR":".0000000001 TAKE TOO MUCH":"SPACE TO PRINT.": :
2430 PRINT "THEREFORE, WE USE A":"SHORTHAND METHOD OF WRITING":"THESE TYPES OF NUMBERS.": :
2440 GOSUB 60
2450 PRINT "THE NUMBER 40 MILLION":"40000000 IS THE SAME THING":"AS 4*10^7.": :"THE NUMBER .00000004 IS"
2460 PRINT "THE SAME AS 4*10^(-8).": :
2470 GOSUB 200
2480 PRINT "HERE ARE A FEW MORE EXAMPLES": :
2490 PRINT " 5000000=5*10^6"
2500 PRINT "  500000=5*10^5"
2510 PRINT "   50000=5*10^4"
2520 PRINT "    5000=5*10^3"
2530 PRINT "     500=5*10^2"
2540 PRINT "      50=5*10^1    (10^1=10)"
2550 PRINT "       5=5*10^0  (10^0 IS 1)"
2560 PRINT "      .5=5*10^-1"
2570 PRINT "     .05=5*10^-2"
2580 PRINT "    .005=5*10^-3": :
2590 INPUT "**PRESS ENTER**":Q$
2600 LC=12.03
2610 A$=" 123456=1.23456*10^5         12345.6=1.23456*10^4         1234.56=1.23456*10^3           ETCETERA     "
2620 GOSUB 90
2630 GOSUB 200
2640 PRINT "WRITING THE NUMBER":"5000000 AS 5*10^6":"IS KNOWN AS WRITING IT IN":"SCIENTIFIC NOTATION.": : : :
2650 GOSUB 60
2660 PRINT "WE COMPUTERS HAVE OUR OWN":"VERSION OF":"SCIENTIFIC NOTATION.": :"WE PRINT 5*10^6 AS 5E6":"SO THAT-": :
2670 PRINT "50000 = 5E4":"  500 = 5E2":"  .05 = 5E-2":"SO THAT":"5000000=5*10^6=5E6"
2680 GOSUB 200
2690 PRINT "AN EASY WAY OF REMEMBERING":"THIS IS AS FOLLOWS:": :"IF YOU SEE A NUMBER LIKE":"1.43567E4"
2700 PRINT "JUST MOVE THE DECIMAL POINT":"4 PLACES TO THE RIGHT.":"1.43567E4=14356.7": :"IF YOU SEE A NUMBER LIKE"
2710 PRINT "1.32698E-3":"JUST MOVE THE DECIMAL POINT":"3 PLACES TO THE LEFT.":"1.32698E-3=.00132698": :
2720 GOSUB 200
2730 PRINT "BIG NUMBERS ARE NOW VERY":"EASY TO WRITE.": :"2E22=20000000000000000000000": : :
2740 PRINT "WHEN WE COMPUTERS NEED":"TO WRITE A NUMBER WITH MORE":"THAN 10 DIGITS, WE USE":"SCIENTIFIC NOTATION."
2750 GOSUB 200
2760 LC=10.03
2770 A$="NOW YOU TRY IT."
2780 GOSUB 90
2790 LC=12.03
2800 A$="WHAT IS 1.25E2 EQUAL TO?"
2810 GOSUB 90
2820 INPUT A
2830 IF A=125 THEN 2920
2840 PRINT "NO!  1.25E2 MEANS":"1.25 TIMES 10^2 WHICH IS":"1.25 TIMES 100":"(1.25*100=125)"
2850 PRINT "LET'S TRY AGAIN": :"WHAT IS 1.5E5 EQUAL TO?"
2860 INPUT "(NO COMMAS PLEASE) ":A
2870 IF A=150000 THEN 2900
2880 PRINT "NOT QUITE.":"1.5E5 MEANS 1.5*100000":"WHICH IS 150000": :"LET'S GO BACK"
2890 GOTO 2190
2900 PRINT "WELL DONE"
2910 GOTO 2800
2920 PRINT "RIGHT!"
2930 GOSUB 60
2940 CALL CLEAR
2950 PRINT "LET'S TRY ANOTHER ONE.": :"WHAT IS 17E-3 EQUAL TO?"
2960 INPUT A
2970 IF A<>.017 THEN 3000
2980 PRINT "O.K.  YOU KNOW ALL THIS."
2990 GOTO 3070
3000 PRINT "NO.  THAT IS NOT RIGHT":"17E-3 = 17*10^(-3)":"WHICH IS 17 TIMES .001":"WHICH EQUALS .017": :
3010 PRINT "IF YOU SEE A NUMBER LIKE":"134E-5 JUST MOVE":"THE DECIMAL POINT 5 PLACES":"TO THE LEFT.": :
3020 GOSUB 200
3030 PRINT "134E-5 = 13.4E-4":"13.4E-4= 1.34E-3":"1.34E-3= .134E-2":".134E-2= .0134E-1":".0134E-1=.00134": :
3040 PRINT "THEREFORE":"134E-5 = .00134": :
3050 PRINT "LET'S REVIEW IT AGAIN."
3060 GOTO 2190
3070 GOSUB 60
3080 CALL CLEAR
3090 PRINT "THIS IS THE END OF CHAPTER 2"
3100 GOSUB 60
3110 LC=10.03
3120 A$="THE NEXT CHAPTER WILL      ACTUALLY BE ABOUT COMPUTERSAND ""BASIC""."
3130 QA=40
3140 GOSUB 90
3150 FOR I=3 TO 16
3160 GOSUB 60
3170 CALL SCREEN(I)
3180 NEXT I
3190 GOSUB 60

 

  • Like 1

Share this post


Link to post
Share on other sites

This is the last one until I get some feedback on A) it's useful to someone or B) these programs do not exist elsewhere.

 



10 QA=600 40 GOTO 230 60 FOR Q=1 TO QA 70 NEXT Q 80 RETURN  90 R=INT(LC) 100 QQ=0 110 C=100*(LC-R) 120 FOR Q=1 TO LEN(A$) 130 QQ=QQ+1 140 IF C+QQ<31 THEN 170 150 R=R+1 160 QQ=1 170 CALL HCHAR(R,C+QQ,ASC(SEG$(A$,Q,1))) 180 NEXT Q 190 RETURN  200 INPUT "       (PRESS ENTER)":Q$ 210 CALL CLEAR 220 RETURN  230 CALL CLEAR 240 CALL CHAR(100,"FF") 250 CALL COLOR(9,6,16) 260 CALL SCREEN(2) 270 FOR I=1 TO 24 280 CALL HCHAR(I,1,100,32) 290 NEXT I 300 GOSUB 320 310 GOTO 410 320 CALL CHAR(100,"FF") 330 CALL CHAR(100,"FFFF") 340 CALL CHAR(100,"FFFFFF") 350 CALL CHAR(100,"FFFFFFFF") 360 CALL CHAR(100,"FFFFFFFFFF") 370 CALL CHAR(100,"FFFFFFFFFFFF") 380 CALL CHAR(100,"FFFFFFFFFFFFFF") 390 CALL CHAR(100,"FFFFFFFFFFFFFFFF") 400 RETURN  410 LC=5.09 420 A$="LEARNING BASIC" 430 GOSUB 90 440 GOSUB 320 450 CALL SCREEN(16) 460 LC=7.09 470 A$="CHAPTER  THREE" 474 PRINT "FOR 99/4A" 478 PRINT "BY UNKNOWN GUY" 480 GOSUB 90 490 CALL COLOR(9,6,11) 500 GOSUB 320 510 CALL CHAR(110,"FF") 520 CALL COLOR(10,13,13) 530 A$=" CONTROLLING YOUR COMPUTER" 540 GOSUB 560 550 GOTO 600 560 FOR I=1 TO 10 570 PRINT A$ 580 NEXT I 590 RETURN  600 PRINT :"   WHOA BOY!": : 610 GOSUB 560 620 PRINT :"   I SAY WHOA!!": : 630 GOSUB 560 640 PRINT :"   DANG NAB IT STOP!!!": : 650 GOSUB 560 660 PRINT :"SHIFT C": : 670 CALL SCREEN(12) 680 GOSUB 60 690 PRINT "YOU ARE ALMOST READY TO":"BEGIN PROGRAMMING A":"COMPUTER.": : 700 PRINT "BUT FIRST YOU WILL HAVE TO":"LEARN HOW TO CONTROL":"A COMPUTER.": : :"I'M A COMPUTER!": : 720 GOSUB 200 730 PRINT "WHAT YOU ARE READING":"IS PART OF A PROGRAM.": : 740 PRINT "A PROGRAM IS A SET OF":"INSTRUCTIONS THAT A COMPUTER":"PROCESSES.": : 750 PRINT "WHEN THE PROGRAM IS WRITTEN":"AND STORED IN THE COMPUTER'S":"MEMORY, THE PROGRAM":"CAN BE ""RUN"".": : 760 PRINT "WHEN A PROGRAM IS RUNNING,":"THE COMPUTER IS EXECUTING":"THE INSTRUCTIONS ONE BY ONE.": : : 770 GOSUB 60 780 PRINT "THE PROGRAM CAN BE ""RUN"" BY":"TYPING  RUN   AND":"PRESSING THE ""ENTER"" KEY.": : 790 GOSUB 200 800 LC=10.03 810 A$="THE PROGRAM CAN BE STOPPED BY HOLDING THE ""SHIFT"" KEY DOWN, AND PRESSING ""C""." 820 GOSUB 90 830 LC=14.03 840 A$="IT CAN BE RESTARTED FROM   THE BEGINNING BY AGAIN     ENTERING   ""RUN""." 850 GOSUB 90 860 GOSUB 200 870 PRINT "TRY IT ONCE!": :"HOLD DOWN THE SHIFT KEY AND":"PRESS C.": :"THEN TYPE  RUN":"AND PRESS THE ENTER KEY." 880 PRINT "THIS PROGRAM WILL THEN START":"FROM THE BEGINNING.": :"(IF YOU HAVE TRIED IT ONCE":"JUST PRESS ENTER)": : 890 INPUT Q$ 900 CALL CLEAR 910 PRINT "BY THE WAY, WHEN YOU STOP":"THE PROGRAM, I'LL TELL YOU":"WHERE IN THE PROGRAM":"I HAVE BEEN STOPPED." 920 GOSUB 200 930 LC=5.02 940 PRINT "FINE!  BUT.." 950 A$="..CAN WE STOP A PROGRAM, ANDTHEN HAVE THE PROGRAM       CONTINUE WHERE IT LEFT OFF?" 960 GOSUB 90 970 LC=10.1 980 A$="YES!   HERE'S HOW." 990 GOSUB 90 1000 GOSUB 200 1010 PRINT "YOU STOP THE PROGRAM":"(SHIFT C)":"AND WHEN YOU WANT TO":"CONTINUE THE PROGRAM FROM" 1020 PRINT "WHERE YOU LEFT OFF,":"YOU TYPE THE WORD":"CONTINUE":"AND PRESS ENTER.": : 1030 GOSUB 60 1040 PRINT "HERE! LET'S TRY IT.": :"I WILL SLOWLY START PRINTING":"PLUS SIGNS.":"WHENEVER YOU WANT TO," 1050 PRINT "STOP THE COMPUTER":"(SHIFT AND C).": :"THEN TYPE CONTINUE AND":"PRESS ENTER.": : 1060 PRINT "(AFTER A WHILE I'LL GO ON.)" 1070 GOSUB 200 1080 FOR I=12 TO 16 1090 FOR K=1 TO 25 1100 PRINT TAB(K/2);"+"; 1110 NEXT K 1120 IF JJ=0 THEN 1140 1130 PRINT "HOLD DOWN THE SHIFT KEY.":"PUSH C.": :"NOW TYPE CONTINUE AND":"PRESS ENTER." 1140 CALL SCREEN(I) 1150 CALL COLOR(2,18-I,16) 1160 NEXT I 1170 CALL CLEAR 1180 CALL SCREEN(12) 1190 PRINT "WERE YOU ABLE TO STOP THE":"PROGRAM AND THEN":"CONTINUE IT?" 1200 INPUT "ENTER YES OR NO: ":A$ 1210 IF SEG$(A$,1,1)="Y" THEN 1250 1220 PRINT "OK LET'S TRY AGAIN." 1230 JJ=1 1240 GOTO 1080 1250 PRINT "GOOD!": : :"WHEN A PROGRAM IS RUNNING,":"IT IS SAID TO BE IN":"PROGRAM (OR INDIRECT) MODE.": : 1260 CALL COLOR(2,2,1) 1270 CALL SCREEN(12) 1280 PRINT "WHEN YOU ARE GIVING THE":"COMPUTER INSTRUCTIONS THAT":"MUST BE PERFORMED RIGHT THEN":"LIKE," 1290 PRINT "PRINT 2+2":"OR":"RUN":"OR":"CONTINUE": :"WE SAY THAT THE COMPUTER IS":"IN DIRECT MODE.": : 1300 GOSUB 200 1310 PRINT "SUPPOSE THAT THE COMPUTER IS":"RUNNING A PROGRAM":"(LIKE THIS ONE).": :"SUPPOSE ALSO THAT YOU ARE" 1320 PRINT "SEIZED WITH THE URGENT":"DESIRE TO KNOW WHAT 2.1^4":"IS EQUAL TO.":"WHAT COULD YOU DO?": : 1330 QA=1000 1340 GOSUB 60 1350 PRINT "YOU COULD DO THE FOLLOWING!" 1360 GOSUB 60 1370 PRINT "1) STOP THE COMPUTER":"   (SHIFT C)":"2) TYPE ""PRINT 2.1^4""":"3) PRESS ENTER" 1380 PRINT " THE ANSWER WILL BE PRINTED.":"4) TYPE CONTINUE":"5) PRESS ENTER":" THE COMPUTER WILL CONTINUE." 1390 PRINT "  RUNNING THE PROGRAM.": : 1400 GOSUB 200 1410 PRINT "TRY IT! STOP THE PROGRAM,":"CALCULATE 3^4 AND THEN":"CONTINUE.": : :"JUST FOR FUN, WHILE YOU ARE" 1420 PRINT "PLAYING WITH STOPPING THE":"PROGRAM, I WILL KILL TIME":"BY CALCULATING":"SOME SQUARE ROOTS.": : 1430 GOSUB 200 1440 FOR I=1 TO 50 1450 PRINT "SQR ROOT OF";I;"=";SQR(I) 1460 NEXT I 1470 CALL CLEAR 1480 PRINT "NOW THAT YOU KNOW A LITTLE":"ABOUT CONTROLLING ME,":"WE CAN TALK ABOUT":"PROGRAMMING.": : : 1490 GOSUB 60 1500 PRINT "THE DIFFERENCE BETWEEN US":"COMPUTERS AND COMMON GARDEN":"VARIETY CALCULATORS IS THAT" 1510 PRINT "COMPUTERS CAN RUN PROGRAMS.": : : 1520 QA=1000 1530 GOSUB 200 1540 PRINT "AS I MENTIONED BEFORE,":"PROGRAMS ARE A COLLECTION":"OF INSTRUCTIONS THAT A":"COMPUTER PERFORMS" 1550 PRINT "ONE BY ONE.": :"THESE INSTRUCTIONS ARE":"STORED IN THE COMPUTER'S":"MEMORY,":"AND THEY ARE NUMBERED." 1560 GOSUB 60 1570 PRINT : :"HERE IS AN EXAMPLE OF A":"SIMPLE (AND QUITE USELESS)":"PROGRAM.": :"THIS PROGRAM ANSWERS THE" 1580 PRINT "QUESTION: IF YOU HAVE A":"RIGHT TRIANGLE WITH SIDES":"OF LENGTH 3 AND OF LENGTH 4," 1590 PRINT "WHAT IS THE LENGTH OF THE":"HYPOTENUSE?": : 1600 GOSUB 200 1610 LC=1.03 1620 A$="10 A=3" 1630 GOSUB 90 1640 LC=4.03 1650 A$="20 B=4" 1660 GOSUB 90 1670 LC=7.03 1680 A$="30 C=A^2+B^2" 1690 GOSUB 90 1700 LC=10.03 1710 A$="40 D=SQR(C)" 1720 GOSUB 90 1730 LC=13.03 1740 A$="50 PRINT D" 1750 GOSUB 90 1760 LC=16.03 1770 A$="60 END" 1780 GOSUB 90 1790 QA=2000 1800 GOSUB 60 1810 LC=1.14 1820 A$="THE NUMBER 3 IS REPRESENTED BY  THE LETTER ""A""." 1830 GOSUB 90 1840 LC=4.14 1850 A$="B REPRESENTS 4." 1860 GOSUB 90 1870 LC=7.16 1880 A$="C IS SET EQUALTO 3 SQUARED  PLUS 4 SQUARED" 1890 GOSUB 90 1900 LC=10.16 1910 A$="D IS SET TO   THE SQUARE    ROOT OF C." 1920 GOSUB 90 1930 LC=13.14 1940 A$="WE PRINT THE    ANSWER." 1950 GOSUB 90 1960 LC=16.14 1970 A$="THE PROGRAM IS  ENDED." 1980 GOSUB 90 1990 GOSUB 200 2000 CALL CHAR(159,"0038440810207C00") 2010 D$=CHR$(159) 2020 PRINT "10 A=3": : :"20 B=4": : :"30 C=A^";D$;"+B^";D$;: : :"40 D=SQR(C)": : :"50 PRINT D": : :"60 END": : 2030 PRINT "WE COULD MAKE THIS PROGRAM":"MORE USEFUL IF WE COULD":"USE THE KEYBOARD TO PUT" 2040 PRINT "IN OTHER VALUES OF A AND B.": : 2050 GOSUB 60 2060 PRINT "HERE'S HOW WE WOULD DO THIS." 2070 GOSUB 60 2080 CALL HCHAR(18,1,32,192) 2090 CALL COLOR(10,5,5) 2100 A$=CHR$(104)&"         " 2110 LC=1.02 2120 GOSUB 90 2130 A$="10 INPUT A" 2140 GOSUB 90 2150 LC=4.02 2160 A$=CHR$(104)&"         " 2170 GOSUB 90 2180 A$="20 INPUT B" 2190 GOSUB 90 2200 GOSUB 60 2210 LC=1.13 2220 A$="THE COMPUTER WILL ASK YOU TO ENTER  THE NUMBER ""A"";" 2230 GOSUB 90 2240 LC=4.13 2250 A$="THE SAME GOES FOR B." 2260 GOSUB 90 2270 CALL COLOR(3,5,16) 2280 LC=18.03 2290 A$="THE LINES ARE NUMBERED 10, 20,30.... SO WE COULD, IF  WE WANT TO LATER, PUT IN A STATEMENT 15." 2300 GOSUB 90 2310 GOSUB 200 2315 CALL COLOR(3,2,1) 2320 PRINT "WE COULD MAKE THE PROGRAM A":"LITTLE MORE ELABORATE":"(I'LL SHOW YOU HOW LATER)" 2330 PRINT "SO THAT IT WOULD":"WORK LIKE THIS....": :"(FOLLOW THE INSTRUCTIONS)": : : 2340 PRINT "PROGRAM FOR FINDING":"HYPOTENUSES OF":"RIGHT TRIANGLES":"(SIDES ARE 'A' AND 'B')": : 2350 INPUT "ENTER LENGTH OF 'A':":A 2360 INPUT "ENTER LENGTH OF 'B':":B 2370 C=SQR(A^2+B^2) 2380 PRINT "HYPOTENUSE=";C: : : 2390 UNTRACE  2395 QA=600 2400 GOSUB 200 2410 PRINT "THIS HYPOTENUSE PROGRAM IS":"ACTUALLY PART OF THIS SELF-":"INSTRUCTION PROGRAM THAT" 2420 PRINT "YOU ARE NOW READING.":"IN FACT, THE STATEMENT":"NUMBERS FOR THE HYPOTENUSE":"PROGRAM ARE NUMBERS" 2430 PRINT "2340 THROUGH 2380.": : :"LET'S SEE, LINE BY LINE, HOW":"THE COMPUTER EXECUTES THE":"HYPOTENUSE PROGRAM." 2440 GOSUB 200 2450 PRINT "FIRST, THERE IS ANOTHER":"LITTLE HELP YOU SHOULD KNOW.":"THERE IS A WAY OF STARTING" 2460 PRINT "A PROGRAM RUNNING AT ANY":"POINT IN THE PROGRAM THAT":"YOU WANT IT TO.":"HERE'S HOW." 2470 PRINT "SUPPOSE YOU WANT TO GO TO":"THE BEGINNING OF THE":"HYPOTENUSE PROGRAM.": : 2480 PRINT "THE HYPOTENUSE PROGRAM":"STARTS AT LINE 2340.": :"STOP THE PROGRAM  (SHIFT C)":"TYPE  RUN 2340" 2490 PRINT "AND THEN PRESS ENTER.":"THE PROGRAM WILL START FROM":"LINE 2340.": :"GO AHEAD. TRY IT ONCE." 2500 INPUT "IF YOU HAVE TRIED IT,       PRESS ENTER.":Q$ 2510 CALL CLEAR 2520 CALL SCREEN(12) 2530 A$="TRACE" 2540 LC=8.03 2550 GOSUB 90 2560 GOSUB 60 2570 PRINT "IF YOU STOP THE PROGRAM AND":"TYPE  ""TRACE"",":"THE COMPUTER WILL PRINT OUT" 2580 PRINT "THE NUMBER OF THE LINE IT IS":"CURRENTLY EXECUTING.": :"LET'S TRY IT AND ALSO GO" 2590 PRINT "BACK TO THE HYPOTENUSE":"PROGRAM AGAIN.": : 2600 GOSUB 200 2610 PRINT "STOP THE COMPUTER":"TYPE  TRACE":"PRESS  ENTER":"TYPE  RUN 2340":"PRESS  ENTER.": : 2620 INPUT "IF YOU HAVE TRIED IT,       PRESS ENTER.":Q$ 2630 CALL CLEAR 2640 CALL SCREEN(12) 2650 PRINT "I HAVE TURNED THE TRACE OFF.":"TYPING ""TRACE"" TURNS IT ON.":"TYPING ""UNTRACE"" TURNS IT":"OFF.": : 2660 PRINT "TRACE IS VERY USEFUL FOR":"DEBUGGING A PROGRAM":"(WE SAY ""DEBUGGING"" INSTEAD":"OF ""CORRECTING"".)" 2670 GOSUB 200 2680 PRINT "THERE IS JUST ONE MORE THING":"TO SPEAK OF AND WE'LL BE":"READY FOR SOME REAL":"PROGRAMMING.": : 2690 GOSUB 60 2700 PRINT "TO SEE ALL OF THE STATEMENTS":"IN THE WHOLE PROGRAM,":"YOU CAN DO THE FOLLOWING:" 2710 PRINT "STOP THE COMPUTER":"TYPE  LIST":"PRESS  ENTER":"AFTER THE LISTING STOPS":"TYPE  RUN 2750 AND" 2720 PRINT "PRESS  ENTER.": :"THE PROGRAM WILL CONTINUE":"WHERE WE LEFT OFF.": :"TRY IT!":"STOP THE COMPUTER" 2730 PRINT "TYPE LIST":"PRESS  ENTER." 2740 GOTO 2740 2750 CALL SCREEN(12) 2755 QA=600 2760 CALL CLEAR 2770 PRINT "THIS LISTING IS VERY LONG.": :"YOU CAN STOP THE LISTING AT":"ANY TIME IN THE SAME WAY" 2780 PRINT "AS YOU STOP THE PROGRAM":"(SHIFT C).": : : 2790 GOSUB 60 2800 PRINT "YOU CAN ALSO USE THE LIST":"COMMAND TO SEE ONLY A PART":"OF THE PROGRAM.": : 2810 GOSUB 200 2820 CALL SCREEN(2) 2830 PRINT "LIST": : : :"LIST 1000": : : :"LIST -1000": : : :"LIST 1000-": : : :"LIST 1000-2000": : : : 2840 CALL SCREEN(12) 2850 LC=4.16 2860 A$="THIS LISTS THEWHOLE PROGRAM." 2870 GOSUB 90 2880 LC=8.16 2890 A$="THIS LISTS THELINE 1000." 2900 GOSUB 90 2910 LC=12.16 2920 A$="THIS LISTS UP TO LINE 1000." 2930 GOSUB 90 2940 LC=16.16 2950 A$="THIS LISTS    FROM LINE 1000ON." 2960 GOSUB 90 2970 LC=20.18 2980 A$="THIS LISTS  LINES 1000  TO 2000." 2990 GOSUB 90 3000 GOSUB 200 3010 PRINT "WELL":"THAT'S ALL YOU NEED TO KNOW":"ABOUT CONTROLLING":"A COMPUTER.": : 3030 PRINT "THIS IS THE END OF CHAPTER 3" 3050 REM  3060 REM  3070 REM  3080 REM******************  3090 REM    TYPE RUN 2750   3100 REM    PUSH ENTER  3110 REM****************** 


  • Like 1

Share this post


Link to post
Share on other sites

BTW, I, at least, think posting find like this is interesting.  You never know what you might stumble across.

Share this post


Link to post
Share on other sites

Google tells me that Radioshack Concertape cassettes contained reject grade tape. :(

 

Better get the data off just as a matter of principle.

Share this post


Link to post
Share on other sites
4 hours ago, wierd_w said:

Google tells me that Radioshack Concertape cassettes contained reject grade tape. :(

 

I believe it!  BITD I had a few decent tapes for my favorite programs, but those tapes probably went to deserving TI'ers when I upgraded to the P-Box.  These tapes were unceremoniously dumped in a shoe box and stored in an shed with other unused audio tapes (because of lousy music) for decades.  Honestly I'm amazed I got what I did off of them. 

 

 

Expensive.JPG.c1841c3082d6c2841d751a5898f893f4.JPG  Remember these?

 

 

  • Like 1

Share this post


Link to post
Share on other sites
12 hours ago, Omega-TI said:

This is the last one until I get some feedback on A) it's useful to someone or B) these programs do not exist elsewhere.

 

 

  Reveal hidden contents

 

 


10 QA=600 40 GOTO 230 60 FOR Q=1 TO QA 70 NEXT Q 80 RETURN  90 R=INT(LC) 100 QQ=0 110 C=100*(LC-R) 120 FOR Q=1 TO LEN(A$) 130 QQ=QQ+1 140 IF C+QQ<31 THEN 170 150 R=R+1 160 QQ=1 170 CALL HCHAR(R,C+QQ,ASC(SEG$(A$,Q,1))) 180 NEXT Q 190 RETURN  200 INPUT "       (PRESS ENTER)":Q$ 210 CALL CLEAR 220 RETURN  230 CALL CLEAR 240 CALL CHAR(100,"FF") 250 CALL COLOR(9,6,16) 260 CALL SCREEN(2) 270 FOR I=1 TO 24 280 CALL HCHAR(I,1,100,32) 290 NEXT I 300 GOSUB 320 310 GOTO 410 320 CALL CHAR(100,"FF") 330 CALL CHAR(100,"FFFF") 340 CALL CHAR(100,"FFFFFF") 350 CALL CHAR(100,"FFFFFFFF") 360 CALL CHAR(100,"FFFFFFFFFF") 370 CALL CHAR(100,"FFFFFFFFFFFF") 380 CALL CHAR(100,"FFFFFFFFFFFFFF") 390 CALL CHAR(100,"FFFFFFFFFFFFFFFF") 400 RETURN  410 LC=5.09 420 A$="LEARNING BASIC" 430 GOSUB 90 440 GOSUB 320 450 CALL SCREEN(16) 460 LC=7.09 470 A$="CHAPTER  THREE" 474 PRINT "FOR 99/4A" 478 PRINT "BY UNKNOWN GUY" 480 GOSUB 90 490 CALL COLOR(9,6,11) 500 GOSUB 320 510 CALL CHAR(110,"FF") 520 CALL COLOR(10,13,13) 530 A$=" CONTROLLING YOUR COMPUTER" 540 GOSUB 560 550 GOTO 600 560 FOR I=1 TO 10 570 PRINT A$ 580 NEXT I 590 RETURN  600 PRINT :"   WHOA BOY!": : 610 GOSUB 560 620 PRINT :"   I SAY WHOA!!": : 630 GOSUB 560 640 PRINT :"   DANG NAB IT STOP!!!": : 650 GOSUB 560 660 PRINT :"SHIFT C": : 670 CALL SCREEN(12) 680 GOSUB 60 690 PRINT "YOU ARE ALMOST READY TO":"BEGIN PROGRAMMING A":"COMPUTER.": : 700 PRINT "BUT FIRST YOU WILL HAVE TO":"LEARN HOW TO CONTROL":"A COMPUTER.": : :"I'M A COMPUTER!": : 720 GOSUB 200 730 PRINT "WHAT YOU ARE READING":"IS PART OF A PROGRAM.": : 740 PRINT "A PROGRAM IS A SET OF":"INSTRUCTIONS THAT A COMPUTER":"PROCESSES.": : 750 PRINT "WHEN THE PROGRAM IS WRITTEN":"AND STORED IN THE COMPUTER'S":"MEMORY, THE PROGRAM":"CAN BE ""RUN"".": : 760 PRINT "WHEN A PROGRAM IS RUNNING,":"THE COMPUTER IS EXECUTING":"THE INSTRUCTIONS ONE BY ONE.": : : 770 GOSUB 60 780 PRINT "THE PROGRAM CAN BE ""RUN"" BY":"TYPING  RUN   AND":"PRESSING THE ""ENTER"" KEY.": : 790 GOSUB 200 800 LC=10.03 810 A$="THE PROGRAM CAN BE STOPPED BY HOLDING THE ""SHIFT"" KEY DOWN, AND PRESSING ""C""." 820 GOSUB 90 830 LC=14.03 840 A$="IT CAN BE RESTARTED FROM   THE BEGINNING BY AGAIN     ENTERING   ""RUN""." 850 GOSUB 90 860 GOSUB 200 870 PRINT "TRY IT ONCE!": :"HOLD DOWN THE SHIFT KEY AND":"PRESS C.": :"THEN TYPE  RUN":"AND PRESS THE ENTER KEY." 880 PRINT "THIS PROGRAM WILL THEN START":"FROM THE BEGINNING.": :"(IF YOU HAVE TRIED IT ONCE":"JUST PRESS ENTER)": : 890 INPUT Q$ 900 CALL CLEAR 910 PRINT "BY THE WAY, WHEN YOU STOP":"THE PROGRAM, I'LL TELL YOU":"WHERE IN THE PROGRAM":"I HAVE BEEN STOPPED." 920 GOSUB 200 930 LC=5.02 940 PRINT "FINE!  BUT.." 950 A$="..CAN WE STOP A PROGRAM, ANDTHEN HAVE THE PROGRAM       CONTINUE WHERE IT LEFT OFF?" 960 GOSUB 90 970 LC=10.1 980 A$="YES!   HERE'S HOW." 990 GOSUB 90 1000 GOSUB 200 1010 PRINT "YOU STOP THE PROGRAM":"(SHIFT C)":"AND WHEN YOU WANT TO":"CONTINUE THE PROGRAM FROM" 1020 PRINT "WHERE YOU LEFT OFF,":"YOU TYPE THE WORD":"CONTINUE":"AND PRESS ENTER.": : 1030 GOSUB 60 1040 PRINT "HERE! LET'S TRY IT.": :"I WILL SLOWLY START PRINTING":"PLUS SIGNS.":"WHENEVER YOU WANT TO," 1050 PRINT "STOP THE COMPUTER":"(SHIFT AND C).": :"THEN TYPE CONTINUE AND":"PRESS ENTER.": : 1060 PRINT "(AFTER A WHILE I'LL GO ON.)" 1070 GOSUB 200 1080 FOR I=12 TO 16 1090 FOR K=1 TO 25 1100 PRINT TAB(K/2);"+"; 1110 NEXT K 1120 IF JJ=0 THEN 1140 1130 PRINT "HOLD DOWN THE SHIFT KEY.":"PUSH C.": :"NOW TYPE CONTINUE AND":"PRESS ENTER." 1140 CALL SCREEN(I) 1150 CALL COLOR(2,18-I,16) 1160 NEXT I 1170 CALL CLEAR 1180 CALL SCREEN(12) 1190 PRINT "WERE YOU ABLE TO STOP THE":"PROGRAM AND THEN":"CONTINUE IT?" 1200 INPUT "ENTER YES OR NO: ":A$ 1210 IF SEG$(A$,1,1)="Y" THEN 1250 1220 PRINT "OK LET'S TRY AGAIN." 1230 JJ=1 1240 GOTO 1080 1250 PRINT "GOOD!": : :"WHEN A PROGRAM IS RUNNING,":"IT IS SAID TO BE IN":"PROGRAM (OR INDIRECT) MODE.": : 1260 CALL COLOR(2,2,1) 1270 CALL SCREEN(12) 1280 PRINT "WHEN YOU ARE GIVING THE":"COMPUTER INSTRUCTIONS THAT":"MUST BE PERFORMED RIGHT THEN":"LIKE," 1290 PRINT "PRINT 2+2":"OR":"RUN":"OR":"CONTINUE": :"WE SAY THAT THE COMPUTER IS":"IN DIRECT MODE.": : 1300 GOSUB 200 1310 PRINT "SUPPOSE THAT THE COMPUTER IS":"RUNNING A PROGRAM":"(LIKE THIS ONE).": :"SUPPOSE ALSO THAT YOU ARE" 1320 PRINT "SEIZED WITH THE URGENT":"DESIRE TO KNOW WHAT 2.1^4":"IS EQUAL TO.":"WHAT COULD YOU DO?": : 1330 QA=1000 1340 GOSUB 60 1350 PRINT "YOU COULD DO THE FOLLOWING!" 1360 GOSUB 60 1370 PRINT "1) STOP THE COMPUTER":"   (SHIFT C)":"2) TYPE ""PRINT 2.1^4""":"3) PRESS ENTER" 1380 PRINT " THE ANSWER WILL BE PRINTED.":"4) TYPE CONTINUE":"5) PRESS ENTER":" THE COMPUTER WILL CONTINUE." 1390 PRINT "  RUNNING THE PROGRAM.": : 1400 GOSUB 200 1410 PRINT "TRY IT! STOP THE PROGRAM,":"CALCULATE 3^4 AND THEN":"CONTINUE.": : :"JUST FOR FUN, WHILE YOU ARE" 1420 PRINT "PLAYING WITH STOPPING THE":"PROGRAM, I WILL KILL TIME":"BY CALCULATING":"SOME SQUARE ROOTS.": : 1430 GOSUB 200 1440 FOR I=1 TO 50 1450 PRINT "SQR ROOT OF";I;"=";SQR(I) 1460 NEXT I 1470 CALL CLEAR 1480 PRINT "NOW THAT YOU KNOW A LITTLE":"ABOUT CONTROLLING ME,":"WE CAN TALK ABOUT":"PROGRAMMING.": : : 1490 GOSUB 60 1500 PRINT "THE DIFFERENCE BETWEEN US":"COMPUTERS AND COMMON GARDEN":"VARIETY CALCULATORS IS THAT" 1510 PRINT "COMPUTERS CAN RUN PROGRAMS.": : : 1520 QA=1000 1530 GOSUB 200 1540 PRINT "AS I MENTIONED BEFORE,":"PROGRAMS ARE A COLLECTION":"OF INSTRUCTIONS THAT A":"COMPUTER PERFORMS" 1550 PRINT "ONE BY ONE.": :"THESE INSTRUCTIONS ARE":"STORED IN THE COMPUTER'S":"MEMORY,":"AND THEY ARE NUMBERED." 1560 GOSUB 60 1570 PRINT : :"HERE IS AN EXAMPLE OF A":"SIMPLE (AND QUITE USELESS)":"PROGRAM.": :"THIS PROGRAM ANSWERS THE" 1580 PRINT "QUESTION: IF YOU HAVE A":"RIGHT TRIANGLE WITH SIDES":"OF LENGTH 3 AND OF LENGTH 4," 1590 PRINT "WHAT IS THE LENGTH OF THE":"HYPOTENUSE?": : 1600 GOSUB 200 1610 LC=1.03 1620 A$="10 A=3" 1630 GOSUB 90 1640 LC=4.03 1650 A$="20 B=4" 1660 GOSUB 90 1670 LC=7.03 1680 A$="30 C=A^2+B^2" 1690 GOSUB 90 1700 LC=10.03 1710 A$="40 D=SQR(C)" 1720 GOSUB 90 1730 LC=13.03 1740 A$="50 PRINT D" 1750 GOSUB 90 1760 LC=16.03 1770 A$="60 END" 1780 GOSUB 90 1790 QA=2000 1800 GOSUB 60 1810 LC=1.14 1820 A$="THE NUMBER 3 IS REPRESENTED BY  THE LETTER ""A""." 1830 GOSUB 90 1840 LC=4.14 1850 A$="B REPRESENTS 4." 1860 GOSUB 90 1870 LC=7.16 1880 A$="C IS SET EQUALTO 3 SQUARED  PLUS 4 SQUARED" 1890 GOSUB 90 1900 LC=10.16 1910 A$="D IS SET TO   THE SQUARE    ROOT OF C." 1920 GOSUB 90 1930 LC=13.14 1940 A$="WE PRINT THE    ANSWER." 1950 GOSUB 90 1960 LC=16.14 1970 A$="THE PROGRAM IS  ENDED." 1980 GOSUB 90 1990 GOSUB 200 2000 CALL CHAR(159,"0038440810207C00") 2010 D$=CHR$(159) 2020 PRINT "10 A=3": : :"20 B=4": : :"30 C=A^";D$;"+B^";D$;: : :"40 D=SQR(C)": : :"50 PRINT D": : :"60 END": : 2030 PRINT "WE COULD MAKE THIS PROGRAM":"MORE USEFUL IF WE COULD":"USE THE KEYBOARD TO PUT" 2040 PRINT "IN OTHER VALUES OF A AND B.": : 2050 GOSUB 60 2060 PRINT "HERE'S HOW WE WOULD DO THIS." 2070 GOSUB 60 2080 CALL HCHAR(18,1,32,192) 2090 CALL COLOR(10,5,5) 2100 A$=CHR$(104)&"         " 2110 LC=1.02 2120 GOSUB 90 2130 A$="10 INPUT A" 2140 GOSUB 90 2150 LC=4.02 2160 A$=CHR$(104)&"         " 2170 GOSUB 90 2180 A$="20 INPUT B" 2190 GOSUB 90 2200 GOSUB 60 2210 LC=1.13 2220 A$="THE COMPUTER WILL ASK YOU TO ENTER  THE NUMBER ""A"";" 2230 GOSUB 90 2240 LC=4.13 2250 A$="THE SAME GOES FOR B." 2260 GOSUB 90 2270 CALL COLOR(3,5,16) 2280 LC=18.03 2290 A$="THE LINES ARE NUMBERED 10, 20,30.... SO WE COULD, IF  WE WANT TO LATER, PUT IN A STATEMENT 15." 2300 GOSUB 90 2310 GOSUB 200 2315 CALL COLOR(3,2,1) 2320 PRINT "WE COULD MAKE THE PROGRAM A":"LITTLE MORE ELABORATE":"(I'LL SHOW YOU HOW LATER)" 2330 PRINT "SO THAT IT WOULD":"WORK LIKE THIS....": :"(FOLLOW THE INSTRUCTIONS)": : : 2340 PRINT "PROGRAM FOR FINDING":"HYPOTENUSES OF":"RIGHT TRIANGLES":"(SIDES ARE 'A' AND 'B')": : 2350 INPUT "ENTER LENGTH OF 'A':":A 2360 INPUT "ENTER LENGTH OF 'B':":B 2370 C=SQR(A^2+B^2) 2380 PRINT "HYPOTENUSE=";C: : : 2390 UNTRACE  2395 QA=600 2400 GOSUB 200 2410 PRINT "THIS HYPOTENUSE PROGRAM IS":"ACTUALLY PART OF THIS SELF-":"INSTRUCTION PROGRAM THAT" 2420 PRINT "YOU ARE NOW READING.":"IN FACT, THE STATEMENT":"NUMBERS FOR THE HYPOTENUSE":"PROGRAM ARE NUMBERS" 2430 PRINT "2340 THROUGH 2380.": : :"LET'S SEE, LINE BY LINE, HOW":"THE COMPUTER EXECUTES THE":"HYPOTENUSE PROGRAM." 2440 GOSUB 200 2450 PRINT "FIRST, THERE IS ANOTHER":"LITTLE HELP YOU SHOULD KNOW.":"THERE IS A WAY OF STARTING" 2460 PRINT "A PROGRAM RUNNING AT ANY":"POINT IN THE PROGRAM THAT":"YOU WANT IT TO.":"HERE'S HOW." 2470 PRINT "SUPPOSE YOU WANT TO GO TO":"THE BEGINNING OF THE":"HYPOTENUSE PROGRAM.": : 2480 PRINT "THE HYPOTENUSE PROGRAM":"STARTS AT LINE 2340.": :"STOP THE PROGRAM  (SHIFT C)":"TYPE  RUN 2340" 2490 PRINT "AND THEN PRESS ENTER.":"THE PROGRAM WILL START FROM":"LINE 2340.": :"GO AHEAD. TRY IT ONCE." 2500 INPUT "IF YOU HAVE TRIED IT,       PRESS ENTER.":Q$ 2510 CALL CLEAR 2520 CALL SCREEN(12) 2530 A$="TRACE" 2540 LC=8.03 2550 GOSUB 90 2560 GOSUB 60 2570 PRINT "IF YOU STOP THE PROGRAM AND":"TYPE  ""TRACE"",":"THE COMPUTER WILL PRINT OUT" 2580 PRINT "THE NUMBER OF THE LINE IT IS":"CURRENTLY EXECUTING.": :"LET'S TRY IT AND ALSO GO" 2590 PRINT "BACK TO THE HYPOTENUSE":"PROGRAM AGAIN.": : 2600 GOSUB 200 2610 PRINT "STOP THE COMPUTER":"TYPE  TRACE":"PRESS  ENTER":"TYPE  RUN 2340":"PRESS  ENTER.": : 2620 INPUT "IF YOU HAVE TRIED IT,       PRESS ENTER.":Q$ 2630 CALL CLEAR 2640 CALL SCREEN(12) 2650 PRINT "I HAVE TURNED THE TRACE OFF.":"TYPING ""TRACE"" TURNS IT ON.":"TYPING ""UNTRACE"" TURNS IT":"OFF.": : 2660 PRINT "TRACE IS VERY USEFUL FOR":"DEBUGGING A PROGRAM":"(WE SAY ""DEBUGGING"" INSTEAD":"OF ""CORRECTING"".)" 2670 GOSUB 200 2680 PRINT "THERE IS JUST ONE MORE THING":"TO SPEAK OF AND WE'LL BE":"READY FOR SOME REAL":"PROGRAMMING.": : 2690 GOSUB 60 2700 PRINT "TO SEE ALL OF THE STATEMENTS":"IN THE WHOLE PROGRAM,":"YOU CAN DO THE FOLLOWING:" 2710 PRINT "STOP THE COMPUTER":"TYPE  LIST":"PRESS  ENTER":"AFTER THE LISTING STOPS":"TYPE  RUN 2750 AND" 2720 PRINT "PRESS  ENTER.": :"THE PROGRAM WILL CONTINUE":"WHERE WE LEFT OFF.": :"TRY IT!":"STOP THE COMPUTER" 2730 PRINT "TYPE LIST":"PRESS  ENTER." 2740 GOTO 2740 2750 CALL SCREEN(12) 2755 QA=600 2760 CALL CLEAR 2770 PRINT "THIS LISTING IS VERY LONG.": :"YOU CAN STOP THE LISTING AT":"ANY TIME IN THE SAME WAY" 2780 PRINT "AS YOU STOP THE PROGRAM":"(SHIFT C).": : : 2790 GOSUB 60 2800 PRINT "YOU CAN ALSO USE THE LIST":"COMMAND TO SEE ONLY A PART":"OF THE PROGRAM.": : 2810 GOSUB 200 2820 CALL SCREEN(2) 2830 PRINT "LIST": : : :"LIST 1000": : : :"LIST -1000": : : :"LIST 1000-": : : :"LIST 1000-2000": : : : 2840 CALL SCREEN(12) 2850 LC=4.16 2860 A$="THIS LISTS THEWHOLE PROGRAM." 2870 GOSUB 90 2880 LC=8.16 2890 A$="THIS LISTS THELINE 1000." 2900 GOSUB 90 2910 LC=12.16 2920 A$="THIS LISTS UP TO LINE 1000." 2930 GOSUB 90 2940 LC=16.16 2950 A$="THIS LISTS    FROM LINE 1000ON." 2960 GOSUB 90 2970 LC=20.18 2980 A$="THIS LISTS  LINES 1000  TO 2000." 2990 GOSUB 90 3000 GOSUB 200 3010 PRINT "WELL":"THAT'S ALL YOU NEED TO KNOW":"ABOUT CONTROLLING":"A COMPUTER.": : 3030 PRINT "THIS IS THE END OF CHAPTER 3" 3050 REM  3060 REM  3070 REM  3080 REM******************  3090 REM    TYPE RUN 2750   3100 REM    PUSH ENTER  3110 REM****************** 

 

 

 

thanks for sharing :) a bit crazy to fix all the lines but now saved in FIAD File :)
BASIC LESSONS - both missing in my library :) 
 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...