/*****************************************************************************
**********							    **********
**********       FREE - Displays a short memory & task report       **********
**********							    **********
******************************************************************************
**********							    **********
**********		 Designed by Magic Ceee 1987		    **********
**********							    **********
*****************************************************************************/

#include "exec/types.h"
#include "exec/tasks.h"
#include "exec/execbase.h"
#include "exec/memory.h"

extern struct ExecBase 	*SysBase;

/*****************************************************************************/

main(argc,argv)
int argc;
char *argv[];
{
 struct Task *task;
 long free,task_counter=0;
 char name[200],msg[100];

 Disable();
	
 for(task=(struct Task *)SysBase->TaskWait.lh_Head;
     task->tc_Node.ln_Succ;
     task=(struct Task *)task->tc_Node.ln_Succ) task_counter++;

 free=AvailMem(MEMF_CHIP)+AvailMem(MEMF_FAST);
 Enable();

 if(argc<2) strcpy(name,"Darling");
 else strcpy(name,argv[1]);
 
 sprintf(msg,"\n\n%s, there are [33m%ld[0m bytes available today. Exec manages [33m%ld[0m tasks.\n\n",name,free,task_counter);
 Write(Output(),msg,strlen(msg));
}
