Page 1 of 2

*.ABT format in FORScan

Posted: Thu Jul 04, 2019 11:42 am
by FORScan
Update 2019-08-08: created a simple command line untility ABTConverter to convert from new to old format. It may be necessary, for example, for comparsion purpose. Syntax:

Syntax: ABTConverter <input filename> <output filename>

*.ABT is a simple plain text format that was designed by us specially to store As Built Data (ABD). The plain text format was chosen specially to provide easy way to read and modify ABD offline as it can be opened in any text editor.

Prior to FORScan v2.3.23 the format was very transparent. Let's look at this IPC block:

720-01-01 4301 0000 6D

and this is how it is written to the *.ABT file.

;Block 1


720 - module ID, hexadecimal
01 - block number, decimal
01 - line number, decimal

The problem of the format is that (as it often happens) didn't foresee some real life cases. It dedicated 2 digits for block and line numbers. So you cannot have blocks greater than 99 and number of lines in every block greater than 99 (so maximum number of block cannot be greater than 5 * 99 = 495 bytes). In real world the ABT format is used not only for loading Ford ABD but also for any module configuration. For example, some IPMB blocks of 2018MY have size of 512 bytes. Next, on new PCMs Ford started to use ABD blocks with number greater than 99. For example, 7E0-162-01 ....

In FORScan v2.3.23 we have updated this functionality to fix the problems mentioned above. In order to provide backward compatibility we had to adjust ABT format as the following:

;Block 1

As you may see, the only difference is in block and line number, they look strange now. This is because they are encoded. The encoding is:

BlockNumber = HEX(block number, decimal) + G0
LineNumber = HEX(line number, decimal) + G0

where G0 is some number in "alphabet" notation. So block #01 is encoded as G0 + 0x01 = G1. Block with decimal number 10 (hex 0x0A) is encoded as G0+0x0A = GA. If block number or line number is greater than 15 (hex 0x0F), lower half of byte is added as usually and higher half of byte is added to G (G+1 - H, G+2=I and so on). So block #20 decimal is encoded as G0+14 = H4

Few more examples:

ABD: 720-28-01 FF3F 1900 A7
Old *.ABT record: 7202801FF3F1900A7
New *.ABT record: 720HCG1FF3F1900A7

ABD: 720-36-01 0000 0000 5E
Old *.ABT record: 7203601000000005E
New *.ABT record: 720I4G1000000005E

It may look confusing and complicated for people who work with ABT, but it was the only way to safe compatibility and avoid full redesign of the function. Also, block and line numbers are not modified by hands, so, in our understanding, it should not be a big problem. Good news is that these formats are backward compatible, so FORScan v2.3.23 is able to read old *ABT files properly. Versions prior to v2.3.23 will not be able to read new *.ABT files.

Re: *.ABT format in FORScan

Posted: Mon Aug 26, 2019 7:49 pm
cant seem to get the program to work ,,any input

Re: *.ABT format in FORScan

Posted: Sun Sep 08, 2019 8:33 pm
by ClockWorK
I'm working on integrating this change into my AsBuilt Explorer compare tool, along with the ability to export in old or new ABT format.

Probably in the next week or two.

Re: *.ABT format in FORScan

Posted: Fri Oct 04, 2019 9:01 pm
by Kingsammy
Have already implemented the change of the Forscan ABT format in your program? Many thanks in advance.

Re: *.ABT format in FORScan

Posted: Thu Nov 14, 2019 4:40 pm
by fordsmax471
Mon Aug 26, 2019 7:49 pm
cant seem to get the program to work ,,any input

Re: *.ABT format in FORScan

Posted: Tue Dec 17, 2019 2:13 am
by Steve161
Does anyone know how to disable Ford connect?

Re: *.ABT format in FORScan

Posted: Sat Dec 21, 2019 1:16 pm
by fordsmax471
Hi !

has someone to offer working ABTConverter

ABTConverter to convert from new to old format. It may be necessary, for example, for comparsion purpose.


Re: *.ABT format in FORScan

Posted: Mon Feb 03, 2020 3:45 pm
by HankRGrill
So the file the Ford asb website gives you for your VIN comes in a *.ab file extension. Is that not correct anymore? I can't get it to load into the APIM no matter what I do. Apparently *I* am the only one in the world who can't lol. Kinda at a dead end with this APIM programming. What am I missing?

Re: *.ABT format in FORScan

Posted: Sat Feb 08, 2020 7:16 am
by fordsmax471
G1-01 H0-16 I0-32 J0-48 K0-64
G2-02 H1-17 I1-33 J1-49 K1-65
G3-03 H2-18 I2-34 J2-50 K2-66
G4-04 H3-19 I3-35 J3-51 K3-67
G5-05 H4-20 I4-36 J4-52 K4-68
G6-06 H5-21 I5-37 J5-53 K5-69
G7-07 H6-22 I6-38 J6-54 K6-70
G8-08 H7-23 I7-39 J7-55
G9-09 H8-24 I8-40 J8-56
GA-10 H9-25 I9-41 J9-57
GB-11 HA-26 IA-42 JA-58
GC-12 HB-27 IB-43 JB-59
GD-13 HC-28 IC-44 JC-60
GE-14 HD-29 ID-45 JD-61
GF-15 HE-30 IE-46 JE-62
HF-31 IF-47 JF-63

Re: *.ABT format in FORScan

Posted: Fri Mar 06, 2020 4:41 pm
by ClockWorK
If I can get some example files in both formats, I can get this added to my 'AsBuilt Explorer' tool in the next week. All my programming has been done for a while. It's just a matter of testing before publishing a new version.

Ideally, my program should compare the integer values, and so should be able to compare an old-format file with new-format file without converting. Ideally.