Results 1 to 15 of 16

Thread: decoding and understanding BIN files

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuel Injected!
    Join Date
    Dec 2013
    Location
    Marianna, FL
    Posts
    108

    decoding and understanding BIN files

    In the last few weeks of working with my $8D and $EE computers I have begun to wonder how the computer uses the Hex code and the deciphering of the instructions. I have a very basic grasp of how programming works but would like to try my hand at simply picking appart the files to see what makes them "tick". I want to figure out how to decipher the bits we cant see with tunerpro so changes could be made or for a better understanding of why it cant be done. There is a feature I want to work on figuring out that I believe is unique to the ARFP bin as a place to start. The 1990 Corvette has an upshift light that is directly wired to the ecu. Existing documentation says for an L98 engine that it only works to tell you to upshift to 6th at highway speeds. I want to see if that can be changed to a set RPM.

    So far I know the code must be disassembled but I can not find a program to do this at least with the information I have. I have heard about IDA but the freeware doesn't look like it will support this bin file. Any help would be great

  2. #2
    Administrator
    Join Date
    May 2011
    Location
    Lakes Region, NH
    Age
    54
    Posts
    3,862
    Hello,

    Congratulations on realizing there is more to tuning than just the variables. You're in luck! Much of the work has already been done for you. $8D information here:
    http://www.gearhead-efi.com/Fuel-Inj...Information-8D

    Two different disassemblies are here:
    http://www.gearhead-efi.com/Fuel-Inj...ll=1#post14220

    http://www.gearhead-efi.com/Fuel-Inj...ll=1#post27785

    Shift light parameters are adjustable. There are a number of tables and constants involved. See photo for more information.
    Attached Images Attached Images

  3. #3

  4. #4
    Fuel Injected!
    Join Date
    Dec 2013
    Location
    Marianna, FL
    Posts
    108
    Quote Originally Posted by 1project2many View Post
    Hello,

    Congratulations on realizing there is more to tuning than just the variables. You're in luck! Much of the work has already been done for you. $8D information here:
    http://www.gearhead-efi.com/Fuel-Inj...Information-8D

    Two different disassemblies are here:
    http://www.gearhead-efi.com/Fuel-Inj...ll=1#post14220

    http://www.gearhead-efi.com/Fuel-Inj...ll=1#post27785

    Shift light parameters are adjustable. There are a number of tables and constants involved. See photo for more information.
    The $8D xdf I have is not very descriptive of what is what and looking at the S_AUJP xdf most are removed, but thanks for the links as they have steered me down a rabit hole of figuring out what I want that is not already programmed in.

    Quote Originally Posted by steveo View Post
    you need to know some motorola 68000 assembly code. start with a 68HC11 reference like this or you will be totally lost: https://www.clear.rice.edu/elec201/Book/6811_asm.html
    Thanks for the read, this will have me for a while it looks like.

  5. #5
    Fuel Injected!
    Join Date
    Dec 2013
    Location
    Marianna, FL
    Posts
    108
    So I have attempted to decompile the ARFP bin I am using and was successful at getting a response but I dont think I did it correctly. Every value reads like an address of 0xXX where the XX is a hex value. If this is correct then I guess the question is how do I go from hex to value and stick to the confines of this language?
    Attached Files Attached Files

  6. #6
    Administrator
    Join Date
    May 2011
    Location
    Lakes Region, NH
    Age
    54
    Posts
    3,862
    So I have attempted to decompile the ARFP bin I am using and was successful at getting a response
    Hmmm.... Are you trying to describe the operation of obtaining a file directly from the chip? That's generally called "reading" as all that's involved is ascertaining each byte in a series of addresses within the chip.

    Every value reads like an address of 0xXX where the XX is a hex value.
    Each address in the chip contains one byte of data. Bytes are typically represented as base 16, or hexadecimal, values of 00 through FF. When communicating these value in writing one typically uses notations such as $00 or 0x00 to indicate they are communicating hexadecimal data. If you view the data in a tool such as a "Hex editor" you will see rows and columns of hexadecimal values, exactly the way they are stored in the chip. Some programs will output the results with the same notation attached to the values.

    You can confirm that your "read" is good by using Bithoist. The file you ulpoaded is recognized as a valid .bin.

    File 'ARFP-3.bin'
    Address: 0x8000,0xffff
    CRC: 0xa5831bc9
    Mask ID: 8Da
    ID byte: 0x8D
    Sum word: 0xcf2a
    Sequence: Mar 20, 1990 #3909 (03160F45)
    Scan ID: 5801
    BCC: ARFP7185


    If this is correct then I guess the question is how do I go from hex to value and stick to the confines of this language?
    The "values" are "hexadecimal." Some Hex editors allow you to convert the values to decimal. 8 bits can be used to represent 256 values, or decimal 0 through d255. Seeing the numbers as decimal can make them more relatable, but they do not help understand their meaning. In order to get the correct information you need a secret decoder ring, also known as a disassembler. The disassembler will look at hexadecimal values such as 18 A7 05 and turn them into assembly instructions such as STAA $05,Y. A good disassembler will also try to determine where jump instructions lead to, will attempt to replace numeric labels with mnemonic labels (which you will need to supply) and will attempt to determine whether or not sections of code are broken up by sections of variables or non-code. IDA Pro is an excellent disassembler with many functions. A smaller tool that is still powerful is [url=https://github.com/dewhisna/m6811dis]Donald Whisnant's Code Seeking Disassembler.[/quote]


    The reason I linked to those files previously is because they take a massive amount of work out of the task ahead of you. Using an existing disassembly gives you a framework to work with, allows you to learn code flow, allows you to ask questions based on work that others can download, and really puts you ahead of the game. It's like the difference between working with a car built by GM and building a car from scratch. In addition to the disassemblies I linked above there is also a very old one that's been a reference for many years located here: http://www.gearhead-efi.com/Fuel-Inj...6&d=1331601116 .

Similar Threads

  1. Decoding data bus message
    By PeteS in forum GM EFI Systems
    Replies: 17
    Last Post: 09-04-2017, 10:38 PM
  2. Help understanding cts spark
    By myburb in forum GM EFI Systems
    Replies: 7
    Last Post: 07-26-2016, 10:32 PM
  3. Need help Understanding INT and BLM
    By ZEDRATED in forum GM EFI Systems
    Replies: 0
    Last Post: 05-12-2015, 11:09 PM
  4. understanding what the engine is doing.
    By drewkimble48 in forum GM EFI Systems
    Replies: 7
    Last Post: 01-01-2015, 05:38 AM
  5. Need some help with understanding the DFCO.
    By damanx in forum GM EFI Systems
    Replies: 23
    Last Post: 12-07-2013, 06:26 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •