///////////////////////////////////////////////////////////////////////// // Game Programming All In One, Second Edition // Source Code Copyright (C)2004 by Jonathan S. Harbour // GetInfo Project - main source code file ///////////////////////////////////////////////////////////////////////// #include "allegro.h" #include char *OSName(int number) { switch (number) { case OSTYPE_UNKNOWN: return "Unknown or MS-DOS"; case OSTYPE_WIN3: return "Windows"; case OSTYPE_WIN95: return "Windows 95"; case OSTYPE_WIN98: return "Windows 98"; case OSTYPE_WINME: return "Windows ME"; case OSTYPE_WINNT: return "Windows NT"; case OSTYPE_WIN2000: return "Windows 2000"; case OSTYPE_WINXP: return "Windows XP"; case OSTYPE_OS2: return "OS/2"; case OSTYPE_WARP: return "OS/2 Warp 3"; case OSTYPE_DOSEMU: return "Linux DOSEMU"; case OSTYPE_OPENDOS: return "Caldera OpenDOS"; case OSTYPE_LINUX: return "Linux"; case OSTYPE_FREEBSD: return "FreeBSD"; case OSTYPE_QNX: return "QNX"; case OSTYPE_UNIX: return "Unix variant"; case OSTYPE_BEOS: return "BeOS"; case OSTYPE_MACOS: return "MacOS"; } return ""; } char *YesNo(int number) { if (number==0) return "No"; else return "Yes"; } int main() { //initialize Allegro allegro_init(); //display version info printf("Allegro version = %s\n", allegro_id); printf("Operating system = %s\n", OSName(os_type)); printf("OS version = %i.%i\n", os_version, os_revision); printf("Multitasking = %s\n", YesNo(os_multitasking)); //display system info int width, height; if (get_desktop_resolution(&width, &height) != 0) { printf("Error reading desktop resolution\n-L/usr/local/lib -L/usr/X11R6/lib -lalleg"); } printf("Desktop resolution = %i x %i\n", width, height); printf("Color depth = %i bits\n", desktop_color_depth()); printf("Processor vendor = %s\n", cpu_vendor); printf("Processor family = %i\n", cpu_family); printf("Processor model = %i\n", cpu_model); //display processor capabilities int caps = cpu_capabilities; printf("Processor ID = %s\n", YesNo((caps & CPU_ID)==CPU_ID)); printf("x87 FPU = %s\n", YesNo((caps & CPU_FPU)==CPU_FPU)); printf("MMX = %s\n", YesNo((caps & CPU_MMX)==CPU_MMX)); printf("MMX+ = %s\n", YesNo((caps & CPU_MMXPLUS)==CPU_MMXPLUS)); printf("SSE = %s\n", YesNo((caps & CPU_SSE)==CPU_SSE)); printf("SSE2 = %s\n", YesNo((caps & CPU_SSE2)==CPU_SSE2)); printf("3DNOW = %s\n", YesNo((caps & CPU_3DNOW)==CPU_3DNOW)); printf("Enhanced 3DNOW = %s\n", YesNo((caps & CPU_ENH3DNOW)==CPU_ENH3DNOW)); printf("\nPress any key...\n"); readkey(); return 0; } END_OF_MAIN();