The 'A' has Comparators and a Voltage Reference Module... switch them off and any code for the plain vanilla will run on the 'A' after recompiling.
The 'A' has Comparators and a Voltage Reference Module... switch them off and any code for the plain vanilla will run on the 'A' after recompiling.
Hi, Boroko and Mel
The goal is just to find some free program lines at the very beginning of the program to place the 2 asm lines to disable comparators ... CVRCON default is Disabled ...
or just a "GOTO past the program last line" , and here place the config lines ; another GOTO will drive back to the "classical" program following line ... That allows to change one existing line to a "GOTO" and re-place it in the config stubb.
Alain
Last edited by Acetronics2; - 24th December 2008 at 16:53.
************************************************** ***********************
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 " !!!
*****************************************
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
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 " !!!
*****************************************
Bookmarks