--- title: "Electronics Programs" id: 64708 type: "computer_media" slug: "electronics-programs" url: "http://localhost/computer_media/electronics-programs/" markdown_url: "http://localhost/computer_media/electronics-programs.md" published_at: "2026-03-06T23:54:49+00:00" modified_at: "2026-04-03T07:57:53+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/03/TIMER.png" excerpt: "Three distinct electronics programs in one listing: a 555 timer calculator with drawn schematics, an interactive circuit-design tool with circuit tracing, and an RF coil designer." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Gary Mueller" slug: "gary-mueller" taxonomy: "indiv" url: "http://localhost/indiv/gary-mueller/" genre: - name: "Electronics" slug: "electronics" taxonomy: "genre" url: "http://localhost/type/electronics/" media_type: "Program" programmers: - name: "Gary Mueller" slug: "gary-mueller" taxonomy: "indiv" url: "http://localhost/indiv/gary-mueller/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Electronics%20Pgms%28198x%29%28Gary%20L.%20Mueller%29%28TS2068%29%28US%29%28Programs%29.zip" mediadate: "1984" images: - url: "http://localhost/wp-content/uploads/2026/03/TIMER.png" - url: "http://localhost/wp-content/uploads/2026/03/cct.png" - url: "http://localhost/wp-content/uploads/2026/03/homebrew.png" media_type_tags: "Electronics" --- This listing actually contains three separate programs concatenated together. The first is a 555 timer calculator (lines 1–9999) that computes astable and monostable operating parameters—frequency, high time, low time, and total period—using standard NE555 formulas (F = 1.44/((Ra+2Rb)×C), T = 1.1×Ra×C, etc.), with a schematic drawn using CIRCLE, PLOT, and DRAW commands and FLASH attributes to highlight active input fields. The second program (lines 5–9497) is an interactive electronics circuit-design tool that maintains a 20×32 character grid (array c$) with a parallel weighting array w(), supports symbol rotation via an 8×8 bit-manipulation routine, and implements a two-pass circuit-tracing algorithm that propagates earth and power connections through a symbol connectivity table. The third program (lines 10–680) is an RF resonant-circuit and air-core coil calculator that solves for unknown frequency, inductance, or capacitance using the formula F = 1000/(6.238×√(LC)) and determines maximum wire gauge from turns-per-inch density tables. *** ## Overview and Program Boundaries The listing contains three independent programs concatenated without separation markers: 1. **555 Timer Calculator** – lines `1`–`9999`, saved as `"TIMER"` with `LINE 5`. 2. **Electronics Circuit Designer** – lines `5`–`9497` (second block), a complex interactive CAD-like tool. 3. **RF/Coil Calculator** – lines `10`–`680` (third block), saved as `"HOMEBREW"` with `LINE 10`. ## Program 1: 555 Timer Calculator ### Structure The program presents a top-level menu (lines `20`–`110`) branching to an astable section at line `400` or a monostable section at line `1200`. The monostable section offers its own five-item sub-menu. A shared printer-copy subroutine lives at line `1160`; a shared decision/navigation subroutine occupies lines `5500`–`6000`. ### Schematic Graphics The 555 IC outline and surrounding components are drawn purely with `CIRCLE`, `PLOT`, and `DRAW` statements (lines `530`–`860` for astable; `1650`–`1970` for monostable). Pin labels are positioned with `PRINT AT`. `FLASH 1`/`FLASH 0` brackets (e.g. lines `875`/`885`) highlight the component being entered, giving a simple animated prompt effect. ### Formulae | Mode | Variable | Formula in BASIC | | --- | --- | --- | | Astable | Frequency | `H = 1.44 / ((A + 2*B) * C)` | | Astable | Output High time | `T = 0.693 * (A + B) * C` | | Astable | Output Low time | `S = 0.693 * B * C` | | Monostable | Output High time | `T = 1.1 * Ra * C` (C in µF via `C1 * 0.001`) | Capacitance input is in µF for the astable path (`C = C1 * 0.000001`, line `960`) but in nF for the monostable path (`C = C1 * 0.001`, line `3060`). This inconsistency is not flagged to the user and could cause an order-of-magnitude error if the same capacitor value is entered in both modes without unit awareness. ### Anomaly: Monostable “TIME & Ra KNOWN” (lines 5000–5120) Line `5080` computes `Rb = Ra * 1.1 * 0.001` — the variable is named `Rb` but in the monostable context there is no Rb; the intent appears to be computing an intermediate value equivalent to `1.1 * Ra / 1000` for unit conversion. Line `5090` then gives `C = T * Rb`, which does yield T = 1.1·Ra·C rearranged correctly, but the intermediate naming is misleading. ### Copy Subroutine (lines 1160–1170) The copy routine uses a busy-wait pattern at line `1162` (`IF INKEY$="" THEN GO TO 1162`) after a `PAUSE 50` to wait for a keypress before issuing `COPY`. This is the standard screen-dump idiom. ## Program 2: Electronics Circuit Designer ### Data Structures - `c$(20,32)` — 20×32 character grid storing component symbols. - `w(20,32)` — parallel numeric array; value `16` = earthed, `32` = powered, `>55` = unactivated component. - `o$` — string of (row, column) byte pairs identifying connectable nodes, built by the subroutine at line `5`. - `i$()` and `y$()` — symbol name and description arrays used for the catalogue display (lines `9200`–`9420`). - `q$()` — per-symbol rotation state array; each element holds the current orientation as a digit `"1"`–`"4"`. - `p$()` — connectivity table; for each symbol type, lists which characters can connect in each direction. ### Symbol Rotation (lines 78–390) Rotation is performed in pure BASIC using two 8×8 string arrays (`a$` and `b$`). The routine reads eight bytes from the UDG area via `PEEK` (line `110`), decodes each byte bit-by-bit into `a$(j,k)` (lines `120`–`170`), then performs a 90° clockwise transpose via the loop at lines `340`–`390` which reorders rows and re-encodes each byte back with `POKE` using a weighted sum (line `386`). This is a notable technique: UDG redefinition at runtime to provide orientation variants without storing multiple bitmaps. ### Circuit Activation / Tracing (lines 1002–1995) The activation routine implements a two-pass flood-fill. Pass one (`e$ = "W"`) searches for earth symbols; pass two (`e$ = "X"`) searches for power. From each found terminal the algorithm walks the grid using the direction array `a$` (values `"1"–"4"` for up/right/down/left) and the connectivity table `p$` to determine which neighbours a symbol type can connect to. Visited cells have their `w()` value set to `32` (earth) or `16` (power) and are redisplayed with `PAPER` colouring. A deferred queue string `f$` holds branching coordinates as raw character pairs to implement breadth-first traversal without a formal data structure. ### Component Handling Dispatch (lines 2000–3670) Line `2018` uses the computed `GO TO` idiom `GO TO VAL a$(o)*20+g1` to dispatch to direction-specific handlers, where `g1` and `g2` are numeric variables holding line-number offsets. This avoids a chain of `IF` statements and is a classic Spectrum BASIC speed optimisation. ### Save/Load with UDG Preservation (lines 9000–9090) Before saving, the routine snapshots 512 bytes of UDG/font data from address `64512` into numeric array `v()` (lines `9002`–`9005`). After `SAVE "cct" LINE 9010` reloads, it copies the Spectrum’s ROM font from `15616–16383` into the UDG area at `64512+48896`, then restores the saved UDG bytes (lines `9030`–`9076`). This is a sophisticated self-contained font-management scheme. ## Program 3: RF Resonant Circuit and Coil Calculator ### Structure A two-item menu (line `100`) branches to the LC/F solver (line `160`) or the coil parameter calculator (line `330`). The LC solver accepts any one unknown as `0` and tests with `IF NOT F`, `IF NOT L`, `IF C=0` — mixing two idioms for zero-testing. ### Formulae | Unknown | Formula | Notes | | --- | --- | --- | | F (MHz) | `1000 / (6.238 * SQR(L*C))` | L in µH, C in pF; 6.238 ≈ 2π×√(10⁻¹²×10⁻⁶)×10⁶ scaling | | L (µH) | `25330 / (F² × C)` | Standard LC resonance rearrangement | | C (pF) | `25330 / (F² × L)` | As above | | Turns T | `SQR((Z * (9D + 10G)) / D²)` | Wheeler formula for air-core solenoid | ### Wire Gauge Table (lines 470–540) The maximum wire gauge is determined from turns-per-inch density `W = T/G` against a lookup implemented as a cascade of `IF W < threshold THEN PRINT ... : GO TO 550` statements, covering AWG #16 through #30. This is a straightforward linear search through fixed engineering data. ## 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 ```