#define RAW_MODE 1 #define FRAME_SIZE 2352 // size of a raw sector (bytes) #define NBLOCK 10 // nr. of blocks (sectors) per buffer // #define NBUF 8 // nr. of buffers (8 works OK) (1 buffer takes 23520 bytes low DOS memory) #define SYNCH_SIZE 128 struct ReqHdr { BYTE len; BYTE unit; BYTE command; WORD status; BYTE reserved[8]; }; struct IOCTLI { struct ReqHdr req; BYTE descriptor; void far *address; WORD len; WORD secnum; void far *ptr; }; struct DiskInfo { BYTE control; BYTE lowest; BYTE highest; DWORD total; }; struct ReadL { struct ReqHdr req; BYTE mode; void far *address; WORD secnum; DWORD loc; BYTE readmode; BYTE skip[2]; }; struct TrackInfo { BYTE control; BYTE track; DWORD loc; BYTE info; }; struct SEEK { struct ReqHdr req; BYTE mode; DWORD address; WORD secnum; DWORD loc; }; struct PlayReq { struct ReqHdr req; BYTE mode; DWORD loc; DWORD secnum; };