F877 to F877A Brain transplant w/HEX


Closed Thread
Results 1 to 6 of 6

Hybrid View

  1. #1
    Join Date
    Feb 2008
    Location
    Michigan, USA
    Posts
    231


    Did you find this post helpful? Yes | No

    Default

    Thanks all for the replies.

    As I mentioned in the update, I found and ordered a plain '877. I got it in and was able to burn a copy of the hex into it and it ran in the controller that originally had an '877. The one that ran a 16c74 still has issues (significant "smoke" leakage), so I can't tell if the upgrade to the '877 will work, but for now, the crisis is over, at least until I can't get obsolete parts anymore.

    A deeper question still looms. Is it possible to disassemble when you only have hex to start with? I am treading on a slippery slope here, as I realize the implications of being able to do that. Sorry, and I understand if no one chooses to dig into this.

    The changes to the code that you guys mentioned are the reasonable way to do that if you first have the code to reassemble. Obviously, a HEX file is a complete picture of the program, minus the chosen substitute names for

    variables and the like, but is there a legitimate way to reverse the process so that you could get into it and make the changes that you suggest? MPASM will only seem to work if you have the original. Probably for obvious reasons.

    I'm imagining that mapping out the register hex addresses would give you a place to start. You might be able to see what the original op-codes were, at least in the beginning and add your patch code, but it looks like it would get pretty murky pretty fast without a systematic approach.

    Like I said, this dragon has been slain, but I'm sure it has some relatives that will show up again. I'm not trying to steal someone's work, just trying to reasonably repair a multi-thousand dollar controller.

    BTW, I was quite excited to see that one of our sweet little PICs was the core of such an expensive device.

    Bo

  2. #2
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Post

    Quote Originally Posted by boroko View Post
    Thanks all for the replies.


    The changes to the code that you guys mentioned are the reasonable way to do that if you first have the code to reassemble. Obviously, a HEX file is a complete picture of the program, minus the chosen substitute names for

    variables and the like, but is there a legitimate way to reverse the process so that you could get into it and make the changes that you suggest? MPASM will only seem to work if you have the original. Probably for obvious reasons.


    Bo
    Hi,

    You DO NOT need to re-assemble the code ... simply told, you just use an HEX editor to modify existing lines or add some ASSEMBLER lines past the ones existing.
    In MPLAB, you can easily do it in the "Program window" ...

    The ABSOLUTE MUST is just not to modify the existing lines numbering ...

    I've done it mostly to change the menu language ( just changing letters HEX code ... ) or add some I/O functions ...

    Once more : do not worry ! ... turning to 877A is really easy. - turning to 887 would, of course, be a little trickier ...

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

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