SAD Version 5 (alpha)
-
- Posts: 304
- Joined: 2021 Feb 15, 22:12
- Location: Sacramento CA
- Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1
Re: SAD Version 5 (alpha)
Instead of a one size fits all approach, why not have separate code paths (v4) for the bins that mess up your rewrite? Would it be simple enough to determine what nuances to look for and decide which version to run?
-
- Posts: 285
- 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)
TVRfan, thank you for the new version and ongoing effort.
Efloth, in simple terms it's the nuances that are causing the trouble.
Efloth, in simple terms it's the nuances that are causing the trouble.
-
- Posts: 246
- 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)
As far as I am concerned, you are doing excellent111 Thank you so much for writing the program and continuing to develop it. You are doing everyone a great service, and without your program most of the stuff out there probably wouldn't have gotten out there to the DIY community. So Thank You Very Much from me in my little corner of the world!!!! Thank You, Thank You, Thank You!!!PROBLEM -
I have found things which mess up my 'elegant' v5 design, and I think it means some of my v5 rewrite won't ever work right... Damn, Damn, Damn!!! (and 'F' words)
-
- Posts: 88
- 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
Re: SAD Version 5 (alpha)
Thanks.
On the plus side v5 has its code design split into modules for easier maintenance, and has new user features (some still being developed).
On the negative side, V5 is a step backwards from v4 for disassembly results, but will be improved.
I don't think SAD will ever be perfect, too many styles of code and logic to deal with in the bins.
Some of the data will always be difficult to decode I reckon.
User commands are already too complex, but have to be to actually do the job.
But I can get it closer than it is now ....
efloth - Trouble is that you end up in a catch-22. Been there several times. One idea works for some bins, but not for others, and changing for another way then doesn't work for original bins, and around and around it goes. I reckon there is no way to do it perfectly. Emulate the whole thing (as some previous posts) seems right, but that doesn't work, as you have to ensure all events happen in the right order at the right time, and there's all the error checks/fault codes, and other things/events that probably only happen in a real environment with a real ICE. Way too hard.
In some ways you have a good point - different SAD for different bins, but how do you know which is right for which ?
Maybe one day from someone who knows how to train an AI system with thousands of rules .... but that isn't me....
On the plus side v5 has its code design split into modules for easier maintenance, and has new user features (some still being developed).
On the negative side, V5 is a step backwards from v4 for disassembly results, but will be improved.
I don't think SAD will ever be perfect, too many styles of code and logic to deal with in the bins.
Some of the data will always be difficult to decode I reckon.
User commands are already too complex, but have to be to actually do the job.
But I can get it closer than it is now ....
efloth - Trouble is that you end up in a catch-22. Been there several times. One idea works for some bins, but not for others, and changing for another way then doesn't work for original bins, and around and around it goes. I reckon there is no way to do it perfectly. Emulate the whole thing (as some previous posts) seems right, but that doesn't work, as you have to ensure all events happen in the right order at the right time, and there's all the error checks/fault codes, and other things/events that probably only happen in a real environment with a real ICE. Way too hard.
In some ways you have a good point - different SAD for different bins, but how do you know which is right for which ?
Maybe one day from someone who knows how to train an AI system with thousands of rules .... but that isn't me....
-
- Posts: 304
- Joined: 2021 Feb 15, 22:12
- Location: Sacramento CA
- Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1
Re: SAD Version 5 (alpha)
Let the user decide? Maybe a simple option to choose the disassembler version with some guidance.different SAD for different bins, but how do you know which is right for which
-
- Posts: 285
- 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 user can choose any of the current SAD versions now.
Trouble is all SAD versions don't get everything right in any bin.
Even cherry picking the best bits of disassembly from all versions is going to come up short.
Trouble is all SAD versions don't get everything right in any bin.
Even cherry picking the best bits of disassembly from all versions is going to come up short.
-
- Posts: 88
- 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
Re: SAD Version 5 (alpha)
Alternate methods/versions -
I already have a SETOPTS command (and matching CLROPTS) to set 'global' options, so it could easily be expanded for alternate disassembly methods as well as the current list. Current options are mostly layout related. This would be neater than having alternate versions hanging around.
So the mechanism to do this is already there. Maybe it's a good idea to keep in mind. I am open to that.
I would still like to get one version as correct as possible though.
I already have a SETOPTS command (and matching CLROPTS) to set 'global' options, so it could easily be expanded for alternate disassembly methods as well as the current list. Current options are mostly layout related. This would be neater than having alternate versions hanging around.
So the mechanism to do this is already there. Maybe it's a good idea to keep in mind. I am open to that.
I would still like to get one version as correct as possible though.
-
- Posts: 246
- 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)
Would SAD be able to disassemble a larger BIN file? For example..a BIN from a newer vehicle, like a 2016-2018 mustang? Or is that something completely different?
-
- Posts: 88
- 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
Re: SAD Version 5 (alpha)
Boosted - SAD is only for 8061 and 8065 CPUs (EEC-IV and V). These CPUs were made only for Ford, and were based on the Motorola 8096 CPU, with extensions added.
Some Euro builds moved to a different CPU at some point in 2000's,and Ford moved on to using IBM's PowerPC in er.. 2005 ish? . Not sure if this has been pensioned off for something new by now. These are totally different CPU hardware and memory layout, so would need to write a brand new disassembler for them.
PowerPC was not made especially for Ford like 806x were, and PowerPC were used in IBM servers and other things, so it's possible tools for PowerPC may work. I don't know for sure. I think there are several different versions of PowerPC too. (not interchangeable ?)
The main board/hardware design of EEC-V limits max memory to 4 x 64K banks = 256K, although 8065 CPU supports 16 banks (= 1 megabyte) and so does SAD. (= a 20 bit address range, 16 + 4 bank select).
Some Euro builds moved to a different CPU at some point in 2000's,and Ford moved on to using IBM's PowerPC in er.. 2005 ish? . Not sure if this has been pensioned off for something new by now. These are totally different CPU hardware and memory layout, so would need to write a brand new disassembler for them.
PowerPC was not made especially for Ford like 806x were, and PowerPC were used in IBM servers and other things, so it's possible tools for PowerPC may work. I don't know for sure. I think there are several different versions of PowerPC too. (not interchangeable ?)
The main board/hardware design of EEC-V limits max memory to 4 x 64K banks = 256K, although 8065 CPU supports 16 banks (= 1 megabyte) and so does SAD. (= a 20 bit address range, 16 + 4 bank select).
-
- Posts: 246
- 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)
Ok. That makes a lot of sense. I know there are some high cost options out there for the newer PCMs. But was just curious to see a newer pcm disassembly. Being at a Ford Dealership level unfortunately doesn’t give me any access at all to see anything like that.