Automotive Analyzer

Developer(s): Edward Pardo
Date: 1983
Type: Program
Platform(s): TS 1000
Tags: Home

Diagnoses car engine faults by symptom. A menu of fifteen problems, from "starter does not turn" to backfiring, blue or black smoke, run-on and misfiring at idle, speed or under load, sets up a sequence of tests to work through. Each test screen gives shop instructions and asks yes/no or letter questions to branch to the next step. Battery, starter, ignition switch, spark, spark plugs, coil, fuel system, compression, vacuum, ignition timing and valve train are all covered. Some steps do arithmetic: correcting a hydrometer reading for temperature, and working out the low, high, average and percentage spread of a set of compression readings.

The title screen reads "AUTOMOTIVE ANALYZER PART 1: TROUBLESHOOTING, PROGRAM BY E. PARDO, BS, SAE". The first line carries "ANALYSIS" ©1983, and a REM near the end reads ©1982, ©1984. The tape is unlabeled and holds two recordings that decode to the same listing.

Program Analysis

Program Structure

  • Lines 1–60: zero the variables and show the title.
  • Lines 100–195: the symptom menu (letters A–P, skipping O, and X to exit). Subroutine 8000 turns the letter into a starting line N and up to four follow-up lines held in X, Y, Z and Q, then line 195 runs GOTO N.
  • Lines 1000–1100: the test sections, each a heading followed by a GOSUB to the procedure that does the work, ending with GOTO 9000.
  • Lines 1110–1239: battery, cable, starter and ignition switch procedures, including the hydrometer correction CS=((F-80)*.0004)+S.
  • Lines 2000–2599: spark tests, spark plug condition codes, distributor cap and rotor, coil resistance and polarity, and plug cables.
  • Lines 2900–3999: air filter and fuel system: flooding, fuel delivery, the fuel pump, the float needle, and vapor lock or icing.
  • Lines 4000–4999: the compression test with wet retest. Lines 5000–5999: vacuum gauge readings. Lines 6000–6999: ignition timing. Lines 7000–7999: the valve train.
  • Lines 9000–9010: move the queue along and jump to the next test, or go back to the menu when it is empty.

Notable Techniques

  • Test order is kept as a queue in the variables N, X, Y, Z, Q, V and C. Line 9000 shifts each one along and runs GOTO N, so one symptom can chain several test sections without nested GOSUB calls.
  • Sub-menus pick a procedure with a calculated GOSUB: GOSUB (S*10+1100) for the battery items and GOSUB (S*10+2000) for spark plug codes 2.0–5.0, where the half steps map to line numbers that are multiples of five.
  • Answers sometimes add to the queue as the program runs. For example, answering "C" at line 1028 queues the spark and compression checks.
  • Headings and warnings use inverse video text throughout.
  • GOTO 80 at line 9010 points to a line that does not exist, so it carries on at line 90 (CLS) and then the menu.

Potential Issues

  • Lines 4011–4015 read each compression value into A(NC) rather than A(T). The running statistics are still right because they are updated as each value comes in, but the array ends up holding only the last reading.
  • LG, SM and SUM are only set once at the start, so a second compression test in the same session starts from the earlier figures.
  • Battery menu items 2 and 3 have no RETURN of their own and run on into the following procedures before returning.

Related Content

Image Gallery

Source Code

   1 REM "ANALYSIS" [C]1983
   2 LET X=0
   3 LET Y=0
   4 LET Z=0
   5 LET Q=0
   6 LET V=0
   7 LET C=0
   8 LET N=0
  10 LET SM=500
  11 LET LG=0
  12 LET SUM=0
  13 LET CC=1
  40 PRINT AT 5,2;"AUTOMOTIVE ANALYZER PART 1:"
  45 PRINT ,,TAB 6;"""TROUBLESHOOTING"""
  50 PRINT ,,TAB 2;"PROGRAM BY E. PARDO, BS, SAE"
  55 PRINT ,,,,"PRESS ENTER WHENEVER THERE ARE  NO OTHER INPUT INSTRUCTIONS."
  60 INPUT A$
  90 CLS
  99 REM MENU=LETTER SELECTOR
 100 PRINT "█[A][U][T][O][M][O][T][I][V][E]█[A][N][A][L][Y][Z][E][R]█[M][E][N][U]█[(][E][A][P][)]█"
 122 PRINT "A. STARTER DOES NOT TURN"
 123 PRINT "B. STARTER TURNS,BUT ENGINE DOES   NOT CRANK"
 124 PRINT "C. STARTER TURNS ENGINE SLOWLY"
 125 PRINT "D. STARTER CRANKS NORMAL SPEED"
 126 PRINT "E. STARTER CRANKS ENGINE, BUT      FASTER THAN NORMAL"
 127 PRINT "F. ENGINE FIRES INTERMITTANTLY"
 128 PRINT "G. ENGINE FIRES CONSTANTLY"
 142 PRINT "H. HARD STARTING, STALLING, OR,    LACKS POWER."
 143 PRINT "I. BLUE SMOKE"
 144 PRINT "J. BLACK SMOKE, ROUGH IDLE,        ENGINE DIES AT HIGH SPEED,      POOR PICKUP,HESITATION"
 145 PRINT "K. BACKFIRE/AFTERFIRE"
 146 PRINT "L. MISS-FIRES AT SPEED(CRUISE)"
 147 PRINT "M. RUN-ON (DIESELING)"
 148 PRINT "N. MISS-FIRES UNDER LOAD"
 149 PRINT "P. MISS-FIRES AT IDLE"
 150 PRINT "X. █[E][X][I][T]█[A][N][A][L][Y][S][I][S][.]"
 151 INPUT A$
 152 GOSUB 8000
 190 CLS
 195 GOTO N
1000 REM STARTS TROUBLESHOOTING
1001 CLS
1003 PRINT "ENTER CODE FROM MENU LISTING:"
1004 PRINT AT 3,7;"BATTERY AND CABLES"
1005 PRINT AT 6,2;"ENTER 0 TO CONTINUE."
1011 PRINT ,,"█[V][I][S][U][A][L]█[B][A][T][T][E][R][Y]█[I][N][S][P][E][C][T][I][O][N]█";TAB 5;"1. CRACKED CASE";TAB 5;"2. FLUID LEVEL"
1012 PRINT ,,"[C][H][E][C][K]█[C][A][B][L][E]█[T][E][R][M][I][N][A][L]█[C][O][N][N][E][C][T][I][O][N][S]";TAB 5;"3. PROCEDURE"
1013 PRINT ,,"█[I][N][S][P][E][C][T]█[C][A][B][L][E][S]█";TAB 5;"5. CRACKED OR BROKEN"
1014 PRINT ,,"█[H][Y][D][R][O][M][E][T][E][R]█[T][E][S][T]█";TAB 5;"6. PROCEDURE"
1016 INPUT S
1017 IF S=0 THEN GOTO 1021
1018 GOSUB (S*10+1100)
1019 INPUT A$
1020 GOTO 1000
1021 GOTO 9000
1022 PRINT "TEST THE STARTER MOTOR:",,TAB 0;"CONNECT JUMPER FROM THE BATTERY POWER TERMINAL TO THE IGNITION +TERMINAL OF STARTER RELAY OR SOL"
1023 PRINT ,,"DOES ENGINE CRANK NORMAL? (Y/N)"
1024 INPUT A$
1025 IF A$="Y" THEN GOSUB 1180
1026 IF A$="N" THEN GOSUB 1185
1027 INPUT A$
1028 IF A$="C" THEN LET X=1041
1029 IF A$="C" THEN LET Y=1061
1030 GOTO 9000
1032 PRINT "WITH THE IGNITION ON> CONNECT A JUMPER FROM COIL - AND GROUND.  REMOVE HIGH VOLT WIRE FROM COIL."
1033 PRINT ,,"CONNECT TEST LIGHT TO COIL + AND GROUND,TURN IGN ON AND JIGGLE  THE KEY."
1034 PRINT ,,"DOES THE LAMP LIGHT?(L);FLICKER?(F);OR DO NOTHING?(N)."
1035 INPUT A$
1036 IF A$="L" THEN GOSUB 1190
1037 IF A$="F" THEN GOSUB 1210
1038 IF A$="N" THEN GOSUB 1220
1039 INPUT A$
1040 GOTO 9000
1041 PRINT "█[C][H][E][C][K]█[S][P][A][R][K][:]"
1042 GOSUB 2000
1043 INPUT A$
1044 CLS
1045 PRINT "DO YOU WISH TO:";TAB 5;"CONTINUE? (C)";TAB 5;"RETURN TO SPARK CHECKS? (R)"
1046 INPUT A$
1047 CLS
1048 IF A$="R" THEN GOTO 1041
1050 GOTO 9000
1051 PRINT "█[C][H][E][C][K]█[F][U][E][L]█[S][Y][S][T][E][M]█"
1052 GOSUB 2900
1059 INPUT A$
1060 GOTO 9000
1061 PRINT "█[C][H][E][C][K]█[C][O][M][P][R][E][S][S][I][O][N][:]"
1062 GOSUB 4000
1069 INPUT A$
1070 GOTO 9000
1071 PRINT "█[V][A][C][U][U][M]█[T][E][S][T][:]"
1072 GOSUB 5000
1079 INPUT A$
1080 GOTO 9000
1081 PRINT "[C][H][E][C][K]█[I][G][N][I][T][I][O][N]█[T][I][M][I][N][G][:]"
1082 GOSUB 6000
1089 INPUT A$
1090 GOTO 9000
1091 PRINT "[C][H][E][C][K]█[V][A][L][V][E]█[T][R][A][I][N][:]"
1092 GOSUB 7000
1099 INPUT A$
1100 GOTO 9000
1110 REM BEGIN TS SUBROUTINES
1111 CLS
1112 PRINT "REPLACE BATTERY WITH HEAVY DUTY"
1113 PRINT "TYPE, THEN CHECK CHARGING SYSTEM"
1114 INPUT A$
1116 GOSUB 1150
1119 RETURN
1121 CLS
1122 PRINT "CHECK FLUID LEVEL:"
1123 PRINT ,,"IF LOW, TOP OFF WITH DISTILLED  WATER AND CHARGE BATTERY; THEN"
1124 PRINT "CHECK CHARGING SYSTEM"
1125 PRINT ,,"CLEAN BATTERY WITH BAKING SODA / WATER SOLUTION"
1126 PRINT ,,"COAT TERMINALS WITH VASOLINE"
1127 INPUT A$
1131 CLS
1132 PRINT "INSERT SCREWDRIVER BETWEEN CABLECLAMP AND TERMINAL POST. TURN ONHIGH BEAMS AND OBSERVE INTENSITYOF LIGHT, TWISTNG SCREWDRIVER"
1133 PRINT ,,"IF LIGHTS BRIGHTEN, CLEAN POSTS AND CABLE CLAMPS."
1134 PRINT ,,"DID LIGHTS BRIGHTEN? (ENTER Y/N)"
1135 INPUT A$
1137 IF A$="N" THEN GOSUB 1160
1151 CLS
1152 PRINT "CHECK CABLES:"
1153 PRINT ,,"VISUALLY INSPECT CABLES FOR BAD GROUND,CRACKS,BAD STARTER CONN."
1154 PRINT "TIGHTEN OR REPLACE AS NEEDED"
1155 PRINT ,,"IF PROBLEM IS STILL UNKNOWN THENPROCEED TO NEXT STEP"
1159 RETURN
1160 CLS
1161 PRINT "FOR HYDROMETER WITHOUT NUMERIC  INDICATORS, INTERPET FROM SCALE"
1162 PRINT ,,"[G][O][O][D]=1.250>1.3","[F][A][I][R]=1.2>1.25","[P][O][O][R]=1.15>1.2","[B][A][D]=BELOW 1.15"
1163 PRINT ,,"ENTER SPECIFIC GRAVITY:";
1164 INPUT S
1165 PRINT S
1166 PRINT ,,"ENTER TEMPERATURE DEG.F:";
1167 INPUT F
1168 PRINT F
1169 LET CS=((F-80)*.0004)+S
1170 PRINT ,,"CORRECTED READING=";CS
1171 IF CS<=1.225 THEN PRINT ,,"[R][E][C][H][A][R][G][E]█[B][A][T][T][E][R][Y]"
1172 IF CS>1.225 THEN PRINT ,,"[B][A][T][T][E][R][Y]█[I][S]█[O][K]"
1178 INPUT A$
1179 RETURN
1180 PRINT ,,"1.CHECK NEUTRAL START SWITCH(S)"
1181 PRINT ,,"2.CHECK IGNITION SWITCH"
1184 RETURN
1185 PRINT ,,"CAN ENGINE BE TURNED BY HAND?"
1186 INPUT A$
1187 IF A$="Y" THEN PRINT "[P][R][O][B][L][E][M]█[I][N][D][I][C][A][T][E][D]█[I][N]█[S][T][A][R][T][E][R]"
1188 IF A$="N" THEN PRINT "REMOVE SPARK PLUGS AND CRANK THEENGINE.";TAB 0;"IF IT DOESNT TURN-OVER NOW, THENDISASSEMBLY IS REQUIRED.";TAB 0;"IF THE ENGINE CRANKS ENTER ""C""."
1189 RETURN
1190 PRINT ,,"LIGHTS= SWITCH IS OK."
1191 PRINT ,,"CHECK FOR OPEN CIRCUITS:";TAB 5;"1. BALLAST RESISTOR";TAB 5;"2. RESISTANCE WIRE HARNESS";TAB 5;"3. MAIN RELAY,ENGINE FUSE"
1192 PRINT "CHECK DISTRIBUTER:";TAB 5;"3. CONTACT POINTS";TAB 5;"4. SIGNAL GENERATOR"
1193 PRINT TAB 5;"5. CONDENSOR";TAB 5;"6. IGNITER (TRANSISTORIZED)"
1209 RETURN
1210 PRINT ,,"FLICKERS= REPLACE THE IGNITION  SWITCH"
1219 RETURN
1220 PRINT ,,"NO RESPONSE= CHECK FOR LOOSE OR OPEN CONNECTIONS"
1221 PRINT "IF NONE ARE FOUND,REMOVE THE IGNSWITCH AND CHECK FOR CONTINUITY.IF NO CONTINUITY REPLACE SWITCH."
1239 RETURN
2000 PRINT ,,"HOLD EACH PLUG CABLE ABOUT 1/4"" FROM GROUND AND CRANK ENGINE"
2001 PRINT "[C][A][U][T][I][O][N][:]█[W][E][A][R]█[G][L][O][V][E][S]█"
2002 PRINT "IS THERE SPARK? (Y/N)"
2003 INPUT A$
2004 IF A$="N" THEN GOTO 2200
2005 PRINT "IS SPARK GOOD TO ALL CYLINDERS?"
2006 INPUT A$
2007 IF A$="N" THEN GOTO 2100
2008 PRINT ,,"REMOVE AND CHECK SPARK PLUGS:   [C][O][D][E] [C][O][N][D][I][T][I][O][N]"
2009 PRINT "2.0  ELECTRODES ERODED,BROWN"
2010 PRINT "2.5  CARBON FOULED,(DRY BLACK)"
2011 PRINT "3.0  OIL FOULED,(WET BLACK)"
2012 PRINT "3.5  LEAD FOULED,GLAZED"
2013 PRINT "4.0  BRIDGED GAP,(SHORTED)"
2014 PRINT "4.5  BURNED ELECTRODES,WHITE";TAB 6;"INSULATOR WITH BLACK SPOTS"
2016 PRINT "5.0  MELTED OR BADLY BURNT",,TAB 5;"[E][N][T][E][R]█[L][I][N][E]█[N][U][M][B][E][R][.][.][.]"
2017 INPUT S
2018 GOSUB (S*10+2000)
2019 RETURN
2020 CLS
2021 PRINT "[N][O][R][M][A][L]█[W][E][A][R]"
2022 PRINT ,,"NORMAL WEAR OF STANDARD PLUGS ISINDICATED BY 0.001"" PER 1000    MILES OF USE"
2023 PRINT ,,"CLEAN AND REGAP IF WEAR IS NOT  EXCESSIVE, OR REPLACE"
2024 RETURN
2025 CLS
2026 PRINT "[C][A][R][B][O][N]█[F][O][U][L][I][N][G]"
2027 PRINT ,,"IF PRESENT ON ONE OR TWO PLUGS:";TAB 5;"CHECK CORD SET";TAB 5;"CHECK VALVE TRAIN"
2028 PRINT ,,"PRESENT ON MOST PLUGS=TOO RICH";TAB 5;"CHECK FUEL SYSTEM"
2029 RETURN
2030 CLS
2031 PRINT "[O][I][L]█[F][O][U][L][I][N][G]"
2032 PRINT ,,"WORN ENGINE COMPONENTS OR ENGINEBREAK-IN ON NEW OR REBUILT MOTOR"
2033 PRINT ,,TAB 5;"CHECK VACUUM";TAB 5;"CHECK COMPRESSION";TAB 5;"REPLACE SPARK PLUG"
2034 RETURN
2035 CLS
2036 PRINT "[L][E][A][D]█[F][O][U][L][I][N][G]"
2037 PRINT ,,"CAN BE GRAY,BLACK,RED,GREEN,TAN OR YELLOW DEPOSITS WHICH APPEAR GLAZED OR CINDER-LIKE."
2038 PRINT ,,"[C][O][M][B][U][S][T][I][O][N]█[B][Y][-][P][R][O][D][U][C][T][S]";TAB 5;"REPLACE WITH NEW PLUGS."
2039 RETURN
2040 CLS
2041 PRINT "[B][R][I][D][G][E][D]█[G][A][P] (DEPOSITS LODGED    BETWEEN ELECTRODES)"
2042 PRINT ,,"INCOMPLETE COMBUSTION.";TAB 5;"[R][E][P][L][A][C][E]█[S][P][A][R][K]█[P][L][U][G][S]"
2044 RETURN
2045 CLS
2046 PRINT "[O][V][E][R][H][E][A][T][I][N][G] (BURNT ELECTRODES)"
2047 PRINT ,,"1) TOO MUCH ADVANCE;CHECK TIMING2) MIXTURE TOO LEAN;FUEL SYSTEM 3) SPARK PLUGS NOT SEATED TIGHT;   CLEAN SEAT,REPLACE PLUGS"
2049 RETURN
2050 CLS
2051 PRINT "[P][R][E][I][G][N][I][T][I][O][N] (MELTED OR SEVERELY BURNT ELECTRODES, BLISTERED OR  CRACKED INSULATORS, OR METALIC  DEPOSITS ON THE INSULATOR."
2052 PRINT ,,"1) INCORRECT HEAT RANGE PLUGS.  2) TOO MUCH DISTRIBUTER ADVANCE.3) PLUGS NOT COOLING PROPERLY"
2053 PRINT "   CHECK PLUG SEAT AND COOLANT. 4) FUEL MIXTURE TOO LEAN.","5) CHECK COMPRESSION.","6) OCTANE TOO LOW."
2099 RETURN
2100 PRINT ,,"INSPECT DISTRIBUTER CAP + ROTOR FOR BURNED OR CORRODED CONTACTS,CRACKS,CARBON TRACKS,OR MOISTURE"
2101 PRINT ,,"CHECK THE FIT OF THE ROTOR ON   THE DISTRIBUTER SHAFT."
2102 PRINT "IF MOISTURE PRESENT,DRY + RETESTAS DESCRIBED ABOVE."
2103 PRINT "IF PROBLEM FOUND,REPLACE PARTS +RETEST"
2104 PRINT ,,"[I][S]█[S][P][A][R][K]█[G][O][O][D][?] (Y/N)"
2105 INPUT A$
2106 CLS
2107 IF A$="Y" THEN GOTO 2008
2108 IF A$="N" THEN GOTO 2300
2200 PRINT ,,"DOES VEHICLE HAVE TRANSISTORIZEDIGNITION? (Y/N)"
2201 INPUT A$
2202 IF A$="Y" THEN GOTO 2300
2203 PRINT ,,"CHECK FOR SPARK AT COIL WIRE."
2204 PRINT "(SAME AS FOR PLUG WIRES)"
2205 PRINT "IF SPARK IS WEAK OR NO SPARK,   REPLACE WIRE AND RETEST."
2207 PRINT ,,"DID YOU CHECK CAP AND ROTOR? (Y/N)"
2208 INPUT A$
2209 CLS
2210 IF A$="N" THEN GOTO 2100
2300 CLS
2301 PRINT "[I][G][N][I][T][I][O][N]█[C][O][I][L]█[R][E][S][I][S][T][A][N][C][E]█[C][H][E][C][K]";TAB 5;"CONNECT OHMMETER TO TOWER";TAB 5;"AND TO COIL NEG.(-)TERM."
2302 PRINT ,,"READING SHOULD BE >4K OHM, <12K OHM; EXCEPT FOR HEI IGNITION."
2303 PRINT "(FOR HEI, >6K, <30K)"
2304 PRINT ,,"HIGH PERFORMANCE COILS DIFFER,  CHECK MANUFACTURERS SPECS."
2305 PRINT ,,"CHECK FOR RESISTANCE BETWEEN +/-COIL PRIMARY TERMINALS."
2306 PRINT ,,"CHECK COIL POLARITY:","CONNECT  VOLTMETER NEGETIVE LEAD TO HIGH VOLT TOWER,AND POSITIVE LEAD TO GROUND."
2307 PRINT "[I][F]█[V][O][L][T][M][E][T][E][R]█[S][W][I][N][G][S]█[U][P][S][C][A][L][E]█[W][H][E][N][E][N][G][I][N][E]█[I][S]█[C][R][A][N][K][E][D]█[T][H][E]█[P][O][L][A][R][I][T][Y]██[I][S]█[C][O][R][R][E][C][T]"
2350 INPUT A$
2390 CLS
2500 PRINT "[I][N][S][P][E][C][T]█[S][P][A][R][K]█[P][L][U][G]█[C][A][B][L][E][S]"
2501 PRINT "CHECK FOR BRITTLENESS OR CRACKS."
2502 PRINT "CHECK CORDS WITH AN OHMMETER."
2503 PRINT "CHECK FOR OPEN CIRCUITS OR FOR  RESISTANCE OVER 8000 OHMS/FT."
2504 PRINT "IF ANY CABLE IS BAD,REPLACE THE ENTIRE CORD SET."
2599 RETURN
2900 PRINT ,,"CHECK AIR FILTER ELEMENT FOR    EXCESSIVE DUST OR RESTRICTIONS"
2910 PRINT ,,"CLEAN OR REPLACE ELEMENT"
2920 PRINT ,,"IS ENGINE FUEL-INJECTIED? (F) ORCARBURETED? (C)"
2925 INPUT A$
2930 IF A$="F" THEN GOTO 3080
3000 CLS
3003 PRINT ,,"CHECK FOR FUEL IN CARBURETOR."
3004 PRINT ,,"A. CHECK FOR FLOODED CARBURETOR (STRONG ODOR,FUEL VISIBLE INSIDEINTAKE MANIFOLD)"
3005 PRINT ,,"B. CHECK FOR ABSENCE OF GASOLINEIN THE CARBURETOR: OPERATE THE  THROTTLE LINKAGE AND OBSERVE THEFUEL SPRAY FROM ACCELERATOR PUMP"
3006 PRINT ,,"[E][N][T][E][R]█[R][E][S][U][L][T][S][:]";TAB 5;"FLOODING? (F)";TAB 5;"NO FUEL? (N)";TAB 5;"OK? (K)"
3007 INPUT A$
3008 IF A$="F" THEN GOTO 3027
3009 IF A$="K" THEN GOTO 3070
3010 CLS
3011 PRINT "CHECK FUEL DELIVERY:DETACH FUEL LINE AT CARB INLET,AIM LINE INTOCONTAINER AND CRANK ENGINE"
3012 PRINT ,,"DOES FUEL FLOW FREELY? (Y/N)"
3013 INPUT A$
3014 IF A$="Y" THEN GOTO 3028
3015 PRINT ,,"REMOVE LINES FROM FUEL PUMP;WITHVACUUM/PRESSURE GAUGE CHECK PUMP"
3016 PRINT ,,"IF PUMP DOES NOT DEVELOPE VACUUMAT INLET REPLACE THE PUMP."
3017 PRINT ,,"(CHECK FUEL PRESSURE AT OUTLET  AND COMPARE READING AGAINST OEM SPECIFACATIONS)"
3018 PRINT ,,"IF PUMP IS OK,CHECK GAS DELIVERYWITHOUT THE FILLER CAP INSTALLED"
3019 PRINT ,,"DOES FUEL FLOW FREELY? (Y/N)"
3020 INPUT A$
3021 IF A$="Y" THEN PRINT "[R][E][P][L][A][C][E]█[F][U][E][L]█[F][I][L][L][E][R]█[C][A][P]"
3022 IF A$="Y" THEN RETURN
3023 CLS
3024 PRINT "BLOW OUT THE FUEL LINES TO THE  TANK WITH LOW PRESSURE AIR UNTILBUBBLING IS HEARD AT FILLER NECKTHEN CLEAN OUT FUEL LINE TO CARBAND REPLACE FUEL FILTER."
3025 INPUT A$
3026 GOTO 3050
3027 CLS
3028 PRINT ,,"CHECK THE FLOAT NEEDLE AND SEAT"
3029 PRINT ,,"TAP CARBURETOR NEAR INLET. IF IT STOPS CONDITION REPLACE NEEDLE AND SEAT."
3030 PRINT ,,"NOTE: WHEN REPLACING NEEDLE AND SEAT, IT IS ADVISABLE TO CHECK  ALL RELATED PARTS IN CARBURETOR AND REPLACE OR REBUILD AS NEEDED"
3040 INPUT A$
3050 CLS
3051 PRINT "DETERMINE IF THE MAIN CARBURETORCIRCUITS ARE WORKING:SPRAY CARB STARTER INTO AIR HORN AND START ENGINE" 
3052 PRINT ,,"IF ENGINE STARTS AND THEN DIES, ONE OF THE FOLLOWING CONDITIONS MAY BE THE PROBLEM..."
3053 PRINT ,,"[1][.]█[V][A][P][O][R]█[L][O][C][K]"
3054 PRINT "(VERY HOT AMBIENT TEMPERATUES)"
3059 PRINT ,,"[2][.]█[C][A][R][B][U][R][E][T][O][R]█[I][C][I][N][G]"
3060 PRINT "(COLD, HUMID AMBIENT CONDITIONS)"
3063 PRINT ,,"[3][.]█[F][U][E][L]█[C][O][N][T][A][M][I][N][A][T][E][D]█[W][I][T][H]█[W][A][T][E][R]"
3064 PRINT "(HIGH HUMIDITY,EXTREME AMBIENT  CHANGES OR INFREQUENT FILLING OFFUEL TANK)"
3065 INPUT A$
3070 CLS
3080 PRINT ,,"VISIBLY INSPECT FOR STICKING OR GUMMY LINKAGES AND BUTTERFLIES."
3081 PRINT ,,"CLEAN WITH CARBURETOR / LINKAGE  SPRAY CLEANER"
3082 PRINT ,,"CHECK ALL ELECTRICAL CONNECTIONSFOR CORROSION, OPEN CIRCUITS."
3999 RETURN
4000 PRINT ,,"[D][I][S][A][B][L][E]█[I][G][N][I][T][I][O][N]█[S][Y][S][T][E][M][:]        GROUND COIL HIGH-VOLTAGE CORD"
4001 PRINT ,,"REMOVE SPARK PLUGS,PLACE TESTER IN FIRST PLUG PORT,CRANK ENGINE TO MAXIMUM GAUGE REAING."
4002 PRINT TAB 4;"[E][N][T][E][R][:] NO. OF CYL. = ";
4003 INPUT NC
4004 PRINT NC
4005 CLS
4006 PRINT "ENTER COMPRESSION READINGS TAKEN"
4009 DIM A(NC)
4010 FOR T=1 TO NC
4011 INPUT A(NC)
4012 PRINT " PSI=";A(NC);
4013 IF A(NC)>LG THEN LET LG=A(NC)
4014 IF A(NC)<SM THEN LET SM=A(NC)
4015 LET SUM=SUM+A(NC)
4016 NEXT T
4017 IF CC=2 THEN GOTO 4060
4021 PRINT ,,TAB 0;"LOWEST READING=";SM
4022 PRINT "HIGHEST READING=";LG
4023 LET PC=(LG-SM)/LG
4024 PRINT ,,"MAX DROP=";PC;" (PERCENT)"
4025 IF PC>0.25 THEN PRINT "[E][X][C][E][S][S][I][V][E]█[C][O][M][P][R][E][S][S][I][O][N]█[I][M][B][A][L][A][N][C][E]"
4026 IF PC<=0.25 AND PC>0.1 THEN PRINT "[A][C][C][E][P][T][A][B][L][E]█[C][O][M][P][R][E][S][S][I][O][N]█[B][A][L][A][N][C][E]"
4027 IF PC<=0.1 THEN PRINT "[C][O][M][P][R][E][S][S][I][O][N]█[W][E][L][L]█[B][A][L][A][N][C][E][D]"
4028 IF LG>200 THEN PRINT "[C][A][U][T][I][O][N][>] HIGH COMPRESSION"
4029 IF SM<100 THEN PRINT "[C][A][U][T][I][O][N][>] LOW COMPRESSION"
4030 PRINT ,,"COMPARE READINGS AGAINST SPECS."
4031 LET MEAN=SUM/NC
4032 PRINT "AVERAGE=";MEAN
4035 PRINT ,,"IS COMPRESSION TOO LOW? (Y/N)"
4036 INPUT A$
4040 IF A$="N" THEN GOTO 4100
4050 CLS
4051 PRINT "IF TWO ADJACENT CYLINDERS WERE  VERY LOW,REPLACE HEAD GASKET."
4052 PRINT ,,"WET COMPRESSION TEST:"
4053 PRINT "SQUIRT 2 TABLESPOONS(ABOUT 25CC)OF MOTOR OIL INTO A LOW CYLINDERAND RECHECK COMPRESSION."
4054 LET CC=2
4055 PRINT ,,"[E][N][T][E][R] NO. OF CYL. TO RECHECK:";
4056 GOTO 4003
4060 PRINT ,,TAB 0;"IF READINGS ARE IMPROVED, PISTONAND/OR PISTON RINGS ARE FAULTY."
4061 PRINT ,,"IF NO IMPROVEMENT,VALVE TRAIN ISPROBABLE CAUSE:CHECK VALVE SEATSGUIDES,CHAINS,ETC."
4070 GOTO 4500
4100 PRINT "IS COMPRESSION TOO HIGH?"
4101 INPUT A$
4102 IF A$="N" THEN GOTO 4500
4103 CLS
4104 PRINT "CHECK FOR LIQUIDS IN CYLINDERS. OIL OR WATER PRESENT INDICATES  THAT THE HEAD(S) MUST BE PULLED FOR VISUAL INSPECTION."
4105 GOSUB 7000
4500 PRINT "█[E][N][D]█[C][O][M][P][R][E][S][S][I][O][N]█[T][E][S][T]█"
4999 RETURN
5000 PRINT "CONNECT VACUUM GAUGE TO INTAKE  MANIFOLD ACCESS PORT"
5001 PRINT "START ENGINE AND READ AT IDLE:"
5002 PRINT "[G][A][U][G][E]█[R][E][A][D][S][:]","[I][N][D][I][C][A][T][I][O][N][S][:]"
5003 PRINT "17-22 IN.HG.","NORMAL",,,"10-16 IN.HG.","LATE TIMING*;OR",,"LOW COMPRESSION"
5004 PRINT ,,"<10 IN.HG.","VACUUM LEAK",,"STUCK EGR VALVE",,,">22 IN.HG.","EARLY IGNITION",,,"DRIFTING","MIXTURE TOO RICH"
5005 PRINT ,,"FLUCTUATES","STICKY VALVE OR",,"IGNITION MISS"
5010 PRINT ,,"  *  (IGNITION OR VALVE TIMING)"
5100 INPUT A$
5101 CLS
5102 PRINT "GRADUALLY INCREASE ENGINE RPM:"
5110 PRINT ,,"[G][A][U][G][E]█[R][E][A][D][S][:]","[I][N][D][I][C][A][T][I][O][N][S][:]"
5111 PRINT "FLUCTUATES","IGNITION MISS",,"HEAD GASKET",,"LEAKING VALVE",,"VALVE SPRING"
5112 PRINT ,,"GRADUAL DROP","BACK PRESSURE"
5113 PRINT ,,"15-20 IN.HG.","NORMAL"
5114 PRINT ,,"[B][A][C][K]█[P][R][E][S][S][U][R][E]█[C][H][E][C][K]"
5115 PRINT "REV AND RELEASE THROTTLE QUICKLY"
5116 PRINT ,,"NEEDLE SHOULD REGISTER <5,THEN  SNAP TO >25 AND DRIFT BACK TO   NORMAL."
5117 PRINT ,,"IF NOT,CHECK EXHAUST SYSTEM FOR SOURCE OF BACK PRESSURE."
5999 RETURN
6000 PRINT ,,"CONNECT TIMING LIGHT AS PER MFG.INSTRUCTIONS, AND CHECK STATIC  (INITIAL) TIMING"
6001 PRINT ,,"CHECK WITH + WITHOUT DISTRIBUTERVACUUM TO CHECK ADVANCER"
6002 PRINT ,,"WITH DIST.VAC.LINE OFF,CHECK THEADVANCE AT DIFFERENT RPM TO TESTCENTRIFUGAL ADVANCE MECHANISM"
6003 PRINT ,,"COMPARE RESULTS WITH OEM SPECS."
6004 PRINT ,,"█[S][P][E][C][S]█[F][O][R]█[D][I][S][T][R][I][B][U][T][E][R]█[A][D][V][A][N][C][E]██[M][A][Y]█[B][E]█[G][I][V][E][N]█[I][N]█[C][R][A][N][K][S][H][A][F][T]█[O][R]█[I][N]█[D][I][S][T][R][I][B][U][T][E][R]█[D][E][G][R][E][S][/][R][P][M][.]█[(][1][/][2][)]██"
6999 RETURN
7000 PRINT ,,"WITH STETHOSCOPE,(OR FACSIMILE),LISTEN AT VALVE COVER FOR LOUD  TAPPING. THIS CAN LOCATE LIFTERSTHAT REQUIRE EXTRA ATTENTION"
7002 PRINT ,,"[S][T][O][P]█[E][N][G][I][N][E]REMOVE COVERS,ATTEMPTTO DEPRESS LIFTER BY HAND"
7003 PRINT ,,"IF EASILY DEPRESSED,REPLACE PART"
7005 PRINT ,,"ADJUST VALVE LASH TO OEM SPECS."
7006 PRINT ,,"[I][F]█[N][O][I][S][E]█[P][E][R][S][I][S][T][S][,][C][H][E][C][K]█[C][A][M][S][H][A][F][T]"
7999 RETURN
8000 REM STACKS GOTO PROCEDURES
8001 IF A$="A" OR A$="C" THEN LET N=1000
8002 IF A$="A" OR A$="C" THEN LET X=1022
8003 IF A$="B" THEN LET N=1022
8004 IF A$="J" OR A$="K" OR A$="F" OR A$="N" OR A$="L" THEN LET N=1041
8005 IF A$="M" OR A$="P" OR A$="D" OR A$="H" THEN LET N=1031
8006 IF A$="P" OR A$="H" OR A$="D" THEN LET X=1041
8007 IF A$="H" OR A$="P" THEN LET Y=1051
8008 IF A$="E" OR A$="I" THEN LET N=1061
8009 IF A$="H" THEN LET Z=1081
8010 IF A$="G" THEN LET N=1051
8011 IF A$="G" THEN LET X=1061
8013 IF A$="H" THEN LET Q=1091
8014 IF A$="I" OR A$="N" THEN LET X=1071
8015 IF A$="P" THEN LET Z=1071
8016 IF A$="P" THEN LET Q=1081
8017 IF A$="J" THEN LET X=1051
8018 IF A$="K" OR A$="L" OR A$="M" THEN LET X=1081
8019 IF A$="J" OR A$="N" THEN LET Y=1081
8020 IF A$="K" THEN LET Y=1091
8021 IF A$="N" THEN LET Z=1091
8025 IF A$="X" THEN GOTO 9900
8999 RETURN
9000 REM RESTACKS GOTO POSITIONS
9001 CLS
9002 LET N=X
9003 LET X=Y
9004 LET Y=Z
9005 LET Z=Q
9006 LET Q=V
9007 LET V=C
9008 LET C=0
9009 IF N>1 THEN GOTO N
9010 GOTO 80
9100 SAVE "ANALYSI[S]"
9101 GOTO 1
9102 REM [C]1982,[C]1984
9900 CLS
9901 PRINT AT 10,2;"EXIT ENGINE ANALYSIS PROGRAM"
9999 STOP

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