home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************************
- * TEST.C - a Quick 'n Dirty program to demonstrate use of the
- * function, chips(), which identifies CPU and NDP
- * (math coprocessor) type at runtime.....
- *
- * MSC test /Ox/W3/DLINT_ARGS;
- * LINK chips+test /EXE;
- *
- * will make CHIPS.EXE - enjoy! pat shea - Bethlehem, PA
- **********************************************************************/
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- int chips( void ); /* this is the guy that duz all the work for
- us...... don't forget to LINK him in !! */
- void main()
- {
- char str_CPU[16], str_NDP[16]; /* to hold screen messages */
-
- int i = chips(); /* get the int return that tells the CPU and
- NDP (math coprocessor) types */
-
- /***********************************************************************
- * This first switch gives us the high order digits off the return from
- * chips() and determines the CPU type.
- **********************************************************************/
-
- switch( i / 10 ) {
- case 8:
- strcpy( str_CPU, "8088/8086" );
- break;
- case 18:
- strcpy( str_CPU, "80188/80186" );
- break;
- case 20:
- strcpy( str_CPU, "NEC V20/V30" );
- break;
- case 28:
- strcpy( str_CPU, "80286" );
- break;
- case 38:
- strcpy( str_CPU, "80386" );
- break;
- default:
- printf( "\n\t\tCPU test SNAFU'd! I'm bailin' out.\n\n" );
- exit( 99 );
- }
-
- /**********************************************************************
- * Now.... let's figger out what kinda NDP we got by stripping off
- * all the high end digits leaving us with just the low order guy
- * with all the NDP info.....
- **********************************************************************/
-
- switch( i % 10 ) {
- case 0:
- strcpy( str_NDP, "NO CHIP" );
- break;
- case 1:
- strcpy( str_NDP, "an 8087" );
- break;
- case 2:
- strcpy( str_NDP, "an 80287" );
- break;
- case 3:
- strcpy( str_NDP, "an 80387" );
- break;
- default:
- printf( "\n\t\tNDP test SNAFU'd! I'm bailin' out.\n\n" );
- exit( 99 );
- }
- printf( "\nI see an %s in here as the CPU\n", str_CPU );
- printf( "and %s for a math coprocessor.\n", str_NDP );
- }