Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
104
FCP/PRINT.C
Normal file
104
FCP/PRINT.C
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
main(int argc,char *argv[])
|
||||
{
|
||||
FILE *f1;
|
||||
extern int _osmajor;
|
||||
extern int _osminor;
|
||||
unsigned crc0,crc1;
|
||||
time_t tl,ot;
|
||||
int a;
|
||||
double d;
|
||||
if(argc!=2)
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
if(memcmp(argv[1],"code",4))
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
if(_osmajor<3)
|
||||
{
|
||||
printf("DOS 3+ required.");
|
||||
return(0);
|
||||
}
|
||||
/*if(*argv[0]!='A' && *argv[0]!='B')
|
||||
{
|
||||
printf("Run from the original disk, please.");
|
||||
return(0);
|
||||
}*/
|
||||
if(!strstr(argv[0],"EXE"))
|
||||
{
|
||||
printf("Run from the original disk, please..");
|
||||
return(0);
|
||||
}
|
||||
memcpy(strstr(argv[0],"EXE"),"DAT",3);
|
||||
f1=fopen(argv[0],"at");
|
||||
if(f1==NULL)
|
||||
{
|
||||
printf("Run from the original disk, please...");
|
||||
return(0);
|
||||
}
|
||||
_asm
|
||||
{
|
||||
push si
|
||||
push di
|
||||
xor si,si
|
||||
xor di,di
|
||||
push ds
|
||||
ers5: mov ax,0ff00h
|
||||
ers6: mov ds,ax
|
||||
mov bx,0
|
||||
mov cx,1024
|
||||
mcrc1: add si,ds:[bx]
|
||||
ers1: add di,ds:[bx+2]
|
||||
ers2: rol si,1
|
||||
ers3: add bx,4
|
||||
ers4: loop mcrc1
|
||||
pop ds
|
||||
mov crc0,si
|
||||
mov crc1,di
|
||||
xor ax,ax
|
||||
mov cs:[ers1],ax
|
||||
mov cs:[ers2],ax
|
||||
mov cs:[ers3],ax
|
||||
mov cs:[ers4],ax
|
||||
mov cs:[ers5],ax
|
||||
mov cs:[ers6],ax
|
||||
mov cs:[ers1+2],ax
|
||||
mov cs:[ers2+2],ax
|
||||
mov cs:[ers3+2],ax
|
||||
mov cs:[ers4+2],ax
|
||||
mov cs:[ers5+2],ax
|
||||
mov cs:[ers6+2],ax
|
||||
pop di
|
||||
pop si
|
||||
mov ah,08h
|
||||
mov dl,128
|
||||
mov dh,0
|
||||
int 13h
|
||||
cmp dh,0
|
||||
je jjj1
|
||||
add crc0,cx
|
||||
add crc1,dx
|
||||
jjj1: nop
|
||||
}
|
||||
time(&tl);
|
||||
fprintf(f1,"%sDos version %i.%i",ctime(&tl),_osmajor,_osminor);
|
||||
fprintf(f1,"\t[");
|
||||
fprintf(f1,"%04X",crc1);
|
||||
fprintf(f1,"%04X",crc0);
|
||||
fprintf(f1,"%04X",(crc1^0xffff));
|
||||
fprintf(f1,"%04X",(crc0^0xffff));
|
||||
fprintf(f1,"]\n\n");
|
||||
fclose(f1);
|
||||
printf("[");
|
||||
printf("%04X",crc1);
|
||||
printf("%04X",crc0);
|
||||
printf("%04X",(crc1^0xffff));
|
||||
printf("%04X",(crc0^0xffff));
|
||||
printf("]");
|
||||
return(0);
|
||||
}
|
||||
Loading…
Reference in a new issue