diff options
Diffstat (limited to 'cetools/files')
-rw-r--r-- | cetools/files/sean-hsieh.patch | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/cetools/files/sean-hsieh.patch b/cetools/files/sean-hsieh.patch deleted file mode 100644 index ce1b4965af..0000000000 --- a/cetools/files/sean-hsieh.patch +++ /dev/null @@ -1,97 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- cetools-0.3/bin2rom.c~sean-hsieh -+++ cetools-0.3/bin2rom.c -@@ -14,6 +14,12 @@ - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ -+ History: -+ 07/14/2000 Sean Hsieh -+ Clear padding bytes of the input buffer when -+ "blockSize < BLOCKSIZE" to avoid the checksum -+ error - */ - #include <stdio.h> - #include <sys/stat.h> -@@ -28,7 +34,7 @@ - - #define min(a, b) (a<b)?(a):(b) - --int bin2rom( char * inputName, char * outputName, long start, long boot ) -+int bin2rom( char * inputName, char * outputName, long start, long boot, long record ) - { - int input; - int output; -@@ -48,7 +54,7 @@ - - int reste; - -- printf("bin2rom : input filename = %s, output filename = %s, start = 0x%lx, boot=0x%lx\n", inputName, outputName, start, boot ); -+ printf("bin2rom : input filename = %s, output filename = %s, start = 0x%08lx, boot=0x%08lx, record=0x%08lx\n", inputName, outputName, start, boot, record ); - - input = open( inputName, O_RDONLY ); - if( input == -1 ) -@@ -247,7 +253,14 @@ - while( reste > 0 ) - { - blockSize = min( BLOCKSIZE, reste ); -- -+ /**********************************************************************/ -+ /* Modified by Sean Hsieh */ -+ /* Clear the padding bytes to zero, this can avoid the checksum error */ -+ /**********************************************************************/ -+ if ( blockSize != BLOCKSIZE ) { -+ memset( inStart, 0, BLOCKSIZE ); -+ //printf( "adding padding bytes\n" ); -+ } - read( input, inStart, blockSize ); - - #ifdef MAP_OUTPUT -@@ -285,7 +298,8 @@ - - write( output, &boot, 4); - -- write( output, &nullData, 4); -+ //write( output, &nullData, 4); -+ write( output, &record, 4); - - #endif - -@@ -339,17 +353,26 @@ - { - long start; - long boot; -+ long record; - -- if( argc < 5 ) -+ if ( argc < 5 ) - { -- printf("bin2rom: <input file> <output file> <start address> <boot address>\n"); -- exit( -1 ); -+ printf("bin2rom: <input file> <output file> <start address> <boot address> [<record address>] [-s] [-c]\n"); -+ exit( -1 ); - } - - sscanf( argv[3], "%lx", &start ); - sscanf( argv[4], "%lx", &boot ); -- -- bin2rom( argv[1], argv[2], start, boot ); -+ if ( argc >= 6 ) -+ { -+ sscanf( argv[5], "%lx", &record ); -+ } -+ else -+ { -+ record = 0xffffffff; -+ } -+ -+ bin2rom( argv[1], argv[2], start, boot, record ); - - return 0; - } -\ No newline at end of file |