home *** CD-ROM | disk | FTP | other *** search
/ Super Games / visualcdgame.iso / dosgames / contintl / tnet.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1992-06-30  |  6.2 KB  |  118 lines

  1. 10  REM ============================================================
  2. 20  REM T-NETWORK DESIGN - by Steve Schott - Mar 1987 / Rev May 1990
  3. 30  REM ============================================================
  4. 40  REM
  5. 50  PITCH$ = CHR$(27) + CHR$(31) + CHR$(9) : REM 15 Pitch Printer Command
  6. 60  LPI$ = CHR$(27) + CHR$(30) + CHR$(7) : REM 8 Lines per Inch Printer Command
  7. 70  BOLD$ = CHR$(27) + CHR$(87) : REM Bold Print Printer Command
  8. 80  NORMAL$ = CHR$(27) + CHR$(38) : REM Bold Clear Printer Command
  9. 90  PI = 3.14159
  10. 100  CL$ = "                                                                                "
  11. 110  CHL$ = "                             "
  12. 120  CLS : COLOR 7,0 : KEY OFF
  13. 130  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
  14. 140  PRINT "OPEN "; : COLOR 0,7 : PRINT "            T - N E T W O R K   D E S I G N  *  Revised May 1990           "; : COLOR 7,0 : PRINT " OPEN"
  15. 150  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  16. 160  REM ---------------------
  17. 170  REM DISPLAY BLOCK DIAGRAM
  18. 180  REM ---------------------
  19. 190  PRINT
  20. 200  PRINT TAB(11) "         VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR             VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR           "
  21. 210  PRINT TAB(11) "         CALL           CALL             CALL           CALL           "
  22. 220  PRINT TAB(11) "CSRLINSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND<0xB4!>           BLOADSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCSRLINSOUNDSOUNDSOUNDSOUNDSOUNDSOUND<0xB4!>           BLOADSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCSRLIN"
  23. 230  PRINT TAB(11) "         CALL           CALL      CALL      CALL           CALL           "
  24. 240  PRINT TAB(11) "         CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'      CALL      CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'           "
  25. 250  PRINT TAB(11) "                            CALL                              "
  26. 260  PRINT TAB(11) "                      VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR                        "
  27. 270  PRINT TAB(11) "                      CALL           CALL                        "
  28. 280  PRINT TAB(11) "                      CALL           CALL                        "
  29. 290  PRINT TAB(11) "                      CALL           CALL                        "
  30. 300  PRINT TAB(11) "                      CLSSOUNDSOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDSOUND'                        "
  31. 310  PRINT TAB(11) "                            CALL                              "
  32. 320  PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE            CALL           KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE "
  33. 330  PRINT "OPEN        D A T A         OPEN            CALL           OPEN "; : COLOR 0,7 : PRINT "   E N T E R   D A T A  "; : COLOR 7,0 : PRINT  " OPEN"
  34. 340  PRINT "TOTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENRANDOMIZE            CSRLIN           SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD "
  35. 350  PRINT "OPEN                        OPEN"
  36. 360  PRINT "OPEN                        OPEN"
  37. 370  PRINT "OPEN                        OPEN"
  38. 380  PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
  39. 390  LOCATE 5,9 : PRINT "Input"
  40. 400  LOCATE 5,67 : PRINT "Output"
  41. 410  REM ----------
  42. 420  REM INPUT DATA
  43. 430  REM ----------
  44. 440  LOCATE 21,51 : PRINT CHL$ : LOCATE 21,52 : PRINT "Input Resistance:       -" : LOCATE 21,70 : INPUT "", A$: R1 = VAL(A$) : IF R1 = < 0 THEN 440
  45. 450  LOCATE 21,51 : PRINT CHL$ : LOCATE 21,52 : PRINT "Input Reactance (EQV):      -" : LOCATE 21,73 : INPUT "",A$ : J1 = VAL(A$)
  46. 460  IF J1 => 0 THEN Z1$ = STR$(R1) + " +j" + STR$(ABS(J1))
  47. 470  IF J1 < 0 THEN Z1$ = STR$(R1) + " -j" + STR$(ABS(J1))
  48. 480  LOCATE 9,7 : PRINT Z1$
  49. 490  LOCATE 21,51 : PRINT CHL$ : LOCATE 21,52 : PRINT "Output Resistance:       -" : LOCATE 21,71 : INPUT "", A$: R2 = VAL(A$) : IF R2 = < 0 THEN 490
  50. 500  LOCATE 21,51 : PRINT CHL$ : LOCATE 21,52 : PRINT "Output Reactance (EQV):      -" : LOCATE 21,74 : INPUT "",A$ : J2 = VAL(A$)
  51. 510  IF J2 => 0 THEN Z2$ = STR$(R2) + " +j" + STR$(ABS(J2))
  52. 520  IF J2 < 0 THEN Z2$ = STR$(R2) + " -j" + STR$(ABS(J2))
  53. 530  LOCATE 9,65 : PRINT Z2$
  54. 540  LOCATE 21,51 : PRINT CHL$ : LOCATE 21,52 : PRINT "Frequency:       kHz" : LOCATE 21,64 : INPUT "", A$: FR = VAL(A$) : F = FR * 1000 : IF FR < 300 OR FR > 10000 THEN 540
  55. 550  LOCATE 20,3 : PRINT USING "Frequency:  #### kHz";FR
  56. 560  LOCATE 21,51 : PRINT CHL$:LOCATE 21,52 : PRINT "Phase Lag:  -      <UNK! {00F8}>" : LOCATE 21,66 : INPUT "", A$ : PHASE = VAL(A$) : PHASE = ABS(PHASE)
  57. 570  IF PHASE > 170 THEN LOCATE 22,52 : PRINT "RE-ENTER - TOO HIGH" : GOTO 560
  58. 580  IF PHASE < 10 THEN LOCATE 22,52 : PRINT "RE-ENTER - TOO LOW " : GOTO 560
  59. 590  THETA = PHASE / 57.2958
  60. 600  LOCATE 22,51 : PRINT CHL$ : LOCATE 21,3 : PRINT USING "Phase Lag:  -###.# <UNK! {00F8}>";PHASE
  61. 610  LOCATE 21,51 : PRINT CHL$ : LOCATE 21,52 : PRINT "Power:       kW" : LOCATE 21,60 : INPUT "", A$: P = VAL(A$) : IF P < 0.01 OR P > 75000 THEN 610
  62. 620  IF P < 1 THEN 640
  63. 630  LOCATE 22,7 : PRINT USING "Power:   ##.## kW";P : GOTO 650
  64. 640  LOCATE 22,7 : PRINT USING "Power:   #.### kW";P
  65. 650  X3 = ((SQR (R1 * R2))) / (SIN (THETA))
  66. 660  X1 = (R1 / TAN (THETA)) - X3 : X1 = X1 + J1
  67. 670  X2 = (R2 / TAN (THETA)) - X3 : X2 = X2 + J2
  68. 680  I1 = SQR ((P * 1000) / R1)
  69. 690  I2 = SQR ((P * 1000) / R2)
  70. 700  I3 = SQR (((I1 ^ 2) + (I2 ^ 2)) - (2 * I1 * I2 * COS (THETA)))
  71. 710  L1 = X1 / (2 * PI * F) : L1 = L1 * 1E+06 : IF X1 < 0 THEN LOCATE 6,22 : PRINT USING "###.# uHy";ABS(L1) : GOTO 760
  72. 720  X1 = ABS (X1) : L1 = 1 / (2 * PI * F * X1)
  73. 730  LOCATE 6,22 : PRINT USING ".##### mfd";L1 * 1E+06 : GOTO 760
  74. 740  IF L1 < 100 THEN LOCATE 6,22 : PRINT USING ".#### mfd";L1 / 10000 : GOTO 760
  75. 750  IF L1 < 1000 THEN LOCATE 6,22 : PRINT USING ".### mfd";L1/ 1000
  76. 760  L2 = X2 / (2 * PI * F) : L2 = L2 * 1E+06 : IF X2 < 0 THEN LOCATE 6,48 : PRINT USING "###.# uHy";ABS(L2) : GOTO 790
  77. 770  X2 = ABS (X2) : L2 = 1 / (2 * PI * F * X2)
  78. 780  LOCATE 6,48 : PRINT USING ".##### mfd";L2 * 1E+06 : GOTO 790
  79. 790  C1 = 1 / (2 * PI * F * X3)
  80. 800  LOCATE 12,35 : PRINT USING ".##### mfd";C1 * 1E+06
  81. 810  LOCATE 7,22 : PRINT USING "##.# Amps"; I1
  82. 820  LOCATE 8,22 : PRINT USING "###.# -"; ABS(X1)
  83. 830  LOCATE 7,48 : PRINT USING "##.# Amps"; I2
  84. 840  LOCATE 8,48 : PRINT USING "###.# -"; ABS(X2)
  85. 850  LOCATE 13,35 : PRINT USING "##.# Amps"; I3
  86. 860  LOCATE 14,35 : PRINT USING "###.# -"; ABS(X3)
  87. 870  LOCATE 20,52 : PRINT "Install a coil in series   "
  88. 880  LOCATE 21,52 : PRINT "with fixed capacitors for  "
  89. 890  LOCATE 22,52 : PRINT "impedance adjustments.     "
  90. 900  LOCATE 24,52 : COLOR 15 : PRINT "Press Any Key To Continue"; : A$ = INPUT$(1)
  91. 910  LOCATE 20,52 : COLOR 15 : PRINT "(C)"; : COLOR 7 : PRINT " - Calculate Coil Value  "
  92. 920  LOCATE 21,52 : COLOR 15 : PRINT "(N)"; : COLOR 7 : PRINT " - New Data              "
  93. 930  LOCATE 22,52 : COLOR 15 : PRINT "(Q)"; : COLOR 7 : PRINT " - Quit                  "
  94. 940  LOCATE 24,52 : COLOR 15 : PRINT "      Select One         "; : COLOR 7 : A$ = INPUT$(1)
  95. 950  IF A$ = "q" OR A$ = "Q" THEN RUN "TECHMENU"
  96. 960  IF A$ = "n" OR A$ = "N" THEN GOTO 10
  97. 970  IF A$ = "c" OR A$ = "C" THEN GOTO 990
  98. 980  GOTO 940
  99. 990  REM ---------------------
  100. 1000  REM CALCULATE SERIES COIL
  101. 1010  REM --------------------
  102. 1020  LOCATE 20,52 : PRINT "Impedance:                -"
  103. 1030  LOCATE 21,52 : PRINT "Capacitor:              mfd"
  104. 1040  LOCATE 22,52 : PRINT " Inductor:              uHy"
  105. 1050  LOCATE 24,52 : COLOR 15 : PRINT "  ENTER IMPEDANCE OF LEG   "; : COLOR 7
  106. 1060  LOCATE 20,64 : INPUT "",Z$ : Z = VAL(Z$) : IF Z = 0 OR Z < 1 THEN 1060
  107. 1070  LOCATE 20,64 : PRINT "                "; : LOCATE 20,64 : PRINT USING "####.# -"; Z
  108. 1080  LOCATE 24,52 : PRINT " ENTER STANDARD CAP. VALUE ";
  109. 1090  LOCATE 21,64 : INPUT "",C$ : C = VAL(C$) : IF C = 0 THEN 1090
  110. 1100  C = C * 9.99E-07
  111. 1110  XC = 1 / (2 * PI * F * C)
  112. 1120  XL = XC - Z : IF XL < 0  THEN LOCATE 24,52 : PRINT "CAPACITOR VALUE TOO HIGH ..."; : GOTO 1090
  113. 1130  LOCATE 21,64 : PRINT "                "; : LOCATE 21,64 : PRINT C$; " mfd"
  114. 1140  L = XL / (2 * PI * F) : L = L * 1E+06
  115. 1150  LOCATE 22, 64 : PRINT "                "; : LOCATE 22,64 : PRINT USING "###.# uHy"; L
  116. 1160  LOCATE 24,52 : COLOR 15 : PRINT "Press Any Key To Continue   "; : COLOR 7 : A$ = INPUT$(1)
  117. 1170  GOTO 910
  118.