Return to index

Toro Gen IV Diagnostics

If you have a Generation IV Toronado, you have a built in diagnostic system that can be accessed through the Instrument Panel Cluster (IPC) and either the Air conditioning head unit or the Visual Information Center (VIC), depending which you have fitted.

The diagnostics are very useful in identifying faults in the car's electronic circuits. By making careful use of the options available, it is possible to narrow down the location of faults.

To make full use of the diagnostic system, you need a reference manual. The GM workshop manual is still available and I strongly recommend that you get one.


I have a 1991 Toronado Trofeo with the VIC option, hence these notes apply directly to that car. However, the non-VIC car is also covered. As far as I am aware any GM car (not Cadillac) with "tempmatic" (automatic, you set the temperature, the car does the rest) air conditioning control from this era has similar controls. The Gen IV cars were made from 1985 to 1992. The exact codes available will vary by year.

The diagnostic system uses the display on the IPC for data values and the VIC or a/c unit for mode displays. The system is driven by the buttons on the a/c unit or soft buttons on the VIC.

To use diagnostics you need the ignition on. The engine does not need to be running, some options are not available depending on whether the engine is running or not. If you have a serious fault such that any of the data highway, IPC, VIC (or a/c) unit, or Body Control Module (BCM) are not working, you won’t be able to enter diagnostics. Try a scan tool instead.

To enter diagnostics, switch the ignition on and press "Warm" and "Off" simultaneously for about 4 seconds. The "warm" button is a soft button on the VIC, the "off" button is the hard off button by the climate control button. Without the VIC, use the a/c "warm" and "off" buttons. Don't do this as the driver of a moving car. You can run diagnostics while the car is being driven.


Any stored codes will be displayed (on VIC press "No" if you don't want to wait), note them down if you are interested. Ideally you won't have any.


When all codes have been displayed, you get the "ECM?" prompt (on the IPC).


Once in diagnostics, you have a number of options. You have to keep an awareness of which level you are at. So if you start with the ECM (a level 1 item) and say "Yes", you get ECM options (level 2). The first is "ECM Data?". If you say "Yes" to that, you get the various ECM variable sensor data (level 3). Pressing "Yes" now takes you from one data input value to the next (still level 3). Pressing "No" here takes you backwards through the same list (level 3). If instead you pressed "No" to the "ECM Data?" question, diagnostics prompts with the next ECM option, "ECM Inputs?" (level 2). Pressing "Yes" allows you to cycle through the on/off input data, but if instead you press "No" again, you get offered the next item which is "ECM Outputs?". To go up a level you press the "Levl" button, to stay at the same level but be offered the next option you have to take the "No" route and to go down to a lower level you have to press "Yes". In the Override page, you can force values up and down using the slew buttons. I won't explain the snapshot function, it is too complex for this page, but is not too difficult to work out.

Data that is binary data gets coded to indicate if it has changed while displayed and what state it is in.

"X" and "O" are used to trace intermittent problems or other transient signals, e.g. a push button.

A triple line (like a row of equals signs, ===) means the value cannot be set, usually because the engine is running.

Fault codes are stored as current or history, during the initial display of codes diagnostics indicates whether the code is current or not.

The ignition cycle counter is used by diagnostics to clear codes automatically. If 99 starts occur without any codes being recorded, then stored codes are erased. The ignition cycles also tells you at least how long a code has been in history, it is set to zero each time a code is set. You can't work out when an individual history code was set (unless you have only one).


When fixing problems indicated by codes, look at them all, but generally start with the lowest number first. Sometimes the presence of certain groups of codes narrows down the problem.

The anti-lock brakes have a separate code reporting system, as does the ECM. Both can use the bulb flash method or a suitable scan tool, however for the ECM, this method is the easiest.

Diagnostic menu tree

Level 1

Level 2

Level 3


ECM Data?







ECM Inputs?







ECM Outputs?







ECM Override?







ECM Clear codes?

Yes = Codes cleared, pause and get next level 2 option.


ECM Snapshot?

Read manual on how to use this.


BCM Data?







BCM Inputs?







BCM Outputs?







BCM Override?







BCM Clear codes?

Yes = Codes cleared, pause and get next level 2 option.


BCM Snapshot?

Read manual on how to use this.


IPC Inputs?







SIR Clear codes?

Yes = Codes cleared, pause and get next level 1 option (ECM?).


Use "Rtn" to exit diagnostics ("bi-level" on the a/c method). Sometimes I have to "press" it for a second or two.


If you don't have the VIC option, replace yes, no, slew and level with the following:



The VIC displays little triangles for certain state information. If you don't have the VIC you get the same information using the a/c display panel indicators.


ECM status "lights"


BCM Status "lights"


Link to ECM/PCM diagnostic codes here.

Link to BCM, CRT & DID diagnostic codes here.

Submitted by: Jon Gordon-Smith