############## Bank 0 Comments #########################################################



023AE # 1-> SAPW Line Spark Output /* SAPW Analog EDIS Communications */
023C2 # 2-> Serial Digital (SPI) Output  /* SPI-2 Communications */
023C4 # 0x3E8 = SPI2_BTWN_PIP_RPM_LIMIT
023CB # /* Check Engine Speed limit */
023D1 # /* Special Command to Send */
023D3 # /* Or Spark to Drop */
023D9 # /* Set Flag */


02524 # 0x3E8 = 1000
0263B # B4_FLAG_REG13 = FP_MR_ENA
0263E # B6_FLAG_REG14 = FP_PC_ENA
02653 # B4_FLAG_REG13 = FP_MR_ENA
02656 # B6_FLAG_REG14 = FP_PC_ENA
02679 # B4_FLAG_REG13 = FP_MR_ENA
0267C # B6_FLAG_REG14 = FP_PC_ENA
02681 # B4_FLAG_REG13 = FP_MR_ENA
02684 # B6_FLAG_REG14 = FP_PC_ENA
02712 # 0x7F = RF_PID_FEEDBACK_TMP ????
02772 # MODULATED FUEL PUMP
0277D # ELECTRONIC RETURNLESS FUEL PUMP


02848 # SHOULD THESE BE DARC_PWM[FP].PERIOD_HOLD
02854 # AND DARC_PWM[FP].WIDTH_HOLD ?? CRAI8 9-131-BOTTOM OF PAGE

03585 \n\n #/* Check to see if the tip-in logic is still active.  */
035A1 \n #/* Execute this logic only once per cylinder event on the high PIP edge  */
035A4 # IF NOT ON HIGH PIP EDGE GOTO 03699 = PSW = pop()
04BDA # 0x7F = OK
04BE1 # 0x1 = DISABE_PATS
06B39 # 0x2E = PCM_C_CODE_???
06B59 # 0x8 = 1.0
06C09 # 0x8 = 1.0
06BCF # 0x36 = MIL_COMMAND_STATE or SCPMIL_MESSAGE
06C53 # 0x14 = O/D OFF (TCIL_OFF)
06C59 # 0x94 = O/D ON (TCIL_ON)
06C60 # 0x38 = TCILSCP_MESSAGE

06CBA # 0x8 = 1.0
06CC0 # 0x3A = SCPPDL_MESSAGE
06CEB # /* Vehicle speed sensor not present */
06D17 # 0x3E = RPM_ROC_TP_SCP_MESSAGE
06D49 # 0x40 = TRANSM_CONFIG_SCP_MESSAGE  (TRANS_AXLE_1, AXLE_RATIO_I, AXLE_RATIO_F)
06D58 # 0x83 = /* Load the "shift-in-progress" value */
06D67 # 0X3 = /* Load the "shift-not-in-progress" value */
06D75 # 0X42 = TRANSM_GEAR_POS_SCP_MESSAGE (SCP_SFT_IN & ACTUAL GEAR FROM 5.2.40.2 Get_gear_pos) 
06D85 # /* Transm Gear is 1 */
06D8A # /* Transm Gear is 2 */
06D8F # /* Transm Gear is 3 */
06D99 # /* Transm Gear is 4 */
06D9B # /* Load the temp parameter */
06DA0 # /* Unkown / invalid gear position */ /* Load the temp parameter */
06DB0 # 0x66F9 = 1.609 
06DB4 # CONVERT VS TO VS_KPH
06DBC # 0x44 = VS_KPH_SCP_MESSAGE
06DCC # /* Vehicle speed sensor not present */
06DD3 # 0x46 = VS_SCP_MESSAGE
06E6C # /* IF PATS Status has been determined */
06E71 # 0x12C = 300 msec


06E88 # [TEMP3L+2] = (DATA_1_TMP) CRAI8 6-64
06E8F # /* IF PCM ID Request secondary msg ID received */
06EA1 # /* PATS Status Request msg ID received */
06EAE # /* Challenge Response status msg ID received */
06EC9 # /* PATS Key status msg secondary ID received */
06ED2 # /* IF we have already determined it is OK to start */
06ED7 # /* OR we have determined there is a THEFT */
06ED9 # /* Send STATUS to PATS to inform it of conditions */
06EDD # [TEMP3L+3] = (DATA_2_TMP) SCP_PATS_ST and/or SCP_CHL_RSP1 (ENCODED) CRAI8 6-64
06EE4 # /* ELSE IF data byte 2 contains invalid data */
06EF3 #  /* Load received key read status */
06EF7 # [TEMP3L+4] = (DATA_3_TMP) SCP_CHL_RSP2 and/or SCP_PATS_KEY (ENCODED) CRAI8 6-64
06EFB # /* Load the key number */
06F0D # 0x48 = PATS_CHL_CD_SCP_MESSAGE (PATS_CHL_CD1 - CD4)
06F1D # 0x4A = PATS_CHL_RSP_SCP_MESSAGE
06F74 # /* All blocks have been transferred */
06FC1 # 0x4C = PATS_KEY_STATUS_SCP_MESSAGE
06FCA # 0x4E = PATS_PCM_ID_STATUS_SCP_MESSAGE (ENCODED) CRAI8 6-78
06FD3 # /* Load the 'Enable' data byte */
06FDD # /* It is OK to start */
06FDF # /* Load the 'Disable' data byte */
06FE6 # 0x50 = PATS_ENCR_ST_SCP_MESSAGE
07008 # /* Write the special binary patterns to KAM */
07022 # /* Individual features will reset */
0702A # /* Send error flag to Self-Test. */
07035 # [TMP1L+1079A] = ISCKAM [0-3]
0704F # 0x1 = 2.4414e-4
07058 # [TMP1L] = ISCKAM [0-3]
070DA # TMP5L = FN_SRLK_RESULT (SPEED RATIO AS A FUNC OF NET TORQUE OUTPUT)
07139 # TMP5L = VS_LK_TMP
073D6 # TM_LK_DLY = UWOTDLY
0764A \n\n  # /***** A/C OVERCYCLE DETERMINATION LOGIC *****/
076C4 \n\n  # /*****  AC COMPENSATION LOGIC *****/


0780A # 0x333 = TSTALL
0782B # 0x7780 = 29.875
07838 # /* Initial engine start-up value of air charge */
0783C # /* Lock-out recalculation of initial air charge, 1 -> indicates air has been initialized */ 
0786A # = AIR_VOL_EFF_CORR
07888 # 0x7780 = 29.875
078C0 \n\n # /* Set-up manifold filling parameters */

078C5 # 0xb815 = 11781.34
07910 \n\n #  /* Estimate the pressure inside the intake manifold */
0798E \n\n # /* A special filter can be selected for use at idle */
07A08 \n\n # /* Timestamp, for use later */
07A78 # CONVERTS TIME STAMP FROM EARLIER TO SECONDS ??
07AA9 # CONVERTS TIME STAMP FROM EARLIER TO SECONDS ??
07AED # 0x800 = PG_DC_TMP _??
07AEF # 0x800 = PG_DC_TMP _??
07B22 # UNMEASURED FLOWS CONVERTED TO MASS
07CAA # (PRLDSW == 1) NOT PERCENT LOAD, NOT CORRECTED FOR AMB PRESS NORMALIZED AIR CHARGE
07CAD # (PRLDSW == 2) NOT MAF BASED, ENSURES THAT SOME VALUE GETS ASSIGNED 
07CD1 # (PRLDSW == 0) MAF BASED, CORRECTED FOR AMB PRESS
07DB2 # 0xB130 = 453.6 grams per lbm
07DDE # 0x1FE = 255
07DEA # /* PID definition for value of engine load transmitted via SCP */
0C91E # TARGET_RAP_TMP
0CCC2 # B6_FLAG_REG15 = FP_DPSFLTFLG
0CCCC # B6_FLAG_REG15 = FP_DPSFLTFLG
0CCDC # B6_FLAG_REG15 = FP_DPSFLTFLG

0CE8F # 0x1E = 60.0 DEGF
0CF6D # 0x7 = ER_RUNNING
0CF72 # 0x8 = E0_RUNNING
0CF77 # 0x9 = OTM_RUNNING
0CF8B # [R0]ZERO = INITIAL_STATE


0DA20 # MIL_CODE_TABLE
0DA28 # 0xAAE = NUM_MIL_CODES
0DA3D # [900] START_OF_CODE_TABLE
0E6E6 # 0x1FE = 255
0E732 # 0xCE = 1.609
0EC45 # 0x5F = ER_DONE
0EC57 # 0x0 = ER_INACTIVE
0EC5C # 0xA = EGR_ER_INIT
0EC61 # 0x14 = EGO_ER_INIT
0EC69 # 0x5A = ER_CLEANUP
0ECE1 # 0x1 = ER_INIT
0ECE6 # 0x2 = ISC_HI_WAIT
0ECFE # 0x3 = ISC_HI_CHECK
0ED03 # 0x3 = ISC_HI_CHECK
0ED12 # 0x4 = ISC_HI_DONE
0ED17 # 0x5A = ER_CLEANUP
0ED24 # 0x4 = ISC_HI_DONE
0ED26 # 0xA = EGR_ER_INIT
0ED2B # 0xB = EGR_ER_DONE
0ED30 # 0xC = ISC_HI_WAIT2
0ED53 # 0x14 = EGO_ER_INIT
0ED68 # 0x15 = EGO_ER_DONE
0EDA5 # 0x1E = SAIR_ER_INIT
OEDBD # 0x1F = SAIR_ER_DONE
OEDC8 # 0x1F = SAIR_ER_DONE
0EDD3 # 0x3C = ISC_LO_WAIT
0EDD8 # 0x3C = ISC_LO_WAIT
0EDE8 # 0x3D = ISC_LO_CHECK
0EDF1 # 0x3D = ISC_LO_CHECK
0EE04 # 0x3E = ISC_LO_DONE
0EE0F # 0x3E = ISC_LO_DONE
0EE11 # 0x5A = ER_CLEANUP
0EE19 # 0x5A = ER_CLEANUP
0EE20 # 0x5F = ER_DONE
0EE2B # 0x5F = ER_DONE
0EE2D # 0x0 = ER_INACTIVE




############## Bank 1 Comments #########################################################



18710 # START_OF_DTC_CHART
188BD # END_OF_DTC_CHART

############## Bank 8 Comments #########################################################

82408 # [19584]
8240C # [12715] 0x8
82410 # [12714] 0x4
82417 # 0x4 != 2
82419 # [195EA]
8241D # [12716] 0x8
82421 # 0x4 != 4
82426 # [19650]
8242A # [12417] 0x8
82431 # 0x4 != 6
82433 # [19584] 0x5B8D
82437 # [12715] 0x8
8243B # [RCE] 0x5B8D
8243E # [296] \s296
82445 # [144DE] 0x2
8244E # [144D0] \s144D0

8245C \n\n     # SJump from L82452 \s144DE = 2 \t83\s823CE
8245D # [144D0] \s144D0


84F62 # (RANNUM * RANMUL)
84F66 # (RANNUM * RANMUL) + (RANMUL / 4)
84F6A # RANNUM = (RANNUM * RANMUL) + (RANMUL / 4)
84F6A \n\n #/* Support programs with adaptive air charge correction */
84F7E # LOAD_TMP = LOAD_RAW
84F7E \n\n # /* Calculate the cell to be updated this background pass. */
85003 \n\n # /* Service adaptive cell residency timer, which is used by the OBD-II Fuel System Monitor.  */
85023 # /* Reset the adaptive residency timer to prevent similar conditions reset */
8502B \n\n # /* Determine if adaptive is enabled/disabled or if adaptive area has changed. */
8506E \n\n # /* Calculate the LAMBSE windows, LAMWIN1 and LAMWIN2. LAMBSE values must be outside this window to initiate adaptive fuel table updates.  */
85097 \n\n # /* Calculate the EGO based learning rate. This logic gives the system the capability to learn faster during "green engine" conditions. */
850EF \n\n # /* Determine if adaptive cells should be incremented/decremented, bank 1.  LTMTB1 cells are updated when the  following  conditions
850EF \n #  are satisfied.  Note that r = ROWTBU and c = COLTBU in the following charts.  */
8511E # LTMTB1[rowtbu][coltbu] + KAMCOL # AND KAMROW # = [TMP9L]
854F4 \n\n # /* Normalize the desired injector delay to be between 0 and 720 degrees.??? */
854F7 # 0x2D00 = 720
85501 # 0x2D00 = 720 
85503 # 0x2D00 = 720 
85503 \n\n #/* The following section calculates the desired injector delay in absolute crank angle degrees after TDC of the cylinder associated with the reference PIP signal edge.  */
857F1 \n\n #Sbg857F2_RZAxxxxx_9.6.1_BACKGROUND_TRANSIENT_FUEL_LOGIC:

859CB # /* Assume wet manifold at startup */ SECTION OF 9.6.1.2_BEGIN_TFC_BG_STAGE2_CALCULATIONS

85EA1 # /* initialize to closed position */
85EA4 # 0x4CC0 = 307  /* set to intermediate value */
85EAB # 0xFF = 31.875  /* initialize to close valve value */
85EB5 # 0xFF = 255  /* set time since EPTZER update */
85EC8 # 0x1900 = 100  /* re-initialize per parameter editor */
85ED0 # 0x1900 = 100  /* re-initialize per parameter editor */
85F74 # ( EGR_TPCUTOUT = 0 )

86127 # ( EGR_IMR_MOD = 1 )
86167 # 0x320 = 100
8623E # 0x4CC0 = 307
862C6 # 0x4000 = 29.875

88258 # NDT_PPM logic: This returns a zero value for NDT_PPM at all times
88719 # 0x3D = ISC_LO_CHECK
897C0 # 0x14 = EGO_ER_INIT
8996A # 0x8000 = 1.0
89EC3 \n\n #/***** Determine compensation factor *****/
89EF1 \n\n # /***** Calculate shift points *****/
89EFC # 0xFF = 127.5
8A0FD \n\n #/* Trans. is hot - alter 2-1 shift */
8A164 \n\n #/* Trans. temp ok - allow normal 2-1 shift */
8A31C # 0xF4 = 122

8AC33 # 0x3380 = 1.609375
8B831 # SETS P1744MON FLAG TO 1
8BDB4 # SETS P1742_MALF TO 1
8C0BD # TMP0L = 0x4 = GEAR_TOP = 4TH GEAR
8C1A1 # BYTE VALUE 7= TRANS_MALFUNCTIONS
8C206 # [Rde]=[Rba10A80] = P1760_RECORD
8C20C # (PC_RESTART)B0_TRANS_MALFUNCTIONS = TR_OUT_FLASH_TMP   [TRANS OUTPUT MALFUNCTION]
8C266 # B1_TRANS_MALFUNCTIONS = TR_FN_FLASH_TMP  [TRANS FUNCTIONAL MALFUNCTION]
8C2B8 # B2_TRANS_MALFUNCTIONS = TR_IN_FLASH_TMP  [TRANS INPUT MALFUNCTION]

8C412 \n\n     #IS THIS MATH AND NORMALIZING ROUTINE OR ASSIGNING NVBASE,RTNOVS, RT_GR_CUR FOR S_8C345 ???



8c53a # /* Disable TOT in range test */
8C56D # /* Trans should warm up faster with an open TCC - upcount faster, but do not count above 65,535 */ 
8C57D # /* Upcount counter by one since TCC is locked and will not warm-up as fast as if it were open, but do not count above 65,535 */
8C58C # /* TOT_CNTS low (TOT high) */ /* Perfrom region 1 test */
8C591 # /* TOT_CNTS in region 2 */ /* Perform region 2 test */
8C59D # /* Perform region 3 test */
8C60C # /* Increment the ok event counter, but do not count above 255 */
8C612 # /* Zero the bad event counter */
8C63E # /* Incremnt test failed counter, but do not count above 255 */
8C644 # /* Zero test ok counter */
8C651 # /* Enough good events to consider test passed */
8C65C # /* Enough bad events to store code */
8C660 # /* End test */
8C66F # /* TOT_CNTS low at start-up (TOT high ) */
8C67D # /* TOT_CNTS in mid range at start-up */
8C684 # /* Region 2 test NOT calibrated in */
8C692 # /* TOT_CNTS high at start-up, (TOT low) */


8C745 # /* KAM data invalid. */
8C748 # 0x4000 = 1 /* Reset to (1) for KAM error. */
8C756 # /* Reset to (0) for  KAM error. */
8C75E # /* Reset to (0) for KAM error. */
8C76E # /* KAM has been corrupted */
8C774 # /* N/V in KAM outide allowed range */
8C776 # /* clear KAMQC, causing KAM reset */
8C77D # /* VSS NOT failed */
8C780 # /* OSS NOT failed */
8C787 # /* Vehicle IS power on */
8C797 # /* vehicle speed signal NOT reliable */
8C79E # /* vehicle speed too high to calc N/V */
8C7A5 # /* output speed signal NOT reliable */
8C7AC # /* output speed too high to calc N/V */
8C7AE # /* reset delay/interval timer */
8C7BD # /* entry conditions meet long enough */
8C7CF # NOV_CALC = OSDIAG / VSDIAG; /* Calculate a new N/V */
8C7D3 # /* reset delay/interval timer */
8C7D7 # /* a new N/V calculated */
8C7DC # /* calculate average N/V */
8C7DE # /* do 4x4L switch test */
8C7E0 # /* No new N/V calculated */
8C7DE \n\n # JUMP FROM L_8C7B2
8C7E0 # /* No new N/V  */
8C7F2 # rt_novs = rt_novs_kam * RT4X4L /* modify shift schedule by transfer case ratio */
8C7F6 # ???? NOT SURE EXACTLY WHAT THIS IS DOING, ASSUME IT REFERS TO SHIFT FUNCTION ????

8CD90 # 0x80 = 1.0
8CDDD # GET BIT 0 of SW_TQM
8CDE2 # IF BIT 0 of SW_TQM = 0

8D03D # PDL_LST = MAN1
8D03F # PDL = MAN2
8D04B # GEAR_CUR = 1
8D166 # IGR_DS = GR_CM + 1
8D16B # IGR_DS = GR_CM - 1
8D167 # IGR_DS = DEFAULT_GEAR
8D288 # IGR_DS = 2
8D28D # IGR_DS = 3
8D292 # IGR_DS = 4



8EB2C \n\n # CONTINUE 16.1.6.1_ACC_OBD_1
8EB2E # ACIOTMR_LAST = ACIOTMR
8EBC3 \n\n # /* FANTMR - TIME SINCE LSF REQUESTED */ SEE: FAN CONTROL, CONTROL STRATEGY - CRAI8 19-5 FOR OPERATION

############## Bank 9 Comments #########################################################


92197 # 0x08
9219E # 0x02
921A2 # [19276] \s19270\n
921A2 # [19270] \s19270
921A7 # [18606] \s18606\n
921A7 # [185E2] \s185E2



923D1 \n\n # L_923D2 SCALL FROM Sxx925CF L_9278C 
923DC # /* direction change */ IF NOT JUMP TO L_923E6
923E4 \n\n #L_923E6 JUMP FROM L_923DC if (FLG_FWD_REV = 0) 
923E6 # /* NOT AN ENGAGEMENT SITUATION */ JUMP TO L_92409
9257C # /* engagment in progress */
92402 # tempreg2_tmp  =  TVEMAX
92407 \n #L_92409  - JUMP FROM L_923E6 BECAUSE (FLG_ENG_TV = 0)/* NOT AN ENGAGEMENT SITUATION */
92418 #  /*  moderate speed vehicle */ JUMP TO L_92444
9243B # /* moderated engine speed */ NEBART OK TO USE TVEMOD - JUMP TO L_9244B 
92442 # /* high engine speed */ JUMP TO L_9244B
92442 \n #L_92444 JUMP FROM L_92434 BECAUSE /*  moderate speed vehicle */
92449 \n #L_9244B JUMP FROM L_92442 BECAUSE /* high engine speed */
92449  #L_9244B JUMP FROM L_9243B BECAUSE /* moderated engine speed */ NEBART OK TO USE TVEMOD
92584 # /* not forcing Stall EPC */
9258B # IF ( FN616_SW   == 1 ) goto 925aa /* FN616 selection switch *//* do not consider FN616 during engagement */
9258D # (  pdl  == 6  ) = TRUE 
92599 # tempreg1_tmp  =  fox( &FN616R, tp_rel )  ;/* determine reverse stall TV */
9259C \n #L_925AA - (JUMP FROM L_9258D) BECAUSE (  pdl  == 6  ) = FALSE 
925A7 # tempreg1_tmp  =  fox( &FN616F, tp_rel  ) ;/* determine forward stall TV */
925A7 \n\n #L_925AA - JUMP FROM L_9258B BECAUSE ( FN616_SW   == 1 )
925A7  #L_925AA - JUMP FROM L_9259C
925AD # IF  (  tempreg2_tmp   >  tempreg1_tmp  ) /* choose then larger of the stall TV pressure or engagement TV pressure
925AF # THEN tempreg1_tmp  =  tempreg2_tmp  ;        Then put in tempreg1_tmp  */
925C2 # IF  (     ( (tpbartv  - tp) >=  TOTVTP )  /* high tip_out rate */
925C8 # AND ( tv_pres  >   tempreg1_tmp )        )
925CA # THEN tv_pres  =  tv_pres  /* No change to TV_PRES, use last pass value to hold TV pressure on tip-out. */
925CA \n\n #L_925CE - JUMP FROM L_925C2 
925CA #L_925CE - JUMP FROM L_925C8
925CA # ELSE tv_pres  =  tempreg1_tmp  /* use the higher of stall or engmt. TV */


9412A # knktst_a2d = slap_input_tmp
941A2 \n\n # /* The knock sensor diagnostic logic is executed when conditions to enable knock control are met.  Note that the diagnostics may
941A2 \n #    run even when a failure has been detected such that knock control may resume if the failure clears.  */

94257 \n\n #  /* Update malfunction codes. Setting of the MIL is calibrated in/out by setting/clearing KNKTST_MIL. */
94342 # ( er_status == ER_INIT ) 

9538A # 0x3 = SAIR_KOEO_FUEL_DONE
953E9 # 0x1F = SAIR_ER_DONE
9547D # 0x1F = SAIR_ER_DONE

9A464 # /* Snap Adaptive disabled at WOT. */
9A475 \n\n # /* Decide whether or not to force Open Loop Fuel. */
9A478 # /* Open Loop NOT due to EXT model */
9A47B # /* Exhaust temp. forcing Open Loop */
9A47E # /* Open Loop not desired. */
9A483 # /* Force Open Loop. */
