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

User Tag List

Страница 5 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 41 по 50 из 63

Тема: ДИАМС (DSM-11)

  1. #41
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Да, и если для перевода даты в осмысленный вид пользовать только %CDS^%H, то все решается легко. А вот если где-то в какой-нибудь программе кто-то прямо воспользуется значением +$H, то дата получится на те самые 100 лет раньше..
    Никто не мешает запускать старый Диамс, вводить системную дату на 40 лет "младше" и работать как в 80-х. Но чтобы вводить и использовать текущую системную дату - нужен новый Диамс.

    Главная сложность не в гипотетических проблемах со старыми самодельными программами, а в том, что новый Диамс должен будет автоматически распознавать старые сменные носители, переводить их в режим "только чтение" и правильно отображать старые файловые даты в новой системе. Тогда при простом копировании файлов со старого диска в новый - файловые даты будут автоматически конвертироваться в новый формат.

  2. #42
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,996
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    В США умерла последняя получательница пенсии ветерана Гражданской войны
    Кто после этого не поверит в теорию заговора или в то, что мы живём в Матрице? ;-)
    Ну полный апофеоз... Это ж надо ТАААААК подгадать

  3. #43
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В принципе - можно найти какой-то неиспользуемый нулевой байт в системном блоке файловой системы и писать туда количество десятков лет смещения начальной системной даты от стандартной. Тогда новый ДИАМС можно будет использовать ещё более 1000 лет. При копировании системы можно предусмотреть изменение смещения даты с автоматической конвертацией дат копируемых файлов. При загрузке системы этот байт можно копировать в SYSTAB и использовать при расчётах даты.

    В таком случае можно не запрещать запись при работе со сменными носителями с другим смещением даты, если текущая системная дата может быть представлена в варианте со смещением носителя.
    Последний раз редактировалось Patron; 13.08.2020 в 16:09.

  4. #44
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вообще-то, дата нигде, кроме ядра, не хранится в двоичном виде - только в виде символьной строки, изображающей десятичное число. То есть, если залезть в ядро должным образом, вполне можно подправить это дело хоть до 72хх (не помню точно год, когда григорианскому календарю тоже понадобится поправка на один день). Найти (или организовать) свободное слово с фиксированным адресом и держать в нем старшие 16 битов первой части системной переменной $HOROLOG ($H), чтобы по +$H возвращалось правильное число большее, чем 65535, и весь хрен до копейки!.. Ну, и подправить системные программы ^%H и ^DAT - первую, может быть и не сильно надо править, а во вторую надо будет добавить размещение старших 16 разрядов даты.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  5. #45
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Главная проблема - файловые даты. Там для даты и времени последней модификации файла отведено только 3 байта - два байта для даты и один байт для времени:

    Код:
           Блок программных данных
    --------------------------------------
    !Длина имени прогр.!       0         !  0
    --------------------------------------     Поле имени
    !           Имя программы            ! <-- программы
    --------------------------------------     от 2 до 8 байт
    !       Дата и время последнего      !
    --------------------                 !
    !                  !    ZSAVE        !
    -------------------------------------- <-- Граница слова
    !         Длина программы            !
    --------------------------------------
    !             .   .   .              ! <-- Текст программы
    --------------------------------------
    Но есть нулевой байт после байта длины имени файла, в котором можно хранить дополнительные биты даты.

  6. #46
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашел кучку старых дискет, которые еще не выгружены. Среди них оказалось 6 дискет с BACKUP-копией моего основного рабочего ДИАМСа. Только вот беда: третья дискета не читается в самом начале (50-й блок). Я посмотрел, ничего серьезного там нет - какой-то мой исходник от давно забытого коммерческого проекта, испортился, да и хрен с ним. Только вот как скопировать эту дискету с любым произвольным содержимым вместо этого битого сектора? COPY/DEV после этого сбойного сектора вываливается, игнорируя ключик /IGN.

    Изучил описание программы DUP, действительно, у нее нет ключика, позволяющего игнорировать ошибки при копировании устройства (то, что делается по COPY/DEV). ИМХО, остается искать средство, которое позволит скопировать это дело на PC. Все осложняется тем, что машинка с дисководом у меня 386-я, у остальных моих машинок нет FDC. То есть, конечно, могу еще попытаться выкопать мамашу с П-2/П-3 и что-нибудь на ней завести, но это в самом крайнем случае. Ну не писать же свою программу под RT-11, которая таки скопирует это дело, игнорируя ошибку в этом самом 50-м блоке?..
    Последний раз редактировалось AFZ; 05.11.2020 в 11:40.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не было идей скопировать дискету "сырьем" на устройствах вроде KryoFlux, или на Амиге? и потом уже на PC пытаться разобрать битовый поток.

  9. #48
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,996
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Не было идей скопировать дискету "сырьем" на устройствах вроде KryoFlux, или на Амиге? и потом уже на PC пытаться разобрать битовый поток.
    Как всё запущено...

    Код:
    cop/dev/ver dk1:/start:0/end:49. dk2:/start:0
    cop/dev/ver dk1:/start:51.       dk2:/start:51.

  10. #49
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Как всё запущено...
    Не знал, что контроллеры дисков "взрослых" машин умели читать не только зоны данных секторов с побитыми заголовками, но и вообще произвольный поток бит с дисковода. Решпект!

  11. #50
    Guru
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    cop/dev/ver dk1:/start:51. dk2:/start:51.
    Угу.
    ?DUP-F-Invaltd Command
    Еще варианты?
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

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

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

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

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

Ваши права

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