I've manually aligned the ATOD_LIST in each. The RZASA DMR had names for the ATOD_LIST and all the analog channels.
Straight up we can add to the EQE3 DIR;
Code: Select all
SYM 16D8A "ATOD_LIST" # Address of analog to digital channel list
Both RZASA and EQE3 read Channel 3 multiple times. The RZASA DMR has it as TP_CNTx. Good enough for Ford, good enough for me.
Let's see in EQE3 if TP code is the same.
I search EQE3 for _Ch3 and get a hit at 0x847D4.
I search RZASA for TP_CNT and get a hit at 0x940EC.
Line them up to compare They are a match.
We are going to edit or add to EQE3 DIR.
Code: Select all
SYM 1D6 "TP_CNT1" #UW # Throttle position counts 1
SYM 1D8 "TP_CNT2" #UW # Throttle position counts 2
SYM 1DA "TP_CNT3" #UW # Throttle position counts 3
SYM 1DC "TP_CNT4" #UW # Throttle position counts 4
SYM 1DE "TP_ENG" #UW # Average throttle position
SYM 11548 "TP_ENG_LAST" #UW # Previous average throttle position
Sub 847D4 "Sub847D4_TP_CNT>TP_ENG" # Updates TP_ENG from TP_CNT 1 to 4
Code: Select all
847D5 # [1DE]
847D8 # [11548]
847DE # [1D6]
847E1 # [1D8]
847E8 # [1DA]
847EE # [1DC]
847F7 # [1DE]
Run SAD; the result should look like this
Code: Select all
ATOD_LIST:
16d8a: 03,d6,01 struct 3, TP_CNT1
16d8d: 00,c0,01 struct 0, iADC_Ch0
16d90: 01,c2,01 struct 1, iADC_Ch1
16d93: 05,d4,01 struct 5, iADC_Ch5
16d96: 02,a6,01 struct 2, iADC_Ch2
16d99: 03,d8,01 struct 3, TP_CNT2
16d9c: 06,ce,01 struct 6, iADC_Ch6
16d9f: 07,a4,01 struct 7, iADC_Ch7
16da2: 08,9e,01 struct 8, iADC_Ch8
16da5: 09,a0,01 struct 9, iADC_Ch9
16da8: 03,da,01 struct 3, TP_CNT3
16dab: 0c,d2,01 struct c, iADC_ChC
16dae: 0a,1c,0e struct a, e1c
16db1: 0f,a2,01 struct f, iADC_ChF
16db4: 03,dc,01 struct 3, TP_CNT4
16db7: ff ## terminator
Sub847D4_TP_CNT>TP_ENG:
847d4: f2 pushp push(PSW);
847d5: a0,df,2c ldw R2c,R1de R2c = TP_ENG; # [1DE]
847d8: c3,ec,c8,2c stw R2c,[Rec+c8] TP_ENG_LAST = R2c; # [11548]
847dc: 01,2a clrw R2a R2a = 0;
847de: a0,d7,2c ldw R2c,R1d6 R2c = TP_CNT1; # [1D6]
847e1: 44,d9,2c,28 ad3w R28,R2c,R1d8 R28 = R2c + TP_CNT2; # [1D8]
847e5: a4,00,2a adcw R2a,R0 R2a += CY;
847e8: 64,db,28 ad2w R28,R1da R28 += TP_CNT3; # [1DA]
847eb: a4,00,2a adcw R2a,R0 R2a += CY;
847ee: 64,dd,28 ad2w R28,R1dc R28 += TP_CNT4; # [1DC]
847f1: a4,00,2a adcw R2a,R0 R2a += CY;
847f4: 0c,02,28 shrdw R28,2 lR28 >>= 2;
847f7: c0,df,28 stw R28,R1de TP_ENG = R28; # [1DE]
847fa: f3 popp PSW = pop();
847fb: f0 ret return;
You could add a similar sub name to RZASA DIR.
You can search the CDAN2 and CRAI8 strategy docs for TP_ENG, that will be about 100 hits. Maybe some of the strategy doc code is identifiable in EQE3.
Now it is possible to search both LST's for TP_CNT, TP_ENG and TP_ENG_LAST. You're looking for more common code, to identify more parameters. Have a go, see what you find and report back.
After getting what we can from this, we'll have a crack at ECT.