Skip to content

Commit 00c899d

Browse files
committed
Added decibel. Updated menu.
1 parent 81ac461 commit 00c899d

File tree

3 files changed

+174
-18
lines changed

3 files changed

+174
-18
lines changed

decibel-calc.bas

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
100 REM THIS IS PROGRAM NO. 29 PROG29
2+
105 V1 = 0
3+
106 V2 = 0
4+
107 I1 = 0
5+
108 I2 = 0
6+
109 P1 = 0
7+
110 P2 = 0
8+
120 PRINT "WHICH OF THE FOLLOWING IS REQUIRED?"
9+
130 PRINT
10+
140 PRINT "1. DECIBEL CONVERSION GIVEN"
11+
145 PRINT " VOLTAGE, CURRENT OR POWER"
12+
146 PRINT " RATIOS."
13+
147 PRINT
14+
150 PRINT "2. VOLTAGE, CURRENT OR POWER"
15+
155 PRINT " RATIOS NEEDED FOR GIVEN"
16+
158 PRINT " DECIBEL LEVEL."
17+
160 PRINT
18+
170 PRINT "SELECT ONE FROM ABOVE AND PRESS CR..."
19+
180 INPUT S
20+
185 PRINT S
21+
190 IF S > 2 THEN GOTO 120
22+
200 ON S GOTO 210,600
23+
210 GOSUB 1000
24+
220 PRINT "WHICH CALCULATION IS DESIRED?"
25+
230 PRINT
26+
240 PRINT "1. VOLTAGE RATIO"
27+
250 PRINT "2. CURRENT RATIO"
28+
260 PRINT "3. POWER RATIO"
29+
270 PRINT
30+
280 PRINT "SELECT ONE FROM ABOVE AND PRESS CR..."
31+
290 INPUT Q
32+
295 PRINT Q
33+
300 IF Q > 3 THEN GOTO 220
34+
310 ON Q GOTO 320,390,460
35+
320 GOSUB 960
36+
330 PRINT "ENTER V1:"
37+
340 INPUT V1
38+
345 PRINT V1
39+
347 PRINT
40+
350 PRINT "ENTER V2:"
41+
360 INPUT V2
42+
365 PRINT V2
43+
367 PRINT
44+
370 DB = 20*(LOG(V1/V2)/LOG(10))
45+
380 GOTO 520
46+
390 GOSUB 960
47+
400 PRINT "ENTER I1:"
48+
410 INPUT I1
49+
415 PRINT I1
50+
418 PRINT
51+
420 PRINT "ENTER I2:"
52+
430 INPUT I2
53+
435 PRINT I2
54+
438 PRINT
55+
440 DB = 20*(LOG(I1/I2)/LOG(10))
56+
450 GOTO 520
57+
460 GOSUB 960
58+
470 PRINT "ENTER P1:"
59+
480 INPUT P1
60+
485 PRINT P1
61+
490 PRINT "ENTER P2:"
62+
500 INPUT P2
63+
505 PRINT P2
64+
508 PRINT
65+
510 DB = 10*(LOG(P1/P2)/LOG(10))
66+
520 PRINT
67+
530 DB = DB*100
68+
540 DB = INT(DB)
69+
550 DB = DB/100
70+
560 PRINT "RATIO REPRESENTS: ";DB;" DB"
71+
570 PRINT
72+
580 GOSUB 1040
73+
590 GOTO 1070
74+
600 GOSUB 1000
75+
610 PRINT "SELECT ONE FROM MENU BELOW:"
76+
620 PRINT
77+
630 PRINT "1. VOLTAGE RATIO"
78+
640 PRINT "2. CURRENT RATIO"
79+
650 PRINT "3. POWER RATIO"
80+
660 PRINT
81+
670 PRINT "SELECT ONE FROM MENU BELOW:"
82+
620 PRINT
83+
630 PRINT "1. VOLTAGE RATIO"
84+
640 PRINT "2. CURRENT RATIO"
85+
650 PRINT "3. POWER RATIO"
86+
660 PRINT
87+
670 PRINT "ENTER ONE FROM ABOVE AND PRESS CR..."
88+
680 INPUT L
89+
685 PRINT L
90+
688 PRINT
91+
690 IF L > 3 THEN GOTO 610
92+
700 GOSUB 960
93+
710 PRINT "ENTER NUMBER OF DECIBELS:"
94+
720 INPUT DB
95+
725 PRINT DB
96+
738 PRINT
97+
740 ON L GOTO 750,770,790
98+
750 RA = (10^(DB/20))
99+
760 GOTO 800
100+
770 RA = (10^(DB/20))
101+
780 GOTO 800
102+
790 RA = (10^(DB/10))
103+
800 PRINT
104+
810 RA = RA*100
105+
820 RA = INT(RA)
106+
830 RA = RA/100
107+
840 PRINT
108+
850 PRINT DB;" DB REPRESENTS A"
109+
860 ON L GOTO 870,890,910
110+
870 PRINT "VOLTAGE RATIO OF ";RA;":1"
111+
880 GOTO 930
112+
890 PRINT "CURRENT RATIO OF ";RA;":1"
113+
900 GOTO 930
114+
910 PRINT "POWER RATIO OF ";RA;":1"
115+
920 GOTO 930
116+
930 PRINT
117+
940 GOSUB 1040
118+
950 GOTO 1070
119+
960 FOR I = 1 TO 5
120+
970 PRINT
121+
980 NEXT I
122+
990 RETURN
123+
1000 FOR I = 1 TO 30
124+
1010 PRINT
125+
1020 NEXT I
126+
1030 RETURN
127+
1040 PRINT "PRESS CR TO CONTINUE..."
128+
1050 INPUT KK
129+
1055 PRINT KK
130+
1058 PRINT
131+
1060 RETURN
132+
1070 GOSUB 1000
133+
1080 PRINT "FINISHED?"
134+
1090 PRINT
135+
1100 PRINT "1. YES"
136+
1110 PRINT "2. NO"
137+
1120 PRINT
138+
1130 PRINT "SELECT ONE FROM ABOVE AND PRESS CR..."
139+
1140 INPUT Z
140+
1145 PRINT Z
141+
1150 IF Z > 2 THEN GOTO 1080
142+
1160 ON Z GOTO 1170,110
143+
1170 GOSUB 1000
144+
1180 FOR I = 1 TO 20
145+
1190 PRINT "********** BYE-BYE ********"
146+
1200 NEXT I
147+
1210 GOSUB 960
148+
1220 PRINT "PROGRAM ENDED"
149+
1290 END

menu.bas

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
1-
10 QU$ = CHR$(34)
2-
12 PRINT CHR$(147);CHR$(155);"FROM THE BOOK ";QU$;"COMMODORE 64 & 128"
3-
14 PRINT "PROGRAMS FOR AMATEUR RADIO &ELECTRONICS";QU$;
4-
16 PRINT " BY JOSEPH J. CARR"
5-
18 PRINT CHR$(5)
6-
20 PRINT "LOAD ";QU$;"COIL-LOADED-SHOR";QU$;",8"
7-
22 PRINT "LOAD ";QU$;"RESISTORS-IN-SER";QU$;",8"
8-
24 PRINT "LOAD ";QU$;"CAPACITORS-IN-SE";QU$;",8"
9-
26 PRINT "LOAD ";QU$;"INDUCTORS-IN-SER";QU$;",8"
10-
28 PRINT "LOAD ";QU$;"ZENER-DIODE-VOLT";QU$;",8"
11-
30 PRINT "LOAD ";QU$;"RLC-NETWORKS";QU$;",8"
12-
32 PRINT
13-
34 PRINT
14-
36 PRINT
15-
38 PRINT
16-
40 PRINT "RUN"
1+
IV=65534:REM INTERRUPT VECTOR
2+
SC=65375:REM SCREEN/SWAPPER
3+
REM SET 40 COL FOR CX16 AND C128
4+
IF PEEK(IV)=35 THEN POKE 780,0:SYS SC
5+
IF PEEK(IV)=23 AND PEEK(215)=128 THEN SYS SC
6+
REM MENU
7+
QU$ = CHR$(34)
8+
PRINT CHR$(147);CHR$(155);"FROM THE BOOK ";QU$;"COMMODORE 64 & 128"
9+
PRINT "PROGRAMS FOR AMATEUR RADIO &ELECTRONICS";QU$;
10+
PRINT " BY JOSEPH J. CARR"
11+
PRINT CHR$(5)
12+
PRINT "LOAD";QU$;"COIL-LOADED-SHOR";QU$;",8"
13+
PRINT "LOAD";QU$;"RESISTORS-IN-SER";QU$;",8"
14+
PRINT "LOAD";QU$;"CAPACITORS-IN-SE";QU$;",8"
15+
PRINT "LOAD";QU$;"INDUCTORS-IN-SER";QU$;",8"
16+
PRINT "LOAD";QU$;"ZENER-DIODE-VOLT";QU$;",8"
17+
PRINT "LOAD";QU$;"RLC-NETWORKS";QU$;",8"
18+
PRINT "LOAD";QU$;"DECIBEL-CALC";QU$;",8"
19+
PRINT
20+
PRINT
21+
PRINT
22+
PRINT
23+
PRINT "RUN"

mkd64.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/bin/sh
22
# petcat and c1541 are included in VICE 2.4 - 3.5
33
rm *.d64
4+
rm *.prg
45
ls *.bas | sed 's/\.bas//' | while read p
56
do cat $p.bas | awk '{print tolower($0)}' | petcat -w2 -o $p.prg
67
done
78
c1541 -format amateur-radio_m6,00 d64 amateur-radio-electronics.d64
8-
printf "menu\ncoil-loaded-shortened-dipol-antenna\nresistors-in-series-or-parallel\ncapacitors-in-series-or-parallel\ninductors-in-series-or-parallel\nzener-diode-voltage-regulator-design\nrlc-networks\n" | while read p
9+
printf "menu\ncoil-loaded-shortened-dipol-antenna\nresistors-in-series-or-parallel\ncapacitors-in-series-or-parallel\ninductors-in-series-or-parallel\nzener-diode-voltage-regulator-design\nrlc-networks\ndecibel-calc\n" | while read p
910
do c1541 -attach amateur-radio-electronics.d64 -write $p.prg $p
1011
done
11-
rm *.prg

0 commit comments

Comments
 (0)