home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d02xx / d0242.lha / Check4Mem / Check4Mem.c < prev    next >
C/C++ Source or Header  |  1989-08-30  |  1KB  |  46 lines

  1. /* Check4Mem by Jonathan Potter Dec 88 */
  2.  
  3. /* Check4Mem v2 by Jonathan Potter Jul 89 */
  4.  
  5. #include <exec/memory.h>
  6.  
  7. main(argc,argv)
  8. int argc;
  9. char *argv[];
  10. {
  11.     int chipavail=0,fastavail=0,required=0,i;
  12.     BOOL chip=FALSE,fast=FALSE,segment=FALSE;
  13.     char string1[20], string[20];
  14.  
  15.     strcpy(string1,"You need at least ");
  16.  
  17.     for (i=2;i<argc;i++) {
  18.         if (strcmp(argv[i],"-f")==0) fast=TRUE;
  19.         if (strcmp(argv[i],"-c")==0) chip=TRUE;
  20.         if (strcmp(argv[i],"-s")==0) segment=TRUE;
  21.     }
  22.  
  23.     required=atoi(argv[1]); /* Value to test for */
  24.     chipavail=AvailMem(MEMF_CHIP|MEMF_PUBLIC)>>10;
  25.     fastavail=AvailMem(MEMF_FAST|MEMF_PUBLIC)>>10;
  26.     printf("\x9b;33mCheck4Mem v2 \x9b;0;3m(c) 1989 Jonathan Potter\x9b;0m\
  27.   FAST:%d CHIP:%d TOTAL:%d\n",fastavail,chipavail,fastavail+chipavail);
  28.  
  29.     if (segment) {
  30.         chipavail=AvailMem(MEMF_CHIP|MEMF_PUBLIC|MEMF_LARGEST)>>10;
  31.         fastavail=AvailMem(MEMF_FAST|MEMF_PUBLIC|MEMF_LARGEST)>>10;
  32.         strcpy(string,"segmented ");
  33.     }
  34.  
  35.     if (chip) strcat(string,"CHIP RAM.");
  36.     else if (fast) strcat(string,"FAST RAM.");
  37.     else strcat(string,"RAM.");
  38.  
  39.     if ((chip && chipavail<required) || (fast && fastavail<required) ||
  40.         (!chip && !fast && chipavail+fastavail<required)) {
  41.             printf("%s%dK of %s\n",string1,required,string);
  42.             exit(5);
  43.     }
  44.     exit(0);
  45. }
  46.