Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- main()
- {
- unsigned int i=0,s=0,zero=0,count=0,zero1=0,k=0,t=0,total=0,one=0,eight=0,c=0;
- unsigned int w=0,p=0,v=0,h=0,range=0,c1=0;
- unsigned int jum=0x00;
- unsigned int jum1=0x00;
- unsigned char swap=0x02;
- unsigned char hash1[300];
- unsigned char temp[300];
- unsigned char temp1[300];
- unsigned char hex[260][14];
- unsigned char run1[400]; //56
- unsigned char run[300]; //7
- unsigned char run2[300]; //7
- unsigned char crap[300];
- unsigned char crap1[300];
- unsigned char crap2[268];
- unsigned char guard[14];
- unsigned char crap3[468];
- unsigned char guard1[14];
- memset(crap3,0x05,sizeof(crap3));
- unsigned char hash[300];
- unsigned char table[80000];
- memset(guard,0x05,sizeof(guard));
- memset(guard,0x05,sizeof(guard));
- unsigned int address=0,address2=0,address3=0,comcount=0,clocker=0;
- long fileoffset=0;
- long testoffset=0; //large
- //long fileoffset=81234689;//594824,594832
- //long testoffset=81234689; //min 1
- long filecheck=0;
- long overcheck=0;
- unsigned char ch=0;
- unsigned char ch1=0;
- unsigned char ch2=0;
- unsigned char ch3=0;
- unsigned char table2[480];
- unsigned char table3[480];
- unsigned char dump[480];
- unsigned int overlimit=0;
- unsigned int chi=0;
- unsigned int chi1=0;
- unsigned int chi2=0;
- unsigned int runc=0,runc1=0;
- unsigned int place=0x00;
- unsigned int place1=0x00;
- unsigned int pd=0,pd1=0;
- unsigned int pd2=0,pd3=0;
- unsigned char guard2[14];
- unsigned int stepinpro=0;
- unsigned int e0[48],e1[48],e2[48],e3[48],e4[48],e5[48],e6[48],e7[48];
- memset(e0,0x00,sizeof(e0));
- memset(e1,0x00,sizeof(e1));
- memset(e2,0x00,sizeof(e2));
- memset(e3,0x00,sizeof(e3));
- memset(e4,0x00,sizeof(e4));
- memset(e5,0x00,sizeof(e5));
- memset(e6,0x00,sizeof(e6));
- memset(e7,0x00,sizeof(e7));
- t=0;
- for(i=0;i<34;i++) {
- e0[i] = (unsigned char)(t);
- t=t+8;
- }
- t=1;
- for(i=0;i<34;i++) {
- e1[i] = (unsigned char)(t);
- t=t+8;
- }
- t=2;
- for(i=0;i<34;i++) {
- e2[i] = (unsigned char)(t);
- t=t+8;
- }
- t=3;
- for(i=0;i<34;i++) {
- e3[i] = (unsigned char)(t);
- t=t+8;
- }
- t=4;
- for(i=0;i<34;i++) {
- e4[i] = (unsigned char)(t);
- t=t+8;
- }
- t=5;
- for(i=0;i<34;i++) {
- e5[i] = (unsigned char)(t);
- t=t+8;
- }
- t=6;
- for(i=0;i<34;i++) {
- e6[i] = (unsigned char)(t);
- t=t+8;
- }
- t=7;
- for(i=0;i<34;i++) {
- e7[i] = (unsigned char)(t);
- t=t+8;
- }
- FILE *in,*out,*clear,*tab;//,*tab;//,*over;//,*tab;
- tab = fopen("table.txt","wb");
- //clear = fopen("clear.txt","wb");
- for(i=0;i<=0xff;i++) {
- k=i;
- hex[i][7] = k&0x01;
- k=(k>>1);
- hex[i][6] = k&0x01;
- k=(k>>1);
- hex[i][5] = k&0x01;
- k=(k>>1);
- hex[i][4] = k&0x01;
- k=(k>>1);
- hex[i][3] = k&0x01;
- k=(k>>1);
- hex[i][2] = k&0x01;
- k=(k>>1);
- hex[i][1] = k&0x01;
- k=(k>>1);
- hex[i][0] = k&0x01;
- }
- printf("Running program\n");
- k=0;
- s=1;
- t=0;
- w=0;
- count=0;
- for(p=0;p<0x0110;) {
- table[w+0] = k;
- table[w+1] = p;
- table[w+2] = (unsigned char)(k+0x01);
- table[w+3] = p;
- table[w+4] = (unsigned char)(k+0x02);
- table[w+5] = p;
- table[w+6] = (unsigned char)(k+0x03);
- table[w+7] = p;
- table[w+8] = (unsigned char)(k+0x04);
- table[w+9] = p;
- table[w+10] = (unsigned char)(k+0x05);
- table[w+11] = p;
- table[w+12] = (unsigned char)(k+0x06);
- table[w+13] = p;
- table[w+14] = (unsigned char)(k+0x07);
- table[w+15] = p;
- w=w+16;
- k=k+8;
- if(k>=0xff) {
- k=s;
- p=(p+0x01);
- s++;
- count++;
- }
- if(s >= 8) {
- s=0;
- }
- if(t >= 0x08) {
- t=0;
- p=(p&0xf0);
- }
- if(count >= 8) {
- count=0;
- p=p+0x10;
- p=(p&0xfff0);
- }
- k=(unsigned char)(k);
- }
- for(i=0;i<32;i++) {
- table[w+1] = 0x00;
- w++;
- }
- k=0;
- s=1;
- t=0;
- w=0;
- count=0;
- for(i=0;i<=0xffff;i++) {
- fprintf(tab,"%c",table[(unsigned short)(i)]);
- }
- fclose(tab);
- //(((((((((((((((((((((((((((((((((((((((((((((((((((((((((
- //(((((((((((((((((((((((((((((((((((((((((((((((((((((((((
- //(((((((((((((((((((((((((((((((((((((((((((((((((((((((((
- //FIX DATA INPUT TO COMPRE
- in = fopen("bin.txt","rb");
- out = fopen("bin1.txt","wb");
- clear = fopen("clear.txt","wb");
- fseek(in,0,SEEK_END);
- fileoffset = ftell(in);
- rewind(in);
- if(fileoffset == 0) {
- printf("error at fileoffset get\n");
- exit(1);
- }
- s=0;
- for(;;) {
- filecheck = ftell(in);
- if((filecheck+8) > fileoffset) {
- ch = fgetc(in);
- if((ch&0x08) == 0x08) {
- fprintf(out,"%c",(ch&0xf7));
- }
- if((ch&0x08) == 0x00) {
- fprintf(out,"%c",(ch&0xf7));
- }
- ch=0;
- ch = ch+(hash[0]);
- ch = ch+(hash[1]<<1);
- ch = ch+(hash[2]<<2);
- ch = ch+(hash[3]<<3);
- ch = ch+(hash[4]<<4);
- ch = ch+(hash[5]<<5);
- ch = ch+(hash[6]<<6);
- ch = ch+(hash[7]<<7);
- fprintf(clear,"%c",ch);
- goto star;
- }
- for(i=0;i<8;i++) {
- temp[i] = fgetc(in);
- }
- s=0;
- for(i=0;i<8;i=i+2) {
- if((temp[i+1]&0x08) == 0x08) {
- hash[s] = 0x01;
- s++;
- //fprintf(clear,"%c",0x01);
- }
- if((temp[i+1]&0x08) == 0x00) {
- //fprintf(clear,"%c",0x00);
- hash[s] = 0x00;
- s++;
- }
- temp[i+1] = (temp[i+1]&0xf7);
- fprintf(out,"%c%c",temp[i+0],temp[i+1]);
- }
- ch=0;
- ch = ch+(hash[0]);
- ch = ch+(hash[1]<<1);
- ch = ch+(hash[2]<<2);
- ch = ch+(hash[3]<<3);
- ch = ch+(hash[4]<<4);
- ch = ch+(hash[5]<<5);
- ch = ch+(hash[6]<<6);
- ch = ch+(hash[7]<<7);
- fprintf(clear,"%c",ch);
- memset(hash,0x00,sizeof(hash));
- }
- star:
- fclose(in);
- fclose(out);
- fclose(clear);
- printf("Fixed table\n");
- swap=0x02;
- count=0;
- jum=0x00;
- clocker = 10;
- comcount=0;
- ////////////////////MAIN LOOP MAIN LOOP
- stat:
- if(swap == 0x00) {
- fileoffset = ftell(out);
- if(fileoffset == 0) {
- printf("distance error\n");
- exit(1);
- }
- //if(fileoffset <= 500) goto endy;
- if(clocker <= 2) goto endy;
- stepinpro++;
- printf("%ld:::fileoffset\n",fileoffset);
- fclose(in);
- fclose(out);
- out = fopen("temp.txt","wb");
- in = fopen("temp1.txt","rb");
- swap = swap ^0x01;
- goto passed;
- }
- if(swap == 0x01) {
- fileoffset = ftell(out);
- if(fileoffset == 0) {
- printf("distance error\n");
- exit(1);
- }
- //if(fileoffset <= 500) goto endy;
- if(clocker <= 2) goto endy;
- stepinpro++;
- printf("%ld:::fileoffset\n",fileoffset);
- fclose(in);
- fclose(out);
- out = fopen("temp1.txt","wb");
- in = fopen("temp.txt","rb");
- swap = swap ^0x01;
- goto passed;
- }
- if(swap == 0x02) {
- place=0x00;
- in = fopen("bin1.txt","rb");
- out = fopen("temp.txt","wb");
- swap = 0x01;
- fseek(in,0,SEEK_END);
- fileoffset = ftell(in);
- testoffset = fileoffset;
- rewind(in);
- if(fileoffset == 0) {
- printf("error at fileoffset get\n");
- exit(1);
- }
- }
- passed:
- /////////////CONTINUE
- ///////////////////////////////////////////////////
- //////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- //////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- //////////////////////////////////////////////////
- ///////////////////WORKING LOOP WORKING LOOP
- clocker=0;
- count=0;
- end1:
- //printf("%d\n",clocker);
- filecheck = ftell(in);
- if((filecheck+32) > fileoffset) {
- place = (filecheck+32)-fileoffset;
- place = (32-place);
- printf("filecheck value = %d,,should be %d,with place %d\n",filecheck,fileoffset,place);
- for(i=0;i<place;i++) {
- ch = fgetc(in);
- fprintf(out,"%c",ch);
- }
- goto stat;
- }
- //((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
- //((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
- //((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
- //16 * 8 = 128
- memset(temp,0x06,sizeof(temp));
- memset(temp1,0x07,sizeof(temp1));
- memset(hash,0x08,sizeof(hash));
- memset(hash1,0x09,sizeof(hash1));
- memset(table2,0x0a,sizeof(table2));
- memset(table3,0x0b,sizeof(table3));
- memset(crap,0x0c,sizeof(crap));
- memset(crap1,0x0d,sizeof(crap1));
- memset(crap2,0x0e,sizeof(crap2));
- memset(crap3,0x0f,sizeof(crap3));
- memset(run1,0x10,sizeof(run1));
- place=0x00;
- place1=0x00;
- jum=0x00;
- jum1=0x00;
- for(i=0;i<32;i++) {
- temp[i] = fgetc(in);
- }
- //test run used for second stage, first need a patch
- s=0;
- for(i=0;i<32;i=i+2) {
- if(temp[i] == 0xff) temp[i] = 0xaa; //set patch up to to change ff to aa55aa55, when expand fix at end
- }
- //Verifed probelable doesn't crash, and quick to expand after full compress to verfier, RAM ECC checking etc
- //ups, add for loop to if block
- /*
- for(i=0;i<32;i++) {
- table2[i] = temp[i]; //used to verfier compress/expand accurate
- }
- */
- //6bit 2left
- //exit(1);
- //1,2,3,4,5,6,7,8 = 136 total
- //10001000
- //8 numbers per group
- //64 groups size
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- //////////////////////////////////////////////////
- //memset(run1,0x05,sizeof(run1));
- memset(crap3,0x00,sizeof(crap3));
- s=0;
- for(i=0;i<32;i=i+2) {
- address =(temp[i+0]<<8);
- address2 = temp[i+1];
- address = address+address2;
- run[s] = 0x00;
- if((address&0x01) == 0x01) {
- address = address-1;
- run[s] = 0x01;
- }
- s++;
- //printf("%4X\n",address);
- crap3[i+0] = table[(unsigned short)(address)];
- crap3[i+1] = table[(unsigned short)(address+1)];
- //printf("%8X:\n",address);
- }
- w=0;
- s=0;
- for(t=0;t<32;t=t+2) {
- ch=ch1=ch2=ch3=0;
- ch2 = (unsigned char)(crap3[t+1]&0x0f);
- if(ch2 == 0x00) {
- if(crap3[t+0] > 0 && crap3[t+0] < 8 || crap3[t+0] == 0) i=0;
- if(crap3[t+0] >= 8 && crap3[t+0] < 16) i=1;
- if(crap3[t+0] >= 16 && crap3[t+0] < 24) i=2;
- if(crap3[t+0] >= 24 && crap3[t+0] < 32) i=3;
- if(crap3[t+0] >= 32 && crap3[t+0] < 40) i=4;
- if(crap3[t+0] >= 40 && crap3[t+0] < 48) i=5;
- if(crap3[t+0] >= 48 && crap3[t+0] < 56) i=6;
- if(crap3[t+0] >= 56 && crap3[t+0] < 64) i=7;
- if(crap3[t+0] >= 64 && crap3[t+0] < 72) i=8;
- if(crap3[t+0] >= 72 && crap3[t+0] < 80) i=9;
- if(crap3[t+0] >= 80 && crap3[t+0] < 88) i=10;
- if(crap3[t+0] >= 88 && crap3[t+0] < 96) i=11;
- if(crap3[t+0] >= 96 && crap3[t+0] < 104) i=12;
- if(crap3[t+0] >= 104 && crap3[t+0] < 112) i=13;
- if(crap3[t+0] >= 112 && crap3[t+0] < 120) i=14;
- if(crap3[t+0] >= 120 && crap3[t+0] < 128) i=15;
- if(crap3[t+0] >= 128 && crap3[t+0] < 136) i=16;
- if(crap3[t+0] >= 136 && crap3[t+0] < 144) i=17;
- if(crap3[t+0] >= 144 && crap3[t+0] < 152) i=18;
- if(crap3[t+0] >= 152 && crap3[t+0] < 160) i=19;
- if(crap3[t+0] >= 160 && crap3[t+0] < 168) i=20;
- if(crap3[t+0] >= 168 && crap3[t+0] < 176) i=21;
- if(crap3[t+0] >= 176 && crap3[t+0] < 184) i=22;
- if(crap3[t+0] >= 184 && crap3[t+0] < 192) i=23;
- if(crap3[t+0] >= 192 && crap3[t+0] < 200) i=24;
- if(crap3[t+0] >= 200 && crap3[t+0] < 208) i=25;
- if(crap3[t+0] >= 208 && crap3[t+0] < 216) i=26;
- if(crap3[t+0] >= 216 && crap3[t+0] < 224) i=27;
- if(crap3[t+0] >= 224 && crap3[t+0] < 232) i=28;
- if(crap3[t+0] >= 232 && crap3[t+0] < 240) i=29;
- if(crap3[t+0] >= 240 && crap3[t+0] < 248) i=30;
- if(crap3[t+0] >= 248 && crap3[t+0] < 255 || crap3[t+0] == 0xff) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=0;
- if(ch == 1) i=8;
- if(ch == 2) i=16;
- if(ch == 3) i=24;
- if(ch == 4) i=32;
- if(ch == 5) i=40;
- if(ch == 6) i=48;
- if(ch == 7) i=56;
- if(ch == 8) i=64;
- if(ch == 9) i=72;
- if(ch == 10) i=80;
- if(ch == 11) i=88;
- if(ch == 12) i=96;
- if(ch == 13) i=104;
- if(ch == 14) i=112;
- if(ch == 15) i=120;
- if(ch == 16) i=128;
- if(ch == 17) i=136;
- if(ch == 18) i=144;
- if(ch == 19) i=152;
- if(ch == 20) i=160;
- if(ch == 21) i=168;
- if(ch == 22) i=176;
- if(ch == 23) i=184;
- if(ch == 24) i=192;
- if(ch == 25) i=200;
- if(ch == 26) i=208;
- if(ch == 27) i=216;
- if(ch == 28) i=224;
- if(ch == 29) i=232;
- if(ch == 30) i=240;
- if(ch == 31) i=248;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x01) {
- if(crap3[t+0] >= 1 && crap3[t+0] < 9) i=0;
- if(crap3[t+0] >= 9 && crap3[t+0] < 17) i=1;
- if(crap3[t+0] >= 17 && crap3[t+0] < 25) i=2;
- if(crap3[t+0] >= 25 && crap3[t+0] < 33) i=3;
- if(crap3[t+0] >= 33 && crap3[t+0] < 41) i=4;
- if(crap3[t+0] >= 41 && crap3[t+0] < 49) i=5;
- if(crap3[t+0] >= 49 && crap3[t+0] < 57) i=6;
- if(crap3[t+0] >= 57 && crap3[t+0] < 65) i=7;
- if(crap3[t+0] >= 65 && crap3[t+0] < 73) i=8;
- if(crap3[t+0] >= 73 && crap3[t+0] < 81) i=9;
- if(crap3[t+0] >= 81 && crap3[t+0] < 89) i=10;
- if(crap3[t+0] >= 89 && crap3[t+0] < 97) i=11;
- if(crap3[t+0] >= 97 && crap3[t+0] < 105) i=12;
- if(crap3[t+0] >= 105 && crap3[t+0] < 113) i=13;
- if(crap3[t+0] >= 113 && crap3[t+0] < 121) i=14;
- if(crap3[t+0] >= 121 && crap3[t+0] < 129) i=15;
- if(crap3[t+0] >= 129 && crap3[t+0] < 137) i=16;
- if(crap3[t+0] >= 137 && crap3[t+0] < 145) i=17;
- if(crap3[t+0] >= 145 && crap3[t+0] < 153) i=18;
- if(crap3[t+0] >= 153 && crap3[t+0] < 161) i=19;
- if(crap3[t+0] >= 161 && crap3[t+0] < 169) i=20;
- if(crap3[t+0] >= 169 && crap3[t+0] < 177) i=21;
- if(crap3[t+0] >= 177 && crap3[t+0] < 185) i=22;
- if(crap3[t+0] >= 185 && crap3[t+0] < 193) i=23;
- if(crap3[t+0] >= 193 && crap3[t+0] < 201) i=24;
- if(crap3[t+0] >= 201 && crap3[t+0] < 209) i=25;
- if(crap3[t+0] >= 209 && crap3[t+0] < 217) i=26;
- if(crap3[t+0] >= 217 && crap3[t+0] < 225) i=27;
- if(crap3[t+0] >= 225 && crap3[t+0] < 233) i=28;
- if(crap3[t+0] >= 233 && crap3[t+0] < 241) i=29;
- if(crap3[t+0] >= 241 && crap3[t+0] < 249) i=30;
- if(crap3[t+0] >= 249 && crap3[t+0] < 255 || crap3[t+0] == 0 || crap3[t+0] == 0xff) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=1;
- if(ch == 1) i=9;
- if(ch == 2) i=17;
- if(ch == 3) i=25;
- if(ch == 4) i=33;
- if(ch == 5) i=41;
- if(ch == 6) i=49;
- if(ch == 7) i=57;
- if(ch == 8) i=65;
- if(ch == 9) i=73;
- if(ch == 10) i=81;
- if(ch == 11) i=89;
- if(ch == 12) i=97;
- if(ch == 13) i=105;
- if(ch == 14) i=113;
- if(ch == 15) i=121;
- if(ch == 16) i=129;
- if(ch == 17) i=137;
- if(ch == 18) i=145;
- if(ch == 19) i=153;
- if(ch == 20) i=161;
- if(ch == 21) i=169;
- if(ch == 22) i=177;
- if(ch == 23) i=185;
- if(ch == 24) i=193;
- if(ch == 25) i=201;
- if(ch == 26) i=209;
- if(ch == 27) i=217;
- if(ch == 28) i=225;
- if(ch == 29) i=233;
- if(ch == 30) i=241;
- if(ch == 31) i=249;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x02) {
- if(crap3[t+0] >= 2 && crap3[t+0] < 10) i=0;
- if(crap3[t+0] >= 10 && crap3[t+0] < 18) i=1;
- if(crap3[t+0] >= 18 && crap3[t+0] < 26) i=2;
- if(crap3[t+0] >= 26 && crap3[t+0] < 34) i=3;
- if(crap3[t+0] >= 34 && crap3[t+0] < 42) i=4;
- if(crap3[t+0] >= 42 && crap3[t+0] < 50) i=5;
- if(crap3[t+0] >= 50 && crap3[t+0] < 58) i=6;
- if(crap3[t+0] >= 58 && crap3[t+0] < 66) i=7;
- if(crap3[t+0] >= 66 && crap3[t+0] < 74) i=8;
- if(crap3[t+0] >= 74 && crap3[t+0] < 82) i=9;
- if(crap3[t+0] >= 82 && crap3[t+0] < 90) i=10;
- if(crap3[t+0] >= 90 && crap3[t+0] < 98) i=11;
- if(crap3[t+0] >= 98 && crap3[t+0] < 106) i=12;
- if(crap3[t+0] >= 106 && crap3[t+0] < 114) i=13;
- if(crap3[t+0] >= 114 && crap3[t+0] < 122) i=14;
- if(crap3[t+0] >= 122 && crap3[t+0] < 130) i=15;
- if(crap3[t+0] >= 130 && crap3[t+0] < 138) i=16;
- if(crap3[t+0] >= 138 && crap3[t+0] < 146) i=17;
- if(crap3[t+0] >= 146 && crap3[t+0] < 154) i=18;
- if(crap3[t+0] >= 154 && crap3[t+0] < 162) i=19;
- if(crap3[t+0] >= 162 && crap3[t+0] < 170) i=20;
- if(crap3[t+0] >= 170 && crap3[t+0] < 178) i=21;
- if(crap3[t+0] >= 178 && crap3[t+0] < 186) i=22;
- if(crap3[t+0] >= 186 && crap3[t+0] < 194) i=23;
- if(crap3[t+0] >= 194 && crap3[t+0] < 202) i=24;
- if(crap3[t+0] >= 202 && crap3[t+0] < 210) i=25;
- if(crap3[t+0] >= 210 && crap3[t+0] < 218) i=26;
- if(crap3[t+0] >= 218 && crap3[t+0] < 226) i=27;
- if(crap3[t+0] >= 226 && crap3[t+0] < 234) i=28;
- if(crap3[t+0] >= 234 && crap3[t+0] < 242) i=29;
- if(crap3[t+0] >= 242 && crap3[t+0] < 250) i=30;
- if(crap3[t+0] >= 250 && crap3[t+0] < 255 || crap3[t+0] == 0xff || crap3[t+0] == 0 || crap3[t+0] > 0 && crap3[t+0] < 2) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=2;
- if(ch == 1) i=10;
- if(ch == 2) i=18;
- if(ch == 3) i=26;
- if(ch == 4) i=34;
- if(ch == 5) i=42;
- if(ch == 6) i=50;
- if(ch == 7) i=58;
- if(ch == 8) i=66;
- if(ch == 9) i=74;
- if(ch == 10) i=82;
- if(ch == 11) i=90;
- if(ch == 12) i=98;
- if(ch == 13) i=106;
- if(ch == 14) i=114;
- if(ch == 15) i=122;
- if(ch == 16) i=130;
- if(ch == 17) i=138;
- if(ch == 18) i=146;
- if(ch == 19) i=154;
- if(ch == 20) i=162;
- if(ch == 21) i=170;
- if(ch == 22) i=178;
- if(ch == 23) i=186;
- if(ch == 24) i=194;
- if(ch == 25) i=202;
- if(ch == 26) i=210;
- if(ch == 27) i=218;
- if(ch == 28) i=226;
- if(ch == 29) i=234;
- if(ch == 30) i=242;
- if(ch == 31) i=250;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x03) {
- if(crap3[t+0] >= 3 && crap3[t+0] < 11) i=0;
- if(crap3[t+0] >= 11 && crap3[t+0] < 19) i=1;
- if(crap3[t+0] >= 19 && crap3[t+0] < 27) i=2;
- if(crap3[t+0] >= 27 && crap3[t+0] < 35) i=3;
- if(crap3[t+0] >= 35 && crap3[t+0] < 43) i=4;
- if(crap3[t+0] >= 43 && crap3[t+0] < 51) i=5;
- if(crap3[t+0] >= 51 && crap3[t+0] < 59) i=6;
- if(crap3[t+0] >= 59 && crap3[t+0] < 67) i=7;
- if(crap3[t+0] >= 67 && crap3[t+0] < 75) i=8;
- if(crap3[t+0] >= 75 && crap3[t+0] < 83) i=9;
- if(crap3[t+0] >= 83 && crap3[t+0] < 91) i=10;
- if(crap3[t+0] >= 91 && crap3[t+0] < 99) i=11;
- if(crap3[t+0] >= 99 && crap3[t+0] < 107) i=12;
- if(crap3[t+0] >= 107 && crap3[t+0] < 115) i=13;
- if(crap3[t+0] >= 115 && crap3[t+0] < 123) i=14;
- if(crap3[t+0] >= 123 && crap3[t+0] < 131) i=15;
- if(crap3[t+0] >= 131 && crap3[t+0] < 139) i=16;
- if(crap3[t+0] >= 139 && crap3[t+0] < 147) i=17;
- if(crap3[t+0] >= 147 && crap3[t+0] < 155) i=18;
- if(crap3[t+0] >= 155 && crap3[t+0] < 163) i=19;
- if(crap3[t+0] >= 163 && crap3[t+0] < 171) i=20;
- if(crap3[t+0] >= 171 && crap3[t+0] < 179) i=21;
- if(crap3[t+0] >= 179 && crap3[t+0] < 187) i=22;
- if(crap3[t+0] >= 187 && crap3[t+0] < 195) i=23;
- if(crap3[t+0] >= 195 && crap3[t+0] < 203) i=24;
- if(crap3[t+0] >= 203 && crap3[t+0] < 211) i=25;
- if(crap3[t+0] >= 211 && crap3[t+0] < 219) i=26;
- if(crap3[t+0] >= 219 && crap3[t+0] < 227) i=27;
- if(crap3[t+0] >= 227 && crap3[t+0] < 235) i=28;
- if(crap3[t+0] >= 235 && crap3[t+0] < 243) i=29;
- if(crap3[t+0] >= 243 && crap3[t+0] < 251) i=30;
- if(crap3[t+0] >= 251 && crap3[t+0] < 255 || crap3[t+0] == 0xff || crap3[t+0] == 0 || crap3[t+0] > 0 && crap3[t+0] < 3) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=3;
- if(ch == 1) i=11;
- if(ch == 2) i=19;
- if(ch == 3) i=27;
- if(ch == 4) i=35;
- if(ch == 5) i=43;
- if(ch == 6) i=51;
- if(ch == 7) i=59;
- if(ch == 8) i=67;
- if(ch == 9) i=75;
- if(ch == 10) i=83;
- if(ch == 11) i=91;
- if(ch == 12) i=99;
- if(ch == 13) i=107;
- if(ch == 14) i=115;
- if(ch == 15) i=123;
- if(ch == 16) i=131;
- if(ch == 17) i=139;
- if(ch == 18) i=147;
- if(ch == 19) i=155;
- if(ch == 20) i=163;
- if(ch == 21) i=171;
- if(ch == 22) i=179;
- if(ch == 23) i=187;
- if(ch == 24) i=195;
- if(ch == 25) i=203;
- if(ch == 26) i=211;
- if(ch == 27) i=219;
- if(ch == 28) i=227;
- if(ch == 29) i=235;
- if(ch == 30) i=243;
- if(ch == 31) i=251;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x04) {
- if(crap3[t+0] >= 4 && crap3[t+0] < 12) i=0;
- if(crap3[t+0] >= 12 && crap3[t+0] < 20) i=1;
- if(crap3[t+0] >= 20 && crap3[t+0] < 28) i=2;
- if(crap3[t+0] >= 28 && crap3[t+0] < 36) i=3;
- if(crap3[t+0] >= 36 && crap3[t+0] < 44) i=4;
- if(crap3[t+0] >= 44 && crap3[t+0] < 52) i=5;
- if(crap3[t+0] >= 52 && crap3[t+0] < 60) i=6;
- if(crap3[t+0] >= 60 && crap3[t+0] < 68) i=7;
- if(crap3[t+0] >= 68 && crap3[t+0] < 76) i=8;
- if(crap3[t+0] >= 76 && crap3[t+0] < 84) i=9;
- if(crap3[t+0] >= 84 && crap3[t+0] < 92) i=10;
- if(crap3[t+0] >= 92 && crap3[t+0] < 100) i=11;
- if(crap3[t+0] >= 100 && crap3[t+0] < 108) i=12;
- if(crap3[t+0] >= 108 && crap3[t+0] < 116) i=13;
- if(crap3[t+0] >= 116 && crap3[t+0] < 124) i=14;
- if(crap3[t+0] >= 124 && crap3[t+0] < 132) i=15;
- if(crap3[t+0] >= 132 && crap3[t+0] < 140) i=16;
- if(crap3[t+0] >= 140 && crap3[t+0] < 148) i=17;
- if(crap3[t+0] >= 148 && crap3[t+0] < 156) i=18;
- if(crap3[t+0] >= 156 && crap3[t+0] < 164) i=19;
- if(crap3[t+0] >= 164 && crap3[t+0] < 172) i=20;
- if(crap3[t+0] >= 172 && crap3[t+0] < 180) i=21;
- if(crap3[t+0] >= 180 && crap3[t+0] < 188) i=22;
- if(crap3[t+0] >= 188 && crap3[t+0] < 196) i=23;
- if(crap3[t+0] >= 196 && crap3[t+0] < 204) i=24;
- if(crap3[t+0] >= 204 && crap3[t+0] < 212) i=25;
- if(crap3[t+0] >= 212 && crap3[t+0] < 220) i=26;
- if(crap3[t+0] >= 220 && crap3[t+0] < 228) i=27;
- if(crap3[t+0] >= 228 && crap3[t+0] < 236) i=28;
- if(crap3[t+0] >= 236 && crap3[t+0] < 244) i=29;
- if(crap3[t+0] >= 244 && crap3[t+0] < 252) i=30;
- if(crap3[t+0] >= 252 && crap3[t+0] < 255 || crap3[t+0] == 0xff || crap3[t+0] == 0 || crap3[t+0] > 0 && crap3[t+0] < 4) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=4;
- if(ch == 1) i=12;
- if(ch == 2) i=20;
- if(ch == 3) i=28;
- if(ch == 4) i=36;
- if(ch == 5) i=44;
- if(ch == 6) i=52;
- if(ch == 7) i=60;
- if(ch == 8) i=68;
- if(ch == 9) i=76;
- if(ch == 10) i=84;
- if(ch == 11) i=92;
- if(ch == 12) i=100;
- if(ch == 13) i=108;
- if(ch == 14) i=116;
- if(ch == 15) i=124;
- if(ch == 16) i=132;
- if(ch == 17) i=140;
- if(ch == 18) i=148;
- if(ch == 19) i=156;
- if(ch == 20) i=164;
- if(ch == 21) i=172;
- if(ch == 22) i=180;
- if(ch == 23) i=188;
- if(ch == 24) i=196;
- if(ch == 25) i=204;
- if(ch == 26) i=212;
- if(ch == 27) i=220;
- if(ch == 28) i=228;
- if(ch == 29) i=236;
- if(ch == 30) i=244;
- if(ch == 31) i=252;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x05) {
- if(crap3[t+0] >= 5 && crap3[t+0] < 13) i=0;
- if(crap3[t+0] >= 13 && crap3[t+0] < 21) i=1;
- if(crap3[t+0] >= 21 && crap3[t+0] < 29) i=2;
- if(crap3[t+0] >= 29 && crap3[t+0] < 37) i=3;
- if(crap3[t+0] >= 37 && crap3[t+0] < 45) i=4;
- if(crap3[t+0] >= 45 && crap3[t+0] < 53) i=5;
- if(crap3[t+0] >= 53 && crap3[t+0] < 61) i=6;
- if(crap3[t+0] >= 61 && crap3[t+0] < 69) i=7;
- if(crap3[t+0] >= 69 && crap3[t+0] < 77) i=8;
- if(crap3[t+0] >= 77 && crap3[t+0] < 85) i=9;
- if(crap3[t+0] >= 85 && crap3[t+0] < 93) i=10;
- if(crap3[t+0] >= 93 && crap3[t+0] < 101) i=11;
- if(crap3[t+0] >= 101 && crap3[t+0] < 109) i=12;
- if(crap3[t+0] >= 109 && crap3[t+0] < 117) i=13;
- if(crap3[t+0] >= 117 && crap3[t+0] < 125) i=14;
- if(crap3[t+0] >= 125 && crap3[t+0] < 133) i=15;
- if(crap3[t+0] >= 133 && crap3[t+0] < 141) i=16;
- if(crap3[t+0] >= 141 && crap3[t+0] < 149) i=17;
- if(crap3[t+0] >= 149 && crap3[t+0] < 157) i=18;
- if(crap3[t+0] >= 157 && crap3[t+0] < 165) i=19;
- if(crap3[t+0] >= 165 && crap3[t+0] < 173) i=20;
- if(crap3[t+0] >= 173 && crap3[t+0] < 181) i=21;
- if(crap3[t+0] >= 181 && crap3[t+0] < 189) i=22;
- if(crap3[t+0] >= 189 && crap3[t+0] < 197) i=23;
- if(crap3[t+0] >= 197 && crap3[t+0] < 205) i=24;
- if(crap3[t+0] >= 205 && crap3[t+0] < 213) i=25;
- if(crap3[t+0] >= 213 && crap3[t+0] < 221) i=26;
- if(crap3[t+0] >= 221 && crap3[t+0] < 229) i=27;
- if(crap3[t+0] >= 229 && crap3[t+0] < 237) i=28;
- if(crap3[t+0] >= 237 && crap3[t+0] < 245) i=29;
- if(crap3[t+0] >= 245 && crap3[t+0] < 253) i=30;
- if(crap3[t+0] >= 253 && crap3[t+0] < 255 || crap3[t+0] == 0xff || crap3[t+0] == 0 || crap3[t+0] > 0 && crap3[t+0] < 5) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=5;
- if(ch == 1) i=13;
- if(ch == 2) i=21;
- if(ch == 3) i=29;
- if(ch == 4) i=37;
- if(ch == 5) i=45;
- if(ch == 6) i=53;
- if(ch == 7) i=61;
- if(ch == 8) i=69;
- if(ch == 9) i=77;
- if(ch == 10) i=85;
- if(ch == 11) i=93;
- if(ch == 12) i=101;
- if(ch == 13) i=109;
- if(ch == 14) i=117;
- if(ch == 15) i=125;
- if(ch == 16) i=133;
- if(ch == 17) i=141;
- if(ch == 18) i=149;
- if(ch == 19) i=157;
- if(ch == 20) i=165;
- if(ch == 21) i=173;
- if(ch == 22) i=181;
- if(ch == 23) i=189;
- if(ch == 24) i=197;
- if(ch == 25) i=205;
- if(ch == 26) i=213;
- if(ch == 27) i=221;
- if(ch == 28) i=229;
- if(ch == 29) i=237;
- if(ch == 30) i=245;
- if(ch == 31) i=253;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x06) {
- if(crap3[t+0] >= 6 && crap3[t+0] < 14) i=0;
- if(crap3[t+0] >= 14 && crap3[t+0] < 22) i=1;
- if(crap3[t+0] >= 22 && crap3[t+0] < 30) i=2;
- if(crap3[t+0] >= 30 && crap3[t+0] < 38) i=3;
- if(crap3[t+0] >= 38 && crap3[t+0] < 46) i=4;
- if(crap3[t+0] >= 46 && crap3[t+0] < 54) i=5;
- if(crap3[t+0] >= 54 && crap3[t+0] < 62) i=6;
- if(crap3[t+0] >= 62 && crap3[t+0] < 70) i=7;
- if(crap3[t+0] >= 70 && crap3[t+0] < 78) i=8;
- if(crap3[t+0] >= 78 && crap3[t+0] < 86) i=9;
- if(crap3[t+0] >= 86 && crap3[t+0] < 94) i=10;
- if(crap3[t+0] >= 94 && crap3[t+0] < 102) i=11;
- if(crap3[t+0] >= 102 && crap3[t+0] < 110) i=12;
- if(crap3[t+0] >= 110 && crap3[t+0] < 118) i=13;
- if(crap3[t+0] >= 118 && crap3[t+0] < 126) i=14;
- if(crap3[t+0] >= 126 && crap3[t+0] < 134) i=15;
- if(crap3[t+0] >= 134 && crap3[t+0] < 142) i=16;
- if(crap3[t+0] >= 142 && crap3[t+0] < 150) i=17;
- if(crap3[t+0] >= 150 && crap3[t+0] < 158) i=18;
- if(crap3[t+0] >= 158 && crap3[t+0] < 166) i=19;
- if(crap3[t+0] >= 166 && crap3[t+0] < 174) i=20;
- if(crap3[t+0] >= 174 && crap3[t+0] < 182) i=21;
- if(crap3[t+0] >= 182 && crap3[t+0] < 190) i=22;
- if(crap3[t+0] >= 190 && crap3[t+0] < 198) i=23;
- if(crap3[t+0] >= 198 && crap3[t+0] < 206) i=24;
- if(crap3[t+0] >= 206 && crap3[t+0] < 214) i=25;
- if(crap3[t+0] >= 214 && crap3[t+0] < 222) i=26;
- if(crap3[t+0] >= 222 && crap3[t+0] < 230) i=27;
- if(crap3[t+0] >= 230 && crap3[t+0] < 238) i=28;
- if(crap3[t+0] >= 238 && crap3[t+0] < 246) i=29;
- if(crap3[t+0] >= 246 && crap3[t+0] < 254) i=30;
- if(crap3[t+0] >= 254 && crap3[t+0] < 255 || crap3[t+0] == 0xff || crap3[t+0] == 0 || crap3[t+0] > 0 && crap3[t+0] < 6) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=6;
- if(ch == 1) i=14;
- if(ch == 2) i=22;
- if(ch == 3) i=30;
- if(ch == 4) i=38;
- if(ch == 5) i=46;
- if(ch == 6) i=54;
- if(ch == 7) i=62;
- if(ch == 8) i=70;
- if(ch == 9) i=78;
- if(ch == 10) i=86;
- if(ch == 11) i=94;
- if(ch == 12) i=102;
- if(ch == 13) i=110;
- if(ch == 14) i=118;
- if(ch == 15) i=126;
- if(ch == 16) i=134;
- if(ch == 17) i=142;
- if(ch == 18) i=150;
- if(ch == 19) i=158;
- if(ch == 20) i=166;
- if(ch == 21) i=174;
- if(ch == 22) i=182;
- if(ch == 23) i=190;
- if(ch == 24) i=198;
- if(ch == 25) i=206;
- if(ch == 26) i=214;
- if(ch == 27) i=222;
- if(ch == 28) i=230;
- if(ch == 29) i=238;
- if(ch == 30) i=246;
- if(ch == 31) i=254;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- if(ch2 == 0x07) {
- if(crap3[t+0] >= 7 && crap3[t+0] < 15) i=0;
- if(crap3[t+0] >= 15 && crap3[t+0] < 23) i=1;
- if(crap3[t+0] >= 23 && crap3[t+0] < 31) i=2;
- if(crap3[t+0] >= 31 && crap3[t+0] < 39) i=3;
- if(crap3[t+0] >= 39 && crap3[t+0] < 47) i=4;
- if(crap3[t+0] >= 47 && crap3[t+0] < 55) i=5;
- if(crap3[t+0] >= 55 && crap3[t+0] < 63) i=6;
- if(crap3[t+0] >= 63 && crap3[t+0] < 71) i=7;
- if(crap3[t+0] >= 71 && crap3[t+0] < 79) i=8;
- if(crap3[t+0] >= 79 && crap3[t+0] < 87) i=9;
- if(crap3[t+0] >= 87 && crap3[t+0] < 95) i=10;
- if(crap3[t+0] >= 95 && crap3[t+0] < 103) i=11;
- if(crap3[t+0] >= 103 && crap3[t+0] < 111) i=12;
- if(crap3[t+0] >= 111 && crap3[t+0] < 119) i=13;
- if(crap3[t+0] >= 119 && crap3[t+0] < 127) i=14;
- if(crap3[t+0] >= 127 && crap3[t+0] < 135) i=15;
- if(crap3[t+0] >= 135 && crap3[t+0] < 143) i=16;
- if(crap3[t+0] >= 143 && crap3[t+0] < 151) i=17;
- if(crap3[t+0] >= 151 && crap3[t+0] < 159) i=18;
- if(crap3[t+0] >= 159 && crap3[t+0] < 167) i=19;
- if(crap3[t+0] >= 167 && crap3[t+0] < 175) i=20;
- if(crap3[t+0] >= 175 && crap3[t+0] < 183) i=21;
- if(crap3[t+0] >= 183 && crap3[t+0] < 191) i=22;
- if(crap3[t+0] >= 191 && crap3[t+0] < 199) i=23;
- if(crap3[t+0] >= 199 && crap3[t+0] < 207) i=24;
- if(crap3[t+0] >= 207 && crap3[t+0] < 215) i=25;
- if(crap3[t+0] >= 215 && crap3[t+0] < 223) i=26;
- if(crap3[t+0] >= 223 && crap3[t+0] < 231) i=27;
- if(crap3[t+0] >= 231 && crap3[t+0] < 239) i=28;
- if(crap3[t+0] >= 239 && crap3[t+0] < 247) i=29;
- if(crap3[t+0] >= 247 && crap3[t+0] < 255) i=30;
- if(crap3[t+0] >= 255 && crap3[t+0] < 255 || crap3[t+0] == 0xff || crap3[t+0] == 0 || crap3[t+0] > 0 && crap3[t+0] < 7) i=31;
- ch = (unsigned char)(i); //32 number out of area
- if(ch == 0) i=7;
- if(ch == 1) i=15;
- if(ch == 2) i=23;
- if(ch == 3) i=31;
- if(ch == 4) i=39;
- if(ch == 5) i=47;
- if(ch == 6) i=55;
- if(ch == 7) i=63;
- if(ch == 8) i=71;
- if(ch == 9) i=79;
- if(ch == 10) i=87;
- if(ch == 11) i=95;
- if(ch == 12) i=103;
- if(ch == 13) i=111;
- if(ch == 14) i=119;
- if(ch == 15) i=127;
- if(ch == 16) i=135;
- if(ch == 17) i=143;
- if(ch == 18) i=151;
- if(ch == 19) i=159;
- if(ch == 20) i=167;
- if(ch == 21) i=175;
- if(ch == 22) i=183;
- if(ch == 23) i=191;
- if(ch == 24) i=199;
- if(ch == 25) i=207;
- if(ch == 26) i=215;
- if(ch == 27) i=223;
- if(ch == 28) i=231;
- if(ch == 29) i=239;
- if(ch == 30) i=247;
- if(ch == 31) i=255;
- ch1 = (crap3[t+0]-i); //32 area number plus 0-8
- ch3 = (crap3[t+1]&0xf0); //msb of second value
- ch3 = (ch3>>4);
- goto endt;
- }
- endt:
- run1[w+0] = hex[ch][7];
- run1[w+1] = hex[ch][6];
- run1[w+2] = hex[ch][5]; //5
- run1[w+3] = hex[ch][4];
- run1[w+4] = hex[ch][3];
- run1[w+5] = hex[ch1][7];
- run1[w+6] = hex[ch1][6];
- run1[w+7] = run[s];//hex[ch1][5]; //3
- //printf("%2X:",hex[ch1][5]);
- ///////////////////////////////////////////
- run1[w+8] = hex[ch2][7];
- run1[w+9] = hex[ch2][6]; //3 //only need 2bits after first run
- run1[w+10] = hex[ch2][5];
- run1[w+11] = hex[ch3][7];
- run1[w+12] = hex[ch3][6];
- run1[w+13] = hex[ch3][5]; //4
- run1[w+14] = hex[ch3][4];
- w=w+15; //ever second byte save 1 bit
- s++;
- }
- s=0;
- for(w=0;w<240;w=w+8) {
- for(i=0;i<=0xff;i++) {
- zero=0;
- if(run1[w+0] == hex[i][7]) zero++;
- if(run1[w+1] == hex[i][6]) zero++;
- if(run1[w+2] == hex[i][5]) zero++; //5
- if(run1[w+3] == hex[i][4]) zero++;
- if(run1[w+4] == hex[i][3]) zero++;
- if(run1[w+5] == hex[i][2]) zero++;
- if(run1[w+6] == hex[i][1]) zero++;
- if(run1[w+7] == hex[i][0]) zero++;
- if(zero >= 8) goto loc;
- }
- printf("error find hex 20\n");
- exit(1);
- loc:
- crap[s] = (unsigned char)(i);
- s++;
- }
- for(i=0;i<30;i++) {
- fprintf(out,"%c",crap[i]);
- }
- //fprintf(out,"%c",place);
- //checking to see if it works
- /*
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- */
- //printf(":%2X%2X:\n",table3[0],table3[1]);
- /*
- count=0;
- k=0;
- for(i=0;i<30;i++) {
- crap2[k+0] = hex[crap[i]][7];
- crap2[k+1] = hex[crap[i]][6];
- crap2[k+2] = hex[crap[i]][5];
- crap2[k+3] = hex[crap[i]][4];
- crap2[k+4] = hex[crap[i]][3];
- crap2[k+5] = hex[crap[i]][2];
- crap2[k+6] = hex[crap[i]][1];
- crap2[k+7] = hex[crap[i]][0];
- k=k+8;
- }
- p=0;
- k=0;
- //ch =
- //ch1 =
- //ch2 =
- //ch3 =
- h=0;
- for(k=0;k<240;k=k+15) {
- ch=0x00;
- ch = ch+(crap2[k+0]);
- ch = ch+((crap2[k+1])<<1);
- ch = ch+((crap2[k+2])<<2);
- ch = ch+((crap2[k+3])<<3);
- ch = ch+((crap2[k+4])<<4);
- ch1 = 0x00;
- ch1 = ch1+(crap2[k+5]);
- ch1 = ch1+((crap2[k+6])<<1);
- run2[h] = ch1+((crap2[k+7])<<2);
- h++;
- ch2=0x00;
- ch2 = ch2+(crap2[k+8]);
- ch2 = ch2+((crap2[k+9])<<1);
- ch2 = ch2+((crap2[k+10])<<2);
- ch3 = 0x00;
- ch3 = ch3+(crap2[k+11]);
- ch3 = ch3+((crap2[k+12])<<1);
- ch3 = ch3+((crap2[k+13])<<2);
- ch3 = ch3+((crap2[k+14])<<3);
- //10,7,0,9
- //printf("ch = %4X,ch1 = %4X,ch2 = %4X, ch3 = %4X\n",ch,ch1,ch2,ch3);
- address=0x00;
- address3 = ((ch3<<4)+ch2);
- address2=0x00;
- if(ch2 == 0x00) {
- if(ch == 0) i=0;
- if(ch == 1) i=8;
- if(ch == 2) i=16;
- if(ch == 3) i=24;
- if(ch == 4) i=32;
- if(ch == 5) i=40;
- if(ch == 6) i=48;
- if(ch == 7) i=56;
- if(ch == 8) i=64;
- if(ch == 9) i=72;
- if(ch == 10) i=80;
- if(ch == 11) i=88;
- if(ch == 12) i=96;
- if(ch == 13) i=104;
- if(ch == 14) i=112;
- if(ch == 15) i=120;
- if(ch == 16) i=128;
- if(ch == 17) i=136;
- if(ch == 18) i=144;
- if(ch == 19) i=152;
- if(ch == 20) i=160;
- if(ch == 21) i=168;
- if(ch == 22) i=176;
- if(ch == 23) i=184;
- if(ch == 24) i=192;
- if(ch == 25) i=200;
- if(ch == 26) i=208;
- if(ch == 27) i=216;
- if(ch == 28) i=224;
- if(ch == 29) i=232;
- if(ch == 30) i=240;
- if(ch == 31) i=248;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x01) {
- if(ch == 0) i=1;
- if(ch == 1) i=9;
- if(ch == 2) i=17;
- if(ch == 3) i=25;
- if(ch == 4) i=33;
- if(ch == 5) i=41;
- if(ch == 6) i=49;
- if(ch == 7) i=57;
- if(ch == 8) i=65;
- if(ch == 9) i=73;
- if(ch == 10) i=81;
- if(ch == 11) i=89;
- if(ch == 12) i=97;
- if(ch == 13) i=105;
- if(ch == 14) i=113;
- if(ch == 15) i=121;
- if(ch == 16) i=129;
- if(ch == 17) i=137;
- if(ch == 18) i=145;
- if(ch == 19) i=153;
- if(ch == 20) i=161;
- if(ch == 21) i=169;
- if(ch == 22) i=177;
- if(ch == 23) i=185;
- if(ch == 24) i=193;
- if(ch == 25) i=201;
- if(ch == 26) i=209;
- if(ch == 27) i=217;
- if(ch == 28) i=225;
- if(ch == 29) i=233;
- if(ch == 30) i=241;
- if(ch == 31) i=249;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x02) {
- if(ch == 0) i=2;
- if(ch == 1) i=10;
- if(ch == 2) i=18;
- if(ch == 3) i=26;
- if(ch == 4) i=34;
- if(ch == 5) i=42;
- if(ch == 6) i=50;
- if(ch == 7) i=58;
- if(ch == 8) i=66;
- if(ch == 9) i=74;
- if(ch == 10) i=82;
- if(ch == 11) i=90;
- if(ch == 12) i=98;
- if(ch == 13) i=106;
- if(ch == 14) i=114;
- if(ch == 15) i=122;
- if(ch == 16) i=130;
- if(ch == 17) i=138;
- if(ch == 18) i=146;
- if(ch == 19) i=154;
- if(ch == 20) i=162;
- if(ch == 21) i=170;
- if(ch == 22) i=178;
- if(ch == 23) i=186;
- if(ch == 24) i=194;
- if(ch == 25) i=202;
- if(ch == 26) i=210;
- if(ch == 27) i=218;
- if(ch == 28) i=226;
- if(ch == 29) i=234;
- if(ch == 30) i=242;
- if(ch == 31) i=250;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x03) {
- if(ch == 0) i=3;
- if(ch == 1) i=11;
- if(ch == 2) i=19;
- if(ch == 3) i=27;
- if(ch == 4) i=35;
- if(ch == 5) i=43;
- if(ch == 6) i=51;
- if(ch == 7) i=59;
- if(ch == 8) i=67;
- if(ch == 9) i=75;
- if(ch == 10) i=83;
- if(ch == 11) i=91;
- if(ch == 12) i=99;
- if(ch == 13) i=107;
- if(ch == 14) i=115;
- if(ch == 15) i=123;
- if(ch == 16) i=131;
- if(ch == 17) i=139;
- if(ch == 18) i=147;
- if(ch == 19) i=155;
- if(ch == 20) i=163;
- if(ch == 21) i=171;
- if(ch == 22) i=179;
- if(ch == 23) i=187;
- if(ch == 24) i=195;
- if(ch == 25) i=203;
- if(ch == 26) i=211;
- if(ch == 27) i=219;
- if(ch == 28) i=227;
- if(ch == 29) i=235;
- if(ch == 30) i=243;
- if(ch == 31) i=251;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x04) {
- if(ch == 0) i=4;
- if(ch == 1) i=12;
- if(ch == 2) i=20;
- if(ch == 3) i=28;
- if(ch == 4) i=36;
- if(ch == 5) i=44;
- if(ch == 6) i=52;
- if(ch == 7) i=60;
- if(ch == 8) i=68;
- if(ch == 9) i=76;
- if(ch == 10) i=84;
- if(ch == 11) i=92;
- if(ch == 12) i=100;
- if(ch == 13) i=108;
- if(ch == 14) i=116;
- if(ch == 15) i=124;
- if(ch == 16) i=132;
- if(ch == 17) i=140;
- if(ch == 18) i=148;
- if(ch == 19) i=156;
- if(ch == 20) i=164;
- if(ch == 21) i=172;
- if(ch == 22) i=180;
- if(ch == 23) i=188;
- if(ch == 24) i=196;
- if(ch == 25) i=204;
- if(ch == 26) i=212;
- if(ch == 27) i=220;
- if(ch == 28) i=228;
- if(ch == 29) i=236;
- if(ch == 30) i=244;
- if(ch == 31) i=252;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x05) {
- if(ch == 0) i=5;
- if(ch == 1) i=13;
- if(ch == 2) i=21;
- if(ch == 3) i=29;
- if(ch == 4) i=37;
- if(ch == 5) i=45;
- if(ch == 6) i=53;
- if(ch == 7) i=61;
- if(ch == 8) i=69;
- if(ch == 9) i=77;
- if(ch == 10) i=85;
- if(ch == 11) i=93;
- if(ch == 12) i=101;
- if(ch == 13) i=109;
- if(ch == 14) i=117;
- if(ch == 15) i=125;
- if(ch == 16) i=133;
- if(ch == 17) i=141;
- if(ch == 18) i=149;
- if(ch == 19) i=157;
- if(ch == 20) i=165;
- if(ch == 21) i=173;
- if(ch == 22) i=181;
- if(ch == 23) i=189;
- if(ch == 24) i=197;
- if(ch == 25) i=205;
- if(ch == 26) i=213;
- if(ch == 27) i=221;
- if(ch == 28) i=229;
- if(ch == 29) i=237;
- if(ch == 30) i=245;
- if(ch == 31) i=253;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x06) {
- if(ch == 0) i=6;
- if(ch == 1) i=14;
- if(ch == 2) i=22;
- if(ch == 3) i=30;
- if(ch == 4) i=38;
- if(ch == 5) i=46;
- if(ch == 6) i=54;
- if(ch == 7) i=62;
- if(ch == 8) i=70;
- if(ch == 9) i=78;
- if(ch == 10) i=86;
- if(ch == 11) i=94;
- if(ch == 12) i=102;
- if(ch == 13) i=110;
- if(ch == 14) i=118;
- if(ch == 15) i=126;
- if(ch == 16) i=134;
- if(ch == 17) i=142;
- if(ch == 18) i=150;
- if(ch == 19) i=158;
- if(ch == 20) i=166;
- if(ch == 21) i=174;
- if(ch == 22) i=182;
- if(ch == 23) i=190;
- if(ch == 24) i=198;
- if(ch == 25) i=206;
- if(ch == 26) i=214;
- if(ch == 27) i=222;
- if(ch == 28) i=230;
- if(ch == 29) i=238;
- if(ch == 30) i=246;
- if(ch == 31) i=254;
- address2=i;
- address2 = (unsigned char)(address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- if(ch2 == 0x07) {
- if(ch == 0) i=7;
- if(ch == 1) i=15;
- if(ch == 2) i=23;
- if(ch == 3) i=31;
- if(ch == 4) i=39;
- if(ch == 5) i=47;
- if(ch == 6) i=55;
- if(ch == 7) i=63;
- if(ch == 8) i=71;
- if(ch == 9) i=79;
- if(ch == 10) i=87;
- if(ch == 11) i=95;
- if(ch == 12) i=103;
- if(ch == 13) i=111;
- if(ch == 14) i=119;
- if(ch == 15) i=127;
- if(ch == 16) i=135;
- if(ch == 17) i=143;
- if(ch == 18) i=151;
- if(ch == 19) i=159;
- if(ch == 20) i=167;
- if(ch == 21) i=175;
- if(ch == 22) i=183;
- if(ch == 23) i=191;
- if(ch == 24) i=199;
- if(ch == 25) i=207;
- if(ch == 26) i=215;
- if(ch == 27) i=223;
- if(ch == 28) i=231;
- if(ch == 29) i=239;
- if(ch == 30) i=247;
- if(ch == 31) i=255;
- address2=i;
- address2 = (address2+ch1);
- if(address2 > 0xff) {
- address2 = (unsigned char)(address2);
- address2++;
- }
- }
- //address2 = (address2&0xff);
- for(s=0;s<=0xffff;s=s+2) {
- if(table[s+0] == address2 && table[s+1] == address3) {
- range = s;
- //printf(":%4X:",range);
- goto lop;
- }
- }
- printf("\ncan't find search match in table\n");
- exit(1);
- lop:
- hash1[p+0] = (unsigned char)(range>>8);
- hash1[p+1] = (unsigned char)(range);
- p=p+2;
- }
- //printf(":%2X%2X:%2X%2X:\n",table3[i+0],table3[i+1],hash1[i+0],hash1[i+1])
- zero=0;
- s=0;
- for(i=0;i<32;i=i+2) {
- if(run[s] == 0x01) hash1[i+1] = hash1[i+1]+1;
- s++;
- }
- zero=0;
- for(i=0;i<32;i++) {
- if(hash1[i] == table2[i]) zero++;
- //printf("%2X:%2X..:\n",hash1[i],table3[i]);
- }
- if(zero < 32) {
- printf("error in checking stage\n");
- exit(1);
- }
- //printf("%d:\n",clocker);
- //printf("yes passed\n");
- //printf("%d::count = %d\n",zero,count);
- //fclose(in);
- //fclose(out);
- //fclose(clear);
- */
- //exit(1);
- /*
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- */
- /*
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- ------------------------------------------------------------------
- -----------------------------------------------------------------
- */
- clocker++;
- goto end1;
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ////-----------------------------------------------
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- //////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- ///////////////////////////////////////////////////
- //////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////////////////////////////////
- end:
- printf("no hash\n");
- endy:
- printf("Finished...::swap files are min = %2X\n",swap);
- printf("out file = :::1 = temp.txt:::::0 = temp1.txt\n");
- printf("%ld fileoffset\n",fileoffset);
- fclose(out);
- fclose(in);
- printf("\n\n");
- printf("Data C:\n");
- if(swap == 0x01) in = fopen("temp.txt","rb");
- if(swap == 0x00) in = fopen("temp1.txt","rb");
- fseek(in,0,SEEK_END);
- fileoffset = ftell(in);
- rewind(in);
- for(i=0;i<fileoffset;i++) {
- ch = fgetc(in);
- printf("%2X",ch);
- }
- printf("\n");
- printf("Steps = %d\n",stepinpro);
- fclose(in);
- exit(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement