The display format is compatible with my system. The file compiles, but for some reason, I can NOT get the CreateDevice call to work. The DirectX pointers are declared as global variables in the program. I am using Visual Studio 2005. Just a FYI, the gotos are in there for debugging purposes. Any help is greatly appreciated.Code:pDirect3D=Direct3DCreate9(D3D_SDK_VERSION); if(pDirect3D==NULL) { goto EXIT; } D3DPRESENT_PARAMETERS D3DPresentParams; ZeroMemory(&D3DPresentParams, sizeof(D3DPRESENT_PARAMETERS)); D3DPresentParams.Windowed=false; D3DPresentParams.BackBufferCount=1; D3DPresentParams.BackBufferWidth=800; D3DPresentParams.BackBufferHeight=600; D3DPresentParams.BackBufferFormat=D3DFMT_X8R8G8B8; D3DPresentParams.SwapEffect=D3DSWAPEFFECT_DISCARD; D3DPresentParams.hDeviceWindow=hWnd; HRESULT hResult = pDirect3D->CheckDeviceType(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, D3DFMT_X8R8G8B8, D3DFMT_X8R8G8B8, FALSE); if(hResult!=D3D_OK) { MessageBox(hWnd, L"CheckDeviceType failed!", L"", MB_OK); goto EXIT; } hResult = pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING,&D3DPresentParams, &pDirect3DDevice); if(hResult!=D3D_OK) { MessageBox(hWnd, L"CreateDevice failed!", L"", MB_OK); goto EXIT; }