Example #1
0
//
// I_Init
//
void I_Init (void)
{
	CheckCPUID (&CPU);
	DumpCPUInfo (&CPU);

	I_GetTime = I_GetTimeSelect;
	I_WaitForTic = I_WaitForTicSelect;
	I_FreezeTime = I_FreezeTimeSelect;
	atterm (I_ShutdownSound);
    I_InitSound ();
}
Example #2
0
void I_Init()
{
	CheckCPUID(&CPU);
	CalculateCPUSpeed();
	DumpCPUInfo(&CPU);

	I_GetTime = I_GetTimeSelect;
	I_WaitForTic = I_WaitForTicSelect;

	atterm (I_ShutdownSound);
	I_InitSound ();
}
Example #3
0
void InfoCPU()
{
	if (CheckCPUID())
	{
		char name[13] = {0};
		uint32_t MaxBasicLevel = CallCPUID(0x00000000UL, 0, NULL, (uint32_t*)name, (uint32_t*)(name + 8), (uint32_t*)(name + 4));
		uint32_t MaxExtendedLevel = CallCPUID(0x80000000UL, 0, NULL, NULL, NULL, NULL);

		ConsoleIOPrint("CPU :\n");
		ConsoleIOPrintFormatted("CPU name : %s\n", name);

		ConsoleIOPrintFormatted("X87      : %s\n", CheckCPUIDFeature(kCPUIDFeature_X87)   ? "YES" : "NO ");
		ConsoleIOPrintFormatted("MMX      : %s\n", CheckCPUIDFeature(kCPUIDFeature_MMX)   ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SSE      : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSE)   ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SSE2     : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSE2)  ? "YES" : "NO ");
		ConsoleIOPrintFormatted("HTT      : %s\n", CheckCPUIDFeature(kCPUIDFeature_HTT)   ? "YES" : "NO ");

		ConsoleIOPrintFormatted("SSE3     : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSE3)  ? "YES" : "NO ");
		ConsoleIOPrintFormatted("VMX      : %s\n", CheckCPUIDFeature(kCPUIDFeature_VMX)   ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SMX      : %s\n", CheckCPUIDFeature(kCPUIDFeature_SMX)   ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SSSE3    : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSSE3) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SSE4.1   : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSE41) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SSE4.2   : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSE42) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("AESNI    : %s\n", CheckCPUIDFeature(kCPUIDFeature_AESNI) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("AVX      : %s\n", CheckCPUIDFeature(kCPUIDFeature_AVX)   ? "YES" : "NO ");

		ConsoleIOPrintFormatted("AVX2     : %s\n", CheckCPUIDFeature(kCPUIDFeature_AVX2)     ? "YES" : "NO ");
		ConsoleIOPrintFormatted("AVX512F  : %s\n", CheckCPUIDFeature(kCPUIDFeature_AVX512F)  ? "YES" : "NO ");
		ConsoleIOPrintFormatted("AVX512PF : %s\n", CheckCPUIDFeature(kCPUIDFeature_AVX512PF) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("AVX512ER : %s\n", CheckCPUIDFeature(kCPUIDFeature_AVX512ER) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("AVX512CD : %s\n", CheckCPUIDFeature(kCPUIDFeature_AVX512CD) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("SHA      : %s\n", CheckCPUIDFeature(kCPUIDFeature_SHA)      ? "YES" : "NO ");

		ConsoleIOPrintFormatted("EM64T    : %s\n", CheckCPUIDFeature(kCPUIDFeature_EM64T)  ? "YES" : "NO ");
		ConsoleIOPrintFormatted("3DNow!   : %s\n", CheckCPUIDFeature(kCPUIDFeature_3DNOW)  ? "YES" : "NO ");
		ConsoleIOPrintFormatted("3DNow!+  : %s\n", CheckCPUIDFeature(kCPUIDFeature_E3DNOW) ? "YES" : "NO ");

		ConsoleIOPrintFormatted("SSE4.a   : %s\n", CheckCPUIDFeature(kCPUIDFeature_SSE4A)  ? "YES" : "NO ");
		ConsoleIOPrintFormatted("XOP      : %s\n", CheckCPUIDFeature(kCPUIDFeature_XOP)    ? "YES" : "NO ");
		ConsoleIOPrintFormatted("FMA4     : %s\n", CheckCPUIDFeature(kCPUIDFeature_FMA4)   ? "YES" : "NO ");

		ConsoleIOPrint("\n");
		ConsoleIOPrintFormatted("SpeedSteep : %s\n", CheckCPUIDFeature(kCPUIDFeature_EIST) ? "YES" : "NO ");
		ConsoleIOPrintFormatted("TurboBoost : %s\n", CheckCPUIDFeature(kCPUIDFeature_TB)   ? "YES" : "NO ");
		ConsoleIOPrintFormatted("CoolnQuiet : %s\n", CheckCPUIDFeature(kCPUIDFeature_FID)  ? "YES" : "NO ");

		InfoCache(kCacheLevel_L1Code);
		InfoCache(kCacheLevel_L1Data);
		InfoCache(kCacheLevel_L2);
		InfoCache(kCacheLevel_L3);

		if (MaxBasicLevel >= 0x00000003UL && CheckCPUIDFeature(kCPUIDFeature_PSN))
		{
			char PSN[17] = {0};
			CallCPUID(0x00000003UL, 0, (uint32_t*)PSN, (uint32_t*)(PSN + 4), (uint32_t*)(PSN + 8), (uint32_t*)(PSN + 12));
			ConsoleIOPrintFormatted("PSN : %s\n", PSN);
		}
		if (MaxExtendedLevel >= 0x80000001UL)
		{
			uint32_t featuresECX = 0, featuresEDX = 0;
			CallCPUID(0x80000001UL, 0, NULL, NULL, &featuresECX, &featuresEDX);

			if (MaxExtendedLevel >= 0x80000004UL)
			{
				char brand[49] = {0};
				CallCPUID(0x80000002UL, 0, (uint32_t*)(brand + 0x00), (uint32_t*)(brand + 0x04), (uint32_t*)(brand + 0x08), (uint32_t*)(brand + 0x0C));
				CallCPUID(0x80000003UL, 0, (uint32_t*)(brand + 0x10), (uint32_t*)(brand + 0x14), (uint32_t*)(brand + 0x18), (uint32_t*)(brand + 0x1C));
				CallCPUID(0x80000004UL, 0, (uint32_t*)(brand + 0x20), (uint32_t*)(brand + 0x24), (uint32_t*)(brand + 0x28), (uint32_t*)(brand + 0x2C));
				ConsoleIOPrintFormatted("CPU brand : %s\n", brand);
			}
		}
		ConsoleIOPrint("\n");
	}
	else
	{
		if (Check80286())
		{
			if (Check80386())
			{
				ConsoleIOPrint("CPU : Intel 80386\n");
			}
			else
			{
				ConsoleIOPrint("CPU : Intel 80286\n");
			}
		}
		else
		{
			ConsoleIOPrint("CPU : Intel 8086\n");
		}
	}
}