#define BLOCKSIZE TD_SECTOR
#define CYLSIZE BLOCKSIZE*NUMHEADS*NUMSECS
#define MOTOR_ON 1
#define MOTOR_OFF 0
#define ERROR 1
#define NOERROR 0
#define DOSTRUE (-1L)
#define DOSFALSE 0L
#define ESC 0x45
#define RETURN 0x44
#define QUIT 0x10
#define ABOUT 0x20
#define SOURCE 0x21
#define DESTINATION 0x22
#define COPYMODE 0x33
#define FORMAT 0x23
#define TURBOMODE 0x14
#define VERIFY 0x34
#define EXAMINE 0x12
#define OPTIMIZER 0x18
#define GO 0x24
#define INITIALIZE 0x17
#define NAME 0xff
#define SMALLY 250L
#define MOVE(a,b,c) a->cp_x=b;a->cp_y=c 
#define SETDRMD(a,b) a->DrawMode=b

#define FLAGS GADGHCOMP
#define ACTIVATION GADGIMMEDIATE|RELVERIFY

struct Gadget aboutgad = 
{0,232,223,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,ABOUT,0};
struct Gadget initializegad = 
{&aboutgad,232,231,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,INITIALIZE,0};
struct Gadget formatgad = 
{&initializegad,447,231,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,FORMAT,0};
struct Gadget optimizergad = 
{&formatgad,447,223,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,OPTIMIZER,0};
struct Gadget examinegad = 
{&optimizergad,447,215,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,EXAMINE,0};
struct Gadget verifygad = 
{&examinegad,447,207,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,VERIFY,0};
struct Gadget turbogad = 
{&verifygad,8,231,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,TURBOMODE,0};
struct Gadget copymodegad = 
{&turbogad,8,223,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,COPYMODE,0};
struct Gadget quitgad = 
{&copymodegad,320,1,56,9,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,QUIT,0};
struct Gadget destgad = 
{&quitgad,8,215,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,DESTINATION,0};
struct Gadget sourcegad = 
{&destgad,8,207,152,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,SOURCE,0};
struct Gadget go = 
{&sourcegad,232,207,56,8,FLAGS,ACTIVATION,BOOLGADGET,0,0,0,0,0,GO,0};

struct Gadget returngad = 
{0,9,29,52,11,FLAGS,ACTIVATION,BOOLGADGET|REQGADGET
,0,0,0,0,0,RETURN,0};
struct Gadget escapegad = 
{&returngad,139,29,52,11,FLAGS,ACTIVATION,BOOLGADGET|REQGADGET
,0,0,0,0,0,ESC,0};

struct Requester janeinreq = 
{0,220,100,201,51,0,0,&escapegad,0,0,0,3,0,0,0};

char name[30] = "FOOL";
struct StringInfo nameinfo = 
{&name[0],0,0,30,0,0,0,0,0,0,0,0,0};

struct Gadget namegad = 
{0,30,34,240,11,0,ACTIVATION|STRINGCENTER,STRGADGET|REQGADGET
,0,0,0,0,&nameinfo,NAME,0};
struct Gadget okgad = 
{&namegad,9,59,52,11,FLAGS,ACTIVATION,BOOLGADGET|REQGADGET
,0,0,0,0,0,RETURN,0};
struct Gadget cancelgad = 
{&okgad,239,59,52,11,FLAGS,ACTIVATION,BOOLGADGET|REQGADGET
,0,0,0,0,0,ESC,0};
struct Requester inidiskreq = 
{0,170,70,301,81,0,0,&cancelgad,0,0,0,3,0,0,0};

struct Gadget infogad = 
{0,250,80,52,11,FLAGS|SELECTED,ACTIVATION,BOOLGADGET|REQGADGET
,0,0,0,0,0,RETURN,0};
struct Requester inforeq = 
{0,160,50,321,101,0,0,&infogad,0,0,0,2,0,0,0};

