SAD Version 5 (alpha)

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

Not seeing the lost bytes, but have reported byte stealing from the next opcode.
Jamie from oz
Posts: 28
Joined: 2022 Jul 08, 04:54
Location: South Australia
Vehicle Information: 1995 ford falcon ute 5.0 windsor efi

Re: SAD Version 5 (alpha)

Unread post by Jamie from oz »

Tvrfan i called it 6dbx because there was 6dbb 6dbc 6dbd and all the code was the same just adjustments in the tune.
I appreciate the time you put into SAD and grateful that you created it.
I don't want to bombard you with things just hoping to help in any way I can.
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 »

Unfortunately mine still hangs with the MAF Transfer function in the dir file. It does seem to have gotten a little further though. It must be a windows thing if it is not doing it for JSA. JSA, are you on linux? If so, then I would say it could very well be a windows bug.
It kicks out during the output listing phase. Here is where it stops with the MAF Transfer func still in the dir file...

Code: Select all

   Func_12162:
12162: 7f,26              func   127,  38
12164: 73,26              func   115,  38
12166: 64,1c              func   100,  28
12168: 4b,00              func    75,   0
1216a: 80,00              func  -128,   0
1216c: 80,00              func  -128,   0
1216e: 80,00              func  -128,   0

   Fu
On a side note...I did notice that it seems to grab a ton more RBase listings without a dir file than v4 did. I added them to my dir file for v4 to see how they work there. Just to see what I get different in the lst file. I do get one error when doing so in v4 msg file but I am sure it is because of v5 and v4 differences.

Code: Select all

RBA    52 00 0230E 02382                     << Warning - Duplicate Command Ignored
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 »

Guys, thanks for the reports. I haven't changed any argument code since 5.0.2 so those must have been lurking.

So a list of stuff to sort out for 5.0.6 ...

There are differences in the way Windows and Linux handle crashes, memory, etc. So a coding error can sneak through one OS and not the other. Have had this a few times - string/character handling seems to be a prime suspect so far.

Off topic tech -
I think jsa uses Windows too, I'm probably the only Linux geek ! Linux desktop is still only about 3% of world total. Windows desktop still rules (> 90%), but Linux is king for phones, web servers, server farms, TVs, IOT etc.) Windows 11 demanding new hardware may give Linux a boost though, as Linux will run on anything from a Pentium/Athlon upwards, so you can keep using your older kit (and it's free to download).
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 »

Boosted, I'm on windows.

Try

RBA 52 0230E 02382
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 »

BOOSTEDEVERYTHING wrote: 2024 Jan 11, 12:43

Code: Select all

RBA    52 00 0230E 02382                     << Warning - Duplicate Command Ignored
That's a bug as you should not ever be able to set an RBASE register to ZERO !!
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 »

tvrfan wrote: 2024 Jan 11, 13:31
BOOSTEDEVERYTHING wrote: 2024 Jan 11, 12:43

Code: Select all

RBA    52 00 0230E 02382                     << Warning - Duplicate Command Ignored
That's a bug as you should not ever be able to set an RBASE register to ZERO !!
Ok. That makes sense. Like I said, I copied them from the v5 msg file to try in my v4 dir file, Just to try and see if I could notice any differences. Might be that I should not, but I guess you won't know until you try, right?!? LOL.
Boosted, I'm on windows.

Try

RBA 52 0230E 02382
I will give that a shot, thanks!
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 »

I also have a question about what SAD was doing with this....

Code: Select all

rbase 48 10c00  0230e  02382       # Auto added by SAD
rbase 52 0230e  02382       # Auto added by SAD
I just do not know what the multiple entries after the rbase (r) ... are? Can there be multiple values or are those addresses it is pointing to? Thanks

Also I just noticed that they do not show up in the lst file like the rest of the rbase entries, why is that?

Code: Select all

# Banks Found.  For information, can uncomment to manually override

# bank  0  2000 02000 0ffff 
# bank  1 12000 12000 1ffff 
# bank  8 22000 82000 8ffff 
# bank  9 32000 92000 9ffff 

rbase d0 1780e        # cmd
rbase d4 280        # cmd
rbase d6 380        # cmd
rbase d8 10480        # cmd
rbase da 10680        # cmd
rbase dc 10880        # cmd
rbase de 10980        # cmd
rbase e0 10a80        # cmd
rbase e2 11080        # cmd
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...

Rbase zero - it's possible v4 allows it when it should not... and v5 catches it , but v5 should report an invalid address... not a duplicate.

System RBASES - SAD auto detects registers which are set to only one value ever (an address), and it then makes them rbases and valid everywhere. The 'master' setup is held at 2020 in 8061 bins, and 82060 (or 12060 in multibanks) 8065. Often there are more setup in other places, but their value is always the same (they point to same address). But in other places a 'temp base' may be used in the code for say a stack of data references only in one subroutine. Typically that will be to set a register to a value (address) and then do a lot of indexed opcodes [Rx + offset]. SAD does not get those, as the register is used for other things in other places. So those rbases are done with user commands, and have a range (i.e. valid only from here to there).

That list also shows the quirk of the way banks work. Anything below 0x400 has no bank (internal to CPU), anything else must have a bank, and SAD adds the default data bank (= 1). Haven't found any bin which has any data bank other than 1 (so far...)
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 »

jamie - I think I have found the crash in func (and tab) printing - need to do some testing before I am sure .... I need to fix my Virtualbox setup first, as it's still broken. May be a few days...

If I am right, and you want a quick fix -
if you temporarily change the calc command in your funcs from

fun ce22 ce3d "func_ce22_": UW X 10 V 4 : UW X 10 # in=410_n old syntax
to
fun ce22 ce3d "func_ce22_" [ UW = int ( x / 4.0) ] [ UW X 10 ] # new syntax

it will not crash. It looks like a fault in the handling of floating values....so make it into an integer as a temp fix.

NB. explain - old form of 'V 4' , divide by 4, is converted in new syntax to '= float(x/4)' as a calc format
Post Reply