.FDD файлы ---------- /* --------------------------------------*/ /* эмулятор образа дискеты (image.fdd) */ /* (c) 1996 MOA */ /* ------------------------------------- */ // параметры "дискеты" #define versionLength 30 #define TRACKMAX (85*2) #define SECTMAX 30 // число секторов на дорожке /* формат файла образа диска */ /* заголовок */ struct diskHEADER { char head[versionLength]; /* сигнатура */ byte trkMax; /* число треков, всего без учета головок */ byte headMax; /* число головок (1 или 2) */ long diskIndex = 0l; /* unused */ long trkIdx[TRACKMAX]; /* смещение в файле к структурам заголовков */ /* треков */ }; /* местоположение остальной информации в файле не фиксировано */ /* информация о дорожке */ struct diskTRACK { byte trkType = 0; /* unused */ byte sectNum; /* число секторов на треке */ struct { /* заголовок сектора */ byte trk; /* номер трека */ byte side; /* номер стороны */ /* 7 бит этого байта указывает бит a */ byte sect; /* номер сектора */ byte size; /* размер сектора (код) */ long sectPos; /* смещение в файле к данным сектора */ } sect[SECTMAX]; };