Page 59 of 70

Re: EEC V file conversion

Posted: 2024 Dec 09, 15:29
by jsa
BOOSTEDEVERYTHING wrote: 2024 Dec 09, 10:37 Also have a question about the SCPBITMAP registers....see one example below....
Should these be defined in the DIR file or are these temporarily loaded for the 5.3.1.1 Scp_pid_pid_defs subroutine only???
Paste up the code where the SCP bits are loaded into RAM.

Re: EEC V file conversion

Posted: 2024 Dec 10, 09:10
by BOOSTEDEVERYTHING
jsa wrote: 2024 Dec 09, 15:29
BOOSTEDEVERYTHING wrote: 2024 Dec 09, 10:37 Also have a question about the SCPBITMAP registers....see one example below....
Should these be defined in the DIR file or are these temporarily loaded for the 5.3.1.1 Scp_pid_pid_defs subroutine only???
Paste up the code where the SCP bits are loaded into RAM.
Here is scpbitmap_10

Code: Select all

     # JNB   from L06514 HEGO_FAULT = 0                                            Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
0651a: c7,01,ba,17,46     stb   R46,[R0+17ba]    SCPBITMAP_10 = TMP0L;
0651f: 11,46              clrb  R46              TMP0L = 0;
06521: 32,69,03           jnb   B2,R69,06527     if (CHTIL_CMD = 1)  {
06524: 91,01,46           orb   R46,1            B0_TMP0L = 1; }

     # JNB   from L06521 CHTIL_CMD = 0                                             Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06527: 33,6c,03           jnb   B3,R6c,0652d     if (SWC = 1)  {
0652a: 91,04,46           orb   R46,4            B2_TMP0L = 1; }

     # JNB   from L06527 SWC = 0                                                   Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
0652d: 33,72,03           jnb   B3,R72,06533     if (SWC_FAULT = 1)  {
06530: 91,08,46           orb   R46,8            B3_TMP0L = 1; }

     # JNB   from L0652D SWC_FAULT = 0                                             Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06533: 34,9f,03           jnb   B4,R9f,06539     if (FPUMP_SPEED = 1)  {
06536: 91,10,46           orb   R46,10           B4_TMP0L = 1; }

     # JNB   from L06533 FPUMP_SPEED = 0                                           Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_

Re: EEC V file conversion

Posted: 2024 Dec 10, 09:37
by BOOSTEDEVERYTHING
jsa wrote: 2024 Dec 09, 14:57
BOOSTEDEVERYTHING wrote: 2024 Dec 09, 10:33 the way I am looking at it is that everything is loaded to TEMP5L? So does that mean that the value for 1070 is loaded to TEMP5L and TEMP5H, and then the next two are loaded to TEMP6L and TEMP6H, and the next byte is loaded to TEMP7L? Or am I way off?
TEMP5L is the address value of Arg1, not the register that Arg1 is loaded into.

Hint, have a read about Call and Program Counter in the manuals.

Code: Select all

8ad5d: 10,09              rombk 9
8ad5f: ef,33,7e           call  92b95            Sxx92B95_RZA96CB3_36.6.4.1_SUBSTITUTE (
Post up the code where you think the args are loaded to registers.
I will do some reading on this, I am still very confused by arguments and how they fit into the code. I will try and copy over the args and the substitute sub into a separate file and see if I can work through it while reading about it. Thanks for the hint.

Re: EEC V file conversion

Posted: 2024 Dec 10, 12:45
by BOOSTEDEVERYTHING
Here is a very quick start to my spreadsheet to build the database from. Possibly???? Let me know if you think I need to make any changes to the format or data in the sheet. Also, if anyone could help with formulas to auto complete any of the data, that would be awesome. I was thinking it would be nice to enter the size from the docs and the start address and it could compute the hex value to add to start address, end address, byte size , etc.... If it isn't too complicated that is. A better way than copying and pasting all of the data individually would be pretty nice too, but not really a necessary thing.

Code: Select all

 ROM table_type FN1315;
                          /* An 10x8 table which gives injector delay as a function of engine speed and load. 
                          Resolution: 4.000000                 Units: Degrees    Table Size: 10X8
                          Min. Value: 0.000000                 Max. Value: 720.000000
                          X Input: RPM - FN070                 X Normalizing Fcn: FN070 
                          Y Input: LOAD - FN085                Y Normalizing Fcn: FN085*/
            ROM fox_type FN336;
                          /* Injector timing versus ECT (X-input). 
                          Resolution: 4.000000                 Base Value:        Units: HWTIMERTICKS
                          Min. Value: -360.000000              Max. Value: 360.000000 Cal. Level: RCON/VECTR 
                          XY Pairs: 6               X Input: ECT        X Input Units: DEGF*/
Was thinking, most tables and functions show up like this in the docs, so if I could grab the whole section of the single function and copy it and bring it over to the spreadsheet and it could possibly auto-populate the fields.... maybe too much to ask? ehh, worth a shot, right. You guys are much smarter than me when it comes to all of this type of stuff, so any help would be appreciated. Also as far as the address in the strategy goes, I was thinking that may require multiple databases, one for each strategy. Use this as a template and as you disassemble the code you could search for the parameter, table, etc... and just enter the address into the sheet, then maybe there would be a way for SAD to use the sheet, maybe in the future, to label all of the addresses in the LST file? maybe stretching here. But a big template that is already made with all of the labels as per the docs may simplify building def files for tuning software and standardizing things, so to speak.

Re: EEC V file conversion

Posted: 2024 Dec 10, 12:50
by decipha
the problem you run in to is that not all functions and tables exist in all strats and sometimes the normalizers are different

and an even bigger problem is that they arent in the same order so now having to rearrange and reorder is more time consuming than just typing it in.

Re: EEC V file conversion

Posted: 2024 Dec 10, 12:53
by BOOSTEDEVERYTHING
Also, Question about the LST file. Is there a way to make the font on certain items stick out more, bold, underline, larger font, anything like that? It would be a huge help for me if it would make the font larger and bold for the subroutine labels. Just to make it easier to tell where the routine is starting and ending. Thanks

Re: EEC V file conversion

Posted: 2024 Dec 10, 12:58
by BOOSTEDEVERYTHING
decipha wrote: 2024 Dec 10, 12:50 the problem you run in to is that not all functions and tables exist in all strats and sometimes the normalizers are different

and an even bigger problem is that they arent in the same order so now having to rearrange and reorder is more time consuming than just typing it in.
I was thinking the order could be changed in the sheet pretty easily by sorting them by starting address. Also, a good reason why each strat would have to have its own database, normalizers could be changed in the sheet to match the strategy. And extra tables, etc, could be added if needed, and if there was not a start address in the cell, maybe SAD could just skip the entry all together. Then the extra functions and labels could be added to the master template spreadsheet or database. Could have a note section for entries to note that certain things are present in RZASA as opposed to CRAi8, and so on. Again, I am so new to all of this and you guys are way more versed in how all of this works...So just point out if I am being stupid. LOL

Re: EEC V file conversion

Posted: 2024 Dec 10, 13:45
by jsa
BOOSTEDEVERYTHING wrote: 2024 Dec 10, 12:53 Is there a way to make the font on certain items stick out more, bold, underline, larger font, anything like that?
Some Programming language file editors can be configured to show certain things in different colours. They would need some sort of config file built to suit the LST pseudo code.

Re: EEC V file conversion

Posted: 2024 Dec 10, 15:17
by jsa
BOOSTEDEVERYTHING wrote: 2024 Dec 10, 09:10 Here is scpbitmap_10

Code: Select all

     # JNB   from L06514 HEGO_FAULT = 0                                            Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
0651a: c7,01,ba,17,46     stb   R46,[R0+17ba]    SCPBITMAP_10 = TMP0L;
0651f: 11,46              clrb  R46              TMP0L = 0;
06521: 32,69,03           jnb   B2,R69,06527     if (CHTIL_CMD = 1)  {
06524: 91,01,46           orb   R46,1            B0_TMP0L = 1; }

     # JNB   from L06521 CHTIL_CMD = 0                                             Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06527: 33,6c,03           jnb   B3,R6c,0652d     if (SWC = 1)  {
0652a: 91,04,46           orb   R46,4            B2_TMP0L = 1; }

     # JNB   from L06527 SWC = 0                                                   Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
0652d: 33,72,03           jnb   B3,R72,06533     if (SWC_FAULT = 1)  {
06530: 91,08,46           orb   R46,8            B3_TMP0L = 1; }

     # JNB   from L0652D SWC_FAULT = 0                                             Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06533: 34,9f,03           jnb   B4,R9f,06539     if (FPUMP_SPEED = 1)  {
06536: 91,10,46           orb   R46,10           B4_TMP0L = 1; }

     # JNB   from L06533 FPUMP_SPEED = 0                                           Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
That is 'cart before the horse'.

I see you have revised ACL to be CHTIL_CMD, which now matches the flag list from CRAI8 for scpbitmap10, does it match up elsewhere in code?

On L0651A the contents of R46 are stored to 0x17BA.
On L0651F the contents of R46 are cleared to zero.
On L06524 onward various flags are tested and if set 1 then a bit in R46 is set 1.
The segment of code is transferring flag states from source locations to destination locations.
The destination can't be before the source. Assuming your source bit names are correct, then the destination must be 0x17BB.

Code: Select all


###### Do scpbitmap_10
0651f: 11,46              clrb  R46              TMP0L = 0;
06521: 32,69,03           jnb   B2,R69,06527     if (CHITL_CMD = 1)  {
06524: 91,01,46           orb   R46,1            B0_TMP0L = 1; }

     # JNB   from L06521 CHITL_CMD = 0                                             Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06527: 33,6c,03           jnb   B3,R6c,0652d     if (SWC = 1)  {
0652a: 91,04,46           orb   R46,4            B2_TMP0L = 1; }

     # JNB   from L06527 SWC = 0                                                   Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
0652d: 33,72,03           jnb   B3,R72,06533     if (VSOUT_FAULT = 1)  {
06530: 91,08,46           orb   R46,8            B3_TMP0L = 1; }

     # JNB   from L0652D VSOUT_FAULT = 0                                           Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06533: 34,9f,03           jnb   B4,R9f,06539     if (FPUMP_SPEED = 1)  {
06536: 91,10,46           orb   R46,10           B4_TMP0L = 1; }

     # JNB   from L06533 FPUMP_SPEED = 0                                           Sxx0629C_RZAxxxxx_5.3.1.1_SCP_PID_PID_DEFS_
06539: c7,01,bb,17,46     stb   R46,[R0+17bb]    scpbitmap_10 = TMP0L;             # [ 17BB]

Re: EEC V file conversion

Posted: 2024 Dec 10, 15:55
by jsa
Assuming your flag naming is correct I've made changes to CMT and DIR as follows.

CMT; insert in sequence with existing comments.

Code: Select all

0629C \n\n###### Do \s100E
062A1 # [ 100E]
062A4 \n\n###### Do \s1146
062AD # [ 1146]
062B0 \n\n###### Do \s101D
062DD # [ 101D]
062E0 \n\n###### Do \s101E
0631B # [ 101E]
0631E \n\n###### Do \s10ED
0633F # [ 10ED]
06345 # [ 10ED]
0634C # [ 10ED]
0634F   \n###### Do \s12FF
0635C # [ 12FF]
0635F \n\n###### Do \s10ED
06373 # [ 10ED]
0637A # [ 10ED]
06380 # [ 10ED]
06387 # [ 10ED]
0638F   \n###### Do \s2FC
0639F # [  2FC]
063A5 # [  2FC]
063A8   \n###### Do \s17C2
063D7 # [ 17C2] 
063DB \n\n###### Do \s17C3
063E8 # [ 17C3]
063EC \n\n###### Do \s1021
06413 # [ 1021]
06416 \n\n###### Do \s1022
06429 # [ 1022]
0642C \n\n###### Do \s1023
06462 # [ 1023]
06465 \n\n###### Do \s1024
06480 # [ 1024]
06483 \n\n###### Do \s17B8
0649E # [ 17B8]
064A2 \n\n###### Do \s17B9
064F5 # [ 17B9]
064F9 \n\n###### Do \s17BA
0651A # [ 17BA]
0651E \n\n###### Do \s17BB
06539 # [ 17BB]
0653D \n\n###### Do \s17BC
06568 # [ 17BC]
0656C \n\n###### Do \s14FE
06583 # [ 14FE]
06586 \n\n###### Do \s101F
0659B # [ 101F]
0659E \n\n###### Do \s1114
065AC # [ 1114]
065AF \n\n###### Do \s17BD
065E2 # [ 17BD]
065E6 \n\n###### Do \s17BE
0661D # [ 17BE]
06621 \n\n###### Do \s17BF
0664C # [ 17BF]
06650 \n\n###### Do \s17C0
06663 # [ 17C0]
06667 \n\n###### Do \s17C1
0667C # [ 17C1]
0668E # [ 178A]
06693 # [ 178B]
066A0 # [ 178C]
066B0 # [ 10F0]
066BF # [ 10EE]
DIR; insert in sequence with existing commands

Code: Select all

#      70                                                               #L065CA {0}
SYM    70 "HEDF_STATUS"             :B2                                 #L0662A CRAI8 5-256 (0)
SYM    70 "IMRC_FAULT"              :B3                                 #L06646 CRAI8 5-256 (0)
SYM    71 "TCC_FAULT"               :B5                                 #L06676 CRAI8 5-257 (0)
SYM    72 "CANP_FAULT"              :B4                                 #L0663A  CRAI8 5-256 (0)
SYM    75 "EVR_SHORT"               :B4                                 #CRAI8 5-255 {0}
SYM    75 "EVR_OPEN"                :B5                                 #CRAI8 5-255 {0}
SYM    80 "HEGO_FDBACK"             :B1                                 #closed loop CRAI8 5-253 {0}
SYM    80 "OL_DRIVE"                :B2                                 #open loop due to driving conditions  CRAI8 5-253 {0}
SYM    80 "HEGO_FAULT"              :B4                                 #closed loop with HEGO fault CRAI8 5-253 {0}
SYM    96 "ACSW"                    :B3                                 #A/C clutch Demand Switch {0}
SYM    A6 "SCP_UP"                  :B5                                 # {0}
SYM    C6 "FP_2SPD_ERROR?"          :B1                                 # L06613 CRAI8 5-255 {0}
SYM  101F "bitmap_mon_1"            #[UY]                               #Bitmap flage CRAI8 5-255 {0}
SYM  1021 "scpbitmap_1"             #[UY]                               #Bitmap flags CRAI8 5-252 {0}
SYM  1022 "scpbitmap_2"             #[UY]                               #Bitmap flags CRAI8 5-252 {0}
SYM  1023 "scpbitmap_3"             #[UY]                               #Bitmap flags CRAI8 5-252 {0}
SYM  1024 "scpbitmap_4"             #[UY]                               #Bitmap flags CRAI8 5-252 {0}
#    1114                                                               # L065AC {0}
SYM  1146 "J1979_01_1E"             #[UY]                               #Flags Bitmap CRAI8 5-250 {0}
SYM  14FE "pid_316dd_d"             #[UY]                               #Bitmap flags CRAI8 5-254 {0}
SYM  17B8 "scpbitmap_5"             #[UY]                               #Bitmap Flags CRAI8 5-253 {0}
SYM  17B9 "scpbitmap_6"             #[UY]                               #Bitmap Flags CRAI8 5-253 {0}
SYM  17BA "scpbitmap_7"             #[UY]                               #Bitmap Flags CRAI8 5-253 {0}
SYM  17BB "scpbitmap_10"            #[UY]                               #Bitmap Flags CRAI8 5-254 {0}
#    17BC                                                               # L06568 {0}
#    17BD                                                               # L065B0 {0}
SYM  17BE "bitmap_ofd_2"            #[UY]                               #Bitmap flags CRAI8 5-255 {0}
SYM  17BF "bitmap_ofd_3"            #[UY]                               #Bitmap flags CRAI8 5-256 {0}
#    17C0                                                               # L06663 {0}
SYM  17C1 "bitmap_ofd_5"            #[UY]                               #Bitmap flags CRAI8 5-257 {0}
SYM  17C2 "bitmap_fmem3"            #[UY]                               #Bitmap Flags CRAI8 5-251 {0}
SYM 17764 "PGM_SELECT"              #[UY]                #Sw            # L06630 Canister Purge hardware present CRAI8 5-256 {0}
SYM 9FF00 "IDBLOCK"                 #                    #              #256Byte EEPROM ID block CRAI8 5-238 {0}
SYM 9FF13 "IDBLOCK_FMT"             #[UY]                #              #CRAI8 5-238 {0}
BYT 9FF13 9FF13                                                          # {0}