97 unsigned short start=0x3000;
99 unsigned short runaddr=0x3000;
108 remove( temporaryFileName );
111 fr=fopen(temporaryFileName,
"rb");
117 fr=fopen(temporaryFileName,
"rb");
120 fw=fopen(destin,
"wb");
122 fseek(fr, 0
L, SEEK_END);
126 unsigned char header[] = {
127 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3,
128 0xd3, 0xd3, 0x4d,
'm',
'a',
'i',
'n', 0x00,
129 0x00, 0x00, 0x31, 0x30, 0x00, 0x00, 0x00, 0x00,
130 0x00, 0x00, 0xfb, 0x49, 0x00, 0x00, 0x00, 0x00,
131 0x00, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,
135 unsigned char basic[] = {
136 0x00, 0x08, 0x4a, 0x0a, 0x00,
137 0x9f, 0x31, 0x38, 0x39, 0x35,
138 0x34, 0x3a, 0x00, 0x00, 0x00
141 int length =
size +
sizeof( basic );
144 for(
int i=0; i<
sizeof(basic); ++i ) {
145 checksum += basic[i];
148 for(
int i=0; i<
size; ++i ) {
149 unsigned char c = (
unsigned char) fgetc(fr);
153 header[28] = ( length & 0xff );
154 header[29] = ( ( length>>8) & 0xff );
155 header[30] = ( checksum & 0xff );
156 header[31] = ( ( checksum >> 8 ) & 0xff );
158 fwrite( header,
sizeof( header ), 1, fw );
159 fwrite( basic,
sizeof( basic ), 1, fw );
161 fseek( fr, 0, SEEK_SET );
162 for(
int i=0; i<
size; ++i ) {
163 unsigned char c = (
unsigned char) fgetc(fr);