Why auto disassembly is tough

This is where the BIN Hackers and definition junkies discuss the inner workings of the EEC code and hardware. General tuning questions do not go here. Only technical/hardware-specific/code questions and discussions belong here.

Moderators: cgrey8, EDS50, Jon 94GT, 2Shaker

Post Reply
motorhead1991
Regular
Posts: 79
Joined: Tue Nov 21, 2017 2:32 am

Re: Why auto disassembly is tough

Post by motorhead1991 » Wed Jun 13, 2018 8:44 pm

tvrfan wrote:
Wed Jun 13, 2018 3:03 pm
You should be able to override any part you want with a command in a <name>_dir.txt file ( so "m0m2_dir.txt")
if it's a regular 2D table, then use a TABLE command, or if not use a STRUCT command and specify each element of the row. SAD knows how many rows by the start and end address (it calculates an entry/row size from the command).
Examples are in the SAD doc for the A9L injection structure, which I hope is enough to understand how to do it.

This kind of command does not affect the auto scanning of anything else, it just 'locks' that data as per your command.
SAD should not crash even if command is wrong, so you should be able to try a command and then fix it if necessary...

At the moment I haven't got code to analyse a mixed data structure type automatically.
That's just it. I have it laid out as a "table", and it keeps interpreting it as " code"
1990 Ford Ranger FLH2 conversion. Ford forged/dished pistons, Total Seal file-fit rings, Clevite rod and main bearings, Clevite cam bearings, IHI turbo, Siemens Deka 60lb/hr injectors, Ford slot MAF in custom 3" housing. Moates Quarterhorse with Binary Editor, using the PAAD6 database.

OpenEEC Telegram Chat:
Telegram

motorhead1991
Regular
Posts: 79
Joined: Tue Nov 21, 2017 2:32 am

Re: Why auto disassembly is tough

Post by motorhead1991 » Wed Jun 13, 2018 9:23 pm

motorhead1991 wrote:
Wed Jun 13, 2018 8:44 pm
tvrfan wrote:
Wed Jun 13, 2018 3:03 pm
You should be able to override any part you want with a command in a <name>_dir.txt file ( so "m0m2_dir.txt")
if it's a regular 2D table, then use a TABLE command, or if not use a STRUCT command and specify each element of the row. SAD knows how many rows by the start and end address (it calculates an entry/row size from the command).
Examples are in the SAD doc for the A9L injection structure, which I hope is enough to understand how to do it.

This kind of command does not affect the auto scanning of anything else, it just 'locks' that data as per your command.
SAD should not crash even if command is wrong, so you should be able to try a command and then fix it if necessary...

At the moment I haven't got code to analyse a mixed data structure type automatically.
That's just it. I have it laid out as a "table", and it keeps interpreting it as " code"
Doh! Blonde moment. ee00 extends outside the realm of SADs sizing boundary. If I set it for 64k, it should work fine.
1990 Ford Ranger FLH2 conversion. Ford forged/dished pistons, Total Seal file-fit rings, Clevite rod and main bearings, Clevite cam bearings, IHI turbo, Siemens Deka 60lb/hr injectors, Ford slot MAF in custom 3" housing. Moates Quarterhorse with Binary Editor, using the PAAD6 database.

OpenEEC Telegram Chat:
Telegram

jsa
Tuning Addict
Posts: 440
Joined: Sat Nov 23, 2013 7:28 pm
Location: 'straya

Re: Why auto disassembly is tough

Post by jsa » Thu Jun 14, 2018 11:19 pm

tvrfan wrote:
Mon Jun 11, 2018 2:34 pm
Um.. I haven't tested that in a while, but SAD does have a D option,

Ok, my fault, the D 17C is good.

Code: Select all

ef,c4,12            call  1234             Sub1234(1b4,80);
38,80               #args       
Now, the second argument wants to be a bit field, have I missed an option to do something like this?

Code: Select all

ef,c4,12            call  1234             Sub1234(1b4,1000 0000);
38,80               #args       
Cheers

John

95 Escort RS Cosworth - GHAJ0 / ANTI on a COSY box code
Moates QH & BE
ForDiag

tvrfan
Tuning Addict
Posts: 329
Joined: Sat May 14, 2011 11:41 pm
Location: New Zealand

3.07 released

Post by tvrfan » Fri Jun 15, 2018 2:33 pm

jsa -
No - I haven't got a bit field option in an arguments list. I'll add thet to my list - I assume it's so you can get a symbol name ??

I've just pushed 3.07 as my last thing before disappearing for a while.....

I've not fully tested it, but have got address ranges for symbols and rbases, and various other fixes for things reported.

I also added code for BWAK type binaries, which use the secondary stack (R22) for their background task list. This allowed SAD to go from decoding hardly anything in the BWAK3N2 to decoding most of it (but still more to do).

When I get back, I'm going to see if I can finally come up with a way to crack subroutine arguments correctly.
TVR, Triumph (cars), kit cars, classics. Ex IT geek, development and databases.

https://github.com/tvrfan/EEC-IV-disassembler

jsa
Tuning Addict
Posts: 440
Joined: Sat Nov 23, 2013 7:28 pm
Location: 'straya

Re: Why auto disassembly is tough

Post by jsa » Fri Jun 15, 2018 3:04 pm

Thank you for 3.07.

I am am not sure whether symbol names are required or not. At the moment B7 is being tested but I need to look through the others to answer with certainty. I posted knowing 3.07 was imminent.
Cheers

John

95 Escort RS Cosworth - GHAJ0 / ANTI on a COSY box code
Moates QH & BE
ForDiag

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests