Важная информация

User Tag List

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 21 по 30 из 67

Тема: DirSys

  1. #21
    Moderator Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    Да, нет... файлы могут и меняться (размер), что-то может новое появиться и.т.д. я ж написал, что TRD собирается с нуля из сорцов...
    на размер наплевать.. новые файлы будут попадать в некий каталог по умолчанию

    забыл сказать, важно чтобы порядок копирования файлов на диск сохранялся

  2. #22
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,587
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну может ты и прав, в принципе dir всё время один и тот же

  3. #23
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,158
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    8 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от breeze Посмотреть сообщение
    Встал вопрос как мне соорудить в этой дискете необходимые директории и разместить файлы именно там.
    Имхо, простейший путь- расширить функционал SAVETRD:

    SAVETRD <filenameoftrdimage>,<filename_in_trdos>,<startadr ess>,<lengthofcode>

    если filename_in_trdos будет составным (с путем), то создавать структуру и каталоги в образе.

    Опять-таки, вопрос к автору...

  4. #24
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    hullo
    у мя просьба: напишите плз псевдокодом алгоритм расчета дирсисовской crc

  5. #25
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Владивосток
    Сообщений
    3,317
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    31 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    boo_boo, я брал эту процедуру в готовм виде из ZX-Ревю. Так что предложить что-то другое не могу. Но точно знаю, что elf/2 разобрлася с процедурой и перевёл её на ПЦ для поддержки в своём плагине для FAR. Может быть он поделится своим наработками?
    С уважением, Станислав.

  6. #26
    Moderator Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    boo_boo, я брал эту процедуру в готовм виде из ZX-Ревю. Так что предложить что-то другое не могу. Но точно знаю, что elf/2 разобрлася с процедурой и перевёл её на ПЦ для поддержки в своём плагине для FAR. Может быть он поделится своим наработками?
    Код:
    WORD crc(BYTE* ptr, WORD len)
    {
      WORD crc = 0;
      
      for(; len; len--)
      {
        BYTE tmp = crc ^ *ptr++;
        
        WORD bCRC = 0;
        for(int i = 0; i < 8; ++i)
        {
          WORD lBit = bCRC & 1;
          bCRC >>= 1; bCRC |= lBit<<15; // RRA crc
    
          if((tmp & 1) ^ lBit) bCRC ^= 0xA001;
          tmp >>= 1;
        }
        crc = bCRC ^ (crc<<8 | crc>>8);
      }
      return (crc<<8 | crc>>8);
    }
    
    WORD Manager::calcDScrc(void)
    {
      return crc(zeroTrk+9*sectorSize+2, 256+9+11*noFolders);
    }
    вот как-то так

  7. #27
    Master Аватар для Grand
    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    793
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Даты в DirSys?

    Цитата Сообщение от CityAceE
    Цитата Сообщение от caro
    Самое важное применение часов, возможность сохранять в каталоге информацию о дате и времени создания файла.
    Это заложено в систему или нет?
    Согласен, что это их самое полезное применение! Но к сожалению, места в системе слишком мало, чтобы хранить эту информацию, но теоретически придумать как прикрутить эти вещи можно Да и часы изначально были поддержаны только потому, что они у меня были

    Добавлено через 48 минут
    Вот прикинул...
    Код:
    	     	Диапазон	BIN		Bit
    
    Часы	     	23		10111		5
    Минуты		59		111011		6
    Секунды		59		111011		6
    
    Год		63		111111		6
    Месяц		12		1100	        4
    Число		31		11111		5
    Год можно хранить с 1969 по 2031, ну или другой диапазон длительностью 63 года. Это для того, чтобы всю информацию о дате упихать в 4 байта. Хотя, конечно, можно отказаться от хранения секунд для расширения диапазона лет.

    DirSys позволяет хранить информацию о 128 файлах и 128 каталогах. Таким образом для хранения всех дат потребуется аж 4 сектора нулевого трека.

    DirSys в своём максимуме имеет размер 1398 байт и занимает при этом 6 секторов. Таким образом невозможно запихнуть на нулевой трек стандатную информацию о файлах (9 секторов), DirSys (6 секторов) и информацию о датах (4 сектора). Однако, если устаовить предел на максимальное количество каталогов до 64 штук, тогда вся эта информация поместится на нулевой дорожке TR-DOS диска:

    Файловая система - 9 секторов
    DirSys - 4 сектора
    Информация о датах - 3 сектора

    Я думаю, что 64 каталога на дискете - это более чем достаточно! При этом нулевая дорожка будет задействована на 100%.

    Цитата Сообщение от CityAceE
    Год можно хранить с 1969 по 2031, ну или другой диапазон
    Диапазон дат лучше сделать 1979-2043: я Спектруму и всем нам желаю долгой жизни!
    Должна быть предусмотрена ситуация, когда дата объекта отсутствует (на это могут указывать нули в битах года).

    Цитата Сообщение от CityAceE
    Хотя, конечно, можно отказаться от хранения секунд
    Наверное секунды секунды действительно лишние. И еще: так ли нужна дата создания каталога? может лучше ограничится только датами изменения файлов?
    Кто как думает?

    Цитата Сообщение от CityAceE
    DirSys в своём максимуме имеет размер 1398 байт и занимает при этом 6 секторов.
    У меня результат другой: 1666 байтов, или чуть больше 6,5 секторов.

    Цитата Сообщение от CityAceE
    Однако, если устаовить предел на максимальное количество каталогов до 64 штук, тогда вся эта информация поместится на нулевой дорожке TR-DOS диска:

    Файловая система - 9 секторов
    DirSys - 4 сектора
    Информация о датах - 3 сектора
    Нужно, чтобы общая структура новой версии DirSys не сильно отличалась от старой, чтобы переделка программ, поддерживающих старую версию, была минимальной. Кроме того, и поддержка старой версии в новых программах тоже должна сохраниться.
    Если в каком-либо моем посте перестала работать гиперссылка или показываться картинка, напишите мне об этом в личном сообщении,чтобы я смог это исправить.

    Grand's - сайт об электронно-вычислительной технике (зеркало)

  8. #28
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Владивосток
    Сообщений
    3,317
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    31 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Чем дальше, тем больше мне нравится идея с датами. И я убеждён, что её просто необходимо реализовать!

    Цитата Сообщение от Grand Посмотреть сообщение
    Диапазон дат лучше сделать 1979-2043
    Я бы предпочёл начать отсчёт с 1980-го года. Вроде бы на PC именно с этой даты отсчёт шёл. А можно и с 1982 - года рождения Спектрума.

    Цитата Сообщение от Grand Посмотреть сообщение
    Должна быть предусмотрена ситуация, когда дата объекта отсутствует (на это могут указывать нули в битах года).
    В этом случае скорее всего в области дат будут нули. И если это будет так, то можно принудительно назначать дату 01.01.1980, ну или, например, 18.04.1982 - ДР Спектрума.

    Цитата Сообщение от Grand Посмотреть сообщение
    Наверное секунды секунды действительно лишние.
    А я всё же думаю, что не лишние. Эти биты безусловно раздвинут диапазон лет, но, на мой взгляд и предложенного диапазана более, чем достаточно. А секунды - это всё же информация, пусть и не всегда очень полезная. Во всяком случае именно по секундам можно будет судить какой каталог был создан раньше.

    Цитата Сообщение от Grand Посмотреть сообщение
    И еще: так ли нужна дата создания каталога?
    Обязательно нужна! Ведь именно по дате каталога чаще всего придётся судить о его содержимом, так как в большинстве случаев даты у файлов будут отсутствовать.

    Цитата Сообщение от Grand Посмотреть сообщение
    Нужно, чтобы общая структура новой версии DirSys не сильно отличалась от старой
    А структура почти и не будет отличаться! Всё, что потребуется - это изменить номер системы с 1.00, на, скажем, 1.10. Это будет говорить софту, что можно работать не более чем с 64-мя каталогами и о необходимости искать даты в последних трёх секторах.

    В последних трёх секторах поселить информацию о датах:

    00-02 - контрольная сумма трёх последних секторов без первых двух байт, высчитывается по тому же алгоритму, что в DirSys. Позволит судить о целостности системы.

    03-04 - свободные байты, можно поселить в них какой-то дескриптор или зарезервировать под будущие нужны. Под дескриптор можно задействовать только один байт, чтобы КС не была равна нулю. Эта информация будет сигнализировать софту, что информация о датах присутствует, а мы не имеет дело просто с пустыми секторами.

    128*4 - данные о датах для 128 файлов.

    63*4 - данные о датах для 63-х каталогах, 0-й каталог - корневой и не имеет даты. В крайнем случае дату корневого каталога можно хранить где-то в 9-м секторе - там много свободного места!

    При таком раскладе весь существующий софт, который обучен DirSys будет работать и с новой системой. Я не думаю, что кто-то на сегодняшний день ухитрился сохранить на дискете более 64-х каталогов не в качесвте эксперемента, а для реальной работы! А других ограничений нет!

    Так что надо делать! Чтобы система стала максимально полезной нужно как минимум включить её поддержку в TRDN и в плагин для FAR'а.
    С уважением, Станислав.

  9. #29
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1) Ещё раз хочу повториться - хочется чтобы использовалась модульная структура библиотеки
    2) Должна быть возможность выбора #3d13 и турболоадера
    3) Поддерживаю всё вышесказанное
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  10. #30
    Member Аватар для Nomy Graphics
    Регистрация
    30.10.2006
    Адрес
    Москва
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    CityAceE, просто хотел спросить - почему народ спрашивает про отдельные библиотеки? ведь исходник DirSys , надеюсь, имеется? а в нем разве отдельные функции не реализованы отдельными процедурами, о которых и стоит вопрос?
    ведь небольшой же труд их просто оттуда изъять, или все настолько запутано??

Страница 3 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •