diff --git a/DiskImage.cpp b/DiskImage.cpp index f181d01..aca982a 100644 --- a/DiskImage.cpp +++ b/DiskImage.cpp @@ -135,22 +135,22 @@ struct TD0_MAIN_HEADER // 12 bytes unsigned char Ver; // +4: Source version (1.0 -> 10, ..., 2.1 -> 21) unsigned char __2; // +5: ??? unsigned char DiskType; // +6: Source disk type - unsigned char Info; // +7: D7-稥 image info + unsigned char Info; // +7: D7-наличие image info unsigned char DataDOS; // +8: if(=0)'All sectors were copied', else'DOS Allocated sectors were copied' unsigned char ChkdSides; // +9: if(=1)'One side was checked', else'Both sides were checked' - unsigned short CRC; // +A: CRC 娤 TD0_MAIN_HEADER (஬ CRC) + unsigned short CRC; // +A: CRC хидера TD0_MAIN_HEADER (кроме байт с CRC) }; -struct TD0_INFO_DATA // 10 ப ... +struct TD0_INFO_DATA // 10 байт без строки коментария... { - unsigned short CRC; // +0: CRC COMMENT_DATA ( ⮢ CRC) - unsigned short strLen; // +2: ப - unsigned char Year; // +4: ᮧ - (1900 + X) - unsigned char Month; // +5: ᮧ - (=0, ࠫ=1,...) - unsigned char Day; // +6: ᮧ - ᫮ - unsigned char Hours; // +7: ६ ᮧ - - unsigned char Minutes; // +8: ६ ᮧ - - unsigned char Seconds; // +9: ६ ᮧ - ᥪ㭤 + unsigned short CRC; // +0: CRC для структуры COMMENT_DATA (без байтов CRC) + unsigned short strLen; // +2: Длина строки коментария + unsigned char Year; // +4: Дата создания - год (1900 + X) + unsigned char Month; // +5: Дата создания - месяц (Январь=0, Февраль=1,...) + unsigned char Day; // +6: Дата создания - число + unsigned char Hours; // +7: Время создания - часы + unsigned char Minutes; // +8: Время создания - минуты + unsigned char Seconds; // +9: Время создания - секунды }; struct TD0_TRACK_HEADER // 4 bytes @@ -169,27 +169,27 @@ struct TD0_SECT_HEADER // 8 bytes struct FDD_MAIN_HEADER { - char ID[30]; /* ᨣ */ - unsigned char MaxTracks; /* ᫮ ४ (樫஢) */ - unsigned char MaxHeads; /* ᫮ (1 2) */ + char ID[30]; /* сигнатура */ + unsigned char MaxTracks; /* число треков (цилиндров) */ + unsigned char MaxHeads; /* число головок (1 или 2) */ long diskIndex; /* unused */ - long DataOffset[512 * 2]; /* ᬥ饭 䠩 ࠬ */ - /* ४ */ + long DataOffset[512 * 2]; /* смещение в файле к структурам заголовков */ + /* треков */ }; struct FDD_TRACK_HEADER { unsigned char trkType; /* unused */ - unsigned char SectNum; /* ᫮ ᥪ஢ ४ */ + unsigned char SectNum; /* число секторов на треке */ struct { - /* ᥪ */ - unsigned char trk; /* ४ */ - unsigned char side; /* ஭ */ - /* 7 ⮣ 㪠뢠 a */ - unsigned char sect; /* ᥪ */ - unsigned char size; /* ࠧ ᥪ () */ - long SectPos; /* ᬥ饭 䠩 ᥪ */ + /* заголовок сектора */ + unsigned char trk; /* номер трека */ + unsigned char side; /* номер стороны */ + /* 7 бит этого байта указывает бит a */ + unsigned char sect; /* номер сектора */ + unsigned char size; /* размер сектора (код) */ + long SectPos; /* смещение в файле к данным сектора */ } sect[256]; }; @@ -1013,7 +1013,7 @@ bool TDiskImage::FindSector(unsigned char CYL, unsigned char SIDE, bool FirstFind = true; unsigned int FirstPos = 0; - // ... + // Поиск адресной метки требуемого сектора... bool ADFOUND = false; for (;;) { @@ -1041,7 +1041,7 @@ bool TDiskImage::FindSector(unsigned char CYL, unsigned char SIDE, if (!ADFOUND) return false; - // ADRMARK , ... + // ADRMARK нужного найден, поиск массива данных... unsigned char *track = vgfs->vgfa.TrackPointer; unsigned char *clks = vgfs->vgfa.ClkPointer; @@ -1183,7 +1183,7 @@ void TDiskImage::formatTRDOS(unsigned int Tcount, unsigned int Scount) unsigned short TotalSecs = Tcount*Scount * 16 - 16; - // TR-DOS (16 x 256bytes sector per track)... + // форматирование нового диска под TR-DOS (16 x 256bytes sector per track)... unsigned int ptrcrc; unsigned int r; unsigned short vgcrc; @@ -1198,23 +1198,23 @@ void TDiskImage::formatTRDOS(unsigned int Tcount, unsigned int Scount) unsigned int tptr = 0; for (int sec = 0; sec < 16; sec++) { - for (r = 0; r < 10; r++) // + for (r = 0; r < 10; r++) // Первый пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < 12; r++) // + for (r = 0; r < 12; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; } ptrcrc = tptr; - for (r = 0; r < 3; r++) // + for (r = 0; r < 3; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFE; // "" + FTracksPtr[trk][side][0][tptr] = 0xFE; // Метка "Адрес" FTracksPtr[trk][side][1][tptr++] = 0x00; FTracksPtr[trk][side][0][tptr] = (unsigned char)trk; // cyl @@ -1232,26 +1232,26 @@ void TDiskImage::formatTRDOS(unsigned int Tcount, unsigned int Scount) FTracksPtr[trk][side][0][tptr] = (unsigned char)(vgcrc & 0xFF); FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < 22; r++) // + for (r = 0; r < 22; r++) // Второй пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < 12; r++) // + for (r = 0; r < 12; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; } ptrcrc = tptr; - for (r = 0; r < 3; r++) // + for (r = 0; r < 3; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFB; // "" + FTracksPtr[trk][side][0][tptr] = 0xFB; // Метка "Данные" FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < 256; r++) // 256 + for (r = 0; r < 256; r++) // сектор 256байт { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -1281,7 +1281,7 @@ void TDiskImage::formatTRDOS(unsigned int Tcount, unsigned int Scount) FTracksPtr[trk][side][0][tptr] = (unsigned char)(vgcrc & 0xFF); FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < 60; r++) // + for (r = 0; r < 60; r++) // Третий пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -1554,11 +1554,11 @@ void TDiskImage::readFDI(int hfile, bool readonly) struct FDISECINFO { unsigned char ADAM[5]; - unsigned int SectorOffset; // DataOffset + unsigned int SectorOffset; // относит DataOffset }; struct FDITRACKHDR { - unsigned int DataOffset; // + unsigned int DataOffset; // относит начала файла unsigned int SectorCount; FDISECINFO SectorsInfo[256]; }; @@ -1567,7 +1567,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) unsigned int fdiOFF = 0x0E + fdiSIZEext; unsigned int trk, side; - // ... + // Анализ области заголовков треков... for (trk = 0; trk <= unsigned(MaxTrack); trk++) for (side = 0; side <= unsigned(MaxSide); side++) { @@ -1590,7 +1590,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) return; } - fdiOFF += 2; // " 0 ( )" + fdiOFF += 2; // "Всегда содержит 0 (резерв для модернизации)" tracksinfo[trk*(MaxSide + 1) + side].SectorCount = unsigned(ptr[fdiOFF++]); @@ -1611,7 +1611,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) } } - // FDI ... + // форматирование нового диска и размещение FDI секторов... unsigned int ptrcrc; unsigned int r; unsigned short vgcrc; @@ -1635,7 +1635,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) SecCount = tracksinfo[trk*(MaxSide + 1) + side].SectorCount; - // : + // Вычисляем необходимое число байт под данные: trkdatalen = 0; for (unsigned int ilsec = 0; ilsec < SecCount; ilsec++) { @@ -1645,7 +1645,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) else SL = 128 << SL; if (tracksinfo[trk*(MaxSide + 1) + side].SectorsInfo[ilsec].ADAM[4] & 0x40) - SL = 0; // + SL = 0; // заголовок без массива данных else trkdatalen += 4; // for data header/crc: 0xA1, 0xFB, ...,2bytes @@ -1671,14 +1671,14 @@ void TDiskImage::readFDI(int hfile, bool readonly) unsigned int FreeSpace = 6250 - (trkdatalen + SecCount*(3 + 2)); - unsigned int SynchroPulseLen = 1; // 1 trkdatalen... + unsigned int SynchroPulseLen = 1; // 1 уже учтен в trkdatalen... unsigned int FirstSpaceLen = 1; unsigned int SecondSpaceLen = 1; unsigned int ThirdSpaceLen = 1; unsigned int SynchroSpaceLen = 1; FreeSpace -= FirstSpaceLen + SecondSpaceLen + ThirdSpaceLen + SynchroSpaceLen; - // : + // Распределяем длины пробелов и синхропромежутка: while (FreeSpace > 0) { if (FreeSpace >= (SecCount * 2)) @@ -1694,32 +1694,32 @@ void TDiskImage::readFDI(int hfile, bool readonly) if ((SynchroSpaceLen >= 12) && (FirstSpaceLen >= 10) && (SecondSpaceLen >= 22) && (ThirdSpaceLen >= 60)) break; }; - // ... + // по возможности делаем три синхроимпульса... if (FreeSpace >(SecCount * 2) + 10) { SynchroPulseLen++; FreeSpace -= SecCount; } if (FreeSpace >(SecCount * 2) + 9) SynchroPulseLen++; - // ... + // Форматируем дорожку... unsigned int tptr = 0; for (unsigned sec = 0; sec < SecCount; sec++) { - for (r = 0; r < FirstSpaceLen; r++) // + for (r = 0; r < FirstSpaceLen; r++) // Первый пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < SynchroSpaceLen; r++) // + for (r = 0; r < SynchroSpaceLen; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; } ptrcrc = tptr; - for (r = 0; r < SynchroPulseLen; r++) // + for (r = 0; r < SynchroPulseLen; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFE; // "" + FTracksPtr[trk][side][0][tptr] = 0xFE; // Метка "Адрес" FTracksPtr[trk][side][1][tptr++] = 0x00; FTracksPtr[trk][side][0][tptr] = tracksinfo[trk*(MaxSide + 1) + side].SectorsInfo[sec].ADAM[0]; // cyl @@ -1737,12 +1737,12 @@ void TDiskImage::readFDI(int hfile, bool readonly) FTracksPtr[trk][side][0][tptr] = (unsigned char)(vgcrc & 0xFF); FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < SecondSpaceLen; r++) // + for (r = 0; r < SecondSpaceLen; r++) // Второй пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < SynchroSpaceLen; r++) // + for (r = 0; r < SynchroSpaceLen; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -1754,23 +1754,23 @@ void TDiskImage::readFDI(int hfile, bool readonly) // !WARNING! this feature of FDI format is NOT FULL DOCUMENTED!!! // !!!!!!!!! // - // Flags::bit6 - , 1 - // . + // Flags::bit6 - Возможно, 1 в данном разряде + // будет обозначать адресный маркер без области данных. // if (!(fdiSectorFlags & 0x40)) // oh-oh, data area not present... ;-) { ptrcrc = tptr; - for (r = 0; r < SynchroPulseLen; r++) // + for (r = 0; r < SynchroPulseLen; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } if (fdiSectorFlags & 0x80) - FTracksPtr[trk][side][0][tptr] = 0xF8; // " " + FTracksPtr[trk][side][0][tptr] = 0xF8; // Метка "Удаленные данные" else - FTracksPtr[trk][side][0][tptr] = 0xFB; // "" + FTracksPtr[trk][side][0][tptr] = 0xFB; // Метка "Данные" FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -1780,7 +1780,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) unsigned int secDATAOFF = fdiOFFdata + tracksinfo[trk*(MaxSide + 1) + side].DataOffset + tracksinfo[trk*(MaxSide + 1) + side].SectorsInfo[sec].SectorOffset; - for (r = 0; r < SL; r++) // SL + for (r = 0; r < SL; r++) // сектор SL байт { FTracksPtr[trk][side][0][tptr] = ptr[secDATAOFF + r]; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -1806,7 +1806,7 @@ void TDiskImage::readFDI(int hfile, bool readonly) } - for (r = 0; r < ThirdSpaceLen; r++) // + for (r = 0; r < ThirdSpaceLen; r++) // Третий пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -1873,7 +1873,7 @@ void TDiskImage::readFDD(int hfile, bool readonly) MaxSide = MaxH; - // FDD ... + // форматирование нового диска и размещение FDD секторов... unsigned int ptrcrc; unsigned int r; unsigned short vgcrc; @@ -1952,7 +1952,7 @@ void TDiskImage::readFDD(int hfile, bool readonly) - // : + // Вычисляем необходимое число байт под данные: trkdatalen = 0; for (unsigned int ilsec = 0; ilsec < SecCount; ilsec++) { @@ -1984,14 +1984,14 @@ void TDiskImage::readFDD(int hfile, bool readonly) unsigned int FreeSpace = 6250 - (trkdatalen + SecCount*(3 + 2)); - unsigned int SynchroPulseLen = 1; // 1 trkdatalen... + unsigned int SynchroPulseLen = 1; // 1 уже учтен в trkdatalen... unsigned int FirstSpaceLen = 1; unsigned int SecondSpaceLen = 1; unsigned int ThirdSpaceLen = 1; unsigned int SynchroSpaceLen = 1; FreeSpace -= FirstSpaceLen + SecondSpaceLen + ThirdSpaceLen + SynchroSpaceLen; - // : + // Распределяем длины пробелов и синхропромежутка: while (FreeSpace > 0) { if (FreeSpace >= (SecCount * 2)) @@ -2007,32 +2007,32 @@ void TDiskImage::readFDD(int hfile, bool readonly) if ((SynchroSpaceLen >= 12) && (FirstSpaceLen >= 10) && (SecondSpaceLen >= 22) && (ThirdSpaceLen >= 60)) break; }; - // ... + // по возможности делаем три синхроимпульса... if (FreeSpace >(SecCount * 2) + 10) { SynchroPulseLen++; FreeSpace -= SecCount; } if (FreeSpace >(SecCount * 2) + 9) SynchroPulseLen++; - // ... + // Форматируем дорожку... unsigned int tptr = 0; for (unsigned sec = 0; sec < SecCount; sec++) { - for (r = 0; r < FirstSpaceLen; r++) // + for (r = 0; r < FirstSpaceLen; r++) // Первый пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < SynchroSpaceLen; r++) // + for (r = 0; r < SynchroSpaceLen; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; } ptrcrc = tptr; - for (r = 0; r < SynchroPulseLen; r++) // + for (r = 0; r < SynchroPulseLen; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFE; // "" + FTracksPtr[trk][side][0][tptr] = 0xFE; // Метка "Адрес" FTracksPtr[trk][side][1][tptr++] = 0x00; FTracksPtr[trk][side][0][tptr] = trackinfo->sect[sec].trk; // cyl @@ -2050,12 +2050,12 @@ void TDiskImage::readFDD(int hfile, bool readonly) FTracksPtr[trk][side][0][tptr] = (unsigned char)(vgcrc & 0xFF); FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < SecondSpaceLen; r++) // + for (r = 0; r < SecondSpaceLen; r++) // Второй пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < SynchroSpaceLen; r++) // + for (r = 0; r < SynchroSpaceLen; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -2064,13 +2064,13 @@ void TDiskImage::readFDD(int hfile, bool readonly) // DATA AM ptrcrc = tptr; - for (r = 0; r < SynchroPulseLen; r++) // + for (r = 0; r < SynchroPulseLen; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFB; // "" + FTracksPtr[trk][side][0][tptr] = 0xFB; // Метка "Данные" FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -2080,7 +2080,7 @@ void TDiskImage::readFDD(int hfile, bool readonly) unsigned int secDATAOFF = trackinfo->sect[sec].SectPos; - for (r = 0; r < SL; r++) // SL + for (r = 0; r < SL; r++) // сектор SL байт { FTracksPtr[trk][side][0][tptr] = ptr[secDATAOFF + r]; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -2095,7 +2095,7 @@ void TDiskImage::readFDD(int hfile, bool readonly) FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < ThirdSpaceLen; r++) // + for (r = 0; r < ThirdSpaceLen; r++) // Третий пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -2354,7 +2354,7 @@ void TDiskImage::readHOB(int hfile) unsigned short CRC = 0; for (i = 0; i < 15; i++) CRC = CRC + ptr[i]; CRC *= 257; - CRC += 105; // 0 14 + CRC += 105; // сумма чисел от 0 до 14 if (CRC != hobRealCRC) ShowError(ERR_FILECRC" HOBETA!"); @@ -2371,7 +2371,7 @@ void TDiskImage::readHOB(int hfile) } // --- read file... - dired.SecLen = ptr[0x0E]; // + dired.SecLen = ptr[0x0E]; // число секторов файла VGFIND_SECTOR vgfs9; if (!FindSector(0, 0, 9, &vgfs9)) { delete ptr; return; } @@ -2529,7 +2529,7 @@ void TDiskImage::readTD0(int hfile, bool readonly) unsigned int tmpOFF = tdOFF; - // : + // Вычисляем необходимое число байт под данные: unsigned int trkdatalen = 0; unsigned int SL; for (unsigned int ilsec = 0; ilsec < SecCount; ilsec++) @@ -2546,7 +2546,7 @@ void TDiskImage::readTD0(int hfile, bool readonly) trkdatalen += SL; } - // ... + // проверка на возможность формата... if (trkdatalen + SecCount*(3 + 2) > 6250) // 3x4E & 2x00 per sec checking { delete ptr; @@ -2565,14 +2565,14 @@ void TDiskImage::readTD0(int hfile, bool readonly) unsigned int FreeSpace = 6250 - (trkdatalen + SecCount*(3 + 2)); - unsigned int SynchroPulseLen = 1; // 1 trkdatalen... + unsigned int SynchroPulseLen = 1; // 1 уже учтен в trkdatalen... unsigned int FirstSpaceLen = 1; unsigned int SecondSpaceLen = 1; unsigned int ThirdSpaceLen = 1; unsigned int SynchroSpaceLen = 1; FreeSpace -= FirstSpaceLen + SecondSpaceLen + ThirdSpaceLen + SynchroSpaceLen; - // : + // Распределяем длины пробелов и синхропромежутка: while (FreeSpace > 0) { if (FreeSpace >= (SecCount * 2)) @@ -2588,11 +2588,11 @@ void TDiskImage::readTD0(int hfile, bool readonly) if ((SynchroSpaceLen >= 12) && (FirstSpaceLen >= 10) && (SecondSpaceLen >= 22) && (ThirdSpaceLen >= 60)) break; }; - // ... + // по возможности делаем три синхроимпульса... if (FreeSpace >(SecCount * 2) + 10) { SynchroPulseLen++; FreeSpace -= SecCount; } if (FreeSpace >(SecCount * 2) + 9) SynchroPulseLen++; - // ... + // Форматируем дорожку... unsigned int tptr = 0; unsigned int ptrcrc; @@ -2603,23 +2603,23 @@ void TDiskImage::readTD0(int hfile, bool readonly) tdsect = (TD0_SECT_HEADER*)(ptr + tdOFF); tdOFF += sizeof(TD0_SECT_HEADER) + 1; - for (r = 0; r < FirstSpaceLen; r++) // + for (r = 0; r < FirstSpaceLen; r++) // Первый пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < SynchroSpaceLen; r++) // + for (r = 0; r < SynchroSpaceLen; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; } ptrcrc = tptr; - for (r = 0; r < SynchroPulseLen; r++) // + for (r = 0; r < SynchroPulseLen; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFE; // "" + FTracksPtr[trk][side][0][tptr] = 0xFE; // Метка "Адрес" FTracksPtr[trk][side][1][tptr++] = 0x00; FTracksPtr[trk][side][0][tptr] = tdsect->ADRM[0]; // cyl @@ -2637,12 +2637,12 @@ void TDiskImage::readTD0(int hfile, bool readonly) FTracksPtr[trk][side][0][tptr] = (unsigned char)(vgcrc & 0xFF); FTracksPtr[trk][side][1][tptr++] = 0x00; - for (r = 0; r < SecondSpaceLen; r++) // + for (r = 0; r < SecondSpaceLen; r++) // Второй пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < SynchroSpaceLen; r++) // + for (r = 0; r < SynchroSpaceLen; r++) // Синхропромежуток { FTracksPtr[trk][side][0][tptr] = 0x00; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -2651,13 +2651,13 @@ void TDiskImage::readTD0(int hfile, bool readonly) if (tdsect->DataLength - 1) // oh-oh, data area not present... ;-) { ptrcrc = tptr; - for (r = 0; r < SynchroPulseLen; r++) // + for (r = 0; r < SynchroPulseLen; r++) // Синхроимпульс { FTracksPtr[trk][side][0][tptr] = 0xA1; FTracksPtr[trk][side][1][tptr++] = 0xFF; } - FTracksPtr[trk][side][0][tptr] = 0xFB; // "" + FTracksPtr[trk][side][0][tptr] = 0xFB; // Метка "Данные" FTracksPtr[trk][side][1][tptr++] = 0x00; // SL = unsigned(tdsect->ADRM[3]); @@ -2665,7 +2665,7 @@ void TDiskImage::readTD0(int hfile, bool readonly) // else SL = 128 << SL; SL = tdsect->DataLength - 1; - for (r = 0; r < SL; r++) // SL + for (r = 0; r < SL; r++) // сектор SL байт { FTracksPtr[trk][side][0][tptr] = ptr[tdOFF + r]; FTracksPtr[trk][side][1][tptr++] = 0x00; @@ -2681,7 +2681,7 @@ void TDiskImage::readTD0(int hfile, bool readonly) FTracksPtr[trk][side][1][tptr++] = 0x00; } - for (r = 0; r < ThirdSpaceLen; r++) // + for (r = 0; r < ThirdSpaceLen; r++) // Третий пробел { FTracksPtr[trk][side][0][tptr] = 0x4E; FTracksPtr[trk][side][1][tptr++] = 0x00;