/*
 *************************************************************************
 *                                                                       *
 *                      ROBERT BOSCH GMBH                                *
 *                          STUTTGART                                    *
 *                                                                       *
 *          Alle Rechte vorbehalten - All rights reserved                *
 *                                                                       *
 *************************************************************************

 module:           var316.c

 derived from:     var316.c 

 function:         Variantenselektion für Projekt ME7.1 05/6004.01 
 					(V6, 71052)


 FDEF:             %VAR 316.110


 *************************************************************************
 * Administrative Information (automatically filled in by PVCS)          *
 *************************************************************************
 * $Archive:  
 * $Author:   LEE2SK  $
 * $Date:   Oct 19 2000 03:08:54  $
 * $Revision:   11.1  $
 *************************************************************************


 *************************************************************************
 * Points to be taken into consideration when/if the module is modified: *
 *************************************************************************

 >>>>>>> -------------------------------------<<<<<<<
 >>>>>>> Anzupassende Stellen suchen mit '##' <<<<<<<
 >>>>>>> -------------------------------------<<<<<<<

 List Of Changes
 ***************

 <date>     <name>      <rev>   <description>

 24.10.97   K3/EEV3 Ci  1.0     N: Variantenselektion für Projekt ME7.1 05/6004.01 
 								(V6, 71052)
 03.12.97   K3/EEV3 Ci  2.0     F: In function checkVarKod call ForcePowerfail added
								   for activating a powerfail at the next restart,
								I: Function setVarKod new, for writing directly 
								   in eeprom by k71mn501.c
 05.12.97   K3/EEV3 Ci  2.1     F: Variantenkriterium vkFzgtyp2 added
 29.01.98   K3/EEV3 Ci  3.0     F: Variantenkriterium vkGetriebe2 added 
 20.03.98   K3/EEV3 Ci  4.0     F: Code-Anteile für Assembler-Variantenkodierung
  									aktiviert, wegen Aussetzererkennung
 22.04.98   K3/EEV3 Ci  4.1     F: Variantenkriterium Getriebeart3 für
 									Aussetzererkennung eingeführt
 15.05.98   K3/EEV3 Ci  4.2     F: Änderung Codierziffern "Spezial",
 									Liste der unterstützten Varianten VARTABC erweitert
 19.05.98   K3/EEV3 Ci  4.3     I: VARTABC nach far verlegt, weil in near nicht mehr 
 									genügend Platz war
 10.06.98   K3/EEV3 Ci  5.0     I: no changes
 18.06.98   K3/EEV3 Ci  5.1     P: Schleifenzähler i als Word definiert
 25.08.98	K3/EEV3 Ci	6.0		F: Variantenkriterium Abgas hinzu
 10.09.98   K3/EEV3 Ci  6.0.1.0 S: Variantenkriterium Abgas korrigiert in VARTABC
 09.12.98   K3/EFS5 Ci  8.0     I: nur noch projektspezifische Anteile
 08.02.99	K3/ESI4-Fe	9.0		F: new FDEF version %VAR287.90
								   (changed nothing in .c)	
 03.03.99	K3/ESI4-Fe	10.0	F: new FDEF version %VAR287.100
	 							   (added coding for MJ00 and MJ99, switch for ESKONF in 
 								   case of B_epcden)	
 30.03.99	K3/ESI4-Fe	11.0	F: new FDEF version %VAR287.110
								   (changed nothing in .c)	
 27.05.99   K3/ESI4 Ls  12.0    F: new FDEF version %VAR287.120
 								I: bit access for B_epcden changed to bitmacro
								I: rename define NULL to ZERO and EINS to ONE
 08.10.99	K3/ESI4-Fe	13.0	F: new FDEF version %VAR287.130
								   (no changes here)	
 06.12.99	AS-PMO-Fe	14.0	F: new FDEF version %VAR287.140
								   (no changes here)	
 -------------------------------------------------------------------------
 29.12.99	RBKR/SAE31-PDK	1.0	F: %VAR287.140 -> %VAR316.10
 13.01.00	RBKR/SAE31-PDK	2.0	F: %VAR316.10  -> %VAR316.20
 23.02.00	RBKR/SAE31-PDK	3.0	F: %VAR316.20  -> %VAR316.30
 09.03.00	RBKR/SAE31-PDK	4.0	F: %VAR316.30  -> %VAR316.40 (vkEPC removed)
 13.03.00   K3/ESI4-Hs		4.1 F/I: -var_ini, -var_1000ms, -check_mirror, 
									+code classes
									adapted to varkod. of PedCh
 05.05.00	K3/ESI4-Hs		5.0 F: %VAR316.40  -> %VAR316.50
 01.06.00	RBKR/SAE31-PDK	6.0	F: %VAR316.50  -> %VAR316.60 (nothing changed here!)
 29.06.00	RBKR/SAE31-PDK	7.0	F: %VAR316.60  -> %VAR316.70 (nothing changed here!)
 14.07.00	RBKR/SAE31-PDK	8.0	F: %VAR316.70  -> %VAR316.80 (nothing changed here!)
 02.08.00	RBKR/SAE31-KDJ	9.0	F: %VAR316.80  -> %VAR316.90 (nothing changed here!)
 31.08.00	RBKR/AEG31-KDJ 10.0	F: %VAR316.90  -> %VAR316.100 (+FSWALUV)
 11.09.00	K3/ESI4-Hs	   10.1 S: vkPedal <--> vkGetriebe2	
 18.10.00	RBKR/AEG1-KDJ  11.1	F: %VAR316.100  -> %VAR316.110 
 \*{list_of_changes...}*\

 *************************************************************************
*/


#define     VAR_ModId                /* module identifier */


/* Include Headerfiles                                                  */
/* ===================                                                  */


#include   PROJECT_H       /* project specific header file              */
                           /*  (defined in MAK- or PSB-file)            */
#include   <var.d>
                           /* DAMOS definitions and declarations:       */
                           /*  - definitions of local RAMs, exported    */
                           /*    RAMs and Application Parameters        */
                           /*  - declarations of imported RAMs and      */
                           /*    Application Parameters                 */

#include	<varasm.v>  	  /* ## nur notwendig, wenn es Assembler-Kenngrößen
							  gibt, die variantencodiert sind */
/************************************************************************/
/*                 Module Internal Definitions                          */
/************************************************************************/

/* Define-Constants                                                     */
/* ================                                                     */

/*{constant_definition...}*/

/* Macros Local To This Module                                          */
/* ===========================                                          */

/*{macro_definition...}*/

/* Local Module RAM-Definitions (attribute static)                      */
/* ===============================================                      */

/* Definition of variables only local to this module. That is, not to   */
/* be exported to other modules and not relevant for calibration.       */

/*{static_ram_definition...}*/
/*{static_bitstruktur_definition...}*/

/* Local Constant Definitions											*/
/* ===============================================                      */

typedef struct 
{
	Word	TabPmcod;			/* Parametercode  			*/
	Byte	TabPedCh;			/* Index für vkGetriebe4 	*/
	Byte	TabAntrieb;			/* Index für vkAntrieb  	*/
	Byte	TabASR;				/* Index für vkASR  		*/
	Byte	TabGetriebe;		/* Index für vkGetriebe 	*/
	Byte	TabGetriebe2;		/* Index für vkGetriebe2 	*/
	Byte	TabGetriebe3;		/* Index für vkGetriebe3 	*/
	Byte	TabFzgtyp;			/* Index für vkFzgtyp  		*/
	Byte	TabFzgtyp2;			/* Index für vkFzgtyp2  	*/
	Byte	TabFzgtyp3;			/* Index für vkFzgtyp3  	*/
	Byte	TabModelljahr;		/* Index für vkModelljahr	*/
} T_vartabc;					/* ## */

/* Absicherung: ANZ_VARTAB (definiert in VARx.KGS)
 darf nie größer sein als ANZ_VARTAB) */
#if (ANZ_VARTAB > ANZ_VARTABC)  
  #error >>>> VAR: value out of range {ANZ_VARTAB > ANZ_VARTABC} <<<<<
#endif							

const T_vartabc far VARTABC[ANZ_VARTABC] = { /* ## */
		/* 	vkPedCh	= 0 : HS 
			vkPedCh	= 1 : CVT oder ZF 5HP-19
			--------------------------
			vkAntrieb 	= 0 : Front
			vkAntrieb 	= 1 : Quattro
			--------------------------
			vkASR		= 0	: mit ASR
			vkASR		= 1	: ohne ASR
			--------------------------
			vkGetriebe	= 0 : HS 5-Gang
			vkGetriebe	= 1 : ZF 5HP-19
			vkGetriebe	= 2 : CVT
			--------------------------
			vkGetriebe2	= 0 : HS oder AT
			vkGetriebe2	= 1 : CVT
			--------------------------
			vkGetriebe3	= 0 : HS oder CVT
			vkGetriebe3	= 1 : ZF 5HP-19
			--------------------------
			vkFzgtyp	= 0 : B/D-Klasse
			vkFzgtyp	= 1 : C-Klasse								   
			--------------------------
			vkFzgtyp2	= 0 : B/C-Klasse
			vkFzgtyp2	= 1 : D-Klasse									
			--------------------------
			vkFzgtyp3	= 0 : B-Klasse
			vkFzgtyp3	= 1 : C/D-Klasse									
			--------------------------
			vkModelljahr= 0 : Modelljahr00
			vkModelljahr= 1 : Modelljahr99							   
			--------------------------								*/

		/* 	Achtung:  Index 0 soll laut H.Ludwig in diesem Projekt 
		              keine Automat-Variante sein ! 				*/
		/*  PMC		vkPedCh,vkAntrieb,	vkASR,	vkGetriebe,	vkGetriebe2,vkGetriebe3,vkFzgtyp, vkFzgtyp2, vkFzgtyp3, vkModelljahr	*/
/* EU2 */	 4001,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			0,			/* HS 5-Gang */
		 	 4002, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 4003, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 4501, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 4502, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 4503, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 4201, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 4202, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 4203, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 4701, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 4702, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 4703, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			0,
				 
			 4051,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			0,			/* ZF 5HP-19 */
			 4052, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 4053, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 4551, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 4552, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 4553, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 4251, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 4252, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 4253, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 4751, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 4752, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 4753, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			0,
				 
			 4081,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			0,			/* CVT */	
			 4082, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 4581, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 4582, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 4281, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 4282, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 4781, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 4782, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
				 											 
/* EU3 */	 5001,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			0,			/* HS 5-Gang */
		 	 5002, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 5003, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 5501, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 5502, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 5503, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 5201, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 5202, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 5203, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 5701, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 5702, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 5703, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			0,
				 
			 5051,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			0,			/* ZF 5HP-19 */
			 5052, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 5053, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 5551, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 5552, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 5553, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 5251, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 5252, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 5253, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 5751, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 5752, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 5753, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			0,
				 
			 5081,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			0,			/* CVT */	
			 5082, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 5581, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 5582, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 5281, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 5282, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 5781, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 5782, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
				 											 
/* GUS/Ch */ 8001,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			0,			/* HS 5-Gang */
		 	 8002, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 8003, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 8501, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 8502, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 8503, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 8201, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 8202, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 8203, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			 8701, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			 8702, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			 8703, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			0,
				 
			 8051,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			0,			/* ZF 5HP-19 */
			 8052, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 8053, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 8551, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 8552, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 8553, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 8251, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 8252, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 8253, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			 8751, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			 8752, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			 8753, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			0,
				 
			 8081,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			0,			/* CVT */	
			 8082, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 8581, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 8582, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 8281, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 8282, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			 8781, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			 8782, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
				 											 
/* EU4 */	11001,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			0,			/* HS 5-Gang */
			11002, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			11003, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			11501, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			11502, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			11503, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			0,
			11201, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			0,
			11202, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			11203, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			11701, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			11702, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			11703, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			0,
				 
			11051,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			0,			/* ZF 5HP-19 */
			11052, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			11053, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			11551, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			11552, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			11553, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			0,
			11251, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			0,
			11252, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			11253, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			11751, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			11752, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			11753, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			0,
				 																	 
			11081,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			0,			/* CVT */
			11082, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			11581, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			11582, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
			11281, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			0,
			11282, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			11781, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			11782, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
																											 
/* ULEV */	16001,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			0,			/* HS 5-Gang */
		 	16002, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			16003, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			16501, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			16502, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			16503, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			0,
			16201, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			0,
			16202, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			0,
			16203, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			0,
			16701, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			0,
			16702, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			0,
			16703, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			0,
				 
			16051,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			0,			/* ZF 5HP-19 */
			16052, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			16053, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			16551, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			16552, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			16553, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			0,
			16251, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			0,
			16252, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			0,
			16253, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			0,
			16751, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			0,
			16752, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			0,
			16753, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			0,
				 
			16081,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			0,			/* CVT */	
			16082, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			16581, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			16582, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
			16281, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			0,
			16282, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			0,
			16781, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			0,
			16782, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			0,
				 											 
/* EU2 */	 4005,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			1,			/* HS 5-Gang */
		 	 4006, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 4007, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 4505, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 4506, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 4507, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 4205, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 4206, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 4207, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 4705, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 4706, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 4707, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			1,
				 
			 4055,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			1,			/* ZF 5HP-19 */
			 4056, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 4057, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 4555, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 4556, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 4557, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 4255, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 4256, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 4257, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 4755, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 4756, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 4757, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			1,
				 
			 4085,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			1,			/* CVT */	
			 4086, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 4585, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 4586, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 4285, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 4286, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 4785, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 4786, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
				 											 
/* EU3 */	 5005,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			1,			/* HS 5-Gang */
		 	 5006, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 5007, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 5505, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 5506, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 5507, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 5205, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 5206, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 5207, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 5705, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 5706, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 5707, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			1,
				 
			 5055,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			1,			/* ZF 5HP-19 */
			 5056, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 5057, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 5555, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 5556, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 5557, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 5255, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 5256, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 5257, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 5755, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 5756, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 5757, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			1,
				 
			 5085,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			1,			/* CVT */	
			 5086, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 5585, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 5586, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 5285, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 5286, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 5785, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 5786, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
				 											 
/* GUS/Ch */ 8005,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			1,			/* HS 5-Gang */
		 	 8006, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 8007, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 8505, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 8506, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 8507, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 8205, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 8206, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 8207, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			 8705, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			 8706, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			 8707, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			1,
				 
			 8055,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			1,			/* ZF 5HP-19 */
			 8056, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 8057, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 8555, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 8556, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 8557, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 8255, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 8256, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 8257, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			 8755, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			 8756, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			 8757, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			1,
				 
			 8085,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			1,			/* CVT */	
			 8086, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 8585, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 8586, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 8285, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 8286, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			 8785, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			 8786, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
				 											 
/* EU4 */	11005,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			1,			/* HS 5-Gang */
			11006, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			11007, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			11505, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			11506, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			11507, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			1,
			11205, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			1,
			11206, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			11207, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			11705, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			11706, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			11707, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			1,
				 
			11055,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			1,			/* ZF 5HP-19 */
			11056, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			11057, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			11555, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			11556, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			11557, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			1,
			11255, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			1,
			11256, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			11257, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			11755, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			11756, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			11757, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			1,
				 
			11085,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			1,			/* CVT */
			11086, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			11585, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			11586, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
			11285, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			1,
			11286, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			11785, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			11786, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,

/* ULEV */	16005,	0,		0,			1,		0,			0,			0,			0,	 	  0,	 	 0,			1,			/* HS 5-Gang */
		 	16006, 	0,		0,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			16007, 	0,		0,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			16505, 	0,		0,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			16506, 	0,		0,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			16507, 	0,		0,			0,		0,			0,			0,			0, 	 	  1,		 1,			1,
			16205, 	0,		1,			1,		0,			0,			0,			0, 	 	  0,		 0,			1,
			16206, 	0,		1,			1,		0,			0,			0,			1, 	 	  0,		 1,			1,
			16207, 	0,		1,			1,		0,			0,			0,			0, 	 	  1,		 1,			1,
			16705, 	0,		1,			0,		0,			0,			0,			0, 	 	  0,		 0,			1,
			16706, 	0,		1,			0,		0,			0,			0,			1, 	 	  0,		 1,			1,
			16707, 	0,		1,			0,		0,			0,			0,			0, 		  1,		 1,			1,
				 																	 
			16055,	1,		0,			1,		1,			0,			1,			0,	 	  0,	 	 0,			1,			/* ZF 5HP-19 */
			16056, 	1,		0,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			16057, 	1,		0,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			16555, 	1,		0,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			16556, 	1,		0,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			16557, 	1,		0,			0,		1,			0,			1,			0, 	 	  1,		 1,			1,
			16255, 	1,		1,			1,		1,			0,			1,			0, 	 	  0,		 0,			1,
			16256, 	1,		1,			1,		1,			0,			1,			1, 	 	  0,		 1,			1,
			16257, 	1,		1,			1,		1,			0,			1,			0, 	 	  1,		 1,			1,
			16755, 	1,		1,			0,		1,			0,			1,			0, 	 	  0,		 0,			1,
			16756, 	1,		1,			0,		1,			0,			1,			1, 	 	  0,		 1,			1,
			16757, 	1,		1,			0,		1,			0,			1,			0, 		  1,		 1,			1,
				 
			16085,	1,		0,			1,		2,			1,			0,			0,	 	  0,	 	 0,			1,			/* CVT */	
			16086, 	1,		0,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			16585, 	1,		0,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			16586, 	1,		0,			0,		2,			1,			0,			1, 	 	  0,		 1,			1,
			16285, 	1,		1,			1,		2,			1,			0,			0, 	 	  0,		 0,			1,
			16286, 	1,		1,			1,		2,			1,			0,			1, 	 	  0,		 1,			1,
			16785, 	1,		1,			0,		2,			1,			0,			0, 	 	  0,		 0,			1,
			16786, 	1,		1,			0,		2,			1,			0,			1, 	 	  0,		 1,			1
				 											 
			};	
			
const Word far VARTABC_END;      /* Endelabel fuer interne Tabelle der Variantencodierung */
                                                        /*  Notwendig fue Checksummentool                                  */

#pragma asm
 _ANZ_VARTABC           EQU   ANZ_VARTABC;      Zeilenlaenge  fuer  VARTABC
                                                                         ;      Notwendig fue Checksummentool
  global _ANZ_VARTABC
#pragma endasm

const Word far PMCVKCSTAB[2*ANZ_VARTABC];

					 

/* Local Prototypes (attribute static)                                  */
/* ===================================                                  */

/* Declarations (Prototypes) of functions, only used in this module     */
void set_indexpointer(Word i);
Word get_vartabc_pmcod(Word i);
Word get_vartabc_cksum(Word ipmcod_w, Word i);
/*{static_function_prototype...}*/

/************************************************************************/
/*                 Global Definitions                                   */
/************************************************************************/

/* Exported RAM-Definitions                                             */
/* ========================                                             */

/* Definition of variables to be exported to other modules but not      */
/* relevant for application                                             */

/*{data_definition...}*/

/* Imported RAM-Definitions                                             */
/* ========================                                             */

/* Declaration of variables to be imported from other modules but not   */
/* relevant for application                                             */

/*{extern_data_definition...}*/

/************************************************************************/
/*                Process Definitions                                   */
/************************************************************************/

/****************************************************************
process:  get_vartabc_pvmod
purpose:  Gibt den Wert des Variantenkodewortes zurück, das an der durch Index
			bestimmten Position in VARTABC steht  
input:	  Index
output:	  Variantenkodewort	VARTABC[i].TabPmcod
****************************************************************/
#pragma save_attributes
#pragma class PR=Code100ms
Word	get_vartabc_pmcod(Word i)
{
	return(VARTABC[i].TabPmcod);
}
#pragma restore_attributes

/****************************************************************
process:  set_indexpointer
purpose:  Setzt die Indexpointer mit den Werten aus VARTABC, die an 
			der durch Index gekennzeichneten Position stehen 
input:	  Index
output:	  void
****************************************************************/
#pragma save_attributes
#pragma class PR=Code100ms
void set_indexpointer(Word i)
{
	/* wenn keine Umschaltung Pedal-Charakteristik: vkPedCh = 0 */
	/* vkPedCh		= 0;  */	
	/* wenn Umschaltung Pedal-Charakteristik: vkPedCh aus VARTABC */
	
	vkPedCh 	= VARTABC[i].TabPedCh;		/* ## evtl. erweitern */
	vkAntrieb 	= VARTABC[i].TabAntrieb;
	vkASR 		= VARTABC[i].TabASR;		 
	vkGetriebe 	= VARTABC[i].TabGetriebe;		 
	vkGetriebe2 = VARTABC[i].TabGetriebe2;		 
	vkGetriebe3 = VARTABC[i].TabGetriebe3;		 
	vkFzgtyp 	= VARTABC[i].TabFzgtyp;		 
	vkFzgtyp2 	= VARTABC[i].TabFzgtyp2;		 
	vkFzgtyp3 	= VARTABC[i].TabFzgtyp3;		 
	vkModelljahr= VARTABC[i].TabModelljahr;		 

	/* 	Folgendes Makro ist nur notwendig, wenn es Assembler-Kenngrößen
		gibt, die variantencodiert sind. Das Makro wird von DAMOS generiert.
		Die Adressen der Kenngrößen sind abhängig von vk*.
		Die Adressen der gültigen Kenngrößen, stehen nach der Ausführung
		des Makros in den RAM-Zellen ram<Kgr>. 
	*/
	SETADRASM; 								 /* ## */
}
#pragma restore_attributes

/****************************************************************
process:  get_vartabc_cksum
purpose:  Gibt die Checksumme der durch den Index bestimmten Zeile von
			VARTABC zurück  
input:	  pmcod_w, Index
output:	  Checksumme der Zeile VARTABC[index]
Byteweises aufsummieren der Zeile VARTABC[index], 
anschließendes Komplementieren.
vkPedCh soll immer in der Summe enthalten sein, auch wenn keine 
Umschaltung der Pedalcharakteristik über VARTABC vorgesehen ist
(vkPedCh ist dann = 0). 
****************************************************************/

#pragma save_attributes
#pragma class PR=Code100ms
Word	get_vartabc_cksum(Word ipmcod_w, Word i)
{
	Wrd spmcod_w;
	Word cksum_w;

	spmcod_w.wrd = ipmcod_w;

	cksum_w = (Word)(~(spmcod_w.byt.h + spmcod_w.byt.l + vkPedCh 
							   + vkAntrieb 	
							   + vkASR 		
							   + vkGetriebe 	
							   + vkGetriebe2 
							   + vkGetriebe3 
							   + vkFzgtyp 	
							   + vkFzgtyp2 	
							   + vkFzgtyp3 	
							   + vkModelljahr
				));								 /* ## evtl. erweitern */

	return cksum_w;
}
#pragma restore_attributes

/*{processes...}*/
