Page 44 of 70

Re: EEC V file conversion

Posted: 2024 Jul 01, 15:48
by BOOSTEDEVERYTHING
A few updates added to the DIR file.
Do you know if there may be any documentation on a strategy that uses the 4r100 transmission? I noticed It seems to use more subroutines and or different subs to run the 4r100.

Re: EEC V file conversion

Posted: 2024 Jul 02, 09:07
by jsa
I'm not much use with regard to automatics, the limit of my knowledge is removing auto code to make way for other stuff.

Thanks for the EKO2 update.

Re: EEC V file conversion

Posted: 2024 Jul 11, 08:27
by BOOSTEDEVERYTHING
I have a question about RBase values.....How can I tell what the value should be in a subroutine? Here is an exampler from eko2...

Code: Select all

 Sub_868c5:
868c5: f2                 pushp                  push(PSW);
868c6: b0,83,26           ldb   R26,R83          TEMP1L = PDL;
868c9: 99,08,26           cmpb  R26,8            
868cc: d9,6a              jgtu  86938            if (TEMP1L <= 8)  {
868ce: 99,06,26           cmpb  R26,6            
868d1: d3,65              jnc   86938            if (TEMP1L >= 6)  {
868d3: 3f,9d,62           jb    B7,R9d,86938     if (FLG_SFT_IN = 0)  {
868d6: a3,01,08,f1,34     ldw   R34,[R0+f108]    TMP1L = OSDIAG_1F108;
868db: b0,81,36           ldb   R36,R81          TMP2L = GR_CM;
868de: ac,81,38           ldzbw R38,R81          TMP3L = GR_CM;
868e1: 08,01,38           shrw  R38,1            TMP3L >>= 1;
868e4: b3,39,d7,06,26     ldb   R26,[R38+6d7]    TEMP1L = [TMP3L+106d7];
868e9: 99,08,36           cmpb  R36,8            
868ec: df,34              je    86922            if (TMP2L != 8)  {
868ee: d9,48              jgtu  86938            if (TMP2L > 8) goto 86938;
868f0: b3,e2,9e,94        ldb   R94,[Re2+9e]     FLAGTEMP_BG = FLAGS_R121E;
868f4: 32,94,41           jnb   B2,R94,86938     if (B2_FLAGTEMP_BG = 0) goto 86938;
868f7: a3,01,04,f1,3c     ldw   R3c,[R0+f104]    TMP5L = ESDIAG;
868fc: 8b,fd,14,01,3c     cmpw  R3c,[Rfc+114]    
86901: d3,35              jnc   86938            if (TMP5L < [15c5c]) goto 86938;
86903: a0,62,3c           ldw   R3c,R62          TMP5L = TP_REL;
86906: 8b,fd,16,01,3c     cmpw  R3c,[Rfc+116]    
8690b: d3,2b              jnc   86938            if (TMP5L < [15c5e]) goto 86938;
8690d: 8b,ff,80,01,34     cmpw  R34,[Rfe+180]    
86912: db,1b              jc    8692f            if (TMP1L >= OSSMIN) goto 8692f;
86914: a3,01,02,f1,34     ldw   R34,[R0+f102]    TMP1L = VSDIAG;
86919: 8b,fd,22,01,34     cmpw  R34,[Rfc+122]    
8691e: d9,09              jgtu  86929            if (TMP1L > [15c6a]) goto 86929;
86920: 20,16              sjmp  86938            goto 86938; }

86922: 8b,ff,80,01,34     cmpw  R34,[Rfe+180]    
86927: d3,06              jnc   8692f            if (TMP1L < OSSMIN) goto 8692f; }
86929: 17,26              incb  R26              TEMP1L++;
8692b: d3,06              jnc   86933            if (TEMP1L <= ff) goto 86933;
8692d: 20,09              sjmp  86938            goto 86938; } }

8692f: 15,26              decb  R26              TEMP1L--;
86931: d3,05              jnc   86938            if (TEMP1L < 0) goto 86938; }
86933: c7,39,d7,06,26     stb   R26,[R38+6d7]    [TMP3L+106d7] = TEMP1L; } } } } } } } }
86938: f3                 popp                   PSW = pop();
86939: f0                 ret                    return;
It looks like R26 should be an Rbase value, but I am lost as to find out what it should be.

Funny enough I think I found another bug in SAD V5, here is the same subroutine from the SAD V5 LST file..

Code: Select all

Sub_868c5:
868c5: f2                 pushp                  push(PSW);
868c6: b0,83,26           ldb   R26,R83          TEMP1L = PDL;
868c9: 99,08,26           cmpb  R26,8            
868cc: d9,6a              jgtu  86938            if (TEMP1L <= 8) {
868ce: 99,06,26           cmpb  R26,6            
868d1: d3,65              jnc   86938            if (TEMP1L >= 6) {
868d3: 3f,9d,62           jb    B7,R9d,86938     if (FLG_SFT_IN = 0) {
868d6: a3,01,08,f1,34     ldw   R34,[R0+f108]    TMP1L = OSDIAG_1F108;
868db: b0,81,36           ldb   R36,R81          TMP2L = GR_CM;
868de: ac,81,38           ldzbw R38,R81          TMP3L = GR_CM;
868e1: 08,01,38           shrw  R38,1            TMP3L >>= 1;
868e4: b3,39,d7,06,26     ldb   R26,[R38+6d7]    TEMP1L = [TMP3L+306d7];
868e9: 99,08,36           cmpb  R36,8            
868ec: df,34              je    86922            if (TMP2L != 8) {
868ee: d9,48              jgtu  86938            if (TMP2L > 8) goto 86938;
868f0: b3,e2,9e,94        ldb   R94,[Re2+9e]     FLAGTEMP_BG = FLAGS_R121E;
868f4: 32,94,41           jnb   B2,R94,86938     if (B2_FLAGTEMP_BG = 0) goto 86938;
868f7: a3,01,04,f1,3c     ldw   R3c,[R0+f104]    TMP5L = ESDIAG;
868fc: 8b,fd,14,01,3c     cmpw  R3c,[Rfc+114]    
86901: d3,35              jnc   86938            if (TMP5L < [15c5c]) goto 86938;
86903: a0,62,3c           ldw   R3c,R62          TMP5L = TP_REL;
86906: 8b,fd,16,01,3c     cmpw  R3c,[Rfc+116]    
8690b: d3,2b              jnc   86938            if (TMP5L < [15c5e]) goto 86938;
8690d: 8b,ff,80,01,34     cmpw  R34,[Rfe+180]    
86912: db,1b              jc    8692f            if (TMP1L >= OSSMIN) goto 8692f;
86914: a3,01,02,f1,34     ldw   R34,[R0+f102]    TMP1L = VSDIAG;
86919: 8b,fd,22,01,34     cmpw  R34,[Rfc+122]    
8691e: d9,09              jgtu  86929            if (TMP1L > [15c6a]) goto 86929;
86920: 20,16              sjmp  86938            goto 86938; }

86922: 8b,ff,80,01,34     cmpw  R34,[Rfe+180]    
86927: d3,06              jnc   8692f            if (TMP1L < OSSMIN) goto 8692f; }
86929: 17,26              incb  R26              TEMP1L++;
8692b: d3,06              jnc   86933            if (TEMP1L  <= ff) goto 86933;
8692d: 20,09              sjmp  86938            goto 86938; } }

8692f: 15,26              decb  R26              TEMP1L--;
86931: d3,05              jnc   86938            if (TEMP1L < 0) goto 86938; }
86933: c7,39,d7,06,26     stb   R26,[R38+6d7]    [TMP3L+306d7] = TEMP1L; } } } } } } } }
86938: f3                 popp                   PSW = pop();
86939: f0                 ret                    return;
I am sure you can spot it right away...LOL

Re: EEC V file conversion

Posted: 2024 Jul 11, 08:52
by jsa
I'm not seeing R26 as an rbase in the code sample above.

Yeah right, bank 3, not. Report the bug.

Re: EEC V file conversion

Posted: 2024 Jul 11, 10:35
by BOOSTEDEVERYTHING
I'm not seeing R26 as an rbase in the code sample above.
Oh, that's my mistake then. So it is adding whatever is loaded to R26 to whatever is in the other address together in the above code? So there would be no way of knowing what the actual values are unless the code was running with real values and feedback?

EDIT: Sorry, RBase value for R38? I screwed that one up, LOL.

Also, should I report the bug in this forum in the SAD V5 thread or is there a better place to report bugs?

Re: EEC V file conversion

Posted: 2024 Jul 11, 16:41
by jsa
R38 contains the value from GR_CM. How many gears have you got...so not many possibilites...

Code: Select all

868de: ac,81,38           ldzbw R38,R81          TMP3L = GR_CM;
Divide it by 2.

Code: Select all

868e1: 08,01,38           shrw  R38,1            TMP3L >>= 1;
Becomes

Code: Select all

868e4: b3,39,d7,06,26     ldb   R26,[R38+6d7]    TEMP1L = [(GR_CM/2)+106d7];
What do the strategy docs say about GR_CM?
Logging GR_CM would confirm the values of the base.

Yes report it in the V5 thread as a heads up for all. TVRfan has an email address on his github page or in the user manuals, so do that too. You could also raise an issue using github which would be visible to users who find SAD but don't use this forum.

Re: EEC V file conversion

Posted: 2024 Jul 12, 08:19
by BOOSTEDEVERYTHING
Ok. I think I can understand that. So, I would need to log the values in all gears and make note of them, Then divide that value by 2 and then add the 106d7, and that would be the actual value, or would I need to figure out what value the PCM has stored in 106d7 and add that to the value in GR_CM/2?
I guess I am asking if 106d7 is a static/constant value or parameter and if I am trying to define that in a dir file, would I just ignore the value in R38 for this purpose?
I will report the bug in the V5 thread and look up his email address, thanks.

Re: EEC V file conversion

Posted: 2024 Jul 14, 21:49
by jsa
Yes you could log each gear to confirm the value of GR_CM.
Yes if the logged value for 4th gear is 0x8 then that is [0x4+106D7]=0x106DB.

R26 will end up holding the value contained at address 0x106DB.

Code: Select all

868e4: b3,39,d7,06,26     ldb   R26,[R38+6d7]    TEMP1L = [106DB]
Does GR_CM ever hold the value 0 for park or neutral??

You could add something like this to your comments file;

Code: Select all

868e4 # [6D7] Gear 0?? \s6D7/n
868e4 # [6D8] Gear 1 \s6D8/n
868e4 # [6D9] Gear 2 \s6D9/n
868e4 # [6DA] Gear 3 \s6DA/n
868e4 # [6DB] Gear 4 \s6DB
They are parameters that can be added to your directive file.

Re: EEC V file conversion

Posted: 2024 Jul 15, 11:13
by BOOSTEDEVERYTHING
Does GR_CM ever hold the value 0 for park or neutral??
Not sure about that one. I will have to figure out how to make a DEF file for tunerpro or BE and then the truck is kind of torn apart right now anyways for some body work, so even when I figure out how to build a proper DEF file, it may be a couple more months before the truck is up and running again. I may end up switching back to the READ0 strategy and building that one up some more. That is the truck I am driving now. It's my dad's truck, but he has been letting me borrow it while mine is down. Right now I am using a Core Tuning DEF file in BE, but it is a paid file and it is missing some things and some of the tables for timing look a bit screwy, so I am hesitant to change much. Guess I need to dig into building a file of my own with the DIR file we have been building up. If I understand correctly, it first needs to be transferred to a spreadsheet of some kind?

Re: EEC V file conversion

Posted: 2024 Jul 15, 17:38
by jsa
This is a BE def file, it is a spreadsheet file.

http://eecanalyzer.net/strategies?view= ... fileId=553

You can use an intermediate spreadsheet to do the conversion from dir to def the copy the result to the actual def file.