X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FStorage%2FFDDv2%2Fcommon.h;fp=KernelLand%2FModules%2FStorage%2FFDDv2%2Fcommon.h;h=4d6a4f7ee423095fc02352ba53cd42e736ef177f;hb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;hp=0000000000000000000000000000000000000000;hpb=a2495c6ea4f4cab16b5d339ae511428e92e89e73;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Storage/FDDv2/common.h b/KernelLand/Modules/Storage/FDDv2/common.h new file mode 100644 index 00000000..4d6a4f7e --- /dev/null +++ b/KernelLand/Modules/Storage/FDDv2/common.h @@ -0,0 +1,43 @@ +/* + * Acess2 82077AA FDC + * - By John Hodge (thePowersGang) + * + * common.h + * - Common definitions + */ +#ifndef _FDC_COMMON_H_ +#define _FDC_COMMON_H_ + +#include +#include + +// === CONSTANTS === +#define MAX_DISKS 8 // 4 per controller, 2 controllers +#define TRACKS_PER_DISK (1440*2/18) +#define BYTES_PER_TRACK (18*512) + +// === TYPEDEFS === +typedef struct sFDD_Drive tDrive; + +// === STRUCTURES === +struct sFDD_Drive +{ + int bValid; + int bInserted; + int MotorState; + tTimer *Timer; + + tMutex Mutex; + + void *TrackData[TRACKS_PER_DISK]; // Whole tracks are read +}; + +// === FUNCTIONS === +extern int FDD_SetupIO(void); +extern int FDD_int_ReadWriteTrack(int Disk, int Track, int bWrite, void *Buffer); + +// === GLOBALS === +extern tDrive gaFDD_Disks[MAX_DISKS]; + +#endif +