Always open to new ideas, and I hope you understand if I ask "why?" it's not because I object, but more info on why you ask may lead to a different and better idea between us all, or may merge into something else. More info is always better !
1. Overlapping fields (word and byte) - do you have an example where this is used ? As far as I know values are not used interchangeably as word and byte (and long) anywhere except when used for scaling purposes (e.g. x/128 or x * 128). Some values are used multiple times and scaled differently, but stay as one base 'size' . If it's for symbol names, I changed the validation after discussions with jsa so that names CAN overlap, and only a true duplicate is rejected. In the latest V5, but args broken.
2. Looped scan - Um, sorry don't know what you are after. Currently a 'scan 01234' should start at 01234 and then do the whole 'tree' of code below it - everything called or jumped to. An example and more info please (even if it's made up) ? Thanks.
If it's linked to the idea that a code loop is emulated to get all the DATA it refers too, this is on my agenda already, but I haven't got that far. Yes, there are lots of 'lists' of things that would then pop up.
SAD Version 5 (alpha)
-
- Posts: 130
- Joined: 2023 Oct 22, 22:13
- Location: New Zealand
- Vehicle Information: Several Kit cars, Ford (Europe), EEC-IV, TVR Vixen, Tasmin (a.k.a Wedge),
Engine - Cologne 2.8 V6 (Europe) catch code 'AA'.
EEC_Disassembler https://github.com/tvrfan/EEC-IV-disassembler
-
- 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: SAD Version 5 (alpha)
The address / inline scalar issue...
http://www.efidynotuning.com/forum/view ... 678#p14506
http://www.efidynotuning.com/forum/view ... 678#p14506
-
- 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: SAD Version 5 (alpha)
I am not sure exactly how to describe the looped scan function, but if you take a look at my directive file you will see how many scan commands I had to use to make it through just 2 banks. Right now it seems that as soon as it finds a stopping point, it stops scanning. I will see if I can make a dir with just the scan codes to give you a clearer view. It would be awesome if it would scan a range of code if you put a start and end address for it to scan, where it wouldn't stop until it got to the end of the range. I guess that may be the easiest way to explain it, I guess. Maybe JSA could elaborate on it a bit...
Also, You will see examples of the byte and word values that I am talking about in my dir file. Again, I am very new, and I am following examples in the dir files I am given, Maybe there is a better way of doing it, or maybe I am misunderstanding the dir files?? Thanks for being so open to new ideas, especially from someone so new to this.
Also, You will see examples of the byte and word values that I am talking about in my dir file. Again, I am very new, and I am following examples in the dir files I am given, Maybe there is a better way of doing it, or maybe I am misunderstanding the dir files?? Thanks for being so open to new ideas, especially from someone so new to this.
- Attachments
-
- Stock_EKO2.zip
- (339.46 KiB) Downloaded 732 times
-
- 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: SAD Version 5 (alpha)
At the moment the scan command takes a start address and scans until it hits a return.
Scan over a range would take a start address and an end address.
If a scan reaches a return before the end address, scan would start at the next address after the return and scan again. Repeat until the start to end address range is scanned entirely.
Yes, some bins require an excessive number of scan commands, that could be alleviated with scan range.
Scan over a range would take a start address and an end address.
If a scan reaches a return before the end address, scan would start at the next address after the return and scan again. Repeat until the start to end address range is scanned entirely.
Yes, some bins require an excessive number of scan commands, that could be alleviated with scan range.
-
- 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: SAD Version 5 (alpha)
@JSA - Found a bug that I wanted to report in V5.08 while messing around with the EKO2 disassembly. Figured I would post it up here in case you aren't following the Disassembly thread anymore. I have posted an example below. You should spot it right away.
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;