home *** CD-ROM | disk | FTP | other *** search
- #define IRWD 0x800
- #define IFMK 0x400
- #define IONL 0x10
- #define TRUE 1
- #define FAULSE 0
-
- tape_st(tape_l)
- unsigned int tape_l; /*╩²╛▌┐Θ│ñ╢╚*/
- /****************/
- /* ╞⌠╢»┤┼┤°╗· */
- /****************/
- {rt1(251,0x36c);
- rt1(255);
- rt1(246,0);
- if((~rt1(245)) & IONL)
- {
- printf("\n╟δ╜½┤┼┤°╗·╡─ ON-LINE ╡╞░┤┴┴.\7");
- while((~rt1(245)) & IONL) /*╡╚┤²░┤┤┼┤°╗·╡─ ON_LINE ╝ⁿ*/
- {if(key()==27) abort("╓╨╢╧╖╡╗╪");
- rt1(251,0x36c);
- rt1(255);
- rt1(246,0);
- }
- }
- rt1(253); /*╡╣┤°*/
- while(rt1(245) & IRWD) /* ╡╚┤²┤┼┤°╗·╡╣┤°╜ß╩° */
- if(key()==27) abort("╓╨╢╧╖╡╗╪");
- rt1(250,tape_l);
- }
-
-
-
-
-
- ╥σ */
- /******************/
- register unsigned int i,j;
- auto unsigned int lastsize,block; /*╫╓╜┌,╩²╛▌┐Θ*/
- auto unsigned int ost; /*╜ß╣╣│ñ*/
- auto unsigned long rec_n,change; /*╬─╝■╝╟┬╝╞≈*/
- auto unsigned char true,typ,cc,*p,*p1,*p2;
- long disk_sp();
- FILE *fp;
-
- /****************/
- /* │⌡╩╝╗»╩²╛▌ */
- /****************/
- for(i=0;i<3;i++)
- for(j=0;j<100;j++) recno[i][j]=0;
- rec_n=0;
- typ=2;
- true=TRUE;
-
- /**************/
- /* ╢┴╚í╬─╝■├√ */
- /**************/
- /* if(number<2) abort("Examples: TTOD filename\7");*/
- if(number<2) abort("╩╡└²: TTOD ╬─╝■├√\7");
- upper(num[1]);
- p=num[1];
- p1=fname[1];
- p2=fname[2];
- for(i=0;((i<8) && (*p!=0) && (*p!=0x2e));i++)
- {*p1++=*p;
- *p2++=*p++;
- }
- strcpy(p1,".DBF");
- strcpy(p2,".TXT");
-
- /******************/
- /* ┤┤╜¿╜ß╣√╬─╝■ */
- /******************/
- p=tape_mem;
- /* if ((fp=fopen(fname[0],"br"))==0) abort("%8s not found\7",fname[0]);*/
- if((fp=fopen(fname[0],"br"))==0) abort("├╗╙╨╒╥╡╜ %8s !\7",fname[0]);
- fseek(fp,8l,0);
- ost=getw(fp);
- fseek(fp,0l,0);
- fread(p,ost,1,fp);
- fclose(fp);
- /* if((fp=fopen(fname[1],"bwr"))==0) abort("create file fail\7");*/
- if((fp=fopen(fname[1],"bwr"))==0) abort("┤┤╜¿%s╬─╝■╩º░▄ !\7",fname[1]);
- fwrite(p,ost,1,fp);
-
- /****************/
- /* ┤┼┤°╗·╫╝▒╕ */
- /****************/
- tape_st(2048); /*╞⌠╢»┤┼┤°╗·*/
- rt1(20); /*╠°╣²╥╗╕÷╬─╝■*/
-
- /**************/
- /* ┤░┐┌╧╘╩╛ */
- /**************/
- /* printf("\n waiting ...... ");*/
- printf("\n ╟δ╔╘╡╚......\n");
-
- do
- {
- /************/
- /*╢┴┤┼┤°╩²╛▌*/
- /************/
- if((~rt1(245)) & IONL) abort("┤┼┤°╗·╣╩╒╧\7");
- rt1(0,tape_mem);
- lastsize=rt1(243);
- if((rt1(245)) & IFMK) break;
- /**************/
- /* ╗░╡Ñ┤ª└φ */
- /**************/
- /*║╦╢╘┤┼┤°╜ß╣╣*/
- p=tape_mem;
- if(*p++!=typ) {printf("\n┤┼┤°╜ß╣╣│÷┤φ !");continue;}
- change=(*p++<<16);
- change+=(*p++<<8);
- change+=*p++;
- printf("\r %6lx",change);
- for(i=0;i<68;i++)
- {if(*p==0xee) break;
- /*╚í╓≈╜╨║┼│ñ╢╚*/
- p1=p+1;
- for(j=0;j<10;j++)
- {if((j&0x01)==0)
- {if((*p1>>4)>9) break;}
- else
- {if((*(p1++)&0x0f)>9) break;}
- }
- /*╚í═│╝╞╛╓║┼*/
- if(j==6)
- j=(*(p+1)>>4)*10+(*(p+1)&0x0f);
- else
- {if((j==9)&&(*(p+1)==0x51)&&((*(p+2)&0xf0)==0x40))
- j=(*(p+2)&0x0f)*10+(*(p+3)>>4);
- else
- j=0;
- }
- /*╣┌╫╓┼╨▒≡*/
- cc=(*(p+7)==0)? 2:((*(p+7)>>4)==0)? 1:0;
- recno[cc][j]+=1;
- /*╗░╡Ñ╨┤┼╠*/
- if(disk_sp(disk_v())<2048l) abort("┤┼┼╠╥τ│÷\7");
- fputc(0x20,fp);
- for(j=0;j<30;j++)
- {cc=(*p>>4);
- cc+=(cc<10? 0x30:0x57);
- fputc(cc,fp);
- cc=(*p++&0x0f);
- cc+=(cc<10? 0x30:0x57);
- fputc(cc,fp);
- }
- rec_n+=1;
- }
- if(key()==27) break;
- } while(true);
- rt1(253); /* ╡╣┤° */
- /**************/
- /*╣╪▒╒╗░╡Ñ╬─╝■*/
- /**************/
- fputc(0x1a,fp);
- fseek(fp,4l,0);
- putl(rec_n,fp);
- fclose(fp);
- /************/
- /* ╜ß╣√┤µ┼╠ */
- /************/
- if((fp=fopen(fname[2],"bwr"))==0) abort("┤┤╜¿%s╬─╝■╩º░▄ !\7",fname[2]);
- fprintf(fp," ╗░ ╡Ñ ┴┐ ═│ ╝╞ ▒φ\r\n");
- fprintf(fp,"==========================================\r\n");
- fprintf(fp," ╛╓║┼ ╬▐╣┌╫╓ ╣┌╫╓=0 ╣┌╫╓=00 \r\n");
- for(i=0;i<100;i++)
- if((recno[0][i]!=0) || (recno[1][i]!=0) || (recno[2][i]!=0))
- {printf("\n %2u╛╓ :%10lu %10lu %10lu",i,recno[0][i],recno[1][i],recno[2][i]);
- fprintf(fp," %2u╛╓ :%10lu %10lu %10lu\r\n",i,recno[0][i],recno[1][i],recno[2][i]);
- }
- fclose(fp);
- }
-
- tape_st(tape_l)
- unsigned int tape_l; /*╩²╛▌┐Θ│ñ╢╚*/
- /****************/
- /* ╞⌠╢»┤┼┤°╗· */
- /****************/
- {rt1(251,0x36c);
- rt1(255);
- rt1(246,0);
- if((~rt1(245)) & IONL)
- {
- printf("\n╟δ╜½┤┼┤°╗·╡─ ON-LINE ╡╞░┤┴┴.\7");
- while((~rt1(245)) & IONL) /*╡╚┤²░┤┤┼┤°╗·╡─ ON_LINE ╝ⁿ*/
- {if(key()==27) abort("╓╨╢╧╖╡╗╪");
- rt1(251,0x36c);
- rt1(255);
- rt1(246,0);
- }
- }
- rt1(253); /*╡╣┤°*/
- while(rt1(245) & IRWD) /* ╡╚┤²┤┼┤°╗·╡╣┤°╜ß╩° */
- if(key()==27) abort("╓╨╢╧╖╡╗╪");
- rt1(250,tape_l);
- }
-
-
-
-
-