Mail Archives: djgpp/1998/08/01/11:36:01
This is a multi-part message in MIME format.
------=_NextPart_000_0001_01BDBD6A.7E3DBC00
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
> Arthur wrote:
> > You could use Allegro - it has a global variable which is set to TRUE
> > if you have a FPU
>
> I ve looked at the Allegro code to detect FPU, but this code also crash
> my computer. (SIGFPE) Im wondering if there is a way to intercept or to
> disable the SIGFPE signal, so my program wont crash when i try to detect
> a FPU. Anyone has a clue?
Enclosed is a little sample program I wrote to check out my system. It works on my
system. If you still have a problem mail me, or try the Allegro Mailing List
www.tatula.demon.co.uk/allegro.
HTH
James Arthur
jaa AT arfa DOT clara DOT net
ICQ#15054819
------=_NextPart_000_0001_01BDBD6A.7E3DBC00
Content-Type: application/octet-stream;
name="syscheck.cc"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="syscheck.cc"
#include <allegro.h>
#include <stdio.h>
extern char allegro_id[], cpu_vendor[];
extern int os_type;
extern int cpu_family, cpu_model, cpu_fpu, cpu_mmx, cpu_cpuid;
void print_data();
void print_data()
{
printf("Allegro ID: %s\n",allegro_id);
printf("OS Type: ");
switch(os_type)
{
case OSTYPE_UNKNOWN: printf("MS-DOS\n"); break;
case OSTYPE_WIN3: printf("Windows 3\n"); break;
case OSTYPE_WIN95: printf("Windows 95\n"); break;
case OSTYPE_WINNT: printf("Windows NT\n"); break;
case OSTYPE_OS2: printf("OS/2\n"); break;
case OSTYPE_WARP: printf("OS/2 Warp 3\n"); break;
case OSTYPE_DOSEMU: printf("Linux DOSEMU\n"); break;
case OSTYPE_OPENDOS: printf("Caldera OpenDOS\n"); break;
}
printf("CPU Vendor: %s\n",cpu_vendor);
printf("CPU TYPE: ");
switch(cpu_family)
{
case 3:
printf("386 ");
switch(cpu_model)
{
case 0: printf("DX"); break;
case 2: printf("SX"); break;
case 4: printf("SL"); break;
default:printf("Unknown"); break;
}
break;
case 4:
printf("486 ");
switch(cpu_model)
{
case 0:
case 1: printf("DX"); break;
case 2: printf("SX"); break;
case 3: printf("DX or 487SX"); break;
case 4: printf("SL"); break;
case 5: printf("SX2"); break;
case 7: printf("DX2"); break;
case 8: printf("DX4"); break;
case 14:printf("Cyrix"); break;
default:printf("(unknown type)");
}
break;
case 5:
printf("Pentium ");
switch(cpu_model)
{
case 1: printf("510\66 or 567\66"); break;
case 2: printf("P54C"); break;
case 3: printf("Overdrive"); break;
case 4: break;
case 5: printf("DX4 Overdrive"); break;
case 14:printf("Cyrix"); break;
default:printf("(unknown type)");
}
break;
case 6: printf("Pentium Pro "); break;
}
if(cpu_mmx) printf("MMX");
printf("\n");
printf("FPU CHIP: ");
switch(cpu_fpu)
{
case TRUE: printf("installed\n"); break;
default: printf("not installed\n"); break;
}
switch(cpu_cpuid)
{
case TRUE: printf("Data Accurate\n"); break;
default: printf("Some Possible Innacuracies\n"); break;
}
}
int main()
{
allegro_init();
check_cpu();
print_data();
return 0;
}
------=_NextPart_000_0001_01BDBD6A.7E3DBC00--
- Raw text -