
@@@@@@@@@@@@@@\P@

@ssk|hb
@@VSgbPS			P
@@VSgbVS			P
@@VSgbPTV			P
@@VSgbTVR			P
@@VSgbTVS			P

@RfT
@@PWOe				P
@@ODPeiZRApXRpj	KʁiQ`Rj
@@POOeidApXRpj	P

@RlN^
@@ccjRUoiXj		P
@@c|rtaQToiXj	P
@@KvɉēKɃRlN^ς

@
@@Kȑ傫̃jo[T	P

@d
@@ó{TuATOO`x̓d	P
@@iO[qM[^œdΕsvj

@̑ɕKvɉĂhb\PbgO[qM[^Ȃǂ




@@@@@@@@@@@@@@\Q@

@@@@@@@@@@@@@@@F kosP F kosQ F kosR F
@@f[^@@@io̓|[gjFORabgFORVWgFOQVWgF
@@Xe[^X@i̓|[gjFORacgFORVXgFOQVXgF
@@Rg[io̓|[gjFORadgFORV`gFOQV`gF

@@Xe[^X|[g̃rbgt

@@@|||||||||||||||||||||||BUSYirW[j
@@ b @@||||||||||||||||||||/ACKi`bjj
@@ b @ b @@|||||||||||||||||PENDi؂j
@@ b @ b @ b @@||||||||||||||SLCTiZNgj
@@ b @ b @ b @ b @@|||||||||||/ERRORiG[j
@@ b @ b @ b @ b @ b @@||||||||gpȂ
@@ b @ b @ b @ b @ b @ b @@|||||gpȂ
@@ b @ b @ b @ b @ b @ b @ b @@||gpȂ
@@ b @ b @ b @ b @ b @ b @ b @ b 
@@cVAcUAcTAcSAcRAcQAcPAcO


@@Rg[|[g̃rbgt

@@@|||||||||||||||||||||||'0'
@@ b @@||||||||||||||||||||'0'
@@ b @ b @@|||||||||||||||||'0'
@@ b @ b @ b @@||||||||||||||'0'
@@ b @ b @ b @ b @@|||||||||||/SLCT IN
@@ b @ b @ b @ b @ b @@||||||||'0'
@@ b @ b @ b @ b @ b @ b @@|||||/AUTO FD
@@ b @ b @ b @ b @ b @ b @ b @@||/STROBE
@@ b @ b @ b @ b @ b @ b @ b @ b 
@@cVAcUAcTAcSAcRAcQAcPAcO



@@@@@@@@@@@@@@\R@

void    DelayLPT(void);

//==============================================
int ParOutInpDataLPT_PC(uint AnOutData, uint &AnInpData)
{
	int	bFlag = NG;
	uint	nCount = 30000;
	uint	n = 0x00100;
	uchar	bDatXor = 0x00b;
	bDatXor = 0x000;

	outp(0x0378+2, 0x002 ^ bDatXor);
	DelayLPT();
	outp(0x0378, AnOutData);			//	SET DATA
	DelayLPT();
	outp(0x0378+2, 0x003 ^ bDatXor);		//	STROBE
	DelayLPT();
	outp(0x0378+2, 0x002 ^ bDatXor);
	DelayLPT();
	Dprintf("o:%02X\n", AnOutData);

	while (nCount--) {
		AnInpData = inp(0x0378+1);		//	STATUS
		if (GSbParDebugPrintf == ON) {
			if (n != AnInpData) {
				Dprintf("s:%02X\n", AnInpData);
				n = AnInpData;
			}
		}
		if ( (AnInpData & 0x080) ) {		//	ACK ?
			bFlag = OK;
			break;
		}
	}

	outp(0x0378+2, 0x00a ^ bDatXor);
	DelayLPT();
	n = inp(0x0378+1);
	AnInpData = (n >> 3) & 0x00f;			//	GET DATA L
	outp(0x0378+2, 0x008 ^ bDatXor);
	DelayLPT();
	n = inp(0x0378+1);
	n = (n << 1) & 0x0f0;				//	GET DATA H
	AnInpData |= n;
	outp(0x0378+2, 0x002 ^ bDatXor);
	Dprintf("i:%02X\n", AnInpData);

	return (bFlag);
}

void    DelayLPT(void)
{
    return;				// DUMMY WAIT
}

