I will see if I can shed a little light on the $42 hac.
If you open the .hac you will see at about 1/5th the way down right after LD4E6:
Code:
;--------------------------------------------- ; ALDL XMIT TABLE OR ADDRESSE'S ; 127747 ECM ; ; 5.7L TBI L05 C/K 87,91 TRUCKS ; ; DATA PIN: Read data on PIN "E" of ALDL Connector ; ; BAUD RATE: 160 Baud ; Open - 20 Bytes ; 10k - 20 Bytes ; Shorted - 20 Bytes ; ;--------------------------------------------- ORG $04E7 ; LD4E7 FDB $D002 ; 1. EPROM ID LSB LD4E9 FDB $D003 ; 2. EPROM ID MSB ;--------------------------------- LD4EB FDB $00FD ; 3. CURRENT IAC POSIT, (0-255) ; N = COUNTS ;--------------------------------- LD4ED FDB $0025 ; 4. COOLANT ; see table 1 ;--------------------------------- LD4EF FDB $0034 ; 5. MPH, ; (MPH/1) ;--------------------------------- LD4F1 FDB $002D ; 6. MAP, (A/D, 0-255) ; VOLTS = N * .0196 ;--------------------------------- LD4F3 FDB $001C ; 7. RPM/25 ; RPM = N * 25 ;--------------------------------- LD4F5 FDB $0048 ; 8. TPS (A/D, 0-255) ; VOLTS = N * .0196 ;--------------------------------- LD4F7 FDB $00A4 ; 9. INTIGRATOR, (0-255) ; ;--------------------------------- LD4F9 FDB $003E ; 10. o2 (A/D) ; mvdc = 0.2304 * A/D VAL ;--------------------------------- LD4FB FDB $00E0 ; 11. ERROR WD 1 MALFFLG1 ; ; b7 Err NO DRP'S ; b6 Err 13 Oxygen sensor ; b5 Err 14 Coolant sensor HIGH ; b4 Err 15 Coolant sensor LOW ; ; b3 Err 21 TPS, HI ; b2 Err 22 TPS, LOW ; b1 Err 23 (not used) ; b0 Err 24 Vss ERR ;--------------------------------- LD4FD FDB $00E1 ; 12. ERROR WD 2 MALFFLG2 ; ; b7 Err 43 ESC FAILURE ; b6 Err 44 Oxygen sensor LEAN ; b5 Err 45 Oxygen sensor RICH ; b4 Err 51 PROM Error ;
This is the instruction that the ECM reads that specifies what data (and it's location) to send out in the ALDL. I know these all say "LD***", but I have seen a lot of hacs that use this interchangably with "L0***", it should be "0"
If you go and serach through the .hac for "STAA", you will find many of them, this is hte command to store the data from previous address to the address following the command. So you can select any value that is stored in the ECM's RAM to send out in the ALDL stream. Then you go searching for the item you want to send out, like SA.
Now I could not find an address listed where spark advance is stored to, bet there are a lot of references to spark advance and they all point to L0066, so like a said in the other thread, you make a new constant with item address for one of the above listed datastream items, like O2 sensor volts.
So we are going to replace O2 sensor volts (because we all tune with WBO2s anyways) with Spark Advance. So we make the Item Address "L04F9" which is the address for the bytes we want to change, and make the size two bytes, and put in the comment section "To datalog Spark Advance instead of O2 sensor volts change Bytes at this address from 00 3E (O2 sensor Voltage) to 00 66 (Spark Advance).
Then make new ADX value with the same packet offset as the O2 Sensor Volts, and label it Spark Advance. That easy. Just make sure you always use the XDF and ADX together. Any questions?
Bookmarks