SAD Version 5 (alpha)

All hardware related, disassembly / programming and code discussions belong here.
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 »

It seems that whatever you fixed has repaired the MAF Transfer Func issue I was having. It completes the run just fine, with no errors in the msg file with the function added back into my dir file. Figured I would report something positive for you for a change! LOL!, OH.... also, it seems a lot of my labels are populating in the args, which was not true in ver4.012.....So, another positive!
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 for positive response, version 5 started off with way more bugs than I thought, which is kind of embarrassing.
I covered my ass by calling it 'alpha' release (joke). I do test, but users here are actually doing a lot more with SAD than I realised.

I'm still working through issues and fixing - there's another crash in calcs that jsa sent to me, so 5.0.7 soon when I fix that. I fix the crashes first.

M0M2 also has a code design which may be a problem for SAD v5 for a while, as it shows up a DESIGN problem, which will probably take longer to fix than bugs do. There may be others.... (V4 works for M0M2 - it's a bit complicated to explain why.)
There's a saying that "For every problem there is a neat, elegant solution....which doesn't work" which kind of fits...
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 »

released 5.0.7 with some more fixes...

FIXED - Crash in calc when used in short format multiple times in same command (sometimes) (e.g. [UW =float(x/4.0)] [UW=float(x/8.0)]
FIXED - "invalid floating point number" also in short format calcs.
FIXED - Float format not always carried through to print phase in listing (prints hex format)
FIXED - incorrect address format in some error reports.
FIXED - printout of calc formulae in '_msg' file uses float values in 'integer' calc types.

CHANGE - changed some internal names to match the Ford Manual. i.e. "alt" and "PSW_"

And some other odd layout things....
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 »

Got one small issue I noticed really quickly. I posted a screen shot below, the panel on the left is v5.0.7 and the one on the right is v4.012.
Both are of my eqe3 bin file.
Attachments
ver5to4compare.PNG
wwhite
Posts: 320
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: SAD Version 5 (alpha)

Unread post by wwhite »

PSW_V = Program Status Word _ Overflow Flag V

For the instruction JNV, PSW_V is correct.
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 »

I wasn't sure that 'overflow' (PSW_V flag) was interpreted correctly for previous ops. CARRY (PSW_C) had errors too in earlier versions, but I reckon that works right now. So I temporarily dropped the lookup of previous ops for overflow flags. I do intend to restudy the Ford manuals and put it back, in some cases it's obvious, but some aren't, so it requires going through opcode by opcode to make sure.

Latest changes work better for subroutine arguments in my test set. Has anyone got a KIEE bin ? It apparently causes problems....
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 »

wwhite wrote: 2024 Jan 23, 13:33 PSW_V = Program Status Word _ Overflow Flag V

For the instruction JNV, PSW_V is correct.
Ok, so it was incorrect in the older version then.... I am still learning, so it is good to know. I just noticed the whole line pretty much changed witch completely changed the way I was following the code. Thank you for the clarification.
wwhite
Posts: 320
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: SAD Version 5 (alpha)

Unread post by wwhite »

My old sad had OVF, I like PSW_V better
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 »

BOOSTEDEVERYTHING wrote: 2024 Jan 23, 12:04 Got one small issue I noticed really quickly.
SAD attempts to find the PSW flag setter and print the relationship relevant to the jump type.

In this code snip, SAD has not found the PSW setter.
SAD has printed 0 > 0, which is clearly incorrect.

Code: Select all

341f: 29,2b               scall 354c             Sub_354c ();
3421: d1,03               jleu  3426             if (0 > 0) {
SAD needs to print a correct statement, so printing the flags relevant to the jump type is a solution where the flag setter is not found.

The choice of V instead OVF, is intended to align SAD with the Manuals and Handbook.
When SAD was first released the manuals and handbook were not publicly available, so OVF was chosen on other criteria.
Now, the user can search the manuals and find PSW and the V flag to understand the meaning.

Jump statements were incorrect in some cases but not all.
Hopefully as some point, SAD will find all the PSW setters and correctly print relevant statements.

Would V_PSW be more appropriate than PSW_V?
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 troublesome KIEE attached.
LP4-322 _UBKH9_KIEE.BIN
(224 KiB) Downloaded 53 times
Post Reply