.LM 10;RM 70;FI .CE 3 @&CONSOLE^DEBUGGING^HELP By John Guion Dallas TI Home Computer Group .CE @PROBLEM^AREAS .IN +12 1)^^Console will not power up 2)^^Keyboard errors 3)^^Intermittent console lock up 4)^^Module errors 5)^^Joystick port errors 6)^^Video output difficulty 7)^^Sound problems .IN +0 The &TI-99/4A &Console &and &Peripheral &Expansion &System &Technical &Data manual available from Texas Instruments' Dealer Parts Department [(806) 741-2265] will serve as an excellent source for schematics and part location guide. The information contained herein is only intended for use as a reference for possible debugging procedures. It is not intended as a repair guide for the common user with little or no knowledge of digital electronics or the basic structure of the TI-99/4A system. The author assumes no responsibility for damages resulting from improper use of this information. This information should only be reproduced in its entirety with credit to the original author. .BP .LM 10;CE @1)^CONSOLE^WILL^NOT^POWER^UP .IN +0 @1.1^General^information. .IN +5 Failure of the TI-99/4A console to power up and produce the TI title screen is a common problem that is also the hardest to track down and fix since failure of nearly any component in the console or power supply can cause this. The following are not intended as solutions to the problem, but merely as points to check that may aid in finding the actual problem and fixing it. Unless a particular part is suspected, replace any socketed chips possible with known working equivalents before desoldering any components. Since the socketed chips are common causes of lock up, eliminating them as possible problems first may save excess soldering on the board. The console will power up if the sound chip is removed entirely, but not if that chip is shorted internally. A simple TTL logic probe can be used for tracing signals in the circuit. An oscilloscope may also be used and has the advantage of being able to check clock signals for proper frequency. When a signal should exist as an output from a particular device, be sure to check that device's input for proper signals before attempting to replace the component. When checking for locked up signals, try to trace all signals back through the circuit to the point of origin. A set of schematics (available from several sources, including TI) will help greatly in this part of debugging. Tracing locked signals can determine whether or not the signal is missing due to a faulty component that it must pass through or what power up operation was occurring during lock up. .IN +0 @1.2^Console^power^up^procedure. A. TMS9900 CPU resets and addresses low ROM locations. B. TMS9900 initializes. C. TMS9900 sets up workspace registers in MCM6810 RAM. D. TMS9900 begins GROM read. E. TMS9900 enters delay loop for about 1/4 second. F. TMS9919 sound chip is disabled. G. TMS9918A VDP chip is initialized. H. 4116 VDP RAM is initialized (requires about 1 second). I. Title screen is loaded into VDP. J. TMS9919 sound chip emits beep. K. TMS9900 CPU enters keyboard scan. L. System is ready for use. .BP @1.3^Voltage/signal^checklist. A. Check power supply for +5V, +12V, and -5V. Lack of -5V often results in a gray flickering screen on power up. Check for +5V on chips throughout board. Check TMS9900 for -5V at pin^1; +5V at pins^2, 33, 59, and 64; and +12V at pin^27. If any voltages are missing, check for shorts on main board. Replace power supply if necessary. B. Check TMS9900 pins^8, 9, 25, and 28 for clock signal. If not found, check TIM9904 clock generator pins^1, 2, 3, and 4 for clock signal. If not found, check TIM9904 supply voltages (+5V at pin^20, +12V at pin^13), crystal, and tank circuit. If no external problem can be found, possible TIM9904 failure. C. Check TMS9918A pin^39 and pin^40 for the 10.73863 MHz clock. If missing, check crystal and oscillator circuit. Otherwise, check TMS9918A pin^36 and pin^37 for clock outputs. If not found, remove GROMs and sound processor (located next to GROMs) and test again for clock. If missing, possible TMS9918A failure. Reinsert GROMs and sound processor after tests. D. Check TMS9918A pins^14 (-CSW) and^15 (-CSR) for lock up. If locked up, check memory enable from pin^6 of 74LS32 and pin^13 of 74LS138 located next to MCM6810. Trace signal to find possible failure. E. Check TMS9918A pin^13 (MODE) for lock up. If locked up, trace signal back to TMS9900. Also check for other components that may be locking up this line (it is used as A14). If no other fault can be found on that line, possible TMS9918A failure. F. Check TMS9918A pin^1 (-RAS), pin^2 (-CAS), and pin^11 (-R/W) for lock up. If locked up, possible TMS9918A failure. G. Check TMS9918A pins^17 through 24 (data lines) for signals. If missing, trace to fault. Possible TMS9918A or TMS9900 failure. H. Check TMS9918A pins^3 through 10 (RAM address/data lines) for signals. If missing, possible TMS9918A failure. I. Check 4116 RAM pin^14 (DATA OUT) on each chip for signal. Each chip missing signal may be at fault as well as TMS9918A. J. Check TMS9900 pin^62 (READY) for lock up. If locked up, check TMS9900 pin^6 (-RESET) for signal. If pin^6 is locked up low, possible TIM9904 failure. If high, possible TMS9900 failure. If TMS9900 pin^6 is not locked up, trace circuit back from pin^62 to find fault. K. Check all three GROMs (CD2155, CD2156, and CD2157) at pin^10 (-CS) and pin^15 (GREADY) for signals. If either is missing, remove all three GROMs and test pin^10 again for signal. If the signal at pin^10 does not exist, trace back through circuit to find failure. If signal exists, replace GROMs one at a time until GROM that causes lock up on pin^15 is found. L. Check all three GROMs for signal on pin^11 (M0/A14) and pin^12 (M1/DBIN). If missing, trace circuit to find break in signal path. M. Check each GROM for -5V at pin^14, +5V at pin^9, and -.8V to -.6V at pin^16. If missing, check for broken trace. If -.8V/-.6V is missing or at -5V, check diode connected to that line. N. Remove sound generator. If console powers up, check pin^16 for +5V, pin^4 for clock from TMS9918A, pin^5 (-WE) for signal, and pin^6 (-CS) for signal from 74LS138 closest to MCM6810. If these signals exist, possible sound chip failure. O. Check TMS9918A pin^36 for composite video output. If missing, check TMS9918A crystal and clock circuit and pin^16 (-INT) for interrupt signal. If signals exist, possible TMS9918A failure. P. Check GROMs for clock on pin^13. If missing, check clock output on TMS9918A pin^37. If signal on TMS9918A exists, check for break in signal path. If not, check TMS9918A oscillator circuit. If oscillator operates, possible TMS9918A failure. Q. Check pin^20 (-CS) of console ROMs for lockup. If locked up, trace circuit back to find fault. R. Check pins^7 and 9 through 15 of 74LS138 nearest I/O port to determine memory area accessed during lock up. Check pin^4 (-MEMEN) for lock up. If no signal can be found on pin^7 or pins^9 through 15, possible 74LS138 failure. S. Check pin^11 (-CS) of MCM6810 RAMs for lock up. If locked up, trace circuit back to find fault. T. Check TMS9901 pin^5 (-CE) for lock up. If locked up, check 74LS138 nearest I/O port for failure. Check TMS9901 pin^11, 17, and 18 for lock up. If locked up, trace circuit back to find fault. .BP .CE @2)^KEYBOARD^ERRORS .IN +0 @2.1^General^information. .IN +5 After much use, the keyboard will sometimes malfunction and key presses will not appear to have any effect or will only work part of the time (either single keys or groups of keys). Keys may also show multiple entries even though only one key was pressed. The TI-99/4A's keyboard is set up using an X-Y matrix to allow encoding of output signals from a 74LS156 to drive the interrupt inputs of the TMS9901. This method requires only 15 lines to encode all 48 keys. Keyboard failure is almost always a mechanical problem, but occasionally one of the computer's support components will fail and cause similar problems. .IN +0 @2.2^Possible^causes^and^solutions. A. If only one key works intermittently or not at all, that single keyswitch is probably dirty or damaged. Some keyboards may allow for disassembly and repair while others make single key repair less practical than replacement of the entire unit. B. If a group of keys has suddenly failed to work properly, it is likely that the switches in the keyboard are good and that some common component has failed. Typically, this is a broken wire or faulty driver chip. Consult a keyboard schematic to determine control lines common to groups of keys. When a common line is found, check continuity from the keyboard to the main board. If continuity exists, check loading resistors on the control lines from the keyboard connector before replacing any chips. C. If the ALPHA LOCK key fails to operate properly and the console has been modified with the addition of a diode in the ALPHA LOCK circuit, remove the diode and replace with a piece of wire. The diode is added by some users to allow use of joysticks with the ALPHA LOCK depressed, but it sometimes introduces a timing problem and is not reliable. D. If some keys do not work at all and others result in improper entries, check the keyboard plug connector for proper alignment. E. If a group of keys with a control line common to the 74LS156 fail to function and continuity exists to the main board, use a logic probe to check for output pulses on pins^4 through 7 and 9 through 12 of the 74LS156. F. If the entire keyboard fails to function and continuity exists to the main board, replace the 74LS156 and test again. G. If 74LS156 replacement has no effect, replace the TMS9901 and test again. .BP .CE @3)^INTERMITTENT^CONSOLE^LOCK^UP .IN +0 @3.1^General^information. .IN +5 Occasionally, a console will suffer from lock up during regular use of software. This may be caused by either a software error, a hardware error, or a disturbance of the system. Assuming that software errors and outside disturbance (such as bumping the flex-cable connector accidentally) have been eliminated as possible causes, several conditions may cause random locking up of the console during use. Causes for random console lock up fall into three main categories: power supply, heat, and poor connections. .IN +0 @3.2^Possible^causes^and^solutions. A. Check the computer's supply line voltage. The transformer input should be approximately 117VAC. The output of the consoles internal supply should be +5V, +12V, and -5V. Aprroximately 5% variations for each of these are tolerable. B. Test the computer in different surroundings. If the computer consistently works at another location or with different equipment attached, it may be affected by some components connected to it or by electrical interference from the 117VAC supply. C. If lock up only occurs after some period of use, the problem may be heat related. Make sure the console's ventilation slots are not blocked. Check the heatsink of the TMS9918A for sufficient heat-conducting grease as well as the TIM9904 if it has a heatsink attached. A cooler switching power supply may be installed to help further lower operating temperature. D. If the console fails to run certain modules reliably (such as Extended BASIC) and such modules often need reseating several times, the GROM port should be changed. This typically occurs with modules that use contacts on both sides of the edge connector in the module, as is the case with Extended BASIC. Cleaning the GROM port may also help, but the problem will probably appear again shortly unless a new port is installed. When replacing or cleaning the port, be sure to remove the felt or foam wiper from the clip-on cover to the port. The wiper may be removed with a small screwdriver and solvent. Replace the plastic cover once the wiper material has been removed. Do not use any type of lubricant since this will attract dirt and cause further problems. E. A poor connection at the consoles I/O port on the side may also lead to occasional problems. If problems persist after checking for a secure connection, remove any device connected to the side port and use alcohol and a stiff piece of paper to clean the inner contacts on the device. Remove the main board from the console and clean the edge connector with a pencil eraser followed by wiping with an alcohol-treated pad. Only light rubbing is needed with the eraser in order to remove surface oxidation and produce a clean surface. Excessive rubbing will not help and can remove too much plating from the board, especially if this procedure is repeated multiple times. F. Check the power plug at the back of the console for tightness. A loose connection may cause occasional power failure. If this plug is loose, use pliers or other suitable device to bend the pins in the receptacle SLIGHTLY towards each other. A small piece of electrician's tape around the plug will also help secure the connection. .BP .CE @4)^MODULE^ERRORS .IN +) @4.1^General^information. .IN +5 Certain modules may fail to work in the console either intermittently or at any time. Although this is usually the fault of the GROM port, modules do sometimes fail or have other reasons for not working. Before attempting any repair, however, it is important that the module in question be tried several times in the suspect console as well as another console. Be sure that other modules are also tested in the suspect console. This will help in finding the faulty component. If the console does not offer TI BASIC as an option from the module selection screen and displays an "INSERT CARTRIDGE" message when no module is inserted, the console cannot find TI BASIC in GROMs 1 and 2 (chip numbers CD2156 and CD2157, respectively). Replace GROM 1 and test again. If some of the commands in BASIC fail to function, replacement of GROM 2 may also be required. .IN +0 @4.2^Possible^causes^and^solutions. A. If various modules have intermittent problems and often require reseating the modules in the GROM port, the GROM port should be replaced or cleaned. This condition is usually noticed first with modules that use contacts on both sides of their edge connectors, although it may occur with any module. Such a condition usually worsens with further use and is commonly a problem with consoles that have modules removed and inserted often. B. If one particular module consistently fails to place a module selection of the TI menu, that module is most likely defective. This is also the case with modules that consistently lock up the computer when a specific function is attempted, indicating some portion of that module's program is damaged. If the module is a Texas Instruments produced device, the GROMs' part numbers usually indicate their GROM addresses relative to each other. A memory editing or debugging program may be useful in determining a faulty GROM by allowing viewing of the GROM contents. Since only five 8K GROM address ranges may exist in a module (at GROM addresses >6000, >8000, >A000, >C000, and >E000), the number of 8K blocks locatable by the memory editor or debugger should be equal to the number of GROM chips in the module. If less blocks are found, GROM chips should be selectively removed until the faulty chip is found. If the module also has a ROM chip in it, the ROM contents may also be examined with a memory editor. The console allows for one 8K block of CPU memory at >6000. C. With the exception of some specialized GROM-emulating modules, nearly all non-TI produced modules contain only ROM and no GROM. This ROM is usually a single chip that may not be repaired. A few companies produced bank switched ROM modules (TI Extended BASIC also contained bank switched ROM in addition to GROM). If a ROM only module is determined to be at fault, it may contain bank switching components that have failed. Internal inspection of the module must be done to determine if repair is possible with replacement of bank switching components. Few, if any, aftermarket module manufacturers will sell replacement ROM chips. Module replacement is usually necessary. D. If most non-TI modules will not run in the console, check the TI title screen for a 1983 copyright notice. If found, the console contains the TI operating system which prevented use of non-TI modules. This operating system may be bypassed with some software programs or aftermarket hardware adaptors. Replacement of GROM 0 in the console (chip number CD2155) with a chip from an earlier production console will replace the newer operating system and permanently solve the problem. .BP .CE @5)^JOYSTICK^PORT^ERRORS .IN +0 @5.1^General^information. .IN +5 The TI-99/4A supports two eight-point joystick controllers, each with a single fire button control. Both units share a common port using a 9-pin DB9 male connector on the side of the console. With the exception of a single driving line to each joystick, all five control lines from each joystick (UP, DOWN, LEFT, RIGHT, and FIRE) are connected together at the plug. Interference between signals is avoided by the use of diodes on each control line in each joystick unit. Adaptors for using other brand joysticks (i.e.^Atari) alter the pin assignment configuration as well as supply the diodes in the adaptor unit as they are not normally used in other joysticks. It is suggested that a joystick with a suspected problem be tested with another console as well as testing the console with a different joystick (if available) since joystick port problems may be either the fault of the console or of the joysticks. Joystick errors that are accompanied by keyboard errors are usually the fault of the console unit itself and not the joysticks. When checking the joystick signal and driver lines for continuity, check the circuit then switch the test leads used and test again. Since diodes are used, existing continuity may fail to appear unless polarity is reversed on the testing device. .IN +0 @5.2^Possible^problems^and^solutions. A. If one position on a single joystick fails (as opposed to the same position on two simultaneously connected units), it is most likely a mechanical problem related to that unit. Disassemble the joystick and test for continuity across the contact points on the position in question. The circuit should be completed when the joystick is moved towards that position. Also check for continuity from each of the lines from the joystick to the plug. If continuity exists, replace the diode connected to the control line affected by the problem position and test again. B. If the joystick will not operate the UP position, check the ALPHA LOCK key to make sure it is not depressed. Since the ALPHA LOCK may be sticking, go to TI BASIC and make sure that lower case can be entered as well as upper case when the ALPHA LOCK is depressed. If not, consult the section on keyboard repair. If the console has been modified with the addition of a diode to allow use of the UP position on the joysticks when the ALPHA LOCK is depressed, remove this diode and replace it with a piece of wire. In many consoles, the diode introduces a timing problem that will prevent proper function of the joystick and/or the ALPHA LOCK key. This commonly appears as an ALPHA LOCK malfunction after the console has been in use for a few minutes. C. If one position fails on both joysticks and the ALPHA LOCK function has been tested, check for continuity from each joystick control line to the plug. If continuity exists, check each key on the keyboard for proper function since all five control lines from the joysticks are connected directly to the keyboard control lines. If keyboard failure also occurs, replace the 74LS156 in the console and test again. If problems still exist, replace the TMS9901 and test again. D. If one joystick unit fails entirely, but the other unit (or the same unit plugged into the other port of an adaptor), check for continuity from the driver line to the joystick (pin 2 or pin 7 on the plug, depending on which joystick is in question). If continuity exists, check (or replace) the driver transistor connected to that control line in the console located near the joystick port connector. Also check the appropriate driver line for a short to ground which would indicate a faulty capacitor or transistor between the driver line and ground. If errors still exist, replace the 74LS156 in the console and test again. E. If both joysticks fail entirely, check each joystick with the above method. If problem is still not found, replace the TMS9901 in the console and test again. .BP .CE @6)^VIDEO^OUTPUT^PROBLEMS .IN +0 @6.1^General^information. .IN +5 The TI-99/4A console uses a five-pin DIN plug at the back of the unit to supply a composite video output for use with either a composite monitor or a video modulator used in conjuction with a television set. The composite video signal is created by the TMS9918A VDP chip and amplified by an external circuit located within the console. When diagnosing video output problems, first eliminate software as a possible problem. If one particular program causes problems, it is probably not the fault of the system and no hardware repair is possible. Since either the monitor or television used may cause many problems, connect the console in question to a known good monitor or TV. Also, connect a different console to the existing monitor or TV. This will easily determine whether it is the computer or monitoring device which is at fault. Only computer and video modulator problems are discussed here. .IN +0 @6.2^Possible^problems^and^solutions. A. If using a video modulator, testing the console with a known good composite monitor will easily determine if the modulator is at fault. If a monitor is not available, simply recheck all connections from the console to the television and try various switch combinations on the modulator unit. Due to the low cost, availability, and difficulty of repairing video modulators, problems with the modulator are best solved by replacement. The exception is that occasionally the two leads extending from the modulator to the television will have broken connections. Simply shortening or replacing these leads may fix a variety of output problems that occur with this unit. B. If the console has no video output with either a monitor or video modulator, then either the DIN plug receptacle, the console's amplifier circuit, the TMS9918A VDP chip, or a TMS9918A support component has failed. Each case assumes that the console is functioning and has not locked up. This may be determined by listening for the "beep" that accompanies power up or "blind typing" operations that would activate peripherals such as disk drives. If no evidence can be found that the computer is operating with the exception of video output, consult the section concerning power up problems. To locate the faulty component, first test the monitor cable or modulator for continuity of signals lines to the DIN connector. If continuity exists, remove the main board from the console and inspect the DIN connector for bad solder joints or misplaced pins. Test again for continuity from the cable or modulator to the main board. If continuity exists, use either test leads or a soldered wire to connect pin 36 of the TMS9918A to pin 4 of the DIN receptacle (CAUTION: Be sure to connect the proper pins since voltages on certain pins of the DIN receptacle can damage the TMS9918A). Remember to remove this jumper after testing. This procedure bypasses the external amplifier completely. A proper video image should appear if the amplifier circuit is defective, but the image will appear dimmer than normal. If the video output appears to function, any component in the amplifier circuit may be faulty. Unless an obviously faulty component can be located, replace the two transistors (Q200 and Q201) first as they are most likely to fail. If no video image has appeared, check pin 40 of the TMS9918A for a pulsed logic signal (this should be 10.73863 MHz) from the video oscillator circuit. If this signal is missing, first check other components in this circuit for damage then replace the crystal located next to the TMS9918A. If this signal exists, check pins 13, 14, and 15 on the TMS9918A. If signals exist here, replace the TMS9918A. If the signals are missing, trace these to their points of origin to find the break in the signal path. C. If the video image is distorted, first check the computer with another monitor since this is usually the fault of the monitor or modulator/TV combination. If the cause is determined to be the console, bypass the external amplifier in the method described above. If the only effect is dimming of the image, remove the jumper and continue. If the distortion is corrected and a dim image appears, the fault is in the amplifier circuit. If not, remove the jumper and adjust the tuning coil near the TMS9918A VDP chip. If the problem still is not corrected, replace the TMS9918A and test again. D. If a console only outputs monochrome (black and white) video, adjust the tuning coil located near the TMS9918A. If color does not appear anywhere within its full range of adjustment, replace the 10.73863 MHz crystal located next to it. If this has no effect, replace the TMS9918A VDP chip and test again. E. If the TI title screen appears "jumbled" on power up and shows unwanted or oddly shaped characters, but not at other times, console GROM 0 (CD2155) may be faulty. This may also be accompanied by errors in using module software. Replace GROM 0 and test again. If this has no effect or if screen display is disturbed with unwanted or improper characters when running assembly programs, a 4116 RAM chip in the console may be faulty. Faulty RAM is usually accompanied by an inability to run programs in console BASIC. There are eight identical RAM chips in the console, and any one may cause the described symptoms (these chips, located in a row below the TMS9918A, may have a different number than 4116, such as 8216, but are still compatible). One of the easiest ways to find the faulty RAM is to acquire an extra 4116 dynamic RAM chip. Bend the legs together slightly so that it may be "piggy-backed" on top of an installed 4116 RAM (it may need to be held in place by hand). Put the chip on top of each 4116 chip in turn until some effect on the screen is noticed (be sure that all the pins are touching the lower chip or this method will not work). Test all the 4116 RAMs in the console. If one chip shows to have some effect on the display, check it repeatedly to ensure that the 4116 chip used for testing is making good contact. If the effect is repeatable, replace that RAM. Also test any remaining chips since multiple RAMs may be faulty. If no effect can be found when testing the RAMs in this manner, replace the TMS9918A and test again. .BP .CE @7)^SOUND^PROBLEMS .IN +0 @7.1^General^information. .IN +5 The TI-99/4A uses the TMS9919 sound processor to produce one noise and up to three tone outputs for use by the monitor or television's amplifier and speaker. This chip also has the ability to accept an external sound signal input that may be joined with its output, as in the case of the TI Speech Synthesizer. Output level from the sound chip is programmable, but this signal must still be amplified in order to drive a speaker. Three versions of the sound processor chip were used in the TI-99/4A, each being numbered differently. The earlier consoles used chips numbered SN76489 . The later chips were numbered either SN76494 or SN94624. The earlier chips required a 3.58 MHz clock signal derived from the TMS9918A VDP chip and supplied to the sound processor through a piece of hand-wired coaxial cable. In later units, the sound chips were revised to use the same 447.443 KHz clock as the GROM chips and no coaxial cable was used. The different clocks are not interchangeable. Essentially, four problems may exist that concern the sound processor: console lock up due to chip failure (see section on power up problems), improper sound frequency, lack of sound output, and inability to accept sound input from another device. .IN +0 @7.2^Possible^problems^and^solutions. A. If the sound chip produces tone frequencies excessively higher or lower than normal, first check the chip number to to see if the proper chip has been installed for the clock wiring on the board. A board wired for the later clock should have continuity between pin 14 of the sound processor and pin 37 of the TMS9918A VDP chip. A board wired for an earlier clock will have continuity between pin 14 of the sound processor and pin 38 of the TMS9918A VDP chip. If this type of sound problem has developed after a period of proper operation, this check is not necessary since the chip could not have properly operated with incorrect wiring. If proper wiring exists, check pin 14 for the appropriate clock signal frequency. If the clock signal is missing, check the clock output pin of the TMS9918A VDP chip corresponding to the proper clock frequency. If missing, replace the TMS9918A chip. If the signal exists at the TMS9918A, inspect wiring between the sound processor and the TMS9918A. If the sound processor does have the proper clock on pin 14, replace the sound processor and test again. B. If no sound output from the system exists, check the sound processor using the method described above. Check pin^6 (-CS) and pin^5 (-WE) of the sound processor with a logic probe for activity during a CALL SOUND command from BASIC. Also check or replace the 100 microfarad capacitor between pin 7 of the sound processor and pin 3 of the five-pin DIN output port on the back of the console. If no sound exists, replace the sound processor and test again. C. If the sound processor will output proper sounds to the monitor but will not accept sound input from another device (usually the Speech Synthesizer), check for 330 ohm resistance between pin 9 of the sound processor and pin 44 of the I/O port on the side of the console. If this circuit is open, replace the resistor between these two points. If this has no effect, check for a short to ground from pin 4 of the cassette interface port. If this is shorted, replace the .001 microfarad capacitor between this line and ground. Also inspect transistor Q400 (connected through two resistors to pin 4 of the cassette port) as well as the capacitor across it for shorting. Replace if necessary.