Directives file for A1C

All hardware related, disassembly / programming and code discussions belong here.
efloth
Posts: 274
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Directives file for A1C

Unread post by efloth »

Something you are willing to share? Purely for educational purposes.
wwhite
Posts: 313
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Directives file for A1C

Unread post by wwhite »

What are you looking for that is not in the xdf file?
decipha
Posts: 4954
Joined: 2021 Feb 15, 12:23
Location: Metairie, LA
Vehicle Information: Work Truck
'19 F-150 3.3L

Re: Directives file for A1C

Unread post by decipha »

My directive file is just syms for the parameters and a few bits labelled. I don't have any of the subroutines named or anything. As wwhite said theres nothing more other than whats in the xdf.
efloth
Posts: 274
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Re: Directives file for A1C

Unread post by efloth »

It was just to have a cleaner look at the subroutines when disassembling the bin.
decipha
Posts: 4954
Joined: 2021 Feb 15, 12:23
Location: Metairie, LA
Vehicle Information: Work Truck
'19 F-150 3.3L

Re: Directives file for A1C

Unread post by decipha »

I see. Yeah I dont have any of the subroutines named
wwhite
Posts: 313
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Directives file for A1C

Unread post by wwhite »

I'm working on a different definition, out of 368 subroutines, I've labeled 258, only 110 to go.
Its' a lot of work:

Code: Select all

# ------------ Subroutine list----------
"Reset_All"  
"Initialize"
"Background_Loop"    
"Reset_RAM_ptr"
"Infinite_Loop_DEAD"
"Set_TaskList"  
"SYSTEM_EQUATIONS_1"  
"BRAKE_INPUT"  
"Clear_Cell"
"I_External_Vector"  
"DCL_Mode_Scheduler"  
"DCL_DM_PermanentDeviceDisconnect"
"DCL_DM_TransmitPID"
"DCL_DM_ParameterRefByAddressOffset"
"DCL_DM_ParameterRefByName"  
"DCL_DM_A-D_SensorValueSubstitution"
"DCL_DM_ClearContinuousVIPCodes"
"DCL_DM_ClearDCLErrorFlags"
"DCL_DM_TransmitDMRMap"
"DCL_DM_TransmitPIDMap"
"DCL_DM_TransmitDMR"
"DCL_DM_ProgramDataDownload"
"DCL_DM_ProgramExecution"
"DCL_DM_DisplayDCLStatusInformation"
"DCL_DM_RunningOnDemand_SelfTest" 
"DCL_DM_TransmitContinuous_SelfTestCodes"
"DCL_DM_SetCommLinkBAUDRate"
"DCL_DM_TransmitBoth_PID-DMR"
"Send_HSO_Cmd"  
"Reschedule_Event"  
"I_HSI_0"  
"Read_HSI"
"I_HSO_1"  
"I_Timer_OVF"  
"I_Ignore"  
"I_HSO_2"  
"PIP_DATA"
"SPARK_RETARD_LOGIC"
"SPOUT_CALCULATION" 
"Update_HTime_pend"
"Update_HTime_prev" 
"KNOCK_THRESHOLD_SENSE_(KTS)_LOGIC"  
"Add_H_Beta"
"Add_H_Delta" 
"EOS_KAY_CALCULATIONS"  
"TRANSIENT_SPARK-COMPENSATION"  
"DWELL_CALCULATION"  
"FUEL_INJ_OUT_COM6"  
"SET_UP_INJECTOR_OUTPUT_EDGE"  
"Injector_Edge"  
"Injector_Edge_Immediate_Output_Request"  
"SCAP_Sensor_Edge"  
"SYSEQ_MAP_COM1"  
"Calculate_MAP_FREQ"  
"MAP_Average_Complete"  
"MAP_CALC"  
"VEHICLE_SPEED_(VS)"  
"VIP_THROTTLE_MODE_SET"  
"KAM_Qualification_Test_Logic"  
"ReInitialize_ISCKAM"  
"RUN_MODE_SELECTION"  
"THROTTLE_MODE_SELECTION"  
"Read_AD"
"Enable_Int"
"SYSTEM_EQUATIONS_EQUA_LH" 
"INPUT_ACT_COM2"  
"Compute_TCSTRT"  
"INPUT_TOT_COM1"  
"CNVRT"  
"ENGINE_SPEED_OVER_VEHICLE_SPEED_NOVS_&_BPCOR"  
"INTRN_MLPS_CONV_COM1"  
"INFERRED_BAROMETRIC_PRESSURE_STRATEGY"  
"SPEED_DENSITY_AIR_MASS_CALCULATION"  
"Compute_AMPEM_AMPEMT"  
"Subtract_EM"  
"INFERRED_BAROMETRIC_PRESSURE_STRATEGY"  
"AD_Substitutions"  
"DCL_Handler_Dispatch"  
"BIMAP_DEFINITIONS"  
"DOL_PULSE_CALC_COM3"  
"SUYFuncLU_4865"  
"USYFuncLU_486d"  
"UUYFuncLU_4870"  
"UUYFuncLU_4891"  
"SUWFuncLU_48db"  
"SSWFuncLU_48e0"  $ F sswflu 32
"USWFuncLU_48e3"  $ F uswflu 32
"UUWFuncLU_48e6"  
"UUWFuncLU_4907"  
"UROLAV" 
"ROLAV"  
"ROLLING_AVERAGE_ROUTINE"  
"ROLLING_AVERAGE_FILTER_ROUTINE" 
"SYTabLU_49a7"  $ F sytlu 38 34
"SYTabLU_49b6"  $ F sytlu 38 34
"Four_Point_Interpolation" $ F uytlu 38 34
"TableInterpolation"  
"Calculation_Normalized_MAP"  
"Calculation_MAPWBAR"  
"FUEL_OLFLG_COM7"
"TIMERS"  
"FUEL_CL_LAMBSE_COM3"  
"C_MULTIPLIER_LOGIC"  
"LAMBSE_RESET"
"ACT_to_ECT_proportioning_factor(R36)"  
"FN1360(N,MAPPA)"  
"TEMP_normalization_factor_x"  
"CALCULATE_PTPAMP_RF_and_RS"
"UYTabLU_5131"  $ F uytlu 38 34
"FUEL_ADAPT_COM4"  
"EGO_Switch_Logic"
"NEW_UPRATE_CALC"  
"FUEL_IDLE_MOD_COM3"  
"FUEL_KAM_ADAPT_COM3"  
"FUEL_TRANS_COM5"  
"FUEL_DFSO_COM2"  
"FUEL_AE_COM5"  
"FUEL_PUMP_COM1"
"SPARK_BASE_COM2"  
"Include_in_SPK_NORM"  
"ENTRY_INTO_IDLE_SPARK"  
"MISCELLANEOUS_SPARK_CALCULATIONS"  
"DWLBSE-DWLCOR_CALCULATION"  
"SPKKNOCK_LL"  
"KNOCK_HARDWARE_PRESENT"  
"EGR_ENABLE_LH"  
"EGR_SONIC_COM2"  
"DESEM_DELOPT_CALC"  
"EGRDC_CALC"  
"EGR_EVR_CONTROL_COM1" 
"ISC_OVERVIEW_COM3"  
"DSDRPM_CALC"  
"RPMERR_CALC"  
"ISC_DASPOT_COM1"  
"ISC_MODE_SELECT_COM1"  
"ISC_IPSIBR_COM1"  
"ISC_ISCDTY_COM1"  
"Manifold_VACUUM"  
"ISC_ISCKAM_COM1"
"DOL_LH"  
"ACC_GOV_MAP_COM2"  
"THERMACTOR_AIR_STRATEGY"  
"CANP_COM4"  
"Update_Can_Purge"  
"Do_Self_Test"  
"StackErrorCodes"
"Get_DiagCodes"  
"Set_DiagCodes"  
"EGR_SELECT_LOGIC"  
"TRANS_SELECT_LOGIC"  
"Check_Sensors"
"EGOTST_TMR_CONTROL"
"WARM_UP_COUNTER_LOGIC"
"KAM_CODE_ERASE_LOGIC"
"?Fault_Filter_Routine?"  
"Clear_KAM"  
"Clear_Kam_SelfTest"  
"Set_STO" 
"Reset_STO"
"GetBytes_R1a" 
"EGO_TEST_TMR_CLEAR"  
"Calculate_ETV_OCM_MIN"  
"VO_EOTS_COM1"
"FAIL_Loop"
"VO_ROM_COM1"  
"TEST_AD_SWITCHES_1"  
"EXIT_THIS_TEST"
"TEST_AD_SWITCHES_2"  
"GET_ADDRESS"  
"VO_FPM_COM2" 
"VO_OCC_COM12_Func1"  
"VO_OCC_COM12_Func2"  
"VO_OCC_COM12_Func4"  
"VO_EPC_SOLENOID_COM1"  
"Disable_No_Start"
"VO_KAMRAM_COM1"
"RAM_ERROR"
"VO_EPC_SOLENOID_COM1_624"  
"VO_EPC_SOLENOID_COM1_625"  
"SET_SERVICE_CODE"   
"VR_RUN_INIT_COM8"  
"FMEM_FAULT_PRESENT_and_INITIALATION_LOGIC"
"VR_EGO_COM1"  
"VR_THERMAIR_COM2"  
"AIR_UPSTREAM"  
"AIR_DOWNSTREAM"  
"BLOCK_F2_VR_THERMAIR_COM2"  
"AM1_AM2_OFF"
"BLOCK_AA"
"DELAY_SEC"  
"VR_SPARK_COM1_SAF"  
"VR_SPARK_COM1_NBAR"  
"VR_SPARK_COM1_213"  
"DELAY_SEC(VSPTD)"  
"VR_EGR_COM6"  
"VR_EGR_COM6_332"  
"EXIT"
"VR_LOW_ISC_COM4"  
"VR_LOW_ISC_COM4_411"  
"VR_GOOSE_SD_COM1"  
"VR_GOOSE_SD_COM1_SET_CODE_xxx"  
"VR_GOOSE_SD_COM1_G1"  
"Check_PS_PB"
"VR_EGOBAR_COM1" 
"HW_Check"
"POP_test"
"ZERO_MILTMR"  
"VIP_EOS_IDM"  
"E4OD_TRANSMISSION_CALCULATIONS"  
"INTRN_E4OD_INPUT_PROCESSING_COM1"  
"INTRN_E4OD_SYS_EQU_COM1"  
"SPEED_RATIO_ACROSS_TORQUE_CONVERTER"  
"E4OD_INPUT_PROCESSING_COM1"  
"FN161x(N,LOAD)"  
"SC_DESRD_GR_DETR_COM1"  
"SC_GR_DS_AUTO_COM1"  
"VEHICLE_SPEED_SENSOR_OK_SHIFT_LOGIC"
"VEHICLE_SPEED_SENSOR_FAILURE_SHIFT_LOGIC"
"Delay_Shift_Logic"  
"MANUAL_DOWNSHIFT_DETERMINATION"  
"SC_CM_GR_DETR_COM1"  
"SC_CM_GR_MAN1_COM1"  
"SC_CM_GR_MAN2_COM1"  
"SC_CM_GR_AUTO_DWN_COM1"  
"SC_TIMER_COM1"  
"SC_SOL_CTL_COM1"  
"SC_VALID_COM1"  
"SHIFT_VERIFICATION_LOGIC_(Part_1)"
"SHIFT_VERIFICATION_LOGIC_(Part_2)"
"CCC_CST_CLTCH_CTL_COM1"  
"EPC_GUIDE_COM1"  
"UUWFuncLU_98a7"  
"SUWFuncLU_98ae"  
"EPC_TQ_IALPHA_COM4"  
"EPC_DYNAMIC_COM1"  
"CCC_COM1"  
"CCC_FMEM_COM2"  
"CCC_UNCOND_UNLCK_COM1"  
"CCC_SHFT_UNLCK_COM1"  
"CCC_INI_DWN_COM1"  
"CCC_DWN_CNVR_CLCH_COM1"  
"CCC_INI_UP_COM1"  
"Calc_SR_PP_LIM"  
"CCC_UP_CNVR_CLCH_COM2"  
"CCC_SCHLD_LCK_UNLCK_COM1"  
"CCC_WOT_LCK_UP_COM1"  
"INTRN_RT_NOVS_KAM_CALC_COM1"  
"CCC_VALID_COM2"  
"INTRN_TCIL_REPEAT_COM1"  
"EPC_OTEMP_TEST_COM2"  
"TIMER_LH"  
"Check_ConsoleDI"
"Check_Console"
"Console_Routine"
"KAM_VALIDATION_PROCEDURE"  
ironmanisanemic
Posts: 11
Joined: 2021 Mar 14, 21:45
Location: Toutle, WA
Vehicle Information: 1989 Ford Bronco
U4P0 Processor
393w Stroker, 4R70W

Re: Directives file for A1C

Unread post by ironmanisanemic »

I am also looking for directives to study. Ive been trying to learn how to do this, but not having any programming experience, I have a hard time understanding what each subroutine is actually trying to do. Having a few of these to look at and compare to the one I am trying to work on could help me (and probably most other people learning) understand what and how these work. Could lead to a larger pool of signature based identification in things like SAD.

I know most people that can and do disassembly and strategy development, dont want to give away their hard work. So thats usually why i havent seen much in the way of this kind of information. This is a shame though, as the community could go alot further to having more free defs, and possibly more people to help in developing strategies.
wwhite
Posts: 313
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Directives file for A1C

Unread post by wwhite »

In order to understand the code and functions you need to read and understand the strategy documentation, the ones with 1200 pages. Those describe the functions perfectly, well in fords standards.
Just looking at code probably won’t get you far if you are not a programmer.
Jamie from oz
Posts: 28
Joined: 2022 Jul 08, 04:54
Location: South Australia
Vehicle Information: 1995 ford falcon ute 5.0 windsor efi

Re: Directives file for A1C

Unread post by Jamie from oz »

Is there a strategy document (1200 page) avalable to download?

I am trying to work out sub routes on a Australia 6tac so I can get a payload made to datalog.

Also going to change it from inline 6 cyl SD to v8 SD so I can have our Australian 4 speed BTR auto tunable with quaterhorse. (have found the injector port/numbers but have not loaded it to try it yet)
jsa
Posts: 260
Joined: 2021 Feb 16, 15:46
Location: Australia
Vehicle Information: 95 Escort RS Cosworth
2.0 YBP
CARD / QUIK / COSY / ANTI
GHAJ0
SMD-190 / SMD-490 EEC-IV

Binary Editor
ForDiag

Re: Directives file for A1C

Unread post by jsa »

Wwhite is referring to the publicly available ones which can be found at
https://github.com/OpenEEC-Project/Strategy-Documents
Post Reply