Paste up the code where the SCP bits are loaded into RAM.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???
EEC V file conversion
-
- Posts: 437
- 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
-
- Posts: 427
- 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
Here is scpbitmap_10jsa wrote: ↑2024 Dec 09, 15:29Paste up the code where the SCP bits are loaded into RAM.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???
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_
-
- Posts: 427
- 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
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.jsa wrote: ↑2024 Dec 09, 14:57TEMP5L is the address value of Arg1, not the register that Arg1 is loaded into.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?
Hint, have a read about Call and Program Counter in the manuals.Post up the code where you think the args are loaded to registers.Code: Select all
8ad5d: 10,09 rombk 9 8ad5f: ef,33,7e call 92b95 Sxx92B95_RZA96CB3_36.6.4.1_SUBSTITUTE (
-
- Posts: 427
- 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
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.
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.
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*/
- Attachments
-
- TABLE_FUNCTION_ADRESSING_CRAI8.ods
- (17.68 KiB) Downloaded 183 times
-
- Posts: 6384
- Joined: 2021 Feb 15, 12:23
- Location: Metairie, LA
- Vehicle Information: Work Truck
'25 F-150 5L
Re: EEC V file conversion
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.
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.
-
- Posts: 427
- 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
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
-
- Posts: 427
- 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
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. LOLdecipha 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.
-
- Posts: 437
- 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
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.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?
-
- Posts: 437
- 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
That is 'cart before the horse'.BOOSTEDEVERYTHING wrote: ↑2024 Dec 10, 09:10 Here is scpbitmap_10Code: 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_
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]
-
- Posts: 437
- 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
Assuming your flag naming is correct I've made changes to CMT and DIR as follows.
CMT; insert in sequence with existing comments.
DIR; insert in sequence with existing commands
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]
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}