#include <intuition/intuitionbase.h>
#include <graphics/gfxbase.h>
#include <libraries/dosextens.h>
#include <exec/memory.h>
#include <exec/tasks.h>

#define DIR 1
#define DF0 2
#define DF1 3
#define DF2 4
#define DF3 5
#define DH0 6
#define DH1 7
#define VD0 8
#define VDK 9
#define RAM 10
#define RAD 11
#define SYS 12
#define C 13
#define IRQCHECK 14

/* Image-Ed Image generation */

/* Start of Image data */
USHORT popgadImageData[]={
   /* Plane 0 */
   0x0000, 0x0000, 0x7fff, 0xf800, 0x5fbd, 0xf800, 
   0x5d75, 0xd800, 0x5d75, 0xd800, 0x5f75, 0xf800, 
   0x5f75, 0xf800, 0x5f75, 0xf800, 0x5fbd, 0xf800, 
   0x7fff, 0xf800, 0x5f7d, 0xf800, 0x5ddd, 0xd800, 
   0x5ddd, 0xd800, 0x5ddd, 0xf800, 0x5ddd, 0x7800, 
   0x5ddd, 0xb800, 0x5f7d, 0xd800, 0x7fff, 0xf800, 
   0x0000, 0x0000, 
   /* Plane 1 */
   0xffff, 0xfc00, 0xffff, 0xfc00, 0xe1c6, 0x1c00, 
   0xeeba, 0xec00, 0xeeba, 0xec00, 0xe1ba, 0x1c00, 
   0xefba, 0xfc00, 0xefba, 0xfc00, 0xefc6, 0xfc00, 
   0xffff, 0xfc00, 0xe182, 0x1c00, 0xeeee, 0xec00, 
   0xeeee, 0xec00, 0xeeee, 0x1c00, 0xeeee, 0xbc00, 
   0xeeee, 0xdc00, 0xe182, 0xec00, 0xffff, 0xfc00, 
   0xffff, 0xfc00
};
/* End of Image data */

struct Image popgadImage={
	0,0,	 /* LeftEdge, TopEdge */
	22,19,2,	 /* Width, Height, Depth */
	&popgadImageData[0],	 /* ImageData */
	0x3,0x0,	 /* PlanePick, PlaneOnOff */
	NULL	 /* NextImage */
};

/* Image-Ed Image generation */

/* Start of Image data */
USHORT popgad2ImageData[]={
   /* Plane 0 */
   0x0000, 0x0000, 0x7fff, 0xf800, 0x7e7f, 0xf800, 
   0x7cff, 0xf800, 0x7cff, 0xf800, 0x7cff, 0xf800, 
   0x7cff, 0xf800, 0x7cff, 0xf800, 0x7e7f, 0xf800, 
   0x7e7f, 0xf800, 0x7e7f, 0xf800, 0x7e7f, 0xf800, 
   0x7f3f, 0xf800, 0x7fff, 0xf800, 0x7f3f, 0xf800, 
   0x7f3f, 0xf800, 0x7f3f, 0xf800, 0x7fff, 0xf800, 
   0x0000, 0x0000, 
   /* Plane 1 */
   0xffff, 0xfc00, 0xffff, 0xfc00, 0xff83, 0xfc00, 
   0xff01, 0xfc00, 0xff01, 0xfc00, 0xff01, 0xfc00, 
   0xff01, 0xfc00, 0xff01, 0xfc00, 0xff83, 0xfc00, 
   0xff83, 0xfc00, 0xff83, 0xfc00, 0xff83, 0xfc00, 
   0xffc7, 0xfc00, 0xffff, 0xfc00, 0xffc7, 0xfc00, 
   0xffc7, 0xfc00, 0xffc7, 0xfc00, 0xffff, 0xfc00, 
   0xffff, 0xfc00 
};
/* End of Image data */

struct Image popgad2Image={
	0,0,	 /* LeftEdge, TopEdge */
	22,19,20,	 /* Width, Height, Depth */
	&popgad2ImageData[0],	 /* ImageData */
	0x3,0x0,	 /* PlanePick, PlaneOnOff */
	NULL	 /* NextImage */
};

/* End of Image-Ed Image generation */

struct Gadget popgad={
	NULL,0,0,22,19,GADGHIMAGE|GADGIMAGE,RELVERIFY,BOOLGADGET,&popgadImage,
	&popgad2Image,NULL,NULL,NULL,NULL,NULL};

char dobuffer[80]="DF0:", undobuffer[80];
struct StringInfo StrGadInfo={
	dobuffer,undobuffer,0,80,0};
short StrGadBorXY[]={
	-2,-1,332,-1,332,10,-2,10,-2,-1};
struct Border StrGadBor={
	-1,-1,1,0,JAM1,5,StrGadBorXY,NULL};
struct Gadget StrGad={
	NULL,10,15,329,15,GADGHCOMP,RELVERIFY,STRGADGET,&StrGadBor,NULL,
	NULL,NULL,&StrGadInfo,DIR,NULL};

short BoxGadBorXY[]={
	0,0,40,0,40,20,0,20,0,0};
struct Border BoxGadBor={
	-1,-1,1,0,JAM1,5,BoxGadBorXY,NULL};

struct IntuiText cGadText={
	1,0,JAM1,12,6,NULL,"C:",NULL};
struct Gadget cGad={
	&StrGad,134,52,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&cGadText,NULL,NULL,C,NULL};

struct IntuiText sysGadText={
	1,0,JAM1,4,6,NULL,"SYS:",NULL};
struct Gadget sysGad={
	&cGad,92,52,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&sysGadText,NULL,NULL,SYS,NULL};

struct IntuiText radGadText={
	1,0,JAM1,4,6,NULL,"RAD:",NULL};
struct Gadget radGad={
	&sysGad,50,52,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&radGadText,NULL,NULL,RAD,NULL};

struct IntuiText ramGadText={
	1,0,JAM1,4,6,NULL,"RAM:",NULL};
struct Gadget ramGad={
	&radGad,8,52,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&ramGadText,NULL,NULL,RAM,NULL};

struct IntuiText vdkGadText={
	1,0,JAM1,4,6,NULL,"VDK:",NULL};
struct Gadget vdkGad={
	&ramGad,302,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&vdkGadText,NULL,NULL,VDK,NULL};

struct IntuiText vd0GadText={
	1,0,JAM1,4,6,NULL,"VD0:",NULL};
struct Gadget vd0Gad={
	&vdkGad,260,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&vd0GadText,NULL,NULL,VD0,NULL};

struct IntuiText dh1GadText={
	1,0,JAM1,4,6,NULL,"DH1:",NULL};
struct Gadget dh1Gad={
	&vd0Gad,218,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&dh1GadText,NULL,NULL,DH1,NULL};

struct IntuiText dh0GadText={
	1,0,JAM1,4,6,NULL,"DH0:",NULL};
struct Gadget dh0Gad={
	&dh1Gad,176,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&dh0GadText,NULL,NULL,DH0,NULL};

struct IntuiText df3GadText={
	1,0,JAM1,4,6,NULL,"DF3:",NULL};
struct Gadget df3Gad={
	&dh0Gad,134,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&df3GadText,NULL,NULL,DF3,NULL};

struct IntuiText df2GadText={
	1,0,JAM1,4,6,NULL,"DF2:",NULL};
struct Gadget df2Gad={
	&df3Gad,92,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&df2GadText,NULL,NULL,DF2,NULL};

struct IntuiText df1GadText={
	1,0,JAM1,4,6,NULL,"DF1:",NULL};
struct Gadget df1Gad={
	&df2Gad,50,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&df1GadText,NULL,NULL,DF1,NULL};

struct IntuiText df0GadText={
	1,0,JAM1,4,6,NULL,"DF0:",NULL};
struct Gadget df0Gad={
	&df1Gad,8,30,39,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&BoxGadBor,NULL,
	&df0GadText,NULL,NULL,DF0,NULL};

short DirGadBorXY[]={
	0,0,82,0,82,20,0,20,0,0};
struct Border DirGadBor={
	-1,-1,1,0,JAM1,5,DirGadBorXY,NULL};

struct IntuiText IRQText={
	1,0,JAM1,5,6,NULL, "IRQ Check",NULL};
struct Gadget IRQGad={
	&df0Gad,176,52,81,19,GADGHCOMP,RELVERIFY|TOGGLESELECT,BOOLGADGET,
	&DirGadBor,NULL,&IRQText,NULL,NULL,IRQCHECK,NULL};

struct IntuiText DirGadText={
	1,0,JAM1,29,6,NULL,"Dir",NULL};
struct Gadget DirGad={
	&IRQGad,260,52,81,19,GADGHCOMP,RELVERIFY,BOOLGADGET,&DirGadBor,NULL,
	&DirGadText,NULL,NULL,DIR,NULL};

struct NewWindow small={
	30,11,22,19,-1,-1,GADGETUP,BORDERLESS|SMART_REFRESH,&popgad,NULL,NULL,
	NULL,NULL,0,0,0,0,WBENCHSCREEN};
struct NewWindow med={
	30,11,349,75,-1,-1,GADGETUP|CLOSEWINDOW|INACTIVEWINDOW,
	WINDOWCLOSE|WINDOWDEPTH|WINDOWDRAG|ACTIVATE|RMBTRAP|SMART_REFRESH,
	&DirGad,NULL,"PopDir v1.4 by Jonathan Potter",NULL,NULL,0,0,0,0,WBENCHSCREEN};
struct NewWindow big={
	0,0,640,200,-1,-1,CLOSEWINDOW|VANILLAKEY,
	WINDOWCLOSE|WINDOWDEPTH|WINDOWDRAG|ACTIVATE|RMBTRAP|SMART_REFRESH,
	NULL,NULL,NULL,NULL,NULL,0,0,0,0,WBENCHSCREEN};

char ToPrint[80];
struct IntuiText Files={
	1,0,JAM2,0,0,NULL,ToPrint,NULL};

struct IntuitionBase *IntuitionBase;
struct GfxBase *GfxBase;
struct IntuiMessage *Msg;
struct Window *Window;
struct FileLock *lock, *oldlock;
struct FileInfoBlock *finfo;

int NonExTotal,VirTotal,CleanTotal,KilledTotal;
