//LPTCHKS.C		test LPT speed for SIDI
//S57UUU may 007

#include<stdio.h>
#include<dos.h>       //inportb
#include<time.h>

int LPT=0x378;

unsigned int sig[32767];

//----------------------------------------------------------------
//array is written each time to equalize timing
void vzorcenje()
{
int i;
long j;
unsigned char a;

for (j=0;j<131072;j++)
	{
	i=(int)(j>>2);
	a=inportb(LPT+1)>>4;
	sig[i]=(sig[i]<<4)+a;
	}
}

//****************************************************************

int main()
{
int i;
clock_t t1,t2;
float sr;

printf("\n\nReading 1E6 samples from LPT");
t1=clock();
for (i=0;i<8;i++)
	vzorcenje();
t2=clock();
sr=131072.0*8.0/(t2-t1)*CLK_TCK;
printf("\nachieved sample rate = %6.1f",sr);

printf("\n\nReading 1E6 samples from LPT");
t1=clock();
for (i=0;i<8;i++)
	vzorcenje();
t2=clock();
sr=131072.0*8.0/(t2-t1)*CLK_TCK;
printf("\nachieved sample rate = %6.1f",sr);

printf("\n\nReading 1E6 samples from LPT");
t1=clock();
for (i=0;i<8;i++)
	vzorcenje();
t2=clock();
sr=131072.0*8.0/(t2-t1)*CLK_TCK;
printf("\nachieved sample rate = %6.1f",sr);
printf("\n\nAny key to exit");
while (kbhit()==0){}
}
