Keith has provided a wealth of information over the past couple of years on the ZCS codes, which at present can only be generated by X-part/Omitec, and they charge a sum for the codes.
Keith posted up loads of information on the codes and what information makes them up.
SA BLOCK
TV Module: This denotes if TV module is fitted or not.
Tourer: This denotes if the vehicle is Tourer or not.
European Emission Legislation: This denotes if the vehicle complies to European Commission Directive legislation 2003 for emission or not.
Transit: This denotes the vehicle is in transport mode or not.
Self Levelling: This denotes if the vehicle is fitted with SLS or not.
Alarm: This denotes if auto is fitted with an alarm and if the alarm it is an US alarm or not.
Octane Number: The octane number is a measure of the fuel’s ability to resist knock in a standard engine test, and the term "Research Octane Number" (RON) is therefore often used. The higher the octane number, the better the knock resistance. This denotes the RON used.
Rain sensor: This denotes if a rain sensor is fitted or not.
FED Emission: This denotes the vehicle complies to the Federal Emission regulation or not.
Pencil Coils:This denotes if the vehicle is fitted with pencil coils or not.
Instrument Pack Sounder for PDC: This denotes if PDC is using the instrument pack sounder or not.
PDC: This denotes if the vehicle is fitted with park distance control or not.
Rear Wash Wipe: This denotes if the vehicle is fitted with rear wash wipe or not.
Daytime Running: This denotes if daytime running is enabled or disabled.
Headlamp Delay: This denotes if the headlamp delay feature is fitted or not.
Xenon Lights: This denotes if xenon lights are fitted or not.
Cruise Control: This denotes if cruise control is fitted or not.
Traction Control: This denotes if traction control is fitted or not.
One Shot Up: This denotes if the one shot up feature for the driver window is enabled or not.
One Shot Down:This denotes if one shot down feature for the driver window is enabled or not.
Wheels: This denotes if the vehicle is fitted with 18 inch alloys or not.
Air Condition: This denotes the type of the air condition that is fitted in the vehicle: ATC (Automatic Temperature Control) air condition, Manual Air condition, Heater, Parking Heater.
Rear Pretensioner: This denotes if rear pretensionerare fitted in the vehicle.
Head Airbag: This denotes if head airbags are fitted or not.
Side Airbags: This denotes if side airbags are fitted or not.
Memory Driver Seat: This denotes if memory seat is fitted or not.
Electric Sunroof: This denotes if electric sunroof is fitted or not.
Battery Alarm: This denotes is the alarm has a backup battery or not.
Lamp Wash: This denotes if lamp wash is fitted or not.
Fuel: This is the fuel type used in the vehicle, ethanol, diesel, petrol leaded and unleaded.
Ambient 50: This denotes if ambient 50 is fitted or not.
Post Cat Oxygen Sensor: This denotes if post cat oxygen sensor is fitted or not.
ECD2:This denotes if the vehicle complies to European Commission Directive legislation 2002 for emission or not.
Telephone: This denotes if a telephone is fitted or not.
Anti Trap: This denotes if anti trap is fitted or not.
Front Fog Warning: This denotes if front fogs warning are used for warning or not.
Electric Windows: This denotes if the vehicle is fitted with both front and rear electric windows or only with front electric windows.
There are 18 groups under the SA section which has been discovered from screenshots from other forums, and also confirmed from an un-named party!
The SA string is 16 characters long and in a hexadecimal format. Once an option is changed it alters a specific character of the string and gives a new string telling the car the option is either disabled or enabled. The information Keith posted on the make up of this string is shown in the groups above and used to give the 16 characters. The only things I’m not sure about is the phone option? It’s missing from the picture... Also the bottom 3 groups are two singles and a double, making 18 groups not 16 so these presumably are combined.
TV Module: This denotes if TV module is fitted or not.
Tourer: This denotes if the vehicle is Tourer or not.
European Emission Legislation: This denotes if the vehicle complies to European Commission Directive legislation 2003 for emission or not.
Transit: This denotes the vehicle is in transport mode or not.
Changing any of these four options changes the first character in the string. How you calculate this character was the next stumbling block. A few past posts have mentioned binary so converting the hexadecimal to binary shows a lot of 1’s and 0’s, which is not really that helpful when searching for a pattern. However, convert to decimal and it becomes clear. Taking the first character of the SA string and then marking off the four options the car in question has, do for several cars and look for the common theme...
Example (using a lot of info from Duncan (lowedb))...
Hex = E, Decimal = 14, Options = TV, Tourer, EEL
Hex = 6, Decimal = 6, Options = Tourer, EEL
Hex = 0, Decimal = 0, Options = none
Hex = 2, Decimal = 2, Options = EEL
Hex = A, Decimal = 10, Options = TV, EEL
Notice that the difference between (TV, Tourer, EEL) and (Tourer, EEL) is 8, just EEL is 2, and (TV, EEL) is 10.
Also notice that if we subtract 2 from the (Tourer, EEL) so 6-2 = 4, assume that Tourer = 4, look at the first and last examples there is a difference of 4 and a difference of a tourer option.
We can assume that each option takes a decimal value of, TV = 8, Tourer = 4, TV = 2 and Transit = ?, Nothing = 0. Messing around on my car we can actually take transit = 1 which incidentally has a nice binary reference.... 1, 2, 4, 8
8 - TV Module
4 - Tourer
2 - European Emission Legislation
1 - Transit
Sum the answer and convert to Hex using Microsoft Excel and the Analysis Toolpak which can be installed from the CD if not already installed. Using =DEC2HEX it converts the value to a hexadecimal value and we get the first number of our data string. Now seeing as there are 16 groups each with 4 options you have to assume they're all the same method of working!
We have 16 characters so need 16 groups of options, using the information provided again by Duncan, Keith and "borrowed picture", assuming the correct order, as I’ve not had it confirmed, maybe xpart can confirm this?? These are comprised as the following...
TV Module
Tourer
ECD 3
Transit Mode
Self Levelling
No Alarm or US
Alarm with US
Alarm No US
Ron 95
Ron 90
Rain Sensor
Federal Emissions
Pencil Coils
PDC KMC Sounder
PDC
Rear Wash Wipe
Daytime Running Lamps
Head Lamp Delay
Xenon Head Lamps
MY 2004
Cruise Control
Traction Control
X12 ATCC Diag
Engine Fan Speed
One Shot Up
One Shot Down
Rain Sensor G2
PDC 4 Sensors
Long Wheel Base
Distance KM
SA 7 - 2
18 Inch Alloys
ATC Aircon
Manual Aircon
Heater
Parking Heater
SA 9 - 8
No Rear Pretensioner
Airbag Curtain
Side Airbags
SA A - 8
Mem Drivers Seat
SA A - 2
SA A -1
Electric Sunroof
Remote Boot Release
Remote Glass Release
Battery Backed Alarm
EOBD
Lamp Wash
LPG (Liquified Petroleum Gas)
Ron 92
Ethanol 22 PC
Diesel Fuel
Unleaded Fuel
Leaded Fuel
Ambient 50
Post Cat Oxy Sensor
ECD 2
ACU C 10
Anti Trap
Front Fog Warning
F/R Electric Windows
Front Electric Windows
Assign the numbers 8, 4, 2,1 respectively to each group starting with 8 at the top of the group down to 1 at the bottom and we have our SA code. To actually change the code on the car we need the checksum digit. Compile the whole lot to Excel and it will generate the SA string on the options you provide. With a bit of help from an Excel help forum I have managed to reverse it and compile the options on the car from the SA string. Checking it against Lovel’s screen shots give pleasing results, which does suggest the options are in the right order! However I think at least 40-50, maybe more sets of data should be pushed through, and even then used with caution. I will provide the excel sheet to anyone who is a subscribed member, so pay your subs before asking for it! Enough information is here to compile your own though. My Excel sheet is locked, but without password for easy unlocking. I’ve done it to stop accident changes to cells, causing errors. However, please unlock, improve it, send me back a copy if you can.
Remember the usual disclaimer rules apply, I am definitely not held responsible for any use of this at all. Remember one wrong digit and you are royally stuffed!!!
Please post up information especially regarding errors, and please submit anything useful for working out the GM and VN codes.
I thought I had the GM on the right tracks but with some information provided by xpart im a bit dubious at the moment. So I’m going to go back and look at some more information. The next two posts are spare for me to edit so we can keep it all together in uniform. Please don’t delete them mods.
The 135ps xpower map is being investigated, so if you have your unlock code and dont mind sharing it along with your VIN (Vehicle Identification Number), please forward them on to me. Any information is held in the strictest of confidence and will be deleted if you ask, or when I discover how to calculate them.
IPK (Instrument pack (IPK from the German)) is still being investigated as well...