EEC V file conversion

All hardware related, disassembly / programming and code discussions belong here.
BOOSTEDEVERYTHING
Posts: 245
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 »

What scalars and what files are you referring too?
Sorry, I have been a bit busy. There are a bunch of subroutines and SYMS that are named in several files but I can not find them in the Strategy Docs. I will try and grab a few for examples in the next few days to show you what I am referring to.

Also, I am posting my updated OMAE2 and RZASA dir files that I have added to, hopefully correctly, and my updated comparison spreadsheet. If you are at all interested. I welcome feedback as usual. Hopefully what i have added to RZASA is correct, if not please let me know so I can correct them and figure out where I went wrong. Thanks again for all of the help and feedback.
Attachments
RZASAMY.zip
updated and added a few things
(941.25 KiB) Downloaded 4 times
OMAE2.zip
updated as of 05/06/2024
(409.81 KiB) Downloaded 3 times
BOOSTEDEVERYTHING
Posts: 245
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 do have a question on this one, I am going cross eyed!!! LOL

in OMAE2 I have:

Code: Select all

   Sub_0d215:
0d215: a1,c2,0b,46        ldw   R46,bc2          TMP0L = KFEGO2_CT1;
0d219: a1,d4,0b,34        ldw   R34,bd4          TMP1L = KFEGO1_CT_TL;
0d21d: c3,01,e6,0b,00     stw   R0,[R0+be6]      [10be6] = ZERO;
0d222: c3,01,ea,0b,00     stw   R0,[R0+bea]      KCAT21_SUM_T = ZERO;
0d227: 20,12              sjmp  0d23b            goto 0d23b;

   Sub_0d229:
0d229: a1,d4,0b,46        ldw   R46,bd4          TMP0L = KFEGO1_CT_TL;
0d22d: a1,e6,0b,34        ldw   R34,be6          TMP1L = be6;
0d231: c3,01,e8,0b,00     stw   R0,[R0+be8]      KFEGO2_CT_TL = ZERO;
0d236: c3,01,ec,0b,00     stw   R0,[R0+bec]      [10bec] = ZERO;
0d23b: c2,47,00           stw   R0,[R46++]       [TMP0L] = ZERO;
0d23e: 88,34,46           cmpw  R46,R34          
0d241: d3,f8              jnc   0d23b            if (TMP0L < TMP1L) goto 0d23b;
0d243: f0                 ret                    return;
In RZASA I have:

Code: Select all

   Sub_9f8be:
9f8be: a1,a6,06,46        ldw   R46,6a6          TMP0L = KFEGO1_CT1;
9f8c2: a1,be,06,34        ldw   R34,6be          TMP1L = KFEGO2_CT1;
9f8c6: c3,d8,50,00        stw   R0,[Rd8+50]      KFEGO1_CT_TL = ZERO;
9f8ca: c3,01,08,07,00     stw   R0,[R0+708]      KCAT11_SUM_T = ZERO;
9f8cf: c3,01,0c,07,00     stw   R0,[R0+70c]      KCAT12_SUM_T = ZERO;
9f8d4: c3,01,06,07,00     stw   R0,[R0+706]      KCATIF_SUM_T = ZERO;
9f8d9: 20,16              sjmp  9f8f1            goto 9f8f1;

   Sub_9f8db:
9f8db: a1,be,06,46        ldw   R46,6be          TMP0L = KFEGO2_CT1;
9f8df: a1,d0,06,34        ldw   R34,6d0          TMP1L = KFEGO1_CT_TL;
9f8e3: c3,d8,52,00        stw   R0,[Rd8+52]      KFEGO2_CT_TL = ZERO;
9f8e7: c3,01,0a,07,00     stw   R0,[R0+70a]      KCAT21_SUM_T = ZERO;
9f8ec: c3,01,0e,07,00     stw   R0,[R0+70e]      KCAT22_SUM_T = ZERO;
9f8f1: c2,47,00           stw   R0,[R46++]       [TMP0L] = ZERO;
9f8f4: 88,34,46           cmpw  R46,R34          
9f8f7: d3,f8              jnc   9f8f1            if (TMP0L < TMP1L) goto 9f8f1;
9f8f9: f0                 ret                    return;
If you look in the code prior to this it appears that 10be6=10708 but it does not compare correctly to these Subs. I know all of it is not going to be apples to apples but should be quite similar I would assume. You may want to ignore some of the labels in OMAE2 as I am now getting a bit confused and not quite sure what is what here. Thanks
Side note, or maybe bug report???....
I have also noticed that SAD v4.012 is missing a ton of things in both of the lst files, as far as labels go. They are defined in the DIR files for both but SAD is missing them, Is it possible if I have say SYM 0be6 "label" that it could be missing the ones that are labeled 10be6 in the code???
jsa
Posts: 285
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 »

Thanks for posting the updates. I have been consolidating the various RZASA data sources I have access to into a more comprehensive DIR. It includes math information with the intention of testing further SAD releases. I'll get that done before I look at your updates.

Cross eyed, yeah, sounds about right!

My consolidated RZASA DIR matches what you have above.

Code: Select all

     # Call  from L9F19D                                                           Sub_9f157
     # Call  from L9F317                                                           Sub_9f157
     # SCall from L9F8A7                                                           Sub_9f7e0
   Sub_9f8be:
9f8be: a1,a6,06,46        ldw   R46,6a6          TMP0L = KFEGO1_CT1;
9f8c2: a1,be,06,34        ldw   R34,6be          TMP1L = KFEGO2_CT1;
9f8c6: c3,d8,50,00        stw   R0,[Rd8+50]      KFEGO1_CT_TL = ZERO;
9f8ca: c3,01,08,07,00     stw   R0,[R0+708]      KCAT11_SUM_T = ZERO;
9f8cf: c3,01,0c,07,00     stw   R0,[R0+70c]      KCAT12_SUM_T = ZERO;
9f8d4: c3,01,06,07,00     stw   R0,[R0+706]      KCATIF_SUM_T = ZERO;
9f8d9: 20,16              sjmp  9f8f1            goto 9f8f1;


     # Call  from L9F1D7                                                           Sub_9f157
     # Call  from L9F31A                                                           Sub_9f157
     # SCall from L9F8A3                                                           Sub_9f7e0
   Sub_9f8db:
9f8db: a1,be,06,46        ldw   R46,6be          TMP0L = KFEGO2_CT1;
9f8df: a1,d0,06,34        ldw   R34,6d0          TMP1L = KFEGO1_CT_TL;
9f8e3: c3,d8,52,00        stw   R0,[Rd8+52]      KFEGO2_CT_TL = ZERO;
9f8e7: c3,01,0a,07,00     stw   R0,[R0+70a]      KCAT21_SUM_T = ZERO;
9f8ec: c3,01,0e,07,00     stw   R0,[R0+70e]      KCAT22_SUM_T = ZERO;
I'll look at your OMAE2 example after I finish messing with consolidation.

0be6 should be working equally as 10be6.
What do you get for V5.07 or V5.08?
Could well be a bug in V4.012.
Post an example DIR line and LST line where its not working.
BOOSTEDEVERYTHING
Posts: 245
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 one example, but I have found a ton of them. I have not tried any other version yet, as soon as I get a chance I will and report back to you.

RZASA:

Code: Select all

9f8a7: 28,15              scall 9f8be            Sub_9f8be (); }
9f8a9: c7,27,10,07,33     stb   R33,[R26+710]    [TEMP1L+10710] = TEMP7H;
9f8ae: 39,24,0c           jb    B1,R24,9f8bd     if (B1_TEMP0L = 0)  {
9f8b1: ad,02,24           ldzbw R24,2            TEMP0L = 2;
9f8b4: b3,d8,cd,c4        ldb   Rc4,[Rd8+cd]     FLAGTEMP_BG = CAT_MONF_EX2;
9f8b8: 35,c4,02           jnb   B5,Rc4,9f8bd     if (B5_FLAGTEMP_BG = 1)  {
RZASA DIR:

Code: Select all

SYM  0710 "KCAT_MONF_EX1"             #UY
SYM  0710 "KCAT_DN1_FLG"              :B6 
SYM  0710 "KCAT1_FAILED"              :B7 
jsa
Posts: 285
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 »

If you used an rbase of 0 for temp1l over a range, the address would resolve and display the name.

Is temp1l actually holding the value 0 though??
BOOSTEDEVERYTHING
Posts: 245
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 »

Is temp1l actually holding the value 0 though??
Good point, Guess I need to follow it back some more and make sure before I assume.

I was looking at the SAD 5.0.8 LST with the same DIR file and I get a ton of errors right off the top so I am going to leave that alone. LOL
Here is SAD 5

Code: Select all

   Sub_028de:
028de: a1,00,0c,48        ldw   R48,c00          FLG_TR_TMP = 0;
028e2: c7,48,3d,00        stb   R0,[R48+3d]      [FGTMP0L+3d] = ZERO;
028e6: a1,08,07,4a        ldw   R4a,708          DARC_HLOS = 0;
                                                 DARC_SIZE = 0;
                                                 DARC_COL = 0;
                                                 DARC_BSY = 1;
                                                 DARC_RSX = 0;
                                                 DARC_RS = 0;
028ea: 28,16              scall 02902            Sub_02902 ();
028ec: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
028f0: c7,49,88,00,52     stb   R52,[R48+88]     [FGTMP0L+88] = FGTMP5L;
028f5: c7,49,80,00,53     stb   R53,[R48+80]     [FGTMP0L+80] = FGTMP5H;
028fa: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
028fe: 35,c4,69           jnb   B5,Rc4,0296a     if (DARC_INIT_FLG = 1) {
02901: f0                 ret                    return;

   Sub_02902:
02902: a1,ed,cb,52        ldw   R52,cbed         DARC_RSX = 0;
02906: c7,49,88,00,52     stb   R52,[R48+88]     [FGTMP0L+88] = FGTMP5L;
0290b: c7,49,80,00,53     stb   R53,[R48+80]     [FGTMP0L+80] = FGTMP5H;
02910: f0                 ret                    return;

02911: a1,00,0c,48        ldw   R48,c00          FLG_TR_TMP = 0;
02915: c7,48,3d,00        stb   R0,[R48+3d]      [FGTMP0L+3d] = ZERO;
02919: a1,08,07,4a        ldw   R4a,708          DARC_HLOS = 0;
                                                 DARC_SIZE = 0;
                                                 DARC_COL = 0;
                                                 DARC_BSY = 1;
                                                 DARC_RSX = 0;
                                                 DARC_RS = 0;
0291d: 2f,e3              scall 02902            Sub_02902 ();
0291f: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
02923: c7,49,88,00,52     stb   R52,[R48+88]     [FGTMP0L+88] = FGTMP5L;
02928: c7,49,80,00,53     stb   R53,[R48+80]     [FGTMP0L+80] = FGTMP5H;
0292d: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
02931: a0,48,4c           ldw   R4c,R48          FGTMP2L = FGTMP0L;
02934: a1,b2,10,4e        ldw   R4e,10b2         FGTMP3L = 10b2;
02938: a1,c2,10,50        ldw   R50,10c2         FGTMP4L = MFP_DTY_HI;
0293c: b2,51,4a           ldb   R4a,[R50++]      FGTMP1L = [FGTMP4L];
0293f: a2,4f,52           ldw   R52,[R4e++]      FGTMP5L = [FGTMP3L];
02942: c7,4c,41,4a        stb   R4a,[R4c+41]     [FGTMP2L+41] = FGTMP1L;
02946: c3,4c,40,52        stw   R52,[R4c+40]     [FGTMP2L+40] = FGTMP5L;
0294a: 65,04,00,4c        ad2w  R4c,4            FGTMP2L += 4;
0294e: 89,c2,10,4e        cmpw  R4e,10c2         
02952: d3,e8              jnc   0293c            if (FGTMP3L < 10c2) goto 0293c;
02954: b0,ac,4c           ldb   R4c,Rac          FGTMP2L = DARC_OUT_IMA;
Here is SAD 4.0.012

Code: Select all

Sub_028de:
028de: a1,00,0c,48        ldw   R48,c00          FGTMP0L = DRC_DTI0_CON;
028e2: c7,48,3d,00        stb   R0,[R48+3d]      [FGTMP0L+3d] = ZERO;
028e6: a1,08,07,4a        ldw   R4a,708          FGTMP1L = P0208STATE;
028ea: 28,16              scall 02902            Sub_02902 ();
028ec: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
028f0: c7,49,88,00,52     stb   R52,[R48+88]     [FGTMP0L+88] = FGTMP5L;
028f5: c7,49,80,00,53     stb   R53,[R48+80]     [FGTMP0L+80] = FGTMP5H;
028fa: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
028fe: 35,c4,69           jnb   B5,Rc4,0296a     if (DARC_INIT_FLG = 1)  {
02901: f0                 ret                    return;

   Sub_02902:
02902: a1,ed,cb,52        ldw   R52,cbed         FGTMP5L = cbed;
02906: c7,49,88,00,52     stb   R52,[R48+88]     [FGTMP0L+88] = FGTMP5L;
0290b: c7,49,80,00,53     stb   R53,[R48+80]     [FGTMP0L+80] = FGTMP5H;
02910: f0                 ret                    return;

02911: a1,00,0c,48        ldw   R48,c00          FGTMP0L = DRC_DTI0_CON;
02915: c7,48,3d,00        stb   R0,[R48+3d]      [FGTMP0L+3d] = ZERO;
02919: a1,08,07,4a        ldw   R4a,708          FGTMP1L = P0208STATE;
0291d: 2f,e3              scall 02902            Sub_02902 ();
0291f: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
02923: c7,49,88,00,52     stb   R52,[R48+88]     [FGTMP0L+88] = FGTMP5L;
02928: c7,49,80,00,53     stb   R53,[R48+80]     [FGTMP0L+80] = FGTMP5H;
0292d: c3,48,3c,4a        stw   R4a,[R48+3c]     [FGTMP0L+3c] = FGTMP1L;
02931: a0,48,4c           ldw   R4c,R48          FGTMP2L = FGTMP0L;
02934: a1,b2,10,4e        ldw   R4e,10b2         FGTMP3L = 10b2;
02938: a1,c2,10,50        ldw   R50,10c2         FGTMP4L = 10c2;
0293c: b2,51,4a           ldb   R4a,[R50++]      FGTMP1L = [FGTMP4L];
0293f: a2,4f,52           ldw   R52,[R4e++]      FGTMP5L = [FGTMP3L];
02942: c7,4c,41,4a        stb   R4a,[R4c+41]     [FGTMP2L+41] = FGTMP1L;
02946: c3,4c,40,52        stw   R52,[R4c+40]     [FGTMP2L+40] = FGTMP5L;
0294a: 65,04,00,4c        ad2w  R4c,4            FGTMP2L += 4;
0294e: 89,c2,10,4e        cmpw  R4e,10c2         
02952: d3,e8              jnc   0293c            if (FGTMP3L < 10c2) goto 0293c;
02954: b0,ac,4c           ldb   R4c,Rac          FGTMP2L = DARC_OUT_IMA;
That is just one quick example. It may just not like the way the DIR file is formatted, but it looks so far off in just this small strip that it scares me to use this LST file for comparison.
jsa
Posts: 285
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 »

Interesting that it prints flag for an immediate load. Smells like a bug.
BOOSTEDEVERYTHING
Posts: 245
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 »

This is how I have P0208STATE defined. Weird that it would print the state and not P0208_RECORD. Maybe because I have the same address for each? Does SAD see the UW and UY designation or is that just for reference? Maybe a bug in SAD v 4.012? But the V5 output is way off, or is that the V4 output that is not correct? Hard for me to tell.

Code: Select all

SYM  0708 "P0208STATE"                #UY
SYM  0708 "P0208_RECORD"              #UW
SYM  0708 "P0208MIL_ON"               :B4 
SYM  0708 "P0208FAULT"                :B5 
SYM  0708 "P0208UPDATED"              :B6 
SYM  0708 "P0208MALF"                 :B7 
SYM  0709 "P0208CNT"                  #UY
SYM  0709 "P0208FAULT_A"              :B7
jsa
Posts: 285
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 »

SAD picks up the first SYM it finds at an address but comment one of them out for now with V4 and see if it helps.

V5 will allow size to be specified so Y and W names will be applied for byte and word oprations respectively.

Everything after a # is a comment, so it is not processed by SAD.
jsa
Posts: 285
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 »

Apply a range to 0x708 so the flags are not displayed where 0x708 is the base value.
Post Reply