/[projet1]/public/pc/tools/oric/old2mfm/old2mfm.c
Defence Force logotype

Diff of /public/pc/tools/oric/old2mfm/old2mfm.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1189 by mmu_man, Tue Sep 18 13:34:14 2012 UTC revision 1190 by Jylam, Thu Sep 18 20:41:37 2014 UTC
# Line 10  int gap1,gap2,gap3; Line 10  int gap1,gap2,gap3;
10  char old_signature[]="ORICDISK";  char old_signature[]="ORICDISK";
11  char new_signature[]="MFM_DISK";  char new_signature[]="MFM_DISK";
12    
13    void init_track(int n);
14    void compute_crc(unsigned char *ptr,int count);
15    
16  main(int argc,char *argv[])  int main(int argc,char *argv[])
17  {  {
18          int i,s,t,offset;          int i,s,t,offset;
19    
# Line 61  main(int argc,char *argv[]) Line 63  main(int argc,char *argv[])
63                trackbuf[offset+5]=s;                trackbuf[offset+5]=s;
64                trackbuf[offset+6]=i+1;                trackbuf[offset+6]=i+1;
65                trackbuf[offset+7]=1;                trackbuf[offset+7]=1;
66                compute_crc(trackbuf+offset,4+4);                compute_crc((unsigned char*)(trackbuf+offset),4+4);
67                offset+=4+6;                offset+=4+6;
68                offset+=gap2;                offset+=gap2;
69                memcpy(trackbuf+offset+4,bigbuf+((s*tracks+t)*sectors+i)*256,256);                memcpy(trackbuf+offset+4,bigbuf+((s*tracks+t)*sectors+i)*256,256);
70                compute_crc(trackbuf+offset,4+256);                compute_crc((unsigned char*)(trackbuf+offset),4+256);
71                offset+=256+6;                offset+=256+6;
72                offset+=gap3;                offset+=gap3;
73              }              }
74              fwrite(trackbuf,6400,1,fd);              fwrite(trackbuf,6400,1,fd);
75            }            }
76        return 0;
77  }  }
78    
79  init_track(int n)  void init_track(int n)
80  {  {
81          int i,j,offset=0;          int i,j,offset=0;
82    
# Line 106  unsigned int crctab[256] = Line 109  unsigned int crctab[256] =
109          0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,          0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,
110          0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,          0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,
111          0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,          0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,
112          0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,          0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,
113          0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,          0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,
114          0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,          0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,
115          0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,          0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,
116          0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,          0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,
117          0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,          0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,
118          0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,          0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,
119          0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,          0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,
120          0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,          0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,
121          0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,          0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,
122          0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,          0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,
# Line 129  unsigned int crctab[256] = Line 132  unsigned int crctab[256] =
132          0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,          0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,
133          0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0          0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0
134  };  };
135            
136  compute_crc(unsigned char *ptr,int count)  void compute_crc(unsigned char *ptr, int count)
137  {  {
138          int i;          int i;
139          unsigned short crc=0xFFFF,byte;          unsigned short crc=0xFFFF,byte;

Legend:
Removed from v.1189  
changed lines
  Added in v.1190

  ViewVC Help
Powered by ViewVC 1.1.26