EEC V file conversion

All hardware related, disassembly / programming and code discussions belong here.
wwhite
Posts: 333
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: EEC V file conversion

Unread post by wwhite »

Jamie from oz wrote: 2024 Jul 17, 06:53 I think the gear selection would be similar to other bins that have 4 speed autos and think i had seen it in eko#
park=7 reverse=6 neutral=5 drive=4 3rd=3 2nd=2 1st=1
I have this in my EEC-IV :

Code: Select all

if (GEAR_CUR = 8)  {              # (driver did manual 4-3)
Its not that '8' exists, per say, its how the computer program is setting it.

and I beleive this:

Code: Select all

  if (PDL = a)  
could happen if PDL_ERROR is set.
Otherwise there is no 'extra' gears.
Jamie from oz
Posts: 54
Joined: 2022 Jul 08, 04:54
Location: South Australia
Vehicle Information: 1995 ford falcon ute 5.0 windsor efi

Re: EEC V file conversion

Unread post by Jamie from oz »

wwhite wrote: 2024 Jul 23, 19:16
Jamie from oz wrote: 2024 Jul 17, 06:53 I think the gear selection would be similar to other bins that have 4 speed autos and think i had seen it in eko#
park=7 reverse=6 neutral=5 drive=4 3rd=3 2nd=2 1st=1
I have this in my EEC-IV :

Code: Select all

if (GEAR_CUR = 8)  {              # (driver did manual 4-3)
Its not that '8' exists, per say, its how the computer program is setting it.

and I beleive this:

Code: Select all

  if (PDL = a)  
could happen if PDL_ERROR is set.
Otherwise there is no 'extra' gears.
Yes that makes sense to me as it is a commanded shift and it would have to work out some way to differentiate between shifts so it can have a timer to stop constant up down shifts also.
BOOSTEDEVERYTHING
Posts: 345
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

jsa wrote: 2024 Jul 23, 17:32 An XDF can be converted to DIR.

Is it easy you ask...
XDF file format is XML style with characters that are 'special' characters in pure XML being used as 'normal' characters in XDF. There are challenges with data types such as text vs numbers vs hex.

Tha XDF needs to be sanitised so that XML tools will parse it. Then extract the data required for DIR, process it into DIR commands and copy to a DIR file.

I agree, building a complete DIR for the available strategy doc is a good thing. I have not seen a DMR for it, anyone got one?

The ADX will have a few payload addresses, I've put zero effort into extracting those as DMR is probably more comprehensive...I don't know for sure though.

The two consolidated DIR's previously posted in this thread are partly built from xdf to dir conversion.

I can do xdf to dir for crai8.

Without a CRAI8 DMR, a lot will need to be cross referenced from RZASA.
So.....Not easy, LOL. When you say cross referenced, do you mean kind of what I have been doing with the dir files I have been working with? Or is it a bit easier than that? I don't mind helping with whatever I can to build a really good DIR file for CRAI8. It would help me tremendously, I think, to have a really good, complete DIR file for something we have strategy docs for to compare to other strategies. Ideally everything in this DIR file would be labeled exactly as it is in the strategy doc so it can be searched easily for reference. With all subs also labeled as they are in the strategy docs. I have done a few in my OMAE2 DIR, but not sure if they are 100 percent correct. I have been doing it like this, but if there would be a better way to do this please let me know.

Code: Select all

SUB 927D7 "sUB927D7_CANMN_INPUT_TPR"            # 17.2.9.1  Canmn_input_tpr # CANISTER PURGE STRATEGY, TANK PRESS. SENSOR INPUT AND SELF TEST - CRAI8 17-85

SUB 92804 "Sub92804_TPR_FAILURE_CHECK"          # 17.2.9.2  Tpr_failure_check # CANISTER PURGE STRATEGY, TANK PRESS. SENSOR INPUT AND SELF TEST - CRAI8 17-85

SUB 928FB "Sub928FB_TPR_MONITORED_CHECK"        # 17.2.9.3  Tpr_monitored_check # CANISTER PURGE STRATEGY, TANK PRESS. SENSOR INPUT AND SELF TEST - CRAI8 17-87

SUB 92C1D "Sub92C1D_RIDE_CONTROL_??"            # 27.1.1.1  Ride_control # RIDE CONTROL STRATEGY, RIDE CONTROL STRATEGY - CRAI8 27-1

SUB 92E85 "VMV_OSM_TEST"                        # 17.2.8.2  Vmv_osm_test # CANISTER PURGE STRATEGY, VAPOR MANAGEMENT VALVE OSM TEST - CRAI8 17-80

SUB 92426 "VMV_ZDC_SUB_&_VMV_MXDC_SUB_??"       # /* Subtractor used with VMV_ZDC_MIN  /* Subtractor used with calculation of VMV_MXDC_MAX # CRAI8 17-81 

SUB 93D6E "Sub93D6E_PHASE_FOUR_TEST_CP"         # 17.2.13.14  Phase_four_test # CANISTER PURGE STRATEGY, CANISTER PURGE MONITOR - CRAI8 17-136

SUB 94068 "PGM_CHECK_MONITORED"                 # 17.2.13.8  Pgm_check_monitored # CANISTER PURGE STRATEGY, CANISTER PURGE MONITOR - CRAI8 17-129

SUB 947BD "Sub947BD_TP_SAMPLE"                  # 8.1.2.1 TP_SAMPLE # TP_MULTI SAMPLING # CRAI8 8-3

SUB 947E5 "Sub947E5_TPINP_EXEC_BG_1"            # 8.1.1 TPINP_EXEC_BG_1 # CRAI8 8-1

SUB 948EF "Sub948EF_TP_MAIN_??"                 # 8.1.3.1 TP_PID_DEFS , 8.1.3.3 TP_MAIN, (MAYBE 8.1.3.9 TP_FMEM_??) # CRAI8

SUB 94BC5 "Sub94BC5_TP_FMEM_??"                 # 8.1.3.9 TP_FMEM # CRAI8

SUB 94BF2 "Sub94BF2_TPINP_TP2_MAIN_STUB"        # 8.1.6 TPINP_TP2_MAIN #SECONDARY SERIES THROTTLE STUB # CRAI8

SUB 94C35 "Sub94C35_TQCTL_RAM_INIT"             # 29.1.4.1 TQCTL_RAM_INIT # CRAI8
BOOSTEDEVERYTHING
Posts: 345
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

Jamie from oz wrote: 2024 Jul 23, 20:33
wwhite wrote: 2024 Jul 23, 19:16
Jamie from oz wrote: 2024 Jul 17, 06:53 I think the gear selection would be similar to other bins that have 4 speed autos and think i had seen it in eko#
park=7 reverse=6 neutral=5 drive=4 3rd=3 2nd=2 1st=1
I have this in my EEC-IV :

Code: Select all

if (GEAR_CUR = 8)  {              # (driver did manual 4-3)
Its not that '8' exists, per say, its how the computer program is setting it.

and I beleive this:

Code: Select all

  if (PDL = a)  
could happen if PDL_ERROR is set.
Otherwise there is no 'extra' gears.
Yes that makes sense to me as it is a commanded shift and it would have to work out some way to differentiate between shifts so it can have a timer to stop constant up down shifts also.
So, think I get it a bit, so maybe 1-4 is exactly as stated and then after that it could be 2-1 shift is 8 or 6 or whatever the programmer felt like using that day, and so on... But is there a way to tell exactly what the values actually correspond to, or would one have to just attempt to monitor that value and watch what comes up as each shift is made?
wwhite
Posts: 333
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: EEC V file conversion

Unread post by wwhite »

In my code, GEAR_CUR is a multiple of 2.
Also,
PDL is set from MLPS and can be:
0x0e byte e
0x0c byte c
0x0a byte a
0x08 byte 8
0x04 byte 4
0x02 byte 2

0xe = 14, divide by 2 = 7 which is Park Position
0xc = 12, divide by 2 = 6, which is Reverse
0xa = 10, divide by 2 = 5, which is Neutral
0x8 = 8, divide by 2 = 4, which is OverDrive
0x6 = 6, divide by 2 = 3, which is OverDrive with OD cancelled ***
0x4 = 4, divide by 2 = 2, which is Manual 2 postion ***
0x2 = 2 divide by 2 = 1, which is Manual 1 position
jsa
Posts: 361
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: EEC V file conversion

Unread post by jsa »

BOOSTEDEVERYTHING wrote: 2024 Jul 25, 13:20 When you say cross referenced, do you mean kind of what I have been doing with the dir files I have been working with?
Yes, use the others to ID parameters in CRAI8.
I don't mind helping with whatever I can to build a really good DIR file for CRAI8. It would help me tremendously, I think, to have a really good, complete DIR file for something we have strategy docs for to compare to other strategies.
Agree

Ideally everything in this DIR file would be labeled exactly as it is in the strategy doc so it can be searched easily for reference. With all subs also labeled as they are in the strategy docs.
Agree
I have done a few in my OMAE2 DIR, but not sure if they are 100 percent correct. I have been doing it like this, but if there would be a better way to do this please let me know.

Code: Select all

SUB 92804 "Sub92804_TPR_FAILURE_CHECK"          # 17.2.9.2  Tpr_failure_check # CANISTER PURGE STRATEGY, TANK PRESS. SENSOR INPUT AND SELF TEST - CRAI8 17-85
.
.
.

Those look good.
I always use a Sxx01234_ prefix, makes life easier in the long run.

Once I know what's what in a bin, I also encode Sxx as;
SLU LookUp Subroutine
Sbg BackGround Subroutine
Sfg ForeGround Subroutine
Sfb Fore & Back ground routine
Sub plain old Subroutine default

Here is a starting point.
CRAI8_AOL1_DIR.zip
(50.34 KiB) Downloaded 153 times
BOOSTEDEVERYTHING
Posts: 345
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

I always use a Sxx01234_ prefix, makes life easier in the long run.
Sorry, I do not understand. Do you mean how I have most of them defined, or should I be doing it differently? Or do you mean use Sxx92804_ instead of Sub92804_ ?

Thanks for the starting point. I started to go back through my READ0 dir file and found some errors I made and also realized how little I actually have defined in that one. Also, it is very different from RZASA and OMAE2. The subroutines are very different, the way they are written, or the order in which they perform functions. I know the engine and how it runs is different, but RZASA and OMAE2 are so similar and most of the subroutines look like they may have been written by the same person, just looks like someone with completely different backgrounds wrote the code for READ0. LOL
jsa
Posts: 361
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: EEC V file conversion

Unread post by jsa »

What you have done is fine.
If 92804 is a background sub, I'm suggesting it could be changed from Sub92804 to Sbg92804 or one of the others depending on Sub type.

Absolutely, coding style changes across bins. Possibly by age and region. Some bins have multiple coding styles in one. Various parts of the code best matches different strategy documents.
BOOSTEDEVERYTHING
Posts: 345
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

Here is a start. See what you think. Thanks
Attachments
CRAI8_AOL1_DIR.zip
May contain errors, use at own risk!!
(65.72 KiB) Downloaded 110 times
BOOSTEDEVERYTHING
Posts: 345
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

I think I may have broken SAD with that one. I have got a bunch of messages in the MSG file on the last page of things I added. So I am trying to figure out what I did wrong. I get the below errors. Not sure exactly what it means. If it jumps right out at you please let me know. Thanks
Edit: Guess is should mention that this is with SAD V 4.07.16b

Code: Select all

Invalid opcode at 1979b [5]
Invalid opcode at 1cd09 [5]
Invalid opcode at 1cd1d [5]
Invalid opcode at 1cd21 [5]
Invalid opcode at 1ce80 [5]
Invalid opcode at 1ec39 [5]
Invalid opcode at 1f47e [5]
Invalid opcode at 1f602 [5]
Invalid opcode at 1f606 [5]
Invalid opcode at 1fbd8 [5]
Invalid opcode at 93189 [5]
Invalid opcode at 93604 [5]
Invalid opcode at 93606 [5]
Invalid opcode at 938f7 [5]
Invalid opcode at 93b2e [5]
Invalid opcode at 93b33 [5]
Invalid opcode at 93ba6 [5]
Invalid opcode at 93bc7 [5]
Invalid opcode at 93bcc [5]
Invalid opcode at 9688a [5]
Invalid opcode at 97321 [5]
Invalid opcode at 973ba [5]
Invalid opcode at 975ba [5]
Invalid opcode at 975bd [5]
Invalid opcode at 97c56 [5]
Invalid opcode at 97ee2 [5]
Invalid opcode at 97ee9 [5]
Invalid opcode at 9e81c [5]
Invalid opcode at a3185 [5]
Invalid opcode at a396a [5]
Invalid opcode at a39a0 [5]
Invalid opcode at a39a5 [5]
Invalid opcode at a39be [5]
Invalid opcode at a39c5 [5]
Invalid opcode at a39dd [5]
Invalid opcode at a39e4 [5]
Invalid opcode at a4371 [5]
Invalid opcode at a4fe6 [5]
Invalid opcode at a4fec [5]
Invalid opcode at a52c1 [5]
Post Reply