#include "AllIncludes.c" #define TRACKSIZE (2*512*11) #define STACKSIZE 2048 /* * * Internal messages use this structure. * */ struct IMsg { struct Message im_Message; short im_Action; /* what to do */ char im_ID; /* the task ID */ char im_RC; /* the return code */ long im_n; /* a general purpose number */ void *im_p; /* a general purpose pointer */ }; /* * * Action allowable between the main process and the disk processes * */ #define READ_TRACK 0 #define WRITE_TRACK 1 #define WRITE_AND_VERIFY_TRACK 2 #define INIT 3 #define STOP_MOTOR 4 #define EXIT 5 #define READ_ERROR 6 #define WRITE_ERROR 7 #define VERIFY_ERROR 8 #define NO_DISK 9 #define NOT_DOS 10 #define GENERIC_ERROR 11 #define WRITE_PROTECTED 12 /* * This macros read & write the bit masks such as ActualDest */ #define DEST(x) (1<<(x)) #define INDEST(x) ((DEST(x)) & Dest) #define INACTUALDEST(x) ((DEST(x)) & ActualDest) enum Gadgets { DF0S, DF1S, DF2S, DF3S, DF0D, DF1D, DF2D, DF3D, VERIFY, BUFFER, TALK, FFS, DATE, STOP, GO, REPEAT, FORMAT, AUTO }; __asm fcpy(register __a0 void *source, register __a1 void *dest); __asm fcmp(register __a0 void *source, register __a1 void *dest); /* * We link sprinf from amiga.lib, and *NOT* from the C library. */ extern int __stdargs sprintf(char *, char *,...); #include "Protos.h" extern struct IntuitionBase *IntuitionBase; extern struct GfxBase *GfxBase;