Все-таки Си такой няшка, особенно когда умножаешь разные типы много раз в строке... точнее тут все данные типы байт, но оно ловило переполнение сначала кога я сочинил лонг инт, а потом когда стало анчигнед лонг то к 5 миллиардам стремилось, разбил на присвоения и все заработало =) startByte = curTrack * (sectors + 1) * sectorSize + sectorSize * curSector;