SAD Version 5 (alpha)
-
- 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)
Not seeing the lost bytes, but have reported byte stealing from the next opcode.
-
- 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)
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.
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.
-
- 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)
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...
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.
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
Code: Select all
RBA 52 00 0230E 02382 << Warning - Duplicate Command Ignored
-
- 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)
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).
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).
-
- 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)
Boosted, I'm on windows.
Try
RBA 52 0230E 02382
Try
RBA 52 0230E 02382
-
- 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)
That's a bug as you should not ever be able to set an RBASE register to ZERO !!BOOSTEDEVERYTHING wrote: ↑2024 Jan 11, 12:43Code: Select all
RBA 52 00 0230E 02382 << Warning - Duplicate Command Ignored
-
- 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)
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.tvrfan wrote: ↑2024 Jan 11, 13:31That's a bug as you should not ever be able to set an RBASE register to ZERO !!BOOSTEDEVERYTHING wrote: ↑2024 Jan 11, 12:43Code: Select all
RBA 52 00 0230E 02382 << Warning - Duplicate Command Ignored
I will give that a shot, thanks!Boosted, I'm on windows.
Try
RBA 52 0230E 02382
-
- 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)
I also have a question about what SAD was doing with this....
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
rbase 48 10c00 0230e 02382 # Auto added by SAD
rbase 52 0230e 02382 # Auto added by SAD
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
-
- 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...
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...)
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...)
-
- 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)
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
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