This commit is contained in:
Frater 2017-09-24 01:45:36 +02:00
commit 43352ff262
1291 changed files with 220976 additions and 0 deletions

104
FCP/PRINT.C Normal file
View 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);
}