Electronics Programs

Developer(s): Gary Mueller
Date: 1984
Type: Program
Platform(s): TS 2068
  • Timer: calculates unknown 555 timer values with input of two known values.
  • CCT: aid to designing circuits. There appears to be a basic error.
  • Homebrew (LCR): computes LCR circuit values and coil properties.

Content

Appears On

Related Products

Related Articles

Related Content

Image Gallery

Electronics Programs

Source Code

    1 REM This program calculates unknown Timer values with input of two known values.
    5 REM 5/1/84
    6 REM Gary L Mueller
    7 CLS 
    9 POKE 23609,100
   10 PRINT AT 4,14;"555"
   14 REM 
   15 REM **MENU**
   16 REM 
   20 PRINT AT 5,13;"MENU"
   30 PRINT AT 7,7;"1. ASTABLE OPERATIONS"
   40 PRINT AT 9,7;"2. MONOSTABLE OPERATION"
   50 PRINT AT 18,3;"INPUT CHOICE 1,2"
   60 INPUT M
   70 PRINT M
   80 PAUSE 30
   90 IF M=1 THEN GO TO 400
  100 IF M=2 THEN GO TO 1200
  110 IF M>2 THEN GO TO 50
  400 CLS 
  404 REM 
  405 REM **ASTABLE GRAPHICS**
  406 REM ********************
  410 PRINT AT 1,3;"555"
  420 PRINT AT 2,1;"ASTABLE"
  430 PRINT AT 5,3;"OUTPUT"
  440 PRINT AT 5,13;"316"
  460 PRINT AT 0,20;"Vcc"
  470 PRINT AT 2,13;"4 8"
  480 PRINT AT 2,17;"Ra"
  490 PRINT AT 3,13;"2 7"
  510 PRINT AT 4,17;"Rb"
  520 PRINT AT 6,17;"C"
  530 CIRCLE 152,168,2
  540 PLOT 150,168
  550 DRAW -38,0
  560 DRAW 0,-8
  570 DRAW -10,0
  580 DRAW 0,-33
  590 DRAW 28,0
  600 DRAW 0,33
  610 DRAW -18,0
  620 PLOT 116,128
  630 DRAW 0,-16
  640 DRAW 8,0
  650 DRAW -16,0
  660 PLOT 116,116
  670 DRAW 23,0
  680 DRAW 0,3
  690 PLOT 130,132
  700 DRAW 10,0
  710 PLOT 140,136
  720 DRAW 0,-8
  730 PLOT 130,148
  740 DRAW 10,0
  750 PLOT 140,151
  760 DRAW 0,-6
  770 PLOT 140,168
  780 DRAW 0,-8
  790 PLOT 102,132
  800 DRAW -10,0
  810 CIRCLE 87,132,2
  820 PLOT 112,144
  830 DRAW 7,-7
  840 PLOT 125,168
  850 DRAW 0,-8
  860 PRINT AT 10,18;"1000 Ms= 1 Sec"
  864 REM 
  865 REM **END OF GRAPHICS**
  866 REM 
  867 REM **ASTABLE VALUES INPUT*
  868 REM 
  870 PRINT AT 9,0;"INPUT Ra"
  875 PRINT AT 2,17; FLASH 1;"Ra"
  880 INPUT A
  885 PRINT AT 2,17; FLASH 0;"Ra"
  890 PRINT AT 9,10;A
  900 PRINT AT 10,0;"INPUT Rb"
  905 PRINT AT 4,17; FLASH 1;"Rb"
  910 INPUT B
  915 PRINT AT 4,17; FLASH 0;"Rb"
  920 PRINT AT 10,10;B
  930 PRINT AT 11,0;"INPUT C"
  935 PRINT AT 6,17; FLASH 1;"C"
  940 INPUT C1
  945 PRINT AT 6,17; FLASH 0;"C"
  950 PRINT AT 11,10;C1
  954 REM 
  955 REM *PROCESSING AND OUTPUT*
  956 REM 
  960 LET C=C1*.000001
  970 LET F=(A+2*B)*C
  980 LET H=1.44/F
  990 PRINT AT 13,0;"FREQUENCY IS ";H;" Hz"
 1010 PRINT 
 1020 LET T=.693*(A+B)*C
 1030 PRINT AT 15,0;"OUTPUT HIGH  ";T;" Sec"
 1040 LET S=.693*B*C
 1050 PRINT "OUTPUT LOW   ";S;" Sec"
 1060 LET U=S+T
 1070 PRINT "TOTAL PERIOD ";U;" Sec"
 1080 PRINT AT 21,0;"WANT COPY? Y/N"
 1090 INPUT Y$
 1100 IF Y$="Y" THEN GO SUB 1160
 1110 PRINT AT 21,0;"WANT ANOTHER VALUE Y/N?"
 1120 INPUT Y$
 1140 IF Y$="Y" THEN GO TO 400
 1150 PRINT AT 21,0;"WANT MENU? Y/N              "
 1152 INPUT Y$
 1153 IF Y$="N" THEN GO TO 6035
 1154 IF Y$="Y" THEN GO TO 7
 1155 IF Y$<>"Y" THEN GO TO 1150
 1157 REM 
 1158 REM **COPY SUBROUTINE**
 1159 REM 
 1160 PRINT AT 21,0;"SET UP PRINTER AND PRESS A KEY"
 1161 PAUSE 50
 1162 IF INKEY$="" THEN GO TO 1162
 1163 PRINT AT 21,0;"                              "
 1164 COPY 
 1170 RETURN 
 1199 REM 
 1200 REM MONOSTABLE
 1201 REM **********************
 1205 REM **MENU**
 1206 CLS 
 1208 PRINT AT 1,5;"555";AT 2,2;"MONOSTABLE"
 1210 PRINT AT 4,14;"MENU"
 1220 PRINT AT 5,5;"----------------------"
 1230 PRINT AT 7,5;"1. CONVERT INPUT Hz TO Ms"
 1240 PRINT AT 9,5;"2. Ra & C KNOWN"
 1250 PRINT AT 11,5;"3. TIME & C KNOWN"
 1260 PRINT AT 13,5;"4. TIME & Ra KNOWN"
 1265 PRINT AT 15,5;"5. ASTABLE OPERATION"
 1270 PRINT AT 18,3;"INPUT CHOICE 1,2,3,4,5"
 1280 INPUT M
 1290 PRINT M
 1300 PAUSE 30
 1310 CLS 
 1330 IF M=1 THEN GO TO 2000
 1340 IF M=2 THEN GO TO 3000
 1350 IF M=3 THEN GO TO 4000
 1360 IF M=4 THEN GO TO 5000
 1370 IF M=5 THEN GO TO 400
 1380 IF M>5 THEN GO TO 1270
 1549 REM 
 1550 REM **MONOSTABLE GRAPHICS**
 1551 REM ***********************
 1599 CLS 
 1600 PRINT AT 5,3;"OUTPUT"
 1605 PRINT AT 5,13;"316"
 1610 PRINT AT 0,20;"Vcc"
 1620 PRINT AT 2,13;"4 8"
 1625 PRINT AT 2,17;"Ra"
 1630 PRINT AT 3,13;"2 7"
 1640 PRINT AT 6,17;"C"
 1650 CIRCLE 152,168,2
 1660 PLOT 150,168
 1670 DRAW -38,0
 1680 DRAW 0,-8
 1690 DRAW -10,0
 1700 DRAW 0,-33
 1710 DRAW 28,0
 1720 DRAW 0,33
 1730 DRAW -18,0
 1740 PLOT 116,128
 1750 DRAW 0,-16
 1760 DRAW 8,0
 1770 DRAW -16,0
 1780 PLOT 116,116
 1790 DRAW 23,0
 1800 DRAW 0,3
 1810 PLOT 130,132
 1820 DRAW 10,0
 1850 PLOT 130,148
 1860 DRAW 10,0
 1870 PLOT 140,151
 1880 DRAW 0,-24
 1890 PLOT 140,168
 1900 DRAW 0,-8
 1910 PLOT 102,132
 1920 DRAW -10,0
 1930 CIRCLE 87,132,2
 1940 PLOT 102,148
 1950 DRAW -10,0
 1955 CIRCLE 87,148,2
 1956 PRINT AT 3,2;"TRIGGER"
 1960 PLOT 125,168
 1970 DRAW 0,-8
 1972 PRINT AT 4,19;"1000 Ms=1 Sec"
 1974 REM 
 1975 REM **END OF GRAPHICS**
 1976 REM 
 1980 RETURN 
 1990 STOP 
 1999 REM 
 2000 REM **CONVERT INPUT Hz TO Ms**
 2001 REM ******************
 2005 CLS 
 2010 PRINT AT 5,0;"**CONVERT INPUT Hz TO Ms**"
 2020 PRINT AT 7,0;"INPUT Hz"
 2030 INPUT Hz
 2040 LET X=1000/Hz
 2050 PRINT AT 9,0;"Hz= ";X;" Ms"
 2060 PRINT AT 12,0;"Copy Value Down"
 2070 PAUSE 300
 2080 GO TO 1206
 2999 REM 
 3000 REM **Ra & C KNOWN**
 3001 REM *************************
 3005 CLS 
 3010 GO SUB 1599
 3015 PRINT AT 9,0;"**Ra & C KNOWN**"
 3020 PRINT AT 11,0;"INPUT Ra "
 3025 PRINT AT 2,17; FLASH 1;"Ra"
 3030 INPUT Ra
 3035 PRINT AT 2,17; FLASH 0;"Ra"
 3040 PRINT AT 11,10;Ra
 3050 PRINT AT 12,0;"INPUT C "
 3051 PRINT AT 6,17; FLASH 1;"C"
 3052 INPUT C1
 3055 PRINT AT 6,17; FLASH 0;"C"
 3057 PRINT AT 12,10;C1
 3060 LET C=C1*.001
 3070 LET T=1.1*Ra*C
 3075 LET S=T/1000
 3080 PRINT AT 15,0;"Output High is ";T;" Ms"
 3082 PRINT AT 17,0;"Or ";S;" Sec"
 3085 GO SUB 5500
 3086 GO TO 3005
 3999 REM 
 4000 REM **TIME & C KNOWN**
 4001 REM **********************
 4005 CLS 
 4010 GO SUB 1599
 4015 PRINT AT 9,0;"**TIME & C KNOWN**"
 4020 PRINT AT 11,0;"INPUT TIME IN Ms "
 4030 INPUT T
 4040 PRINT AT 11,18;T
 4050 PRINT AT 12,0;"INPUT C "
 4055 PRINT AT 6,17; FLASH 1;"C"
 4060 INPUT C1
 4065 PRINT AT 6,17; FLASH 0;"C"
 4070 PRINT AT 12,10;C1
 4080 LET C=(C1*.001)*1.1
 4090 LET Ra=T/C
 4100 PRINT AT 15,0;"Ra= ";Ra
 4110 GO SUB 5500
 4120 GO TO 4005
 5000 REM **TIME & Ra KNOWN**
 5001 REM *************************
 5005 CLS 
 5010 GO SUB 1599
 5015 PRINT AT 9,0;"**TIME & Ra KNOWN**"
 5020 PRINT AT 11,0;"INPUT TIME IN Ms"
 5030 INPUT T
 5040 PRINT AT 11,18;T
 5050 PRINT AT 12,0;"INPUT Ra"
 5055 PRINT AT 2,17; FLASH 1;"Ra"
 5060 INPUT Ra
 5065 PRINT AT 2,17; FLASH 0;"Ra"
 5070 PRINT AT 12,10;Ra
 5080 LET Rb=Ra*1.1*.001
 5085 PRINT Rb
 5090 LET C=T*Rb
 5100 PRINT AT 15,0;"C= ";C
 5110 GO SUB 5500
 5120 GO TO 5005
 5500 REM 
 5510 REM *DECISION ROUTINE*
 5520 REM 
 5530 PRINT AT 21,0;"COPY TO PRINTER? Y/N"
 5540 INPUT Y$
 5550 IF Y$="Y" THEN GO SUB 1160
 5560 PRINT AT 21,0;"WANT NEW VALUE? Y/N  "
 5570 INPUT Y$
 5580 IF Y$="Y" THEN RETURN 
 5590 PRINT AT 21,0;"WANT MENU? Y/N        "
 5600 INPUT M$
 5610 IF M$="Y" THEN GO TO 1206
 6000 CLS 
 6010 PRINT "PROCESSING ENDED-NEED MORE DATA? Y/N"
 6020 INPUT A$
 6030 IF A$="Y" THEN GO TO 7
 6035 CLS 
 6040 PRINT AT 10,10;"GOODBYE"
 6045 PAUSE 100
 6050 CLS 
 7000 STOP 
 9898 REM 
 9899 REM *PROGRAM SAVE & AUTO   RUN**
 9900 SAVE "TIMER" LINE 5
 9999 REM **END OF PROGRAM**

    5 LET o$=""
   10 FOR j=1 TO 20: FOR k=1 TO 32
   12 LET e=CODE c$(j,k)
   14 IF e=49 OR e=50 OR (e>51 AND e<87 AND e<>71 AND e<>72 AND e<>73 AND e<>80 AND e<>81 AND e<>83) THEN LET o$=o$+CHR$ j+CHR$ k
   18 NEXT k: NEXT j
   20 RETURN 
   22 CLS 
   26 FOR j=1 TO 20: FOR k=1 TO 32: PRINT c$(j,k);: LET w(j,k)=CODE c$(j,k)+100: NEXT k: NEXT j
   36 IF e$="f" THEN GO TO 42
   40 GO TO 500
   42 COPY 
   44 GO TO 8000
   67 IF u$="1" THEN GO TO 8000
   68 GO TO 22
   78 LET r=64511+8*(CODE g$-32)
   80 DIM a$(8,8): DIM b$(8,8)
   90 LET d=r
  100 FOR j=1 TO 8
  110 LET d=d+1: LET e=PEEK d
  120 FOR k=8 TO 1 STEP -1
  130 LET t=INT (e/2)
  140 IF e/2<>t THEN LET a$(j,k)="!"
  150 LET b$(j,k)=a$(j,k): LET e=t
  170 NEXT k: NEXT j
  330 LET x=9
  340 FOR j=1 TO 8
  350 LET x=x-1
  360 FOR k=1 TO 8
  370 LET a$(j,k)=CHR$ (CODE b$(k,x)-32): NEXT k
  385 LET r=r+1
  386 POKE r,(128*CODE a$(j,1)+64*CODE a$(j,2)+32*CODE a$(j,3)+16*CODE a$(j,4)+8*CODE a$(j,5)+4*CODE a$(j,6)+2*CODE a$(j,7)+CODE a$(j,8))
  390 NEXT j
  395 GO SUB 420
  400 CLS : FOR j=1 TO 20: FOR k=1 TO 32: PRINT c$(j,k);: NEXT k: NEXT j
  410 GO TO 560
  420 IF g$<>"G" AND g$<>"H" AND g$<>"I" AND g$<>"P" AND g$<>"S" THEN GO TO 440
  430 RETURN 
  440 LET j$=q$(CODE g$-56)
  450 IF j$="4" THEN LET j$="0"
  455 LET j$=STR$ (VAL j$+1): LET q$(CODE g$-56)=j$
  470 RETURN 
  480 LET t=1
  490 GO TO 585
  502 LET t=0: LET g$=" ": LET s=10: LET c=16
  555 IF INKEY$<>"" THEN GO TO 555
  560 PRINT AT s,c;"_"
  565 PRINT AT 21,15;g$
  570 IF INKEY$="" THEN GO TO 600
  580 LET e$=INKEY$
  583 IF e$="1" THEN GO TO 480
  585 IF e$="0" THEN LET t=0
  590 GO TO 620
  600 PRINT AT s,c;" "
  610 GO TO 560
  620 IF e$="0" OR e$="1" THEN LET g$=" "
  622 IF e$="0" OR e$="1" THEN GO TO 630
  624 IF CODE e$<53 OR CODE e$>56 THEN GO TO 750
  630 PRINT AT s,c;"_"
  631 IF t=1 THEN GO TO 635
  632 LET c$(s+1,c+1)=g$: LET w(s+1,c+1)=56: LET e=CODE g$
  636 PRINT AT s,c;g$
  637 IF t=1 THEN PRINT AT s,c;c$(s+1,c+1)
  640 IF e$="5" THEN LET c=c-1
  650 IF e$="6" THEN LET s=s+1
  660 IF e$="7" THEN LET s=s-1
  670 IF e$="8" THEN LET c=c+1
  680 IF c<0 THEN LET c=0
  690 IF c>31 THEN LET c=31
  700 IF s<0 THEN LET s=0
  710 IF s>19 THEN LET s=19
  730 GO TO 560
  755 LET t=0
  760 POKE 23607,60
  762 PRINT AT 20,0;"Enter code or C-copy A-activate": PRINT "D-de activate R-rotate M-menu"
  770 INPUT j$
  775 POKE 23607,251
  780 PRINT AT 20,0;v$;v$
  783 IF LEN j$=1 THEN GO TO 900
  785 LET x=0
  790 FOR j=1 TO 56
  810 LET h$=i$(j)
  820 IF j$=h$ THEN GO TO 850
  830 NEXT j
  840 GO TO 760
  850 LET g$=CHR$ (j+32)
  870 GO TO 570
  900 IF j$<>"c" AND j$<>"r" AND j$<>"m" AND j$<>"d" AND j$<>"a" THEN GO TO 760
  903 IF j$="c" THEN GO TO 9490
  905 IF j$="r" AND CODE g$>56 THEN GO TO 74
  906 IF j$="r" THEN PRINT AT 20,0;"sorry   not a rotatable symbol"
  907 IF j$="r" THEN GO TO 770
  908 IF j$<>"a" THEN CLS 
  910 IF j$="d" THEN GO TO 56
  930 IF j$="m" THEN GO TO 8000
 1002 LET e$="W"
 1006 LET f$=""
 1007 LET f=0
 1010 IF e$="W" THEN PRINT AT 21,5;"searching for earths"
 1015 IF e$="X" THEN PRINT AT 21,5;"searching for power"
 1020 FOR j=1 TO 20: FOR k=1 TO 32
 1035 IF c$(j,k)="W" AND e$="W" THEN GO TO 1080
 1040 IF e$="X" AND c$(j,k)="X" THEN GO TO 1080
 1050 NEXT k: NEXT j
 1067 IF e$="X" THEN GO TO 1073
 1070 PRINT AT 20,0; INK 4;"incomplete circuit   no earths"
 1071 LET t=0
 1072 GO TO 770
 1073 PRINT AT 20,0; INK 2;"incomplete circuit   no power"
 1074 LET t=0
 1075 GO TO 770
 1077 PRINT AT 20,0; INK 3;"looks expensive short circuit"
 1078 LET t=0
 1079 GO TO 770
 1085 LET l$="0"
 1090 PRINT AT 20,0;v$;v$
 1110 DIM a$(4)
 1112 LET a$="1234"
 1115 IF j=1 OR j=20 OR k=1 OR k=32 THEN DIM a$(3)
 1120 IF j=1 THEN LET a$="234"
 1125 IF j=20 THEN LET a$="124"
 1130 IF k=1 THEN LET a$="123"
 1135 IF k=32 THEN LET a$="134"
 1155 IF (j=1 AND k=32) OR (j=1 AND k=1) OR (j=20 AND k=32) OR (j=20 AND k=1) THEN DIM a$(2)
 1160 IF j=1 AND k=32 THEN LET a$="34"
 1170 IF j=20 AND k=32 THEN LET a$="14"
 1175 IF j=20 AND k=1 THEN LET a$="12"
 1180 IF j=1 AND k=1 THEN LET a$="23"
 1191 IF f=1 THEN GO TO 2000
 1195 FOR m=1 TO LEN a$
 1200 LET n=0
 1220 GO TO VAL a$(m)*20+1230
 1230 NEXT m
 1232 LET ta=0
 1235 IF LEN f$>0 THEN GO TO 1730
 1237 IF ta=1 THEN GO TO 1110
 1238 IF u=1 AND f>1 THEN GO TO 1885
 1239 IF e$="W" THEN GO TO 1242
 1240 IF f>1 THEN GO TO 1950
 1241 GO TO 1800
 1242 LET e$="X"
 1243 IF f>1 THEN GO TO 1950
 1245 GO TO 1005
 1250 LET e=j-2
 1252 IF j=2 THEN LET e=j
 1255 LET k$=c$(j-1,k)+c$(e,k)+CHR$ 1+CHR$ 0+CHR$ 1+CHR$ (j-1)+CHR$ k+CHR$ (w(j-1,k))
 1260 GO TO 1350
 1270 LET e=k+2
 1272 IF k=31 THEN LET e=k
 1275 LET k$=c$(j,k+1)+c$(j,e)+CHR$ 2+CHR$ 1+CHR$ 2+CHR$ j+CHR$ (k+1)+CHR$ (w(j,k+1))
 1280 GO TO 1350
 1290 LET e=j+2
 1292 IF j=19 THEN LET e=j
 1295 LET k$=c$(j+1,k)+c$(e,k)+CHR$ 3+CHR$ 2+CHR$ 1+CHR$ (j+1)+CHR$ k+CHR$ (w(j+1,k))
 1300 GO TO 1350
 1310 LET e=k-2
 1320 IF k=2 THEN LET e=k
 1330 LET k$=c$(j,k-1)+c$(j,e)+CHR$ 4+CHR$ 1+CHR$ 0+CHR$ j+CHR$ (k-1)+CHR$ (w(j,k-1))
 1354 IF a$(m)="1" AND l$="3" OR a$(m)="2" AND l$="4" OR a$(m)="3" AND l$="1" OR a$(m)="4" AND l$="2" THEN GO TO 1230
 1355 IF (e$="W" AND k$(1)="X") OR (e$="X" AND k$(1)="W") THEN GO TO 1076
 1356 IF e$="W" AND CODE k$(8)=32 THEN GO TO 1230
 1357 IF e$="X" AND CODE k$(8)=16 THEN GO TO 1230
 1358 IF CODE k$(1)=34 THEN GO TO 1490
 1360 IF CODE k$(1)=33 THEN GO TO 1570
 1380 FOR a=1 TO 11
 1385 LET e=CODE p$(CODE k$(3),a)
 1390 IF k$(1)=CHR$ e THEN LET n=1
 1400 IF a=2 AND n=1 THEN GO TO 1230
 1410 IF n=1 THEN GO TO 1440
 1420 NEXT a
 1430 GO TO 1230
 1440 LET k=k-1+CODE k$(5): LET j=j-1+CODE k$(4)
 1460 IF e$="W" THEN LET w(j,k)=32
 1465 IF e$="X" THEN LET w(j,k)=16
 1470 PRINT AT j-1,k-1; PAPER (w(j,k)/8);c$(j,k)
 1472 IF e$="W" THEN PRINT AT 21,5;"searching for earths"
 1473 IF e$="X" THEN PRINT AT 21,5;"searching for power"
 1475 LET l$=a$(m): LET u=1
 1478 IF INKEY$="h" THEN GO TO 1485
 1480 GO TO 1110
 1485 PRINT AT 21,0;"circuit frozen  please continue"
 1486 GO TO 555
 1490 FOR a=1 TO 11
 1500 IF k$(2)=p$(CODE k$(3),a) THEN GO TO 1530
 1510 NEXT a
 1520 GO TO 1230
 1530 LET k=k-1+CODE k$(5): LET j=j-1+CODE k$(4)
 1550 GO TO 1440
 1570 LET f$=f$+k$(6)+k$(7)
 1580 LET f$=f$+k$(6)+k$(7)
 1590 GO TO 1380
 1740 LET ta=1: LET j=CODE f$(1): LET k=CODE f$(2): LET f$=f$(3 TO ): LET l$="0"
 1780 GO TO 1237
 1810 GO SUB 5
 1870 IF LEN o$>0 THEN GO TO 1900
 1880 GO TO 560
 1885 LET u=0
 1900 FOR g=1 TO LEN o$-1 STEP 2
 1905 LET f=1
 1910 LET j=CODE o$(g): LET k=CODE o$(g+1)
 1925 LET l$="0"
 1930 GO TO 1110
 1950 NEXT g
 1960 IF f>1 AND u=1 THEN GO TO 1885
 1970 PRINT AT 21,2; FLASH 1;"complete-any key to continue"
 1980 PAUSE 0
 1985 PRINT AT 21,2;"                              "
 1995 GO TO 560
 2000 LET j$="0"
 2001 LET q=16
 2002 IF j<20 THEN LET d=w(j+1,k)
 2003 IF j>1 THEN LET e=w(j-1,k)
 2004 IF k<32 THEN LET t=w(j,k+1)
 2005 IF k>1 THEN LET h=w(j,k-1)
 2006 LET w$=c$(j,k): LET wd=w(j,k): LET e$="X"
 2012 IF w$="T" OR w$="U" THEN GO TO 2400
 2013 FOR o=1 TO LEN a$
 2015 IF CODE w$>56 AND CODE w$<69 THEN GO TO 2500
 2016 IF w$="1" OR w$="2" THEN GO TO 3600
 2018 GO TO VAL a$(o)*20+g1
 2020 NEXT o
 2030 GO TO 1950
 2040 IF e=q THEN GO TO g2
 2050 GO TO g1
 2060 IF t=q THEN GO TO g2
 2070 GO TO g1
 2080 IF d=q THEN GO TO g2
 2090 GO TO g1
 2100 IF h=q THEN GO TO g2
 2110 GO TO g1
 2122 IF CODE w$>56 THEN GO TO 2250
 2125 FOR p=1 TO LEN a$
 2130 IF w$="7" AND a$(o)="1" AND a$(p)="3" THEN GO TO 2200
 2140 IF w$="6" AND a$(o)="2" AND a$(p)="4" THEN GO TO 2200
 2150 IF w$="5" AND a$(o)="3" AND a$(p)="1" THEN GO TO 2200
 2160 IF w$="8" AND a$(o)="4" AND a$(p)="2" THEN GO TO 2200
 2170 NEXT p
 2180 GO TO g1
 2200 LET f=2
 2210 LET j$=a$(p)
 2220 DIM a$(1)
 2230 LET a$=j$
 2240 GO TO 1192
 2255 LET f=3
 2270 IF w$="E" OR w$="V" THEN GO TO 2320
 2280 IF w$="F" THEN GO TO 2360
 2300 GO TO 2500
 2320 LET r$="1432"
 2322 IF w$="V" THEN LET w$=q$(30)
 2324 IF w$="E" THEN LET w$=q$(13)
 2330 LET j$=r$(VAL w$)
 2340 GO TO 2220
 2360 LET r$="4321"
 2370 LET j$=r$(VAL q$(14))
 2380 GO TO 2220
 2400 LET f=3
 2402 LET r$="1432"
 2404 IF w$="T" THEN LET w$=q$(28)
 2405 IF w$="U" THEN LET w$=q$(29)
 2407 IF (w$="1" AND d=32) OR (w$="2" AND t=32) OR (w$="3" AND e=32) OR (w$="4" AND h=32) THEN LET e$="W"
 2408 IF (w$="1" AND d>32) OR (w$="2" AND t>32) OR (w$="3" AND e>32) OR (w$="4" AND h>32) THEN GO TO 1950
 2410 LET j$=r$(VAL w$)
 2411 IF w$="1" AND j>1 THEN LET j=j-1
 2412 IF w$="2" AND k<32 THEN LET k=k+1
 2413 IF w$="3" AND j<32 THEN LET j=j+1
 2414 IF w$="4" AND k>1 THEN LET k=k-1
 2415 GO TO 2220
 2500 IF j<2 OR j>31 OR k<2 OR k>31 THEN GO TO 1950
 2501 LET f=4
 2603 IF CODE w$>56 AND CODE w$<69 THEN GO TO 3040
 2610 IF w$="J" THEN GO TO 2740
 2613 IF CODE w$>74 AND CODE w$<79 THEN GO TO 2800
 2620 IF w$="O" THEN GO TO 2630
 2622 IF w$="R" THEN GO TO 2680
 2630 LET r=VAL q$(23)
 2635 IF r=1 AND d=q AND t=q THEN LET j$="1"
 2640 IF r=2 AND t=q AND e=q THEN LET j$="4"
 2650 IF r=3 AND e=q AND h=q THEN LET j$="3"
 2660 IF r=4 AND h=q AND d=q THEN LET j$="2"
 2670 IF j$="0" THEN GO TO 1950
 2675 GO TO 2220
 2680 LET r=VAL q$(26)
 2685 IF r=1 AND e=q AND t<33 THEN LET j$="3"
 2686 IF r=1 AND d=q AND t<33 THEN LET j$="1"
 2690 IF r=2 AND h=q AND e<33 THEN LET j$="2"
 2691 IF r=2 AND t=q AND e<33 THEN LET j$="4"
 2700 IF r=3 AND d=q AND h<33 THEN LET j$="1"
 2701 IF r=3 AND e=q AND h<33 THEN LET j$="3"
 2710 IF r=4 AND t=q AND d<33 THEN LET j$="4"
 2711 IF r=4 AND h=q AND d<33 THEN LET j$="2"
 2720 IF j$<>"0" THEN GO TO 2220
 2730 GO TO 1950
 2740 LET r=VAL q$(18)
 2745 IF r=1 AND (e=q OR d=q) THEN LET j$="2"
 2750 IF r=2 AND (t=q OR h=q) THEN LET j$="1"
 2760 IF r=3 AND (e=q OR d=q) THEN LET j$="4"
 2770 IF r=4 AND (t=q OR h=q) THEN LET j$="3"
 2780 IF j$<>"0" THEN GO TO 2220
 2785 GO TO 1950
 2800 LET r=VAL q$(CODE w$-56)
 2802 LET e$="W"
 2810 IF w$="M" OR w$="N" THEN GO TO 2890
 2820 IF r=1 THEN LET j$="3"
 2822 IF r=2 THEN LET j$="2"
 2824 IF r=3 THEN LET j$="1"
 2826 IF r=4 THEN LET j$="4"
 2835 IF r=1 AND e=q AND t=32 THEN LET e$="X"
 2840 IF r=2 AND h=q AND e=32 THEN LET e$="X"
 2850 IF r=3 AND d=q AND h=32 THEN LET e$="X"
 2860 IF r=4 AND t=q AND d=32 THEN LET e$="X"
 2870 GO TO 2220
 2890 IF r=1 THEN LET j$="1"
 2892 IF r=2 THEN LET j$="4"
 2894 IF r=3 THEN LET j$="3"
 2896 IF r=4 THEN LET j$="2"
 2915 IF r=1 AND t=q AND d=q THEN LET e$="X"
 2920 IF r=2 AND e=q AND t=q THEN LET e$="X"
 2930 IF r=3 AND h=q AND e=q THEN LET e$="X"
 2940 IF r=4 AND d=q AND h=q THEN LET e$="X"
 2950 GO TO 2220
 3040 LET r=VAL q$(CODE w$-56)
 3045 LET e$="W"
 3046 IF r=1 THEN LET j$="2"
 3047 IF r=2 THEN LET j$="1"
 3048 IF r=3 THEN LET j$="4"
 3049 IF r=4 THEN LET j$="3"
 3050 IF w$=";" OR w$="<" THEN GO TO 3120
 3052 IF w$="=" OR w$=">" THEN GO TO 3200
 3054 IF w$="?" OR w$="@" THEN GO TO 3360
 3056 IF w$="A" OR w$="B" THEN GO TO 3280
 3058 IF w$="C" OR w$="D" THEN GO TO 3450
 3060 IF r=1 AND d=q AND e=q THEN LET e$="X"
 3070 IF r=2 AND t=q AND h=q THEN LET e$="X"
 3080 IF r=3 AND d=q AND e=q THEN LET e$="X"
 3090 IF r=4 AND t=q AND h=q THEN LET e$="X"
 3100 GO TO 2220
 3140 LET e$="X"
 3145 IF r=1 AND d=q AND e=q THEN LET e$="W"
 3150 IF r=2 AND t=q AND h=q THEN LET e$="W"
 3160 IF r=3 AND d=q AND e=q THEN LET e$="W"
 3170 IF r=4 AND t=q AND h=q THEN LET e$="W"
 3185 LET f=4
 3190 GO TO 2220
 3220 IF r=1 AND (d=q OR e=q) THEN LET e$="X"
 3230 IF r=2 AND (t=q OR h=q) THEN LET e$="X"
 3240 IF r=3 AND (d=q OR e=q) THEN LET e$="X"
 3250 IF r=4 AND (t=q OR h=q) THEN LET e$="X"
 3260 GO TO 2220
 3305 IF r=1 AND ((d=q AND e>q) OR (e=q AND d>q)) THEN LET e$="X"
 3315 IF r=2 AND ((t=q AND h>q) OR (h=q AND t>q)) THEN LET e$="X"
 3325 IF r=3 AND ((d=q AND e>q) OR (e=q AND d>q)) THEN LET e$="X"
 3335 IF r=4 AND ((t=q AND h>q) OR (h=q AND t>q)) THEN LET e$="X"
 3340 GO TO 2220
 3370 LET e$="X"
 3380 IF r=1 AND (d=q OR e=q) THEN LET e$="W"
 3390 IF r=2 AND (t=q OR h=q) THEN LET e$="W"
 3400 IF r=3 AND (d=q OR h=q) THEN LET e$="W"
 3410 IF r=4 AND (t=q OR h=q) THEN LET e$="W"
 3430 LET f=6
 3440 GO TO 2220
 3460 IF r=1 AND h>q THEN LET e$="X"
 3480 IF r=2 AND d>q THEN LET e$="X"
 3500 IF r=3 AND t>q THEN LET e$="X"
 3520 IF r=4 AND e>q THEN LET e$="X"
 3545 LET f=5
 3550 GO TO 2220
 3600 IF w$="1" AND e=32 THEN LET j$="3"
 3610 IF w$="1" AND d=32 THEN LET j$="1"
 3620 IF w$="2" AND h=32 THEN LET j$="2"
 3630 IF w$="2" AND t=32 THEN LET j$="4"
 3640 IF j$="0" THEN GO TO 1950
 3650 LET e$="W"
 3660 LET f=5
 3670 GO TO 2220
 8000 CLS : LET u$=""
 8005 POKE 23607,60
 8010 PRINT TAB 10;"ELECTRONICS"
 8030 PRINT : PRINT "This is a circuit design": PRINT "programme."
 8060 PRINT : PRINT "You may:-": PRINT AT 7,0;"ABEEP  read operating instructions"
 8090 PRINT : PRINT "BBEEP  start a new circuit": PRINT : PRINT "CBEEP  continue existing circuit"
 8130 PRINT : PRINT "DBEEP  display the circuit symbols": PRINT : PRINT "EBEEP  save the existing circuit": PRINT : PRINT "FBEEP  copy your circuit on printer"
 8155 PRINT : PRINT "GBEEP  print the circuit symbols"
 8160 PRINT AT 21,3;"Type your required option"
 8170 PAUSE 0
 8175 POKE 23607,251
 8180 LET e$=INKEY$
 8190 IF e$="b" THEN GO TO 8600
 8200 IF e$="c" OR e$="f" THEN GO TO 22
 8210 IF e$="d" THEN GO TO 9200
 8220 IF e$="e" THEN GO TO 9000
 8225 IF e$="g" THEN GO TO 9450
 8230 CLS 
 8235 POKE 23607,60
 8240 PRINT TAB 9;"INSTRUCTIONS"
 8260 PRINT : PRINT "Whilst working on a circuit": POKE 23607,251: PRINT "you will see a flashing symbol"; FLASH 1;"_"
 8270 POKE 23607,60
 8280 PRINT "this shows where the next item": PRINT "will be printed": PRINT "ON ERRshown at bottom of the screenBEEP "
 8320 PRINT : PRINT "The arrowed keys move the cursor": PRINT "To erase, press '0', then move": PRINT "the cursor through the symbol."
 8350 PRINT "To move the cursor, without": PRINT "erasing, press '1' then continue"
 8380 PRINT : PRINT "To alter the symbol, press": PRINT "any key."
 8390 PRINT "When requested, enter the code"
 8410 PRINT "or one of the following:-"
 8420 PRINT AT 20,3; FLASH 1;"PRESS 'ENTER' TO CONTINUE"
 8425 PAUSE 0
 8430 CLS 
 8433 PRINT TAB 9;"INSTRUCTIONS"
 8440 PRINT : PRINT "'C'-to copy circuit on printer.": PRINT : PRINT "'M'-to return to the 'Menu'.": PRINT : PRINT "'A'-to activate the circuit."
 8470 PRINT 
 8480 PRINT "'D'-to deactivate the circuit."
 8485 PRINT 
 8490 PRINT "'R'-to rotate the present": PRINT "symbol, & all displays of it,": PRINT "through 90 deg."
 8520 PRINT "A symbol may be rotated through": PRINT "360 deg, in 90 deg steps."
 8535 PRINT "All symbols after the diodes": PRINT "may be rotated."
 8540 PRINT AT 19,3; FLASH 1;"PRESS 'ENTER' TO CONTINUE"
 8550 PAUSE 0
 8560 GO TO 8000
 8600 DIM c$(20,32): DIM w(20,32): LET o$=""
 8610 CLS : GO TO 500
 8999 STOP 
 9000 POKE 23607,60
 9001 PRINT AT 10,10; FLASH 1; INK 1;"PLEASE WAIT"
 9002 FOR j=1 TO 512
 9004 LET v(j)=PEEK (64512+j)
 9005 NEXT j
 9006 PRINT AT 10,10;"           "
 9008 SAVE "cct" LINE 9010
 9010 POKE 23609,255
 9011 POKE 23607,60
 9012 BORDER 5
 9020 PRINT AT 10,8;"loading complete": PRINT AT 12,PI;"please wait while I create": PRINT TAB 5;"the electronic symbols"
 9025 POKE 23607,251
 9030 FOR j=15616 TO 16383: POKE j+48896,PEEK j: NEXT j
 9045 FOR j=0 TO 63
 9050 FOR k=1 TO 8
 9060 LET x=j*8+k
 9070 POKE 64512+x,v(x)
 9075 NEXT k
 9076 NEXT j
 9080 POKE 23607,251
 9085 CLS 
 9086 LET u$="1"
 9090 GO TO 67
 9200 LET x=1: LET y=10
 9210 CLS 
 9220 FOR j=x TO y
 9225 IF x=41 AND j>46 THEN GO TO 9410
 9230 PRINT CHR$ (j+32);" ";i$(j);" ";y$(j);TAB 18;CHR$ (j+42);" ";i$(j+10);" ";y$(j+10)
 9235 PRINT 
 9240 NEXT j
 9245 POKE 23607,60
 9250 PRINT AT 21,0;"'N' for next page, 'R' to return"
 9260 PAUSE 0
 9270 LET e$=INKEY$
 9272 POKE 23607,251
 9275 IF e$="p" THEN COPY 
 9276 IF e$="p" THEN GO TO 9260
 9280 IF e$="n" THEN GO TO 9370
 9300 IF e$="r" THEN GO TO 8000
 9370 IF x=41 THEN GO TO 9200
 9375 CLS 
 9380 LET x=y+11: LET y=x+9
 9400 GO TO 9220
 9410 PRINT CHR$ (j+32);" ";i$(j);" ";y$(j)
 9420 GO TO 9235
 9450 POKE 23607,251
 9452 FOR j=1 TO 28
 9455 LPRINT CHR$ (j+32);" ";i$(j);" ";y$(j);
 9460 LPRINT " / ";CHR$ (j+60);" ";i$(j+28);" ";y$(j+28)
 9475 LPRINT TAB 15;"/"
 9480 NEXT j
 9485 GO TO 8000
 9490 FOR j=1 TO 20: FOR k=1 TO 32
 9492 IF w(j,k)=16 THEN LPRINT INVERSE 1;c$(j,k);
 9493 IF w(j,k)=32 THEN LPRINT "W";
 9494 IF w(j,k)>55 THEN LPRINT c$(j,k);
 9496 NEXT k: NEXT j
 9497 GO TO 760

   10 BORDER 5: PAPER 6: INK 0: CLS 
   20 PRINT AT PI,6;"HOMEBREW ELECTRONICS";AT 6,NOT PI;"Program to Work With RF CIRCUITS or RF FILTERS";AT 10,6;"Will Calculate F FreQuency C Capacitiance & L Inductance  values for resonants circuits,And also calculate the design of an air wound coil"
   30 PRINT AT 17,NOT PI;"Adapted from Raido Elec. artical by,Lawrence G. Friedman";AT 21,5;"Push ENTER To Continue"
   40 PRINT AT 1,2;"R&J's Service Co. Presents"
   50 PAUSE 3672
   60 BORDER 7: PAPER 7: INK 0: CLS 
   70 PRINT TAB 2;"RESONANT CIRCUIT DESIGN" 
   80 FOR x=1 TO 500: NEXT x
   90 CLS 
  100 PRINT TAB 10;"MENU"
  110 PRINT AT 5,2;"1 To Determine L,C,or F"
  120 PRINT AT 7,2;"2 To Caculate Coil Parameters"
  130 INPUT a
  140 IF a=1 THEN GO TO 160
  150 IF a=2 THEN GO TO 330
  160 CLS 
  170 INPUT "Also Calculate Coil Parameters  (Y/N) ";a$
  180 CLS 
  190 PRINT "Enter '0' For Unkown Value"
  200 PRINT AT 5,NOT PI;"Enter F In MHZ>"
  210 INPUT F
  220 PRINT AT 7,NOT PI;"Enter L In UH>"
  230 INPUT L
  240 PRINT AT 9,NOT PI;"Enter C In PF>"
  250 INPUT C
  260 IF NOT F THEN PRINT AT 5,16;1000/(6.238*SQR (L*C));" (MHZ)"
  270 IF NOT L THEN LET Z=25330/((F^2)*C)
  280 IF L THEN LET Z=L
  290 IF NOT L THEN PRINT AT 7,16;25330/((F^2)*C);" (UH)"
  300 IF C=0 THEN PRINT AT 9,16;25330/((F^2)*L);" (PF)"
  310 PAUSE 1000
  320 IF a$="N" OR a$="n" THEN GO TO 60
  330 CLS : PRINT TAB 4;"Coil Parameters"
  340 FOR X=1 TO 1000: NEXT X
  350 LET Z=0
  360 IF Z THEN GO TO 400
  370 INPUT "Enter L in UH>"',l
  380 LET Z=L
  390 LET D=0
  400 INPUT "Enter Coil Diam.in Inches"',d
  410 LET D=D/2
  420 INPUT "Enter Coil Length in Inches"',g
  430 LET T=SQR ((Z*((9*D)+(10*G)))/D)
  440 PRINT AT 12,5;"TURNS  ";T
  450 LET W=T/G
  460 LET C$=" IS THE LARGEST WIRE SIZE"
  470 IF W<18.9 THEN PRINT AT 10,NOT PI;"#16";C$: GO TO 550
  480 IF W<23.6 THEN PRINT AT 10,NOT PI;"#18";C$: GO TO 550
  490 IF W<29.4 THEN PRINT AT 10,NOT PI;"#20";C$: GO TO 550
  500 IF W<37 THEN PRINT AT 10,NOT PI;"#22";C$: GO TO 550
  510 IF W<46.3 THEN PRINT AT 10,NOT PI;"#24";C$: GO TO 550
  520 IF W<50 THEN PRINT AT 10,NOT PI;"#26";C$: GO TO 550
  530 IF W<72.7 THEN PRINT AT 10,NOT PI;"#28";C$: GO TO 550
  540 IF W<80.5 THEN PRINT AT 10,NOT PI;"#30";C$: GO TO 550
  550 INPUT "Repeat Parameter Design (Y/N)   ";r$
  560 IF R$="y" OR r$="Y" THEN GO TO 400
  570 IF r$="n" OR R$="N" THEN GO TO 580
  580 INPUT "Repeat L,C,F Calculation (Y/N)  ";p$
  590 IF p$="y" OR P$="Y" THEN GO TO 160
  600 IF p$="N" OR P$="n" THEN GO TO 610
  610 BORDER 6: PAPER 6: INK 1: CLS 
  620 PRINT AT 10,NOT PI;"DO YOU WANT TO SAVE ON TAPE (Y/N)"
  630 INPUT ;O$
  640 IF o$="y" OR O$="Y" THEN GO TO 670
  650 IF o$="N" OR O$="n" THEN GO TO 660
  660 CLS : PAPER 2: PAUSE 100: NEW 
  670 CLS : SAVE "HOMEBREW" LINE 10
  680 PAUSE 500: GO TO 660

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top