RIAG Crate 008: 036 Engineering Software for Micros Backup Kern
Item Preview
Share or Embed This Item
Flag this item for
RIAG Crate 008: 036 Engineering Software for Micros Backup Kern
- Language
- English
Notes
Disk info for 036_Engineering_Software_for_Micros_Backup_Kern.dsk:
File Name: riag_008_036_-_Engineering_Software_for_Micros_-_Backup_-_Kern/036_Engineering_Software_for_Micros_Backup_Kern.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 63232
Used Space (bytes): 80128
Physical Size (KB): 140
Free Space (KB): 61
Used Space (KB): 78
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 247
Used Sectors: 313
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for 036_Engineering_Software_for_Micros_Backup_Kern.dsk:
riag_008_036_-_Engineering_Software_for_Micros_-_Backup_-_Kern/036_Engineering_Software_for_Micros_Backup_Kern.dsk DISK VOLUME #254
A 006 HELLO
A 002 PLOT10
A 002 PLOT11
A 002 PLOT12
A 002 PLOT13
A 003 PLOT14
A 003 PLOT15
A 003 PLOT16
A 004 PLOT17
A 002 PLOT30
A 003 PLOT35
A 003 PLOT50
A 003 PLOT51
A 004 PLOT60
A 004 PLOT61
A 004 PLOT62
A 009 CAD10
A 012 CAD20
A 016 CAD30
A 009 CAD40
A 016 CAD50
A 013 CENTROID
A 015 ISOVIEW
A 010 LINKAGE1
A 012 LINKAGE2
A 010 LINKAGE3
A 008 LINKAGE4
A 010 FOURIER1
A 011 FOURIER2
A 014 MATRIX1
A 010 MATRIX2
A 010 OPTIMIZER1
A 011 OPTIMIZER2
T 003 CAD20TRUSS
DOS 3.3 format; 63,232 bytes free; 80,128 bytes used.
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CAD10.bas:
10 PRINT "CAD10"
20 PRINT "CREATES A 3D DRAWING"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(25),LE(25),LC(25)
106 REM
107 REM
108 REM
109 REM
110 REM INPUT
125 INPUT "P,L,FILE OR END: ";CK$
130 IF CK$ = "P" THEN GOSUB 3000
140 IF CK$ = "L" THEN GOSUB 3100
160 IF CK$ = "FILE" THEN GOSUB 4800
170 IF CK$ = "END" THEN GOTO 9998
180 GOTO 125
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM POINT INPUT
3005 NP = NP +1
3010 INPUT "POINT NO: ";P(NP)
3020 INPUT "X,Y,Z COORDS: ";XP(NP),YP(NP),ZP(NP)
3030 GOSUB 4000
3035 IF OB = 1 THEN NP = NP -1
3036 IF OB = 1 GOTO 3050
3040 INPUT "COLOR: ";PC(NP)
3044 HCOLOR= PC(NP)
3045 HPLOT XP(NP),YP(NP)
3050 RETURN
3096 REM
3097 REM
3098 REM
3099 REM
3100 REM LINE INPUT
3110 NL = NL +1
3120 INPUT "BEGIN/END PTS ";LB(NL),LE(NL)
3130 GOSUB 4200
3135 IF MP = 1 THEN NL = NL -1
3136 IF MP = 1 GOTO 3170
3140 INPUT "COLOR: ";LC(NL)
3150 HCOLOR= LC(NL)
3160 HPLOT XP(A),YP(A) TO XP(B),YP(B)
3170 RETURN
3996 REM
3997 REM
3998 REM
3999 REM
4000 REM OUT OF BOUNDS CHECK
4005 OB = 0
4010 IF XP(NP) <0 GOTO 4100
4020 IF XP(NP) >279 GOTO 4110
4030 IF YP(NP) <0 GOTO 4120
4040 IF YP(NP) >159 GOTO 4130
4050 RETURN
4100 PRINT "XP<0-TRY AGAIN"
4105 GOTO 4135
4110 PRINT "XP>279-TRY AGAIN"
4115 GOTO 4135
4120 PRINT "YP<0-TRY AGAIN"
4125 GOTO 4135
4130 PRINT "YP>159-TRY AGAIN"
4135 OB = 1
4140 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4205 MP = 0
4210 FOR I = 1 TO NP
4220 IF LB(NL) = P(I) THEN A = I
4230 IF LB(NL) = P(I) GOTO 4270
4240 NEXT I
4250 PRINT "CAN'T FIND POINT ";LB(NL)
4255 MP = 1
4260 GOTO 4330
4270 FOR I = 1 TO NP
4280 IF LE(NL) = P(I) THEN B = I
4290 IF LE(NL) = P(I) GOTO 4330
4300 NEXT I
4310 PRINT "CAN'T FIND POINT ";LE(NL)
4315 MP = 1
4330 RETURN
4796 REM
4797 REM
4798 REM
4799 REM
4800 REM WRITE DATA TO DISK
4860 INPUT "FILE NAME: ";F$
4870 INPUT "DRIVE NUMBER: ";DR
4880 D$ = "": REM CTRL-D
4890 PRINT D$;"OPEN";F$;",D";DR
4900 PRINT D$;"WRITE";F$
4910 PRINT NP
4920 FOR I = 1 TO NP
4930 PRINT P(I)
4940 PRINT XP(I)
4950 PRINT YP(I)
4960 PRINT ZP(I)
4970 PRINT PC(I)
4980 NEXT I
4990 PRINT NL
5000 FOR I = 1 TO NL
5010 PRINT LB(I)
5020 PRINT LE(I)
5030 PRINT LC(I)
5040 NEXT I
5105 PRINT D$;"CLOSE"
5106 HGR
5107 GOSUB 9990
5108 GOSUB 5200
5110 RETURN
5196 REM
5197 REM
5198 REM
5199 REM
5200 REM ZERO ARRAYS
5210 FOR K = 1 TO 50
5220 P(K) = 0
5230 XP(K) = 0
5240 YP(K) = 0
5250 ZP(K) = 0
5260 PC(K) = 0
5270 NEXT K
5280 FOR K = 1 TO 25
5290 LB(K) = 0
5300 LE(K) = 0
5310 LC(K) = 0
5320 NEXT K
5330 NP = 0
5340 NL = 0
5350 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CAD20.bas:
10 PRINT "CAD20"
20 PRINT "CREATES A 3D DRAWING"
21 PRINT "FROM REAL PHYSICAL COORDS"
22 PRINT "SCALES, ROTATES AND OFFSETS"
23 PRINT "PLOT COORDINATES"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
75 GOSUB 5300
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(40),LE(40),LC(40)
106 REM
107 REM
108 REM
109 REM
110 REM INPUT
125 INPUT "P,L,FILE OR END: ";CK$
130 IF CK$ = "P" THEN GOSUB 3000
140 IF CK$ = "L" THEN GOSUB 3100
150 IF CK$ = "FILE" THEN GOSUB 4800
160 IF CK$ = "END" GOTO 9998
170 GOTO 125
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM POINT INPUT
3005 NP = NP +1
3010 INPUT "POINT NO: ";P(NP)
3020 INPUT "X,Y,Z COORDS: ";XP(NP),YP(NP),ZP(NP)
3040 INPUT "COLOR: ";PC(NP)
3044 HCOLOR= PC(NP)
3045 XR = XP(NP)
3046 YR = YP(NP)
3047 GOSUB 5400
3048 GOSUB 4000
3050 IF OB = 1 THEN NP = NP -1
3055 IF OB = 1 GOTO 3070
3060 HPLOT XT,YT
3070 RETURN
3096 REM
3097 REM
3098 REM
3099 REM
3100 REM LINE INPUT
3110 NL = NL +1
3120 INPUT "BEGIN/END PTS ";LB(NL),LE(NL)
3125 GOSUB 4200
3126 IF MP = 1 THEN NL = NL -1
3127 IF MP = 1 GOTO 3170
3130 INPUT "COLOR: ";LC(NL)
3150 HCOLOR= LC(NL)
3155 XR = XP(A)
3156 YR = YP(A)
3157 GOSUB 5400
3158 AA = XT
3159 BB = YT
3160 XR = XP(B)
3161 YR = YP(B)
3162 GOSUB 5400
3163 CC = XT
3164 DD = YT
3165 HPLOT AA,BB TO CC,DD
3170 RETURN
3996 REM
3997 REM
3998 REM
3999 REM
4000 REM OUT-OF-BOUNDS CHECK
4005 OB = 0
4010 IF XT <0 GOTO 4100
4020 IF XT >279 GOTO 4110
4030 IF YT <0 GOTO 4120
4040 IF YT >159 GOTO 4130
4050 GOTO 4150
4100 PRINT "XT<0-TRY AGAIN"
4105 GOTO 4140
4110 PRINT "XT>279-TRY AGAIN"
4115 GOTO 4140
4120 PRINT "YT<0-TRY AGAIN"
4125 GOTO 4140
4130 PRINT "YT>159 - TRY AGAIN"
4140 OB = 1
4150 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4205 MP = 0
4210 FOR I = 1 TO NP
4220 IF LB(NL) = P(I) THEN A = I
4230 IF LB(NL) = P(I) GOTO 4270
4240 NEXT I
4250 PRINT "CAN'T FIND POINT ";LB(NL)
4255 MP = 1
4260 GOTO 4330
4270 FOR I = 1 TO NP
4280 IF LE(NL) = P(I) THEN B = I
4290 IF LE(NL) = P(I) GOTO 4330
4300 NEXT I
4310 PRINT "CAN'T FIND POINT ";LE(NL)
4315 MP = 1
4330 RETURN
4800 REM WRITE DATA TO DISK
4820 IF CK$ = "Y" GOTO 4860
4830 IF CK$ = "N" GOTO 9998
4860 INPUT "FILE NAME: ";F$
4870 INPUT "DRIVE NUMBER: ";DR
4880 D$ = "": REM CTRL-D
4890 PRINT D$;"OPEN";F$;",D";DR
4900 PRINT D$;"WRITE";F$
4905 PRINT SF
4906 PRINT XO
4907 PRINT YO
4908 PRINT PX
4909 PRINT PY
4910 PRINT NP
4920 FOR I = 1 TO NP
4930 PRINT P(I)
4940 PRINT XP(I)
4950 PRINT YP(I)
4960 PRINT ZP(I)
4970 PRINT PC(I)
4980 NEXT I
4990 PRINT NL
5000 FOR I = 1 TO NL
5010 PRINT LB(I)
5020 PRINT LE(I)
5030 PRINT LC(I)
5040 NEXT I
5105 PRINT D$;"CLOSE"
5106 HGR
5107 GOSUB 9990
5108 GOSUB 5200
5110 RETURN
5196 REM
5197 REM
5198 REM
5199 REM
5200 REM ZERO ARRAYS
5205 FOR K = 1 TO 50
5210 P(K) = 0
5215 XP(K) = 0
5220 YP(K) = 0
5225 ZP(K) = 0
5230 PC(K) = 0
5235 NEXT K
5240 FOR K = 1 TO 25
5245 LB(K) = 0
5250 LE(K) = 0
5255 LC(K) = 0
5260 NEXT K
5265 NP = 0
5270 NL = 0
5280 RETURN
5300 REM SCALE,ROTATE AND OFFSET INPUT COORDS
5305 INPUT "SF: ";SF
5306 INPUT "XO,YO (APPLE UNITS): ";XO,YO
5310 INPUT "PX: ";PX
5320 INPUT "PY: ";PY
5330 PX = PX *3.14159/180
5340 PY = PY *3.14159/180
5350 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9985 REM
9986 REM
9987 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CAD20TRUSS.txt:
.1
140
80
0
3.14159
18
1
500
0
0
7
4
500
180
0
7
2
250
0
0
7
5
250
200
0
7
3
0
0
0
7
9
0
200
0
7
6
125
300
0
7
7
100
400
0
7
8
0
400
0
7
21
500
0
100
7
24
500
180
100
7
22
250
0
100
7
25
250
200
100
7
23
0
0
100
7
29
0
200
100
7
26
125
300
100
7
27
100
400
100
7
28
0
400
100
7
15
1
4
7
1
2
7
2
4
7
4
5
7
2
5
7
2
3
7
3
9
7
5
9
7
3
5
7
5
6
7
9
6
7
8
9
7
6
8
7
6
7
7
7
8
7
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CAD30.bas:
10 PRINT "CAD30"
11 PRINT "RECALLS A DRAWING FROM DISK"
12 PRINT "LISTS DATA, UPDATES, AND"
13 PRINT "REPLACES DRAWING ON DISK"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(40),LE(40),LC(40)
96 REM
97 REM
98 REM
99 REM
100 REM INPUT
105 PRINT "R=RECALL"; TAB( 12);"C=CLEAR"; TAB( 24);"L=LIST"
110 PRINT "U=UPDATE"; TAB( 12);"F=FILE"; TAB( 24);"E=END"
112 PRINT "P=PLOT"
115 INPUT "COMMAND: ";CK$
118 IF CK$ = "E" GOTO 9998
120 IF CK$ = "R" THEN GOSUB 3000
125 IF CK$ = "C" THEN GOSUB 2900
130 IF CK$ = "L" THEN GOSUB 6000
135 IF CK$ = "U" THEN GOSUB 7000
140 IF CK$ = "F" THEN GOSUB 4800
145 IF CK$ = "P" THEN GOSUB 3500
150 GOTO 105
2896 REM
2897 REM
2899 REM
2900 REM CLEAR SCREEN
2905 PRINT "CLEAR"
2910 HGR
2915 GOSUB 9990
2929 RETURN
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM RECALL DRAWING FROM DISK
3005 PRINT "RECALL"
3010 INPUT "FILE NAME: ";F$
3020 INPUT "DRIVE NUMBER: ";DR
3030 D$ = "": REM CTRL-D
3040 PRINT D$;"OPEN";F$;",D";DR
3050 PRINT D$;"READ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT XP(I)
3150 INPUT YP(I)
3160 INPUT ZP(I)
3170 INPUT PC(I)
3180 NEXT I
3190 INPUT NL
3200 FOR I = 1 TO NL
3210 INPUT LB(I)
3220 INPUT LE(I)
3230 INPUT LC(I)
3240 NEXT I
3250 PRINT D$;"CLOSE"
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3505 PRINT "PLOT"
3510 FOR I = 1 TO NP
3520 XR = XP(I)
3530 YR = YP(I)
3540 GOSUB 5400
3550 GOSUB 4000
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3590 FOR I = 1 TO NL
3595 LN = I
3600 GOSUB 4200
3610 XR = XP(A)
3620 YR = YP(A)
3630 GOSUB 5400
3640 AA = XT
3650 BB = YT
3660 XR = XP(B)
3670 YR = YP(B)
3680 GOSUB 5400
3690 CC = XT
3700 DD = YT
3710 HCOLOR= LC(I)
3720 HPLOT AA,BB TO CC,DD
3730 NEXT I
3740 RETURN
3996 REM
3997 REM
3998 REM
3999 REM
4000 REM OUT OF BOUNDS CHECK
4005 OB = 0
4010 IF XT <0 GOTO 4100
4020 IF XT >279 GOTO 4110
4030 IF YT <0 GOTO 4120
4040 IF YT >159 GOTO 4130
4050 GOTO 4140
4100 PRINT "XT<0-TRY AGAIN"
4105 GOTO 4135
4110 PRINT "XT>279-TRY AGAIN"
4115 GOTO 4135
4120 PRINT "YT<0-TRY AGAIN"
4125 GOTO 4135
4130 PRINT "YT>159-TRY AGAIN"
4135 OB = 1
4140 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4205 MP = 0
4210 FOR K = 1 TO NP
4220 IF LB(LN) = P(K) THEN A = K
4230 IF LB(LN) = P(K) GOTO 4270
4240 NEXT K
4250 PRINT "CAN'T FIND POINT ";LB(LN)
4260 MP = 1
4265 GOTO 4330
4270 FOR K = 1 TO NP
4280 IF LE(LN) = P(K) THEN B = K
4290 IF LE(LN) = P(K) GOTO 4330
4300 NEXT K
4310 PRINT "CAN'T FIND POINT ";LE(LN)
4315 MP = 1
4330 RETURN
4796 REM
4797 REM
4798 REM
4799 REM
4800 REM FILE DRAWING ON DISK
4805 PRINT "FILE"
4860 INPUT "FILE NAME: ";F$
4870 INPUT "DRIVE NUMBER: ";DR
4880 D$ = "": REM CTRL-D
4890 PRINT D$;"OPEN";F$;",D";DR
4900 PRINT D$;"WRITE";F$
4905 PRINT SF
4906 PRINT XO
4907 PRINT YO
4908 PRINT PX
4909 PRINT PY
4910 PRINT NP
4920 FOR I = 1 TO NP
4930 PRINT P(I)
4940 PRINT XP(I)
4950 PRINT YP(I)
4960 PRINT ZP(I)
4970 PRINT PC(I)
4980 NEXT I
4990 PRINT NL
5000 FOR I = 1 TO NL
5010 PRINT LB(I)
5020 PRINT LE(I)
5030 PRINT LC(I)
5040 NEXT I
5045 PRINT D$;"CLOSE"
5046 HGR
5047 GOSUB 9990
5050 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE, ROTATE AND OFFSET PLOT COORDINATES
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
5996 REM
5997 REM
5998 REM
5999 REM
6000 REM LIST DRAWING DATA
6005 PRINT "LIST"
6060 PRINT D$;"PR#1"
6070 PRINT "POINTS"
6080 PRINT
6090 FOR I = 1 TO NP
6100 PRINT I; TAB( 8);P(I); TAB( 16);XP(I); TAB( 24);YP(I); TAB( 32);ZP(I); TAB( 40);PC(I)
6110 NEXT I
6120 PRINT
6130 PRINT
6140 PRINT "LINES"
6145 PRINT
6150 FOR I = 1 TO NL
6160 PRINT I; TAB( 8);LB(I); TAB( 16);LE(I); TAB( 24);LC(I)
6170 NEXT I
6180 PRINT D$;"PR#0"
6200 RETURN
6296 REM
6297 REM
6298 REM
6299 REM
7000 REM UPDATE DRAWING
7010 PRINT "CP=CHANGE POINT"; TAB( 20);"CL=CHANGE LINE"
7012 PRINT "AP=ADD POINT"; TAB( 20);"AL=ADD LINE"
7013 PRINT "E=END"
7014 INPUT "COMMAND: ";CK$
7015 IF CK$ = "E" GOTO 7600
7016 IF CK$ = "CP" GOTO 7100
7020 IF CK$ = "CL" GOTO 7500
7030 IF CK$ = "AP" GOTO 7550
7040 IF CK$ = "AL" GOTO 7575
7050 GOTO 7010
7100 REM CHANGE A POINT
7110 INPUT "POINT NUMBER: ";PU
7112 GOSUB 8000
7115 IF MP = 1 GOTO 7600
7120 INPUT "NEW COORDS: ";XP(A),YP(A),ZP(A)
7130 INPUT "NEW COLOR: ";PC(A)
7135 GOSUB 7700
7140 GOTO 7010
7500 REM CHANGE A LINE
7510 INPUT "LINE NUMBER: ";I
7520 INPUT "NEW NODES: ";LB(I),LE(I)
7530 INPUT "NEW COLOR: ";LC(I)
7535 GOSUB 7700
7540 GOTO 7010
7550 REM ADD A POINT
7554 NP = NP +1
7555 INPUT "POINT NUMBER: ";P(NP)
7560 INPUT "COORDS: ";XP(NP),YP(NP),ZP(NP)
7565 INPUT "COLOR: ";PC(NP)
7570 GOSUB 7700
7571 GOTO 7010
7575 REM ADD A LINE
7580 NL = NL +1
7585 INPUT "NODES: ";LB(NL),LE(NL)
7590 INPUT "COLOR: ";LC(NL)
7595 GOSUB 7700
7596 GOTO 7010
7600 RETURN
7696 REM
7697 REM
7698 REM
7699 REM
7700 REM RE-PLOT
7710 HGR
7720 GOSUB 9990
7730 GOSUB 3500
7740 RETURN
8000 REM PINF POINT COORDINATES
8005 MP = 0
8010 FOR K = 1 TO NP
8020 IF PU = P(K) THEN A = K
8030 IF PU = P(K) GOTO 8050
8040 NEXT K
8045 PRINT "CAN'T FIND POINT ";PU
8046 MP = 1
8050 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 136,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CAD40.bas:
10 PRINT "CAD40"
11 PRINT "DISPLAYS SEVERAL DRAWINGS"
12 PRINT "SIMULTANEOUSLY"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(25),LE(25),LC(25)
91 REM
92 REM
93 REM
94 REM
95 REM INPUT
100 PRINT "R=RECALL"; TAB( 12);"C=CLEAR"
105 PRINT "M=MOVE"; TAB( 12);"E=END"
110 INPUT "COMMAND: ";CK$
120 IF CK$ = "E" GOTO 9998
130 IF CK$ = "R" THEN GOSUB 3000
140 IF CK$ = "C" THEN GOSUB 6000
150 IF CK$ = "M" THEN GOSUB 7000
160 GOTO 100
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM RECALL DRAWING FROM DISK
3010 INPUT "FILE NAME: ";F$
3020 INPUT "DRIVE NUMBER: ";DR
3030 D$ = "": REM CTRL-D
3040 PRINT D$;"OPEN ";F$;",D";DR
3050 PRINT D$;"READ ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT XP(I)
3150 INPUT YP(I)
3160 INPUT ZP(I)
3170 INPUT PC(I)
3180 NEXT I
3190 INPUT NL
3200 FOR I = 1 TO NL
3210 INPUT LB(I)
3220 INPUT LE(I)
3230 INPUT LC(I)
3240 NEXT I
3250 PRINT D$;"CLOSE"
3255 GOSUB 3500
3256 PRINT "XO= ";XO; TAB( 10);"YO= ";YO
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3510 FOR I = 1 TO NP
3520 XR = XP(I)
3530 YR = YP(I)
3540 GOSUB 5400
3541 HCOLOR= 0
3542 IF ES = 1 THEN GOTO 3570
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3590 FOR I = 1 TO NL
3595 LN = I
3600 GOSUB 4200
3610 XR = XP(A)
3620 YR = YP(A)
3630 GOSUB 5400
3640 AA = XT
3650 BB = YT
3660 XR = XP(B)
3670 YR = YP(B)
3680 GOSUB 5400
3690 CC = XT
3700 DD = YT
3701 HCOLOR= 0
3702 IF ES = 1 THEN GOTO 3720
3710 HCOLOR= LC(I)
3720 HPLOT AA,BB TO CC,DD
3730 NEXT I
3740 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4210 FOR K = 1 TO NP
4220 IF LB(LN) = P(K) THEN A = K
4230 IF LB(LN) = P(K) GOTO 4270
4240 NEXT K
4250 PRINT "CAN'T FIND POINT ";LB(LN)
4260 GOTO 3110
4270 FOR K = 1 TO NP
4280 IF LE(LN) = P(K) THEN B = K
4290 IF LE(LN) = P(K) GOTO 4330
4300 NEXT K
4310 PRINT "CAN'T FIND POINT ";LE(LN)
4320 GOTO 3110
4330 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
5996 REM
5997 REM
5998 REM
5999 REM
6000 REM ERASE A DRAWING
6010 ES = 1
6020 GOSUB 3500
6030 ES = 0
6040 RETURN
6996 REM
6997 REM
6998 REM
6999 REM
7000 REM MOVE A DRAWING
7010 INPUT "NEW XO,YO: ";J1,J2
7020 GOSUB 6000
7025 XO = J1
7026 YO = J2
7030 GOSUB 3500
7035 PRINT "XO= ";XO; TAB( 10);"YO= ";YO
7040 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CAD50.bas:
10 PRINT "CAD50"
11 PRINT "RECALLS A DRAWING"
13 PRINT "LISTS DATA"
14 PRINT "ADDS PROPERTIES TO LINES"
15 PRINT "REPLACES ON DISK"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(25),LE(25),LC(25)
95 DIM M$(25),AR(25),DE(25)
96 REM
97 REM
98 REM
99 REM
100 REM INPUT
105 PRINT "R=RECALL"; TAB( 12);"C=CLEAR"; TAB( 24);"L=LIST"
110 PRINT "F=FILE"; TAB( 12);"E=END"
112 PRINT "P=PLOT"; TAB( 12);"A=ADD PROPERTIES"
115 INPUT "COMMAND: ";CK$
118 IF CK$ = "E" GOTO 9998
120 IF CK$ = "R" THEN GOSUB 3000
125 IF CK$ = "C" THEN GOSUB 2900
130 IF CK$ = "L" THEN GOSUB 6000
140 IF CK$ = "F" THEN GOSUB 4800
145 IF CK$ = "P" THEN GOSUB 3500
148 IF CK$ = "A" THEN GOSUB 8100
150 GOTO 105
413 O PRINT "YT>159-TRY AGAIN"
2896 REM
2897 REM
2899 REM
2900 REM CLEAR SCREEN
2905 PRINT "CLEAR"
2910 HGR
2915 GOSUB 9990
2929 RETURN
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM RECALL DRAWING FROM DISK
3005 PRINT "RECALL"
3010 INPUT "FILE NAME: ";F$
3020 INPUT "DRIVE NUMBER: ";DR
3030 D$ = "": REM CTRL-D
3040 PRINT D$;"OPEN";F$;",D";DR
3050 PRINT D$;"READ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT XP(I)
3150 INPUT YP(I)
3160 INPUT ZP(I)
3170 INPUT PC(I)
3180 NEXT I
3190 INPUT NL
3200 FOR I = 1 TO NL
3210 INPUT LB(I)
3220 INPUT LE(I)
3230 INPUT LC(I)
3240 NEXT I
3250 PRINT D$;"CLOSE"
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3505 PRINT "PLOT"
3510 FOR I = 1 TO NP
3520 XR = XP(I)
3530 YR = YP(I)
3540 GOSUB 5400
3550 GOSUB 4000
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3590 FOR I = 1 TO NL
3595 LN = I
3600 GOSUB 4200
3610 XR = XP(A)
3620 YR = YP(A)
3630 GOSUB 5400
3640 AA = XT
3650 BB = YT
3660 XR = XP(B)
3670 YR = YP(B)
3680 GOSUB 5400
3690 CC = XT
3700 DD = YT
3710 HCOLOR= LC(I)
3720 HPLOT AA,BB TO CC,DD
3730 NEXT I
3740 RETURN
3996 REM
3997 REM
3998 REM
3999 REM
4000 REM OUT OF BOUNDS CHECK
4005 OB = 0
4010 IF XT <0 GOTO 4100
4020 IF XT >279 GOTO 4110
4030 IF YT <0 GOTO 4120
4040 IF YT >159 GOTO 4130
4050 GOTO 4140
4100 PRINT "XT<0-TRY AGAIN"
4105 GOTO 4135
4110 PRINT "XT>279-TRY AGAIN"
4115 GOTO 4135
4120 PRINT "YT<0-TRY AGAIN"
4125 GOTO 4135
4130 PRINT "YT>0-TRY AGAIN"
4135 OB = 1
4140 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4205 MP = 0
4210 FOR K = 1 TO NP
4220 IF LB(LN) = P(K) THEN A = K
4230 IF LB(LN) = P(K) GOTO 4270
4240 NEXT K
4250 PRINT "CAN'T FIND POINT ";LB(LN)
4260 MP = 1
4265 GOTO 4330
4270 FOR K = 1 TO NP
4280 IF LE(LN) = P(K) THEN B = K
4290 IF LE(LN) = P(K) GOTO 4330
4300 NEXT K
4310 PRINT "CAN'T FIND POINT ";LE(LN)
4315 MP = 1
4330 RETURN
4796 REM
4797 REM
4798 REM
4799 REM
4800 REM FILE DRAWING ON DISK
4805 PRINT "FILE"
4860 INPUT "FILE NAME: ";F$
4870 INPUT "DRIVE NUMBER: ";DR
4880 D$ = "": REM CTRL-D
4890 PRINT D$;"OPEN";F$;",D";DR
4900 PRINT D$;"WRITE";F$
4905 PRINT SF
4906 PRINT XO
4907 PRINT YO
4908 PRINT PX
4909 PRINT PY
4910 PRINT NP
4920 FOR I = 1 TO NP
4930 PRINT P(I)
4940 PRINT XP(I)
4950 PRINT YP(I)
4960 PRINT ZP(I)
4970 PRINT PC(I)
4980 NEXT I
4990 PRINT NL
5000 FOR I = 1 TO NL
5010 PRINT LB(I)
5020 PRINT LE(I)
5030 PRINT LC(I)
5032 PRINT M$(I)
5033 PRINT AR(I)
5034 PRINT DE(I)
5040 NEXT I
5045 PRINT D$;"CLOSE"
5046 HGR
5047 GOSUB 9990
5050 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE, ROTATE AND OFFSET PLOT COORDINATES
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
5996 REM
5997 REM
5998 REM
5999 REM
6000 REM LIST DRAWING DATA
6005 PRINT "LIST"
6060 PRINT D$;"PR#1"
6070 PRINT "POINTS"
6080 PRINT
6090 FOR I = 1 TO NP
6100 PRINT I; TAB( 8);P(I); TAB( 16);XP(I); TAB( 24);YP(I); TAB( 32);ZP(I); TAB( 40);PC(I)
6110 NEXT I
6120 PRINT
6130 PRINT
6140 PRINT "LINES"
6145 PRINT
6150 FOR I = 1 TO NL
6160 PRINT I; TAB( 8);LB(I); TAB( 16);LE(I); TAB( 24);LC(I)
6165 PRINT M$(I); TAB( 8);DE(I); TAB( 16);AR(I)
6166 PRINT
6170 NEXT I
6180 PRINT D$;"PR#0"
6200 RETURN
6296 REM
6297 REM
6298 REM
6299 REM
7696 REM
7697 REM
7698 REM
7699 REM
7700 REM RE-PLOT
7710 HGR
7720 GOSUB 9990
7730 GOSUB 3500
7740 RETURN
8000 REM FIND POINT COORDINATES
8005 MP = 0
8010 FOR K = 1 TO NP
8020 IF PU = P(K) THEN A = K
8030 IF PU = P(K) GOTO 8050
8040 NEXT K
8045 PRINT "CAN'T FIND POINT ";PU
8046 MP = 1
8050 RETURN
8096 REM
8097 REM
8098 REM
8099 REM
8100 REM ADD PROPERTIES TO LINES
8105 PRINT "ADD PROPERTIES"
8112 PRINT "AL=ALUMINUM"; TAB( 15);"TI=TITANIUM"; TAB( 30);"ST=STEEL"
8113 PRINT "MA=MAGNESIUM"; TAB( 15);"E=END"
8115 INPUT "MATERIAL: ";A$
8116 IF A$ = "E" GOTO 8150
8120 INPUT "LINE: ";I
8125 M$(I) = A$
8128 GOSUB 8200
8130 INPUT "AREA: ";AR(I)
8140 GOTO 8112
8150 RETURN
8196 REM
8197 REM
8198 REM
8199 REM
8200 REM FIND MATERIAL DENSITY
8210 IF M$(I) = "AL" THEN DE(I) = .100
8215 IF M$(I) = "AL" GOTO 8250
8220 IF M$(I) = "ST" THEN DE(I) = .283
8225 IF M$(I) = "ST" GOTO 8250
8230 IF M$(I) = "TI" THEN DE(I) = .160
8235 IF M$(I) = "TI" GOTO 8250
8240 IF M$(I) = "MA" THEN DE(I) = .064
8245 IF M$(I) = "MA" GOTO 8250
8248 PRINT "UNKNOWN MATERIAL-TRY AGAIN"
8249 GOTO 8112
8250 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 136,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/CENTROID.bas:
10 PRINT "CENTROID"
11 PRINT "RECALLS A DRAWING"
13 PRINT "CALCULATES TOTAL WEIGHT"
14 PRINT "CENTROID LOCATION"
15 PRINT "PLOTS CENTROID LOCATION"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(25),LE(25),LC(25)
95 DIM M$(25),AR(25),DE(25)
96 REM
97 REM
98 REM
99 REM
100 REM INPUT
105 PRINT "R=RECALL"; TAB( 12);"PG=PRINT CENTROID"
110 PRINT "G=CENTROID"; TAB( 12);"C=CLEAR"
112 PRINT "P=PLOT"; TAB( 12);"E=END"
115 INPUT "COMMAND: ";CK$
118 IF CK$ = "E" GOTO 9998
120 IF CK$ = "R" THEN GOSUB 3000
125 IF CK$ = "G" THEN GOSUB 2000
130 IF CK$ = "C" THEN GOSUB 2900
145 IF CK$ = "P" THEN GOSUB 3500
148 IF CK$ = "PG" THEN GOSUB 2600
150 GOTO 105
1996 REM
1997 REM
1998 REM
1999 REM
2000 REM CALCULATE CENTROID LOCATION
2001 REM AND TOTAL WEIGHT
2005 PRINT "CENTROID LOCATION"
2010 FOR I = 1 TO NL
2020 LN = I
2030 GOSUB 4200
2040 REM LINE LENGTH=Q
2050 AA = XP(B) -XP(A)
2060 BB = YP(B) -YP(A)
2070 CC = ZP(B) -ZP(A)
2080 Q = SQR(AA *AA +BB *BB +CC *CC)
2085 REM LINE WEIGHT=W
2090 W = Q *AR(I) *DE(I)
2100 REM TW=TOTAL WEIGHT
2105 TW = TW +W
2110 REM LINE CENTROID=XC,YC,ZC
2120 XC = XP(A) +AA/2
2130 YC = YP(A) +BB/2
2140 ZC = ZP(A) +CC/2
2150 SX = SX +W *XC
2160 SY = SY +W *YC
2170 SZ = SZ +W *ZC
2180 NEXT I
2190 REM CENTROID LOCATION=CX,CY,CZ
2200 CX = SX/TW
2210 CY = SY/TW
2220 CZ = SZ/TW
2240 REM
2250 REM PLOT CENTROID LOCATION
2260 XR = CX
2270 YR = CY
2280 GOSUB 5400
2290 A = XT -4
2300 AA = XT +4
2310 B = YT
2320 BB = YT
2330 HPLOT A,B TO AA,BB
2400 A = XT
2410 AA = XT
2420 B = YT +4
2430 BB = YT -4
2440 HPLOT A,B TO AA,BB
2450 A = XT -4
2460 AA = XT +4
2470 B = YT -4
2480 BB = YT +4
2490 HPLOT A,B TO AA,BB
2500 A = XT +4
2510 AA = XT -4
2520 B = YT -4
2530 BB = YT +4
2540 HPLOT A,B TO AA,BB
2550 RETURN
2596 REM
2597 REM
2598 REM
2599 REM
2600 REM PRINT CENTROID
2610 PRINT "PRINT CENTROID"
2620 PRINT D$;"PR#1"
2630 PRINT
2640 PRINT
2650 PRINT
2660 PRINT "TOTAL WEIGHT= ";TW
2670 PRINT
2680 PRINT "CX= ";CX
2690 PRINT "CY= ";CY
2700 PRINT "CZ= ";CZ
2710 PRINT D$;"PR#0"
2720 RETURN
2896 REM
2897 REM
2899 REM
2900 REM CLEAR SCREEN
2905 PRINT "CLEAR"
2910 HGR
2915 GOSUB 9990
2929 RETURN
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM RECALL DRAWING FROM DISK
3005 PRINT "RECALL"
3010 INPUT "FILE NAME: ";F$
3020 INPUT "DRIVE NUMBER: ";DR
3030 D$ = "": REM CTRL-D
3040 PRINT D$;"OPEN";F$;",D";DR
3050 PRINT D$;"READ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT XP(I)
3150 INPUT YP(I)
3160 INPUT ZP(I)
3170 INPUT PC(I)
3180 NEXT I
3190 INPUT NL
3200 FOR I = 1 TO NL
3210 INPUT LB(I)
3220 INPUT LE(I)
3230 INPUT LC(I)
3235 INPUT M$(I)
3236 INPUT AR(I)
3237 INPUT DE(I)
3240 NEXT I
3250 PRINT D$;"CLOSE"
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3505 PRINT "PLOT"
3510 FOR I = 1 TO NP
3520 XR = XP(I)
3530 YR = YP(I)
3540 GOSUB 5400
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3590 FOR I = 1 TO NL
3595 LN = I
3600 GOSUB 4200
3610 XR = XP(A)
3620 YR = YP(A)
3630 GOSUB 5400
3640 AA = XT
3650 BB = YT
3660 XR = XP(B)
3670 YR = YP(B)
3680 GOSUB 5400
3690 CC = XT
3700 DD = YT
3710 HCOLOR= LC(I)
3720 HPLOT AA,BB TO CC,DD
3730 NEXT I
3740 RETURN
4140 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4205 MP = 0
4210 FOR K = 1 TO NP
4220 IF LB(LN) = P(K) THEN A = K
4230 IF LB(LN) = P(K) GOTO 4270
4240 NEXT K
4250 PRINT "CAN'T FIND POINT ";LB(LN)
4260 MP = 1
4265 GOTO 4330
4270 FOR K = 1 TO NP
4280 IF LE(LN) = P(K) THEN B = K
4290 IF LE(LN) = P(K) GOTO 4330
4300 NEXT K
4310 PRINT "CAN'T FIND POINT ";LE(LN)
4315 MP = 1
4330 RETURN
4796 REM
4797 REM
4798 REM
4799 REM
5400 REM SCALE, ROTATE AND OFFSET PLOT COORDINATES
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 136,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/FOURIER1.bas:
10 PRINT "FOURIER1"
20 PRINT "CALCULATES FOURIER"
30 PRINT "COEFFICIENTS AND PLOTS"
35 PRINT "FREQUENCY SPECTRA"
40 PRINT "TYPE CONT TO CONTINUE"
50 STOP
60 HGR
70 HCOLOR= 7
80 GOSUB 9990
85 DIM P(10),F(10),T(10),ZP(10),PC(10)
86 DIM LB(10),LE(10),LC(10)
87 DIM T1(10),T2(10),T3(10),TC(10)
88 DIM SL(10),YI(10),A(5,10),B(5,10),TA(5),TB(5)
90 INPUT "FILE NAME: ";F$
100 INPUT "DRIVE NUMBER: ";DR
110 D$ = "": REM CTRL-D
120 PRINT D$;"OPEN";F$;",D";DR
130 PRINT D$;"READ";F$
140 INPUT SF
150 INPUT XO
190 INPUT YO
200 INPUT PX
210 INPUT PY
220 INPUT NP
230 FOR I = 1 TO NP
240 INPUT P(I)
250 INPUT T(I)
260 INPUT F(I)
270 INPUT ZP(I)
280 INPUT PC(I)
290 NEXT I
300 INPUT NL
310 FOR I = 1 TO NL
320 INPUT LB(I)
330 INPUT LE(I)
340 INPUT LC(I)
350 NEXT I
430 PRINT D$;"CLOSE"
440 GOSUB 3000
499 N = NP
500 BP = T(N) -T(1)
510 BW = 2 *3.14159/BP
550 FOR I = 1 TO N -1
555 IF T(I +1) = T(I) GOTO 580
560 SL(I) = (F(I +1) -F(I))/(T(I +1) -T(I))
570 YI(I) = F(I) -T(I) *(F(I +1) -F(I))/(T(I +1) -T(I))
580 NEXT I
600 FOR K = 1 TO 5
610 FOR I = 1 TO N -1
620 AP = K *BW *T(I +1)
630 AM = K *BW *T(I)
640 A1 = ( COS(AP) - COS(AM))/(K *BW *K *BW)
650 A2 = (T(I +1) * SIN(AP) -T(I) * SIN(AM))/(K *BW)
660 A3 = ( SIN(AP) - SIN(AM))/(K *BW)
670 A(K,I) = (2/BP) *(SL(I) *(A1 +A2) +YI(I) *A3)
672 A1 = ( SIN(AP) - SIN(AM))/(K *BW *K *BW)
673 A2 = -(T(I +1) * COS(AP) -T(I) * COS(AM))/(K *BW)
674 A3 = -( COS(AP) - COS(AM))/(K *BW)
675 B(K,I) = (2/BP) *(SL(I) *(A1 +A2) +YI(I) *A3)
680 NEXT I
690 NEXT K
700 REM
710 FOR K = 1 TO 5
720 FOR I = 1 TO N -1
730 TA(K) = TA(K) +A(K,I)
731 TB(K) = TB(K) +B(K,I)
740 NEXT I
750 NEXT K
760 REM PLOT SPECTRA
770 REM FIND LARGEST TA(K) OR TB(K)
780 MX = 0
790 FOR K = 1 TO 5
800 IF ABS(TA(K)) >MX THEN MX = ABS(TA(K))
810 IF ABS(TB(K)) >MX THEN MX = ABS(TB(K))
820 NEXT K
830 REM SCALE TA(K) AND TB(K) TO 30 PLOT POINTS
840 SC = 30/MX
850 FOR K = 1 TO 5
860 TA(K) = TA(K) *SC
870 TB(K) = TB(K) *SC
880 NEXT K
890 REM PLOT A'S AND B'S
900 X1 = 10
910 Y1 = 45
920 FOR K = 1 TO 5
930 X1 = X1 +10
935 X2 = X1
940 Y2 = Y1 -TA(K)
950 HPLOT X1,Y1 TO X2,Y2
960 NEXT K
970 X1 = 10
980 Y1 = 120
990 FOR K = 1 TO 5
1000 X1 = X1 +10
1005 X2 = X1
1010 Y2 = Y1 -TB(K)
1020 HPLOT X1,Y1 TO X2,Y2
1030 NEXT K
1040 REM EVALUATE AVERAGE VALUE, A0
1050 A0 = 0
1060 FOR I = 1 TO N -1
1070 D = T(I +1) -T(I)
1080 A0 = A0 +F(I) *D +(F(I +1) -F(I)) *D/2
1090 NEXT I
1100 A0 = A0/BP
1110 PRINT "AVERAGE VALUE= ";A
1120 GOTO 9998
3000 REM RANSFORM AND PLOT INITIAL FUNCTION HERE
3002 XR = T(1)
3003 YR = F(1)
3004 GOSUB 5400
3005 HPLOT XT,YT
3010 FOR I = 2 TO NP
3020 XR = T(I)
3030 YR = F(I)
3040 GOSUB 5400
3050 HPLOT TO XT,YT
3060 NEXT I
3100 RETURN
5400 REM SCALE,ROTATE AND OFFSET
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/FOURIER2.bas:
10 PRINT "FOURIER2"
20 PRINT "CALCULATES FOURIER"
30 PRINT "TRANSFORM AND PLOTS"
35 PRINT "FREQUENCY SPECTRA"
40 PRINT "TYPE CONT TO CONTINUE"
50 STOP
60 HGR
70 HCOLOR= 7
80 GOSUB 9990
85 DIM P(20),F(20),T(20),ZP(20),PC(20)
86 DIM LB(20),LE(20),LC(20)
87 DIM TA(20),TB(20),TT(20),W(20)
88 DIM SL(20),YI(20)
90 INPUT "FILE NAME: ";F$
100 INPUT "DRIVE NUMBER: ";DR
110 D$ = "": REM CTRL-D
120 PRINT D$;"OPEN";F$;",D";DR
130 PRINT D$;"READ";F$
140 INPUT SF
150 INPUT XO
190 INPUT YO
200 INPUT PX
210 INPUT PY
220 INPUT NP
230 FOR I = 1 TO NP
240 INPUT P(I)
250 INPUT T(I)
260 INPUT F(I)
270 INPUT ZP(I)
280 INPUT PC(I)
290 NEXT I
300 INPUT NL
310 FOR I = 1 TO NL
320 INPUT LB(I)
330 INPUT LE(I)
340 INPUT LC(I)
350 NEXT I
430 PRINT D$;"CLOSE"
440 GOSUB 3000
499 N = NP
550 FOR I = 1 TO N -1
555 IF T(I +1) = T(I) GOTO 580
560 SL(I) = (F(I +1) -F(I))/(T(I +1) -T(I))
570 YI(I) = F(I) -T(I) *(F(I +1) -F(I))/(T(I +1) -T(I))
580 NEXT I
600 INPUT "WMAX: ";WX
601 INPUT "WMIN: ";WM
602 INPUT "DW: ";DW
603 K = 0
604 FOR WK = WM TO WX STEP DW
605 K = K +1
606 IF WK = 0 THEN GOSUB 2000
608 W(K) = WK
609 IF WK = 0 THEN GOTO 690
615 FOR I = 1 TO NL
620 AP = WK *T(I +1)
630 AM = WK *T(I)
640 A1 = ( COS(AP) - COS(AM))/(WK *WK)
650 A2 = (T(I +1) * SIN(AP) -T(I) * SIN(AM))/WK
660 A3 = ( SIN(AP) - SIN(AM))/WK
670 TA(K) = TA(K) +SL(I) *(A1 +A2) +YI(I) *A3
672 A1 = ( SIN(AP) - SIN(AM))/(WK *WK)
673 A2 = -(T(I +1) * COS(AP) -T(I) * COS(AM))/WK
674 A3 = -( COS(AP) - COS(AM))/WK
675 TB(K) = TB(K) +SL(I) *(A1 +A2) +YI(I) *A3
678 TT(K) = SQR(TA(K) *TA(K) +TB(K) *TB(K))
680 NEXT I
685 PRINT "WK= ";WK; TAB( 20);"F(WK)= ";TT(K)
690 NEXT WK
695 KK = K
700 REM
760 REM PLOT SPECTRA
770 REM FIND LARGEST TT(K)
780 MX = 0
790 FOR K = 1 TO KK
800 IF ABS(TT(K)) >MX THEN MX = ABS(TT(K))
820 NEXT K
830 REM SCALE TT(K) TO 30 PLOT UNITS
831 REM SCALE W TO 40 PLOT UNITS
840 SC = 30/MX
846 SW = 40/(WX -WM)
850 FOR K = 1 TO KK
860 TT(K) = TT(K) *SC
875 W(K) = W(K) *SW
880 NEXT K
890 REM PLOT T'S
920 FOR K = 1 TO KK
930 X1 = 10 +W(K)
935 X2 = X1
940 Y2 = 80 -TT(K)
945 Y1 = 80
950 HPLOT X1,Y1 TO X2,Y2
960 NEXT K
1120 GOTO 6000
2000 REM CALCULATE WK=0 COMPONENT
2001 A0 = 0
2020 FOR I = 1 TO N -1
2030 D = T(I +1) -T(I)
2040 A0 = A0 +F(I) *D +(F(I +1) -F(I)) *D/2
2050 NEXT I
2085 TT(K) = A0
2086 PRINT "WK= ";WK; TAB( 20);"F(WK)= ";TT(K)
2090 RETURN
3000 REM TRANSFORM AND PLOT INITIAL FUNCTION
3002 XR = T(1)
3003 YR = F(1)
3004 GOSUB 5400
3005 HPLOT XT,YT
3010 FOR I = 2 TO NP
3020 XR = T(I)
3030 YR = F(I)
3040 GOSUB 5400
3050 HPLOT TO XT,YT
3060 NEXT I
3100 RETURN
5400 REM SCALE,ROTATE AND OFFSET
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
6000 REM PRINT RESULTS
6010 INPUT "WANT TO PRINT? (Y/N): ";CK$
6020 IF CK$ = "N" GOTO 9998
6030 IF CK$ = "Y" GOTO 6040
6035 GOTO 6010
6040 PRINT D$;"PR#1"
6042 PRINT
6043 PRINT "SPECTRUM FOR DWG ";F$
6044 PRINT
6045 PRINT "FREQUENCY"; TAB( 30);"AMPLITUDE"
6046 PRINT
6049 K = 0
6050 FOR WK = WM TO WX STEP DW
6051 K = K +1
6055 TT(K) = TT(K)/SC
6060 PRINT "WK= ";WK; TAB( 30);"F(WK)= ";TT(K)
6070 NEXT WK
6075 PRINT D$;"PR#0"
6080 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/HELLO.bas:
10 PRINT "ENGINEERING SOFTWARE FOR MICROS"
20 PRINT "BY B.J. KORITES"
30 PRINT "COPYRIGHT (C) 1982 BY KERN PUBLICATIONS"
40 PRINT "190 DUCK HILL RD"
50 PRINT "DUXBURY, MA 02332"
60 PRINT "ALL RIGHTS RESERVED"
70 END
80 REM --POKE LANGUAGE CARD FINDER
90 POKE 768,0: POKE 769,173: POKE 770,0: POKE 771,224: POKE 772,72: POKE 773,173: POKE 774,129: POKE 775,192: POKE 776,104:
95 POKE 777,72: POKE 778,205: POKE 779,0: POKE 780,224: POKE 781,208: POKE 782,35: POKE 783,173: POKE 784,131: POKE 785,192:
100 POKE 786,173: POKE 787,131: POKE 788,192: POKE 789,169: POKE 790,165: POKE 791,141: POKE 792,0: POKE 793,208: POKE 794,205:
105 POKE 795,0: POKE 796,208: POKE 797,208: POKE 798,19: POKE 799,74: POKE 800,141: POKE 801,0: POKE 802,208: POKE 803,205:
110 POKE 804,0: POKE 805,208: POKE 806,208: POKE 807,10: POKE 808,173: POKE 809,129: POKE 810,192: POKE 811,173: POKE 812,129:
115 POKE 813,192: POKE 814,169: POKE 815,1: POKE 816,208: POKE 817,2: POKE 818,169: POKE 819,0: POKE 820,141: POKE 821,0:
120 POKE 822,3: POKE 823,104: POKE 824,205: POKE 825,0: POKE 826,224: POKE 827,240: POKE 828,3: POKE 829,173: POKE 830,128:
125 POKE 831,192: POKE 832,96:
155 CALL 769
160 IF PEEK(768) < >1 THEN 250
170 REM
180 REM --IF THERE, LOAD INTG AND PA#1
190 REM
200 VTAB 10: PRINT "(LOADING INTEGER INTO LANGUAGE CARD)"
210 PRINT "BLOAD INTBASIC,A$D000"
220 REM --WRITE PROTECT THE CARD
230 A = PEEK( -16254): REM $C082
240 END
250 REM
260 REM --NO CARD OR CAN'T RELOAD
270 REM
280 IF PEEK(768) = 0 THEN END
290 PRINT : PRINT "...LANGUAGE CARD CANNOT BE RELOADED": PRINT " UNTIL THE SYSTEM IS REBOOTED..."
300 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/ISOVIEW.bas:
10 PRINT "ISOVIEW"
11 PRINT "RECALLS A DRAWING"
12 PRINT "ROTATES IT IN"
13 PRINT "3 DIMENSIONS"
30 PRINT "TYPE CONT TO CONTINUE"
40 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM P(50),XP(50),YP(50),ZP(50),PC(50)
90 DIM LB(25),LE(25),LC(25)
96 REM
97 REM
98 REM
99 REM
100 REM INPUT
105 PRINT "R=RECALL"; TAB( 12);"P=PLOT"
110 PRINT "M=MOVE"; TAB( 12);"E=END"
115 INPUT "COMMAND: ";CK$
118 IF CK$ = "E" GOTO 9998
120 IF CK$ = "R" THEN GOSUB 3000
125 IF CK$ = "M" THEN GOSUB 2000
145 IF CK$ = "P" THEN GOSUB 3500
150 GOTO 105
1996 REM
1997 REM
1998 REM
1999 REM
2000 REM MOVE
2010 PRINT "SELECT ROTATION"
2020 INPUT "RX,RY,RZ,E: ";M$
2025 IF M$ = "E" GOTO 2070
2030 IF M$ = "RX" THEN GOSUB 2100
2040 IF M$ = "RY" THEN GOSUB 2300
2050 IF M$ = "RZ" THEN GOSUB 2500
2060 GOTO 2010
2066 REM
2067 REM
2068 REM
2069 REM
2070 RETURN
2100 REM X-AXIS ROTATION
2110 INPUT "X-ROTATION: ";RX
2120 RX = RX *3.14159/180
2130 GOSUB 9600
2140 FOR I = 1 TO NP
2160 GOSUB 9700
2180 NEXT I
2190 GOSUB 2900
2200 GOSUB 3500
2206 REM
2207 REM
2208 REM
2209 REM
2210 RETURN
2300 REM Y-ROTATION
2310 INPUT "Y-ROTATION: ";RY
2320 RY = RY *3.14159/180
2330 GOSUB 9800
2340 FOR I = 1 TO NP
2360 GOSUB 9700
2380 NEXT I
2390 GOSUB 2900
2400 GOSUB 3500
2406 REM
2407 REM
2408 REM
2409 REM
2410 RETURN
2500 REM Z-AXIS ROTATION
2510 INPUT "Z-AXIS ROTATION: ";RZ
2520 RZ = RZ *3.14159/180
2530 GOSUB 9500
2540 FOR I = 1 TO NP
2560 GOSUB 9700
2580 NEXT I
2590 GOSUB 2900
2600 GOSUB 3500
2610 RETURN
2896 REM
2897 REM
2899 REM
2900 REM CLEAR SCREEN
2905 PRINT "CLEAR"
2910 HGR
2915 GOSUB 9990
2929 RETURN
2996 REM
2997 REM
2998 REM
2999 REM
3000 REM RECALL DRAWING FROM DISK
3005 PRINT "RECALL"
3010 INPUT "FILE NAME: ";F$
3020 INPUT "DRIVE NUMBER: ";DR
3030 D$ = "": REM CTRL-D
3040 PRINT D$;"OPEN";F$;",D";DR
3050 PRINT D$;"READ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT XP(I)
3150 INPUT YP(I)
3160 INPUT ZP(I)
3170 INPUT PC(I)
3180 NEXT I
3190 INPUT NL
3200 FOR I = 1 TO NL
3210 INPUT LB(I)
3220 INPUT LE(I)
3230 INPUT LC(I)
3240 NEXT I
3250 PRINT D$;"CLOSE"
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3505 PRINT "PLOT"
3510 FOR I = 1 TO NP
3520 XR = XP(I)
3530 YR = YP(I)
3540 GOSUB 5400
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3590 FOR I = 1 TO NL
3595 LN = I
3600 GOSUB 4200
3610 XR = XP(A)
3620 YR = YP(A)
3630 GOSUB 5400
3640 AA = XT
3650 BB = YT
3660 XR = XP(B)
3670 YR = YP(B)
3680 GOSUB 5400
3690 CC = XT
3700 DD = YT
3710 HCOLOR= LC(I)
3720 HPLOT AA,BB TO CC,DD
3730 NEXT I
3740 RETURN
4196 REM
4197 REM
4198 REM
4199 REM
4200 REM FIND POINTS
4205 MP = 0
4210 FOR K = 1 TO NP
4220 IF LB(LN) = P(K) THEN A = K
4230 IF LB(LN) = P(K) GOTO 4270
4240 NEXT K
4250 PRINT "CAN'T FIND POINT ";LB(LN)
4260 MP = 1
4265 GOTO 4330
4270 FOR K = 1 TO NP
4280 IF LE(LN) = P(K) THEN B = K
4290 IF LE(LN) = P(K) GOTO 4330
4300 NEXT K
4310 PRINT "CAN'T FIND POINT ";LE(LN)
4315 MP = 1
4330 RETURN
4796 REM
4797 REM
4798 REM
4799 REM
5400 REM SCALE, ROTATE AND OFFSET PLOT COORDINATES
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
7996 REM
7997 REM
7998 REM
7999 REM
8000 REM CALCULATE GEOMETRIC CENTER
8001 REM WHICH WILL BE CENTER OF ROTATION
8010 FOR I = 1 TO NP
8020 SX = SX +XP(I)
8030 SY = SY +YP(I)
8040 SZ = SZ +ZP(I)
8050 NEXT I
8060 XO = SX/NP
8070 YO = SY/NP
8080 ZO = SZ/NP
8086 REM
8087 REM
8088 REM
8089 REM
8090 RETURN
9500 REM Z-AXIS ROTATION MATRIX
9510 C(1,1) = COS(RZ)
9520 C(1,2) = SIN(RZ)
9530 C(1,3) = 0
9540 C(2,1) = - SIN(RZ)
9550 C(2,2) = COS(RZ)
9560 C(2,3) = 0
9570 C(3,1) = 0
9580 C(3,2) = 0
9590 C(3,3) = 1
9595 RETURN
9600 REM X-AXIS ROTATION MATRIX
9610 C(1,1) = 1
9620 C(1,2) = 0
9630 C(1,3) = 0
9640 C(2,1) = 0
9650 C(2,2) = COS(RX)
9660 C(2,3) = SIN(RX)
9670 C(3,1) = 0
9680 C(3,2) = - SIN(RX)
9690 C(3,3) = COS(RX)
9695 RETURN
9696 REM
9697 REM
9698 REM
9699 REM
9700 REM COORDINATE TRANSFORMATION
9705 A1 = XP(I) -XO
9706 A2 = YP(I) -YO
9707 A3 = ZP(I) -ZO
9710 XP(I) = XO +A1 *C(1,1) +A2 *C(2,1) +A3 *C(3,1)
9720 YP(I) = YO +A1 *C(1,2) +A2 *C(2,2) +A3 *C(3,2)
9730 ZP(I) = ZO +A1 *C(1,3) +A2 *C(2,3) +A3 *C(3,3)
9740 RETURN
9778 REM
9796 REM
9797 REM
9799 REM
9800 REM Y-AXIS ROTATION MATRIX
9810 C(1,1) = COS(RY)
9820 C(1,2) = 0
9830 C(1,3) = - SIN(RY)
9840 C(2,1) = 0
9850 C(2,2) = 1
9860 C(2,3) = 0
9870 C(3,1) = SIN(RY)
9880 C(3,2) = 0
9890 C(3,3) = COS(RY)
9895 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 136,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/LINKAGE1.bas:
10 PRINT "LINKAGE1"
20 PRINT "PLOTS AND PRINTS"
30 PRINT "PATHS OF NODES IN"
40 PRINT "A 4 BAR LINKAGE"
50 PRINT "READS LINKAGE GEOMETRY"
60 PRINT "FROM DISK"
70 PRINT "TYPE CONT TO CONTINUE"
80 STOP
90 HGR
100 HCOLOR= 7
110 GOSUB 9990
115 DIM P(10),XP(10),YP(10),ZP(10),PC(10)
116 DIM LB(10),LE(10),LC(10)
120 INPUT "FILE NAME: ";F$
130 INPUT "DRIVE NUMBER: ";DR
140 D$ = "": REM CTRL-D
150 PRINT D$;"OPEN";F$;",D";DR
160 PRINT D$;"READ";F$
170 INPUT SF
180 INPUT XO
190 INPUT YO
200 INPUT PX
210 INPUT PY
220 INPUT NP
230 FOR I = 1 TO NP
240 INPUT P(I)
250 INPUT XP(I)
260 INPUT YP(I)
270 INPUT ZP(I)
280 INPUT PC(I)
290 NEXT I
300 INPUT NL
310 FOR I = 1 TO NL
320 INPUT LB(I)
330 INPUT LE(I)
340 INPUT LC(I)
350 NEXT I
405 PRINT D$;"CLOSE"
412 X1 = XP(1)
413 Y1 = YP(1)
414 X2 = XP(2)
415 Y2 = YP(2)
416 X3 = XP(3)
417 Y3 = YP(3)
418 X4 = XP(4)
419 Y4 = YP(4)
420 GOSUB 730
430 REM CALCULATE BAR LENGTHS
440 A = X2 -X1
450 B = Y2 -Y1
460 L1 = SQR(A *A +B *B)
470 A = X3 -X2
480 B = Y3 -Y2
490 L2 = SQR(A *A +B *B)
500 A = X4 -X3
510 B = Y4 -Y3
520 L3 = SQR(A *A +B *B)
530 A = X4 -X1
540 B = Y4 -Y1
550 L0 = SQR(A *A +B *B)
560 REM CALCULATE AND PRINT G1
565 XX = L0 -(X2 -X1)
570 A = Y2 -Y1
575 B = L0 -XX
576 IF B = 0 GOTO 578
577 GOTO 582
578 IF A >0 THEN G1 = 3.14159/2
579 IF A <0 THEN G1 = -3.14159/2
580 GOTO 590
582 G1 = ATN(A/B)
590 B = G1 *180/3.14159
600 PRINT "G1(DEGREES)= ";B
610 INPUT "SELECT G1(DEGREES): ";G1
611 REM ERASE LAST PICTURE
612 HCOLOR= 0
613 GOSUB 730
614 HCOLOR= 7
620 G1 = G1 *3.14159/180
625 REM CALCULATE G2
626 Y2 = L1 * SIN(G1)
627 X2 = L1 * COS(G1)
628 XX = L0 -(X2 -X1)
629 YY = Y2
630 G3 = ATN(YY/XX)
640 D = SQR(XX *XX +YY *YY)
641 IF D >(L2 +L3) THEN GOSUB 1000
650 A = (D *D +L3 *L3 -L2 *L2)/(2 *D *L3)
651 IF A = 1 THEN GOSUB 1050
652 IF A >1 THEN GOSUB 2000
660 G4 = - ATN(A/ SQR( -A *A +1)) +1.5708
670 G2 = G3 +G4
680 REM CALCULATE NEW COORDS
710 X3 = L0 -L3 * COS(G2)
720 Y3 = L3 * SIN(G2)
725 GOSUB 730
726 GOTO 590
730 REM TRANSFORM AND PLOT
740 XR = X1
750 YR = Y1
760 GOSUB 5400
770 HPLOT XT,YT
780 XR = X2
790 YR = Y2
800 GOSUB 5400
810 HPLOT TO XT,YT
820 XR = X3
830 YR = Y3
840 GOSUB 5400
850 HPLOT TO XT,YT
855 GOTO 940
860 XR = X4
870 YR = Y4
880 GOSUB 5400
890 HPLOT TO XT,YT
900 XR = X1
910 YR = Y1
920 GOSUB 5400
930 HPLOT TO XT,YT
940 RETURN
1000 PRINT "D>(L2+L3)-LINKAGE BOUND"
1010 PRINT "TRY ANOTHER ANGLE"
1020 GOTO 590
1025 RETURN
1050 PRINT "A=1 - LINKAGE BOUND"
1060 PRINT "TRY ANOTHER ANGLE"
1070 GOTO 590
1080 RETURN
2000 PRINT "A>1 - LINKAGE BOUND"
2010 PRINT "TRY ANOTHER ANGLE"
2020 GOTO 590
2030 RETURN
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/LINKAGE2.bas:
10 PRINT "LINKAGE2"
20 PRINT "PLOTS AND PRINTS"
30 PRINT "PATHS OF NODES IN"
40 PRINT "A 4 BAR LINKAGE"
42 PRINT "WITH FOLLOWER BAR"
50 PRINT "READS LINKAGE GEOMETRY"
60 PRINT "FROM DISK"
70 PRINT "TYPE CONT TO CONTINUE"
80 STOP
90 HGR
100 HCOLOR= 7
110 GOSUB 9990
115 DIM P(10),XP(10),YP(10),ZP(10),PC(10)
116 DIM LB(10),LE(10),LC(10)
117 DIM T1(10),T2(10),T3(10),TC(10)
120 INPUT "FILE NAME: ";F$
130 INPUT "DRIVE NUMBER: ";DR
140 D$ = "": REM CTRL-D
150 PRINT D$;"OPEN";F$;",D";DR
160 PRINT D$;"READ";F$
170 INPUT SF
180 INPUT XO
190 INPUT YO
200 INPUT PX
210 INPUT PY
220 INPUT NP
230 FOR I = 1 TO NP
240 INPUT P(I)
250 INPUT XP(I)
260 INPUT YP(I)
270 INPUT ZP(I)
280 INPUT PC(I)
290 NEXT I
300 INPUT NL
310 FOR I = 1 TO NL
320 INPUT LB(I)
330 INPUT LE(I)
340 INPUT LC(I)
350 NEXT I
405 PRINT D$;"CLOSE"
412 X1 = XP(1)
413 Y1 = YP(1)
414 X2 = XP(2)
415 Y2 = YP(2)
416 X3 = XP(3)
417 Y3 = YP(3)
418 X4 = XP(4)
419 Y4 = YP(4)
420 X5 = XP(5)
421 Y5 = YP(5)
422 X6 = XP(6)
423 Y6 = YP(6)
425 GOSUB 730
426 XR = X5
427 YR = Y5
428 GOSUB 5400
429 HPLOT XT,YT
430 XR = X6
431 YR = Y6
432 GOSUB 5400
433 HPLOT TO XT,YT
435 REM CALCULATE BAR LENGTHS
440 A = X2 -X1
450 B = Y2 -Y1
460 L1 = SQR(A *A +B *B)
470 A = X3 -X2
480 B = Y3 -Y2
490 L2 = SQR(A *A +B *B)
500 A = X4 -X3
510 B = Y4 -Y3
520 L3 = SQR(A *A +B *B)
530 A = X4 -X1
540 B = Y4 -Y1
550 L0 = SQR(A *A +B *B)
551 A = X5 -X2
552 B = Y5 -Y2
553 L4 = SQR(A *A +B *B)
554 A = X6 -X5
555 B = Y6 -Y5
556 L5 = SQR(A *A +B *B)
560 REM CALCULATE AND PRINT G1
565 XX = L0 -(X2 -X1)
570 A = Y2 -Y1
575 B = L0 -XX
576 IF B = 0 GOTO 578
577 GOTO 582
578 IF A >0 THEN G1 = 3.14159/2
579 IF A <0 THEN G1 = -3.14159/2
580 GOTO 590
582 G1 = ATN(A/B)
590 B = G1 *180/3.14159
600 PRINT "G1(DEGREES)= ";B
610 INPUT "SELECT G1(DEGREES): ";G1
611 REM ERASE LAST PICTURE
612 HCOLOR= 0
613 GOSUB 730
614 HCOLOR= 7
620 G1 = G1 *3.14159/180
625 REM CALCULATE G2
626 Y2 = L1 * SIN(G1)
627 X2 = L1 * COS(G1)
628 XX = L0 -(X2 -X1)
629 YY = Y2
630 G3 = ATN(YY/XX)
640 D = SQR(XX *XX +YY *YY)
641 IF D >(L2 +L3) THEN GOSUB 1000
650 A = (D *D +L3 *L3 -L2 *L2)/(2 *D *L3)
651 IF A = 1 THEN GOSUB 1050
652 IF A >1 THEN GOSUB 2000
660 G4 = - ATN(A/ SQR( -A *A +1)) +1.5708
670 G2 = G3 +G4
680 REM CALCULATE NEW COORDS
710 X3 = L0 -L3 * COS(G2)
720 Y3 = L3 * SIN(G2)
725 GOSUB 3000
726 GOSUB 730
727 GOTO 590
730 REM TRANSFORM AND PLOT
740 XR = X1
750 YR = Y1
760 GOSUB 5400
770 HPLOT XT,YT
780 XR = X2
790 YR = Y2
800 GOSUB 5400
810 HPLOT TO XT,YT
820 XR = X3
830 YR = Y3
840 GOSUB 5400
850 HPLOT TO XT,YT
860 XR = X4
870 YR = Y4
880 GOSUB 5400
890 HPLOT TO XT,YT
900 XR = X1
910 YR = Y1
920 GOSUB 5400
930 HPLOT TO XT,YT
980 RETURN
1000 PRINT "D>(L2+L3)-LINKAGE BOUND"
1010 PRINT "TRY ANOTHER ANGLE"
1020 GOTO 590
1025 RETURN
1050 PRINT "A=1 - LINKAGE BOUND"
1060 PRINT "TRY ANOTHER ANGLE"
1070 GOTO 590
1080 RETURN
2000 PRINT "A>1 - LINKAGE BOUND"
2010 PRINT "TRY ANOTHER ANGLE"
2020 GOTO 590
2030 RETURN
3000 REM PLOT FOLLOWER PATH
3010 A = X3 -X2
3020 B = Y3 -Y2
3030 UX = A/L2
3040 UY = B/L2
3050 X5 = X2 +UX *L4
3060 Y5 = Y2 +UY *L4
3061 XR = X5
3062 YR = Y5
3063 GOSUB 5400
3064 HPLOT XT,YT
3070 NX = -UY
3080 NY = UX
3130 X6 = X5 +L5 *NX
3140 Y6 = Y5 +L5 *NY
3150 XR = X6
3160 YR = Y6
3170 GOSUB 5400
3180 HPLOT TO XT,YT
3190 RETURN
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/LINKAGE3.bas:
10 PRINT "LINKAGE3"
20 PRINT "PLOTS DYNAMIC MOTION"
30 PRINT "OF A 4 BAR LINKAGE"
50 PRINT "READS LINKAGE GEOMETRY"
60 PRINT "FROM DISK"
70 PRINT "TYPE CONT TO CONTINUE"
80 STOP
90 HGR
100 HCOLOR= 7
110 GOSUB 9990
115 DIM P(10),XP(10),YP(10),ZP(10),PC(10)
116 DIM LB(10),LE(10),LC(10)
117 DIM T1(10),T2(10),T3(10),TC(10)
120 INPUT "FILE NAME: ";F$
130 INPUT "DRIVE NUMBER: ";DR
140 D$ = "": REM CTRL-D
150 PRINT D$;"OPEN";F$;",D";DR
160 PRINT D$;"READ";F$
170 INPUT SF
180 INPUT XO
190 INPUT YO
200 INPUT PX
210 INPUT PY
220 INPUT NP
230 FOR I = 1 TO NP
240 INPUT P(I)
250 INPUT XP(I)
260 INPUT YP(I)
270 INPUT ZP(I)
280 INPUT PC(I)
290 NEXT I
300 INPUT NL
310 FOR I = 1 TO NL
320 INPUT LB(I)
330 INPUT LE(I)
340 INPUT LC(I)
350 NEXT I
405 PRINT D$;"CLOSE"
412 X1 = XP(1)
413 Y1 = YP(1)
414 X2 = XP(2)
415 Y2 = YP(2)
416 X3 = XP(3)
417 Y3 = YP(3)
418 X4 = XP(4)
419 Y4 = YP(4)
420 GOSUB 730
430 REM CALCULATE BAR LENGTHS
440 A = X2 -X1
450 B = Y2 -Y1
460 L1 = SQR(A *A +B *B)
470 A = X3 -X2
480 B = Y3 -Y2
490 L2 = SQR(A *A +B *B)
500 A = X4 -X3
510 B = Y4 -Y3
520 L3 = SQR(A *A +B *B)
530 A = X4 -X1
540 B = Y4 -Y1
550 L0 = SQR(A *A +B *B)
595 INPUT "START ANGLE: ";GS
596 INPUT "END ANGLE: ";GE
597 INPUT "INCREMENT ANGLE: ";GI
598 GS = GS *3.14159/180
599 GE = GE *3.14159/180
600 GI = GI *3.14159/180
601 FOR G1 = GS TO GE STEP GI
611 REM ERASE LAST PICTURE
612 HCOLOR= 0
613 GOSUB 730
614 HCOLOR= 7
625 REM CALCULATE G2
626 Y2 = L1 * SIN(G1)
627 X2 = L1 * COS(G1)
628 XX = L0 -(X2 -X1)
629 YY = Y2
630 G3 = ATN(YY/XX)
640 D = SQR(XX *XX +YY *YY)
641 IF D >(L2 +L3) THEN GOSUB 1000
650 A = (D *D +L3 *L3 -L2 *L2)/(2 *D *L3)
651 IF A = 1 THEN GOSUB 1050
652 IF A >1 THEN GOSUB 2000
660 G4 = - ATN(A/ SQR( -A *A +1)) +1.5708
670 G2 = G3 +G4
680 REM CALCULATE NEW COORDS
710 X3 = L0 -L3 * COS(G2)
720 Y3 = L3 * SIN(G2)
725 GOSUB 730
726 NEXT G1
727 GOTO 9998
730 REM TRANSFORM AND PLOT
740 XR = X1
750 YR = Y1
760 GOSUB 5400
770 HPLOT XT,YT
780 XR = X2
790 YR = Y2
800 GOSUB 5400
810 HPLOT TO XT,YT
820 XR = X3
830 YR = Y3
840 GOSUB 5400
850 HPLOT TO XT,YT
860 XR = X4
870 YR = Y4
880 GOSUB 5400
890 HPLOT TO XT,YT
900 XR = X1
910 YR = Y1
920 GOSUB 5400
930 HPLOT TO XT,YT
940 RETURN
1000 PRINT "D>(L2+L3)-LINKAGE BOUND"
1010 PRINT "TRY ANOTHER ANGLE"
1020 GOTO 590
1025 RETURN
1050 PRINT "A=1 - LINKAGE BOUND"
1060 PRINT "TRY ANOTHER ANGLE"
1070 GOTO 590
1080 RETURN
2000 PRINT "A>1 - LINKAGE BOUND"
2010 PRINT "TRY ANOTHER ANGLE"
2020 GOTO 590
2030 RETURN
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/LINKAGE4.bas:
10 PRINT "LINKAGE4"
20 PRINT "PLOTS DYNAMIC MOTION"
30 PRINT "OF A SLIDER-CRANK"
50 PRINT "READS LINKAGE GEOMETRY"
60 PRINT "FROM DISK"
70 PRINT "TYPE CONT TO CONTINUE"
80 STOP
90 HGR
100 HCOLOR= 7
110 GOSUB 9990
115 DIM P(10),XP(10),YP(10),ZP(10),PC(10)
116 DIM LB(10),LE(10),LC(10)
120 INPUT "FILE NAME: ";F$
130 INPUT "DRIVE NUMBER: ";DR
140 D$ = "": REM CTRL-D
150 PRINT D$;"OPEN";F$;",D";DR
160 PRINT D$;"READ";F$
170 INPUT SF
180 INPUT XO
190 INPUT YO
200 INPUT PX
210 INPUT PY
220 INPUT NP
230 FOR I = 1 TO NP
240 INPUT P(I)
250 INPUT XP(I)
260 INPUT YP(I)
270 INPUT ZP(I)
280 INPUT PC(I)
290 NEXT I
300 INPUT NL
310 FOR I = 1 TO NL
320 INPUT LB(I)
330 INPUT LE(I)
340 INPUT LC(I)
350 NEXT I
405 PRINT D$;"CLOSE"
412 X1 = XP(1)
413 Y1 = YP(1)
414 X2 = XP(2)
415 Y2 = YP(2)
416 X3 = XP(3)
417 Y3 = YP(3)
420 GOSUB 730
430 REM CALCULATE BAR LENGTHS
440 A = X2 -X1
450 B = Y2 -Y1
460 L1 = SQR(A *A +B *B)
470 A = X3 -X2
480 B = Y3 -Y2
490 L2 = SQR(A *A +B *B)
500 L3 = Y3 -Y1
595 INPUT "START ANGLE: ";GS
596 INPUT "END ANGLE: ";GE
597 INPUT "INCREMENT ANGLE: ";GI
598 GS = GS *3.14159/180
599 GE = GE *3.14159/180
600 GI = GI *3.14159/180
601 FOR G1 = GS TO GE STEP GI
611 REM ERASE LAST PICTURE
612 HCOLOR= 0
613 GOSUB 730
614 HCOLOR= 7
625 REM CALCULATE G2
630 A = (L1 * SIN(G1) -L3)/L2
635 IF A = 1 THEN GOSUB 1050
636 IF A >1 THEN GOSUB 1100
640 G2 = ATN(A/ SQR( -A *A +1))
645 X2 = X1 +L1 * COS(G1)
650 Y2 = Y1 +L1 * SIN(G1)
655 X3 = X2 +L2 * COS(G2)
670 GOSUB 730
671 A = G1 *180/3.14159
672 PRINT D$;"PR#1"
673 PRINT "G1= ";A; TAB( 20);"X3= ";X3
674 PRINT D$;"PR#0"
680 NEXT G1
725 GOTO 9998
726 REM
727 REM
728 REM
729 REM
730 REM TRANSFORM AND PLOT
740 XR = X1
750 YR = Y1
760 GOSUB 5400
770 HPLOT XT,YT
780 XR = X2
790 YR = Y2
800 GOSUB 5400
810 HPLOT TO XT,YT
820 XR = X3
830 YR = Y3
840 GOSUB 5400
850 HPLOT TO XT,YT
940 RETURN
1046 REM
1047 REM
1048 REM
1049 REM
1050 PRINT "A=1 LINKAGE BOUND"
1060 GOTO 9998
1070 RETURN
1096 REM
1097 REM
1098 REM
1099 REM
1100 PRINT "A>1-LINKAGE BOUND"
1110 GOTO 9998
1120 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/MATRIX1.bas:
5 HOME
10 PRINT "MATRIX1"
20 PRINT "SOLVES A SET OF"
30 PRINT "LINEAR EQUATIONS BY"
40 PRINT "THE GAUSS-JORDAN TECHNIQUE"
50 PRINT "TYPE CONT TO CONTINUE"
55 STOP
56 DIM A(20,20),K(20),L(20),C(20),X(20)
57 DIM Y(20)
60 INPUT "WANT TO READ MATRIX FROM DISK? (Y/N): ";CK$
65 IF CK$ = "N" THEN GOTO 80
66 IF CK$ = "Y" THEN GOTO 69
68 GOTO 60
69 REM
70 XX = 1
71 GOSUB 2500
72 GOTO 256
80 REM
100 REM IT=NUMBER OF EQUATIONS (ROWS)
110 REM JT=NUMBER OF VARIABLES (COLUMNS)
120 INPUT "NUMBER OF EQUATIONS: ";IT
130 JT = IT +1
140 REM READ COEFFICIENTS BY ROW
150 FOR I = 1 TO IT
155 PRINT
156 PRINT " EQUATION ";I
157 PRINT
160 FOR J = 1 TO JT
190 IF J = JT GOTO 220
200 PRINT " COEFFICIENT ";J
210 PRINT " A(";I;",";J;"): "
211 INPUT A(I,J)
215 GOTO 240
220 PRINT " CONSTANT ";J
230 PRINT " C(";I;"): "
231 INPUT A(I,J)
240 PRINT
241 NEXT J
250 NEXT I
255 GOSUB 2000
256 GOSUB 5000
260 REM SET ROW INDEX
264 PRINT
265 PRINT
266 PRINT "PROCESSING"
268 PRINT
269 PRINT
270 FOR I = 1 TO IT
280 L(I) = I
285 NEXT I
290 REM FIND PIVOT ROW FOR EACH COLUMN
295 FOR J = 1 TO IT
300 GOSUB 3000
310 REM CHECK MAGNITUDE OF PIVOT
320 REM ABORT IF PIVOT IS TOO SMALL
330 IF ABS(A(M,J)) <.0001 GOTO 360
340 K(J) = M
345 GOTO 380
360 PRINT "PIVOT TOO SMALL - ABORT"
370 GOTO 9998
380 REM REDUCE PIVOT ROW STARTING AT COLUMN J+1
390 JI = J +1
395 KP = A(M,J)
400 FOR JP = JI TO JT
410 A(M,JP) = A(M,JP)/KP
420 NEXT JP
430 REM REDUCE OTHER ROWS STARTING AT COLUMN J+1
440 FOR IP = 1 TO IT
450 IF IP = M GOTO 490
460 FOR JP = JI TO JT
465 KK = A(IP,J)
470 A(IP,JP) = A(IP,JP) -A(M,JP) *KK
480 NEXT JP
490 NEXT IP
500 NEXT J
510 REM STORE VALUES
520 FOR I = 1 TO IT
530 M = K(I)
540 X(I) = A(M,JT)
550 NEXT I
560 REM PRINT ANSWERS
565 HOME
570 PRINT
580 PRINT "RESULTS"
590 PRINT
600 FOR I = 1 TO IT
610 PRINT "X(";I;")=";X(I)
620 NEXT I
621 GOSUB 6000
625 PRINT
626 PRINT
630 INPUT "WANT TO CHECK RESULTS? (Y/N): ";CK$
640 IF CK$ = "N" GOTO 9998
650 IF CK$ = "Y" GOTO 680
670 GOTO 630
680 GOSUB 2500
690 PRINT
700 PRINT "ACCURACY CHECK"
710 PRINT
720 FOR I = 1 TO IT
730 PRINT
740 PRINT " INPUT LOAD= ";A(I,JT)
750 PRINT "CALCULATED LOAD= ";C(I)
755 D = C(I) -A(I,JT)
760 PRINT " DIFFERENCE= ";D
770 NEXT I
780 GOTO 9998
2000 REM SAVE DATA ON DISK FOR CHECKING LATER
2010 INPUT "WANT TO SAVE DATA ON DISK? (Y/N): ";CK$
2020 IF CK$ = "Y" THEN GOTO 2060
2030 IF CK$ = "N" THEN GOTO 2499
2040 PRINT "TRY AGAIN"
2050 GOTO 2010
2060 INPUT "FILE NAME: ";F$
2070 INPUT "DRIVE NUMBER: ";DR
2080 D$ = "": REM CTRL-D
2090 PRINT D$;"OPEN";F$;",D";DR
2100 PRINT D$;"WRITE";F$
2110 PRINT IT
2120 PRINT JT
2130 FOR I = 1 TO IT
2140 FOR J = 1 TO JT
2150 PRINT A(I,J)
2160 NEXT J
2170 NEXT I
2180 PRINT D$;"CLOSE"
2499 RETURN
2500 REM CALCULATE C(I),CHECK VALUES
2501 REM RETRIEVE MATRIX FROM DISK
2510 INPUT "FILE NAME: ";F$
2511 INPUT "DRIVE NUMBER: ";DR
2515 D$ = "": REM CTRL-D
2520 PRINT D$;"OPEN";F$;",D";DR
2530 PRINT D$;"READ";F$
2540 INPUT IT
2550 INPUT JT
2560 FOR I = 1 TO IT
2570 FOR J = 1 TO JT
2580 INPUT A(I,J)
2590 NEXT J
2600 NEXT I
2610 PRINT D$;"CLOSE"
2611 IF XX = 1 THEN GOTO 2669
2615 REM CALCULATE CHECK VALUES
2620 FOR I = 1 TO IT
2630 FOR J = 1 TO IT
2640 C(I) = C(I) +A(I,J) *X(J)
2650 NEXT J
2660 NEXT I
2669 XX = 0
2670 RETURN
3000 REM
3020 FOR I = 1 TO IT
3030 IF L(I) = 0 THEN GOTO 3050
3035 REM Y(I) IS ROW I
3040 Y(I) = ABS(A(I,J))
3045 GOTO 3055
3050 Y(I) = 0
3055 NEXT I
3060 REM FIND MAX
3070 MM = 0
3080 FOR I = 1 TO IT
3090 IF Y(I) >MM THEN M = I
3095 IF Y(I) >MM THEN MM = Y(I)
3100 NEXT I
3110 L(M) = 0
3120 RETURN
5000 REM PRINT MATRIX
5010 INPUT "WANT TO PRINT MATRIX? (Y/N): ";CK$
5011 IF CK$ = "N" THEN GOTO 5110
5012 IF CK$ = "Y" THEN GOTO 5020
5014 GOTO 5010
5020 PRINT D$;"PR#1"
5021 PRINT
5022 PRINT
5023 PRINT "INPUT MATRIX"
5024 PRINT
5030 FOR I = 1 TO IT
5040 PRINT
5050 PRINT "ROW ";I
5060 FOR J = 1 TO JT
5070 PRINT " A(";I;",";J;")= ";A(I,J)
5080 NEXT J
5090 NEXT I
5100 PRINT D$;"PR#0"
5110 RETURN
6000 REM PRINT X(I) ON PRINTER
6010 PRINT
6020 INPUT "WANT TO PRINT X(I)? (Y/N): ";CK$
6030 IF CK$ = "N" GOTO 6120
6040 IF CK$ = "Y" GOTO 6070
6060 GOTO 6020
6070 PRINT D$;"PR#1"
6072 PRINT
6073 PRINT
6074 PRINT "RESULTS"
6075 PRINT
6080 FOR I = 1 TO IT
6090 PRINT
6100 PRINT " X(";I;")= ";X(I)
6105 NEXT I
6110 PRINT D$;"PR#0"
6120 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/MATRIX2.bas:
5 HOME
10 PRINT "MATRIX2"
20 PRINT "RECALLS A MATRIX FROM DISK"
30 PRINT "UPDATES IT"
40 PRINT "REPLACES IT IN DISK"
50 PRINT "TYPE CONT TO CONTINUE"
55 STOP
56 DIM A(20,20)
57 REM
58 REM
59 REM
60 REM
61 REM INPUT
64 PRINT
65 PRINT "R=RECALL"; TAB( 12);"L=LIST"
75 PRINT "U=UPDATE"; TAB( 12);"F=FILE"
80 PRINT "E=END"
85 PRINT
90 INPUT "COMMAND: ";CK$
91 PRINT
92 IF CK$ = "E" THEN GOTO 9998
95 IF CK$ = "R" THEN GOSUB 2500
100 IF CK$ = "L" THEN GOSUB 5000
105 IF CK$ = "U" THEN GOSUB 6000
110 IF CK$ = "F" THEN GOSUB 2000
120 GOTO 64
1996 REM
1997 REM
1998 REM
1999 REM
2000 REM FILE MATRIX ON DISK
2001 PRINT "FILE"
2060 INPUT "FILE NAME: ";F$
2070 INPUT "DRIVE NUMBER: ";DR
2080 D$ = "": REM CTRL-D
2090 PRINT D$;"OPEN";F$;",D";DR
2100 PRINT D$;"WRITE";F$
2110 PRINT IT
2120 PRINT JT
2130 FOR I = 1 TO IT
2140 FOR J = 1 TO JT
2150 PRINT A(I,J)
2160 NEXT J
2170 NEXT I
2180 PRINT D$;"CLOSE"
2190 RETURN
2496 REM
2497 REM
2498 REM
2499 REM
2500 REM RECALL MATRIX FROM DISK
2501 PRINT "RECALL"
2510 INPUT "FILE NAME: ";F$
2511 INPUT "DRIVE NUMBER: ";DR
2515 D$ = "": REM CTRL-D
2520 PRINT D$;"OPEN";F$;",D";DR
2530 PRINT D$;"READ";F$
2540 INPUT IT
2550 INPUT JT
2560 FOR I = 1 TO IT
2570 FOR J = 1 TO JT
2580 INPUT A(I,J)
2590 NEXT J
2600 NEXT I
2610 PRINT D$;"CLOSE"
2670 RETURN
4996 REM
4997 REM
4998 REM
4999 REM
5000 REM LIST MATRIX
5001 PRINT "MATRIX ";F$
5020 PRINT D$;"PR#1"
5021 PRINT
5022 PRINT
5024 PRINT
5030 FOR I = 1 TO IT
5040 PRINT
5050 PRINT "ROW ";I
5060 FOR J = 1 TO JT
5070 PRINT " A(";I;",";J;")= ";A(I,J)
5080 NEXT J
5090 NEXT I
5100 PRINT D$;"PR#0"
5110 RETURN
5996 REM
5997 REM
5998 REM
5999 REM
6000 REM UPDATE
6001 PRINT "UPDATE"
6020 INPUT " ROW I: ";I
6030 INPUT "COLUMN J: ";J
6040 INPUT "A(I,J): ";A(I,J)
6050 RETURN
9994 REM
9995 REM
9996 REM
9997 REM
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/OPTIMIZER1.bas:
10 PRINT "OPTIMIZER1"
20 PRINT "CALCULATES AND PLOTS"
30 PRINT "THE SHORTEST PATH BETWEEN"
40 PRINT "FIVE POINTS"
42 PRINT "USING THE BRUTE-FORCE"
43 PRINT "METHOD"
45 PRINT "TYPE CONT TO CONTINUE"
46 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM X(5),Y(5),Z(5)
85 DIM P(5),PC(5)
91 REM
92 REM
93 REM
94 REM
95 REM INPUT
96 PRINT "R=RECALL"; TAB( 12);"S=SEARCH"
97 PRINT "E=END"
98 INPUT "COMMAND: ";CK$
120 IF CK$ = "E" GOTO 9998
130 IF CK$ = "R" THEN GOSUB 3000
140 IF CK$ = "S" THEN GOSUB 150
142 GOTO 96
146 REM
147 REM
148 REM
149 REM
150 REM CALCULATES THE SHORTEST PATH
160 REM BY TRYING ALL POSSIBLE COMBINATIONS
161 PRINT "SEARCH"
170 D = 10000
180 FOR I = 2 TO 5
190 FOR J = 2 TO 5
195 IF J = I GOTO 350
200 FOR K = 2 TO 5
205 IF K = J GOTO 340
206 IF K = I GOTO 340
207 FOR L = 2 TO 5
208 IF L = K GOTO 335
209 IF L = J GOTO 335
210 IF L = I GOTO 335
212 A = X(I) -X(1)
220 B = Y(I) -Y(1)
230 Q = SQR(A *A +B *B)
240 A = X(J) -X(I)
250 B = Y(J) -Y(I)
260 Q = Q + SQR(A *A +B *B)
270 A = X(K) -X(J)
280 B = Y(K) -Y(J)
290 Q = Q + SQR(A *A +B *B)
300 A = X(L) -X(K)
301 B = Y(L) -Y(K)
302 Q = Q + SQR(A *A +B *B)
303 A = X(1) -X(L)
304 B = Y(1) -Y(L)
305 Q = Q + SQR(A *A +B *B)
330 IF Q ": REM CTRL-D
3040 PRINT D$;"OPEN ";F$;",D";DR
3050 PRINT D$;"READ ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT X(I)
3150 INPUT Y(I)
3160 INPUT Z(I)
3170 INPUT PC(I)
3180 NEXT I
3250 PRINT D$;"CLOSE"
3255 GOSUB 3500
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3510 FOR I = 1 TO NP
3520 XR = X(I)
3530 YR = Y(I)
3540 GOSUB 5400
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3740 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/OPTIMIZER2.bas:
10 PRINT "OPTIMIZER2"
20 PRINT "CALCULATES AND PLOTS"
30 PRINT "THE SHORTEST PATH BETWEEN"
40 PRINT "FIVE POINTS"
42 PRINT "USING THE MONTE-CARLO"
43 PRINT "METHOD"
45 PRINT "TYPE CONT TO CONTINUE"
46 STOP
50 HGR
60 HCOLOR= 7
70 GOSUB 9990
80 DIM X(5),Y(5),Z(5)
85 DIM P(5),PC(5)
91 REM
92 REM
93 REM
94 REM
95 REM INPUT
96 PRINT "R=RECALL"; TAB( 12);"S=SEARCH"
97 PRINT "E=END"
98 INPUT "COMMAND: ";CK$
120 IF CK$ = "E" GOTO 9998
130 IF CK$ = "R" THEN GOSUB 3000
140 IF CK$ = "S" THEN GOSUB 150
142 GOTO 96
146 REM
147 REM
148 REM
149 REM
150 REM CALCULATES THE SHORTEST PATH
160 REM USING THE MONTE-CARLO TECHNIQUE
161 PRINT "SEARCH"
162 HGR
163 GOSUB 9990
170 D = 10000
174 INPUT "NUMBER OF TRYS: ";NT
175 FOR II = 1 TO NT
185 GOSUB 500
186 I = A
187 IF I <2 GOTO 185
188 IF I >5 GOTO 185
190 GOSUB 500
191 J = A
192 IF J <2 GOTO 190
193 IF J >5 GOTO 190
194 IF J = I GOTO 190
195 GOSUB 500
196 K = A
197 IF K <2 GOTO 195
198 IF K >5 GOTO 195
199 IF K = J GOTO 195
200 IF K = I GOTO 195
201 GOSUB 500
202 L = A
203 IF L <2 GOTO 201
204 IF L >5 GOTO 201
205 IF L = K GOTO 201
206 IF L = J GOTO 201
207 IF L = I GOTO 201
212 A = X(I) -X(1)
220 B = Y(I) -Y(1)
230 Q = SQR(A *A +B *B)
240 A = X(J) -X(I)
250 B = Y(J) -Y(I)
260 Q = Q + SQR(A *A +B *B)
270 A = X(K) -X(J)
280 B = Y(K) -Y(J)
290 Q = Q + SQR(A *A +B *B)
300 A = X(L) -X(K)
301 B = Y(L) -Y(K)
302 Q = Q + SQR(A *A +B *B)
303 A = X(1) -X(L)
304 B = Y(1) -Y(L)
305 Q = Q + SQR(A *A +B *B)
310 IF L = J GOTO 260
320 IF L = I GOTO 260
330 IF Q ": REM CTRL-D
3040 PRINT D$;"OPEN ";F$;",D";DR
3050 PRINT D$;"READ ";F$
3060 INPUT SF
3070 INPUT XO
3080 INPUT YO
3090 INPUT PX
3100 INPUT PY
3110 INPUT NP
3120 FOR I = 1 TO NP
3130 INPUT P(I)
3140 INPUT X(I)
3150 INPUT Y(I)
3160 INPUT Z(I)
3170 INPUT PC(I)
3180 NEXT I
3250 PRINT D$;"CLOSE"
3255 GOSUB 3500
3260 RETURN
3496 REM
3497 REM
3498 REM
3499 REM
3500 REM PLOT
3510 FOR I = 1 TO NP
3520 XR = X(I)
3530 YR = Y(I)
3540 GOSUB 5400
3560 HCOLOR= PC(I)
3570 HPLOT XT,YT
3580 NEXT I
3740 RETURN
5396 REM
5397 REM
5398 REM
5399 REM
5400 REM SCALE,ROTATE AND OFFSET PLOT COORDS
5410 XT = XO +SF *(XR * COS(PX) -YR * SIN(PY))
5420 YT = YO +SF *(XR * SIN(PX) +YR * COS(PY))
5430 RETURN
9986 REM
9987 REM
9988 REM
9989 REM
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT10.bas:
10 PRINT "PLOT10"
20 PRINT "PLOTS A POINT"
30 PRINT "AT THE CENTER"
40 PRINT "OF THE PLOTTING AREA"
41 PRINT "TYPE CONT TO CONTINUE"
42 STOP
50 HGR
60 HCOLOR= 7
70 HPLOT 140,80
80 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT11.bas:
10 PRINT "PLOT11"
20 PRINT "PLOTS POINTS AT"
30 PRINT "THE CORNERS OF THE"
40 PRINT "PLOTTING AREA"
50 PRINT "TYPE CONT TO CONTINUE"
60 STOP
70 HGR
80 HPLOT 0,0
90 HPLOT 279,0
100 HPLOT 279,159
110 HPLOT 0,159
120 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT12.bas:
10 PRINT "PLOT12"
20 PRINT "DRAWS LINES BETWEEN"
30 PRINT "THE FOUR CORNERS OF"
40 PRINT "THE PLOTTING AREA"
50 PRINT "TYPE CONT TO CONTINUE"
60 STOP
70 HGR
80 HCOLOR= 7
90 HPLOT 0,0 TO 279,0
100 HPLOT 279,0 TO 279,159
110 HPLOT 279,159 TO 0,159
120 HPLOT 0,159 TO 0,0
130 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT13.bas:
10 PRINT "PLOT13"
20 PRINT "DRAWS LINES BETWEEN THE"
30 PRINT "FOUR CORNERS OF THE"
40 PRINT "PLOTTING AREA USING THE"
50 PRINT "CHAIN PLOTTING COMMAND"
60 PRINT "TYPE CONT TO CONTINUE"
70 STOP
80 HGR
90 HCOLOR= 7
100 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
110 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT14.bas:
10 PRINT "PLOT14"
20 PRINT "DRAWS A FRAME AROUND THE"
30 PRINT "PLOTTING AREA AND LABELS"
40 PRINT "THE AXES"
50 PRINT "TYPE CONT TO CONTINUE"
60 STOP
70 HGR
80 HCOLOR= 7
90 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
100 REM PLOT "X" AT CENTER OF X AXIS
110 HPLOT 138,2 TO 142,6
120 HPLOT 142,2 TO 138,6
130 REM PLOT "Y" AT CENTER OF Y AXIS
140 HPLOT 2,77 TO 4,80 TO 4,83 TO 4,80 TO 6,77
150 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT15.bas:
10 PRINT "PLOT15"
20 PRINT "DRAWS A LINE OF POINTS"
30 PRINT "IN THE X DIRECTION"
40 PRINT "TYPE CONT TO CONTINUE"
50 STOP
60 HGR
70 HCOLOR= 7
80 GOSUB 9990
95 Y = 80
100 FOR X = 40 TO 120 STEP 2
110 HPLOT X,Y
120 NEXT X
130 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 4,80 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT16.bas:
10 PRINT "PLOT16"
20 PRINT "DRAWS A LINE OF POINTS"
30 PRINT "IN THE Y DIRECTION"
40 PRINT "TYPE CONT TO CONTINUE"
50 STOP
60 HGR
70 HCOLOR= 7
80 GOSUB 9990
95 X = 180
100 FOR Y = 50 TO 130 STEP 4
110 HPLOT X,Y
120 NEXT Y
130 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 4,80 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT17.bas:
10 PRINT "PLOT17"
20 PRINT "DRAWS A LINE OF POINTS"
30 PRINT "BETWEEN TWO ARBITRARY"
35 PRINT "BEGINNING AND END"
40 PRINT "POINTS WITH COORDINATES"
50 PRINT "SPECIFIED BY THE USER"
60 PRINT "TYPE CONT TO CONTINUE"
70 STOP
80 HGR
90 HCOLOR= 7
95 GOSUB 9990
100 INPUT "X1,Y1: ";X1,Y1
110 INPUT "X2,Y2: ";X2,Y2
120 INPUT "D: ";D
130 A = X2 -X1
140 B = Y2 -Y1
150 Q = SQR(A *A +B *B)
160 UX = A/Q
170 UY = B/Q
180 HPLOT X1,Y1
190 FOR L = D TO Q STEP D
200 XP = X1 +UX *L
210 YP = Y1 +UY *L
220 HPLOT XP,YP
230 NEXT L
240 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 4,80 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT30.bas:
10 PRINT "PLOT30"
20 PRINT "FILLS THE PLOTTING"
30 PRINT "AREA WITH POINTS"
50 PRINT "TYPE CONT TO CONTINUE"
60 STOP
70 HGR
75 HCOLOR= 7
80 FOR X = 1 TO 259 STEP 1
90 FOR Y = 1 TO 149 STEP 1
100 HPLOT X,Y
110 NEXT Y
120 NEXT X
130 PRINT "ALL DONE"
140 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT35.bas:
10 PRINT "PLOT35"
20 PRINT "FILLS THE PLOTTING"
30 PRINT "AREA WITH POINTS."
40 PRINT "SPACING CAN BE SPECIFIED"
50 PRINT "TYPE CONT TO CONTINUE"
60 STOP
70 HGR
75 HCOLOR= 7
76 INPUT "X SPACING= ";DX
77 INPUT "Y SPACING= ";DY
80 FOR X = 1 TO 259 STEP DX
90 FOR Y = 1 TO 149 STEP DY
100 HPLOT X,Y
110 NEXT Y
120 NEXT X
130 PRINT "ALL DONE"
140 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT50.bas:
10 PRINT "PLOT50"
20 PRINT "FILLS THE PLOTTING"
30 PRINT "AREA WITH POINTS"
40 PRINT "LEAVING A CIRCULAR HOLE"
50 PRINT "OF RADIUS R IN THE"
60 PRINT "CENTER. POINT SPACING"
70 PRINT "MAY BE SPECIFIED"
80 PRINT "TYPE CONT TO CONTINUE"
90 STOP
100 HGR
110 HCOLOR= 7
120 INPUT "X SPACING= ";DX
130 INPUT "Y SPACING= ";DY
135 INPUT "RADIUS= ";R
140 FOR X = 1 TO 259 STEP DX
150 FOR Y = 1 TO 149 STEP DY
160 XX = X -140
170 YY = Y -80
180 L = SQR(XX *XX +YY *YY)
190 IF L
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT51.bas:
10 PRINT "PLOT51"
20 PRINT "SAME AS PLOT50"
30 PRINT "EXCEPT CENTER OF CIRCULAR"
40 PRINT "HOLE MAY BE SPECIFIED"
80 PRINT "TYPE CONT TO CONTINUE"
90 STOP
100 HGR
110 HCOLOR= 7
120 INPUT "X SPACING= ";DX
130 INPUT "Y SPACING= ";DY
132 PRINT
133 PRINT "INPUT CENTER COORDS"
134 INPUT "XC,YC= ";XC,YC
135 PRINT
136 INPUT "RADIUS R= ";R
140 FOR X = 1 TO 259 STEP DX
150 FOR Y = 1 TO 149 STEP DY
160 XX = X -XC
170 YY = Y -YC
180 L = SQR(XX *XX +YY *YY)
190 IF L
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT60.bas:
10 PRINT "PLOT60"
20 PRINT "DRAWS A CIRCLE USING POINTS"
30 PRINT "CENTER COORDINATES AND"
40 PRINT "RADIUS MAY BE SPECIFIED"
50 PRINT "TYPE CONT TO CONTINUE"
60 STOP
70 HGR
80 HCOLOR= 7
85 GOSUB 9990
90 PRINT "INPUT CENTER COORDINATES"
100 INPUT "XC,YC= ";XC,YC
110 PRINT "INPUT RADIUS"
120 INPUT "R= ";R
130 DPHI = 2 *3.142/180
140 P1 = 0
150 P2 = 2 *3.142
160 FOR PHI = P1 TO P2 STEP DPHI
170 XX = R * COS(PHI)
180 YY = R * SIN(PHI)
190 X = XC +XX
200 Y = YC +YY
210 HPLOT X,Y
220 NEXT PHI
230 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT61.bas:
10 PRINT "PLOT61"
20 PRINT "DRAWS A CIRCLE USING"
30 PRINT "LINES. CENTER COORDINATES"
40 PRINT "AND RADIUS MAY BE SPECIFIED"
50 PRINT "TYPE CONT TO CONTINUE"
55 STOP
60 HGR
70 HCOLOR= 7
75 GOSUB 9990
80 PRINT "INPUT CENTER COORDINATES"
90 INPUT "XC,YC= ";XC,YC
100 PRINT "INPUT RADIUS"
110 INPUT "R= ";R
120 DPHI = 2 *3.142/180
130 P1 = 0
140 P2 = 2 *3.142
145 XS = XC +R
146 YS = YC
147 HPLOT XS,YS
150 FOR PHI = P1 TO P2 STEP DPHI
160 XX = R * COS(PHI)
170 YY = R * SIN(PHI)
180 X = XC +XX
190 Y = YC +YY
200 HPLOT TO X,Y
210 NEXT PHI
220 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 4,80 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
Text found in 036_Engineering_Software_for_Micros_Backup_Kern.dsk/PLOT62.bas:
10 PRINT "PLOT62"
20 PRINT "DRAWS A POLYGON USING"
30 PRINT "LINES. CENTER COORDINATES"
40 PRINT "RADIUS AND NUMBER OF"
45 PRINT "SIDES MAY BE SPECIFIED"
50 PRINT "TYPE CONT TO CONTINUE"
55 STOP
60 HGR
70 HCOLOR= 7
75 GOSUB 9990
80 PRINT "INPUT CENTER COORDINATES"
90 INPUT "XC,YC= ";XC,YC
100 PRINT "INPUT RADIUS"
110 INPUT "R= ";R
120 PRINT "INPUT NUMBER OF SIDES"
125 INPUT "NS= ";NS
126 DPHI = 360/NS
127 DPHI = DPHI *3.14159/180
130 P1 = 0
140 P2 = 2 *3.142
145 XS = XC +R
146 YS = YC
147 HPLOT XS,YS
150 FOR PHI = P1 TO P2 STEP DPHI
160 XX = R * COS(PHI)
170 YY = R * SIN(PHI)
180 X = XC +XX
190 Y = YC +YY
200 HPLOT TO X,Y
210 NEXT PHI
220 GOTO 9998
9990 HPLOT 0,0 TO 279,0 TO 279,159 TO 0,159 TO 0,0
9991 HPLOT 138,2 TO 142,6
9992 HPLOT 142,2 TO 138,6
9993 HPLOT 2,77 TO 4,80 TO 4,83 TO 4,80 TO 6,77
9994 RETURN
9998 PRINT "ALL DONE"
9999 END
- Addeddate
- 2014-07-16 22:04:04
- Emulator
- apple2e
- Emulator_ext
- dsk
- Identifier
- riag_008_036_-_Engineering_Software_for_Micros_-_Backup_-_Kern
- Scanner
- Internet Archive Python library 0.6.8