X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Modules%2FStorage%2FFDDv2%2Fcommon.h;h=f426716f2e6630e4d920096d4d59ed5c34f19051;hb=1fa20812c8fba3ba938dda91d4ec01b02541bde6;hp=2f35c7bccd65067d66971c6d264f5da364665a06;hpb=bb8e7d800960fe262c8e76ec45870c7202dcef21;p=tpg%2Facess2.git diff --git a/Modules/Storage/FDDv2/common.h b/Modules/Storage/FDDv2/common.h index 2f35c7bc..f426716f 100644 --- a/Modules/Storage/FDDv2/common.h +++ b/Modules/Storage/FDDv2/common.h @@ -8,6 +8,8 @@ #ifndef _FDC_COMMON_H_ #define _FDC_COMMON_H_ +#include + // === CONSTANTS === #define MAX_DISKS 8 // 4 per controller, 2 controllers #define TRACKS_PER_DISK (1440*2/18) @@ -19,15 +21,19 @@ typedef struct sFDD_Drive tDrive; // === STRUCTURES === struct sFDD_Drive { + int bValid; int bInserted; int MotorState; int Timer; + + tMutex Mutex; void *TrackData[TRACKS_PER_DISK]; // Whole tracks are read }; // === FUNCTIONS === -extern void FDD_int_IRQHandler(int IRQ, void *Ptr); +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];