SAD Version 5 (alpha)

All hardware related, disassembly / programming and code discussions belong here.
efloth
Posts: 300
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)

Unread post by efloth »

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?
jsa
Posts: 274
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)

Unread post by jsa »

TVRfan, thank you for the new version and ongoing effort.

Efloth, in simple terms it's the nuances that are causing the trouble.
BOOSTEDEVERYTHING
Posts: 235
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)

Unread post by BOOSTEDEVERYTHING »

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)
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!!!
tvrfan
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)

Unread post by tvrfan »

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....
efloth
Posts: 300
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)

Unread post by efloth »

different SAD for different bins, but how do you know which is right for which
Let the user decide? Maybe a simple option to choose the disassembler version with some guidance.
jsa
Posts: 274
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)

Unread post by jsa »

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.
tvrfan
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)

Unread post by tvrfan »

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.
BOOSTEDEVERYTHING
Posts: 235
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)

Unread post by BOOSTEDEVERYTHING »

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?
tvrfan
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)

Unread post by tvrfan »

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).
BOOSTEDEVERYTHING
Posts: 235
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)

Unread post by BOOSTEDEVERYTHING »

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.
Post Reply