Ejemplo n.º 1
0
BOOL APIENTRY DllMain( HINSTANCE  hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{

	hmodule = hModule;
	switch(ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		sysver = SystemVersion();
		if(sysver==2)
		{
			Opendriver();
		}
	break;
	case DLL_PROCESS_DETACH:
		if(sysver==2)
		{
			CloseHandle(hdriver);
		}
	break;
	}
    return TRUE;
}
Ejemplo n.º 2
0
extern "C" BOOL	OpenPort (int port, int addr, int ecp)
{
	char *pname;
	if (port == -1)
		return OpenUSB();
	
	switch (port)
	{
	case 1:	pname = "LPT1";
		break;
	case 2:	pname = "LPT2";
		break;
	case 3:	pname = "LPT3";
		break;
	case 4:	pname = NULL;
		break;
	default:return FALSE;	break;
	}
	if (pname)
	{
		pport = CreateFile(pname,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
		if (pport == INVALID_HANDLE_VALUE)
		{
			baseport = 0;
			ecpoffset = 0;
			MessageBox(topHWnd,"Parallel port is in use!","CopyNES",MB_OK | MB_ICONERROR);
			return FALSE;
		}
	}
	baseport = addr;
	ecpoffset = ecp;

	sysver = SystemVersion();
	if (sysver == 1)
	{
		connection_initialized = TRUE;
		return TRUE;
	}
	else if ((sysver == 2) && (IsInpOutDriverOpen()))
	{
		connection_initialized = TRUE;
		return TRUE;
	}
	else
	{
		if (pport != INVALID_HANDLE_VALUE)
			CloseHandle(pport);
		pport = INVALID_HANDLE_VALUE;
		baseport = 0;
		ecpoffset = 0;
		MessageBox(topHWnd,"Failed to load parallel port driver!","CopyNES",MB_OK | MB_ICONERROR);
		return FALSE;
	}
}
Ejemplo n.º 3
0
Launcher::Launcher(int argc, char *argv[])
: Core::Launcher(argc, argv, DeviceModel(), SystemVersion()) {
}