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

User Tag List

Страница 6 из 7 ПерваяПервая ... 234567 ПоследняяПоследняя
Показано с 51 по 60 из 64

Тема: Spectrum Archive Reader - Программа для чтения TR-DOS дисков

  1. #51
    Guru Аватар для goodboy
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    11,546
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    195 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    заказал недорогой эмулятор дисковода... есть шанс, что он будет работать с ZX?
    да, конечно - будет работать.
    можно сменить прошивку на альтернативную FlashFloppy https://zx-pk.ru/threads/25546-prosh...-spectrum.html
    и сразу работать с TRDобразами
    Последний раз редактировалось goodboy; 09.05.2020 в 21:36.

  2. Этот пользователь поблагодарил goodboy за это полезное сообщение:

    Pyhesty (09.05.2020)

  3. #52
    Member
    Регистрация
    23.11.2007
    Адрес
    Ростов-на-Дону
    Сообщений
    100
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    и после 80го трека все повально bad, сыпет то 27ю, то 1122 ошибку.
    27 с такой задержкой (порядка 400 мс) это когда драйвер не видит заголовок сектора. Он ждет два импульса и возвращает ошибку 27. Диск выглядит как неформатированный в том месте. Но тут уже был случай когда драйвер не видел первый сектор, хотя тот существовал. Поэтому после этого мне судить стропроцентно о неформатированности по таким признакам сложно.
    80-й трек наводит на мысли что диск форматирован только на 40 цилиндров. Такая разновидность форматирования существует.

    - - - Добавлено - - -

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    , записываю диски ZX Studio 360к (160 треков),
    Вот эти 360К меня сейчас смутили. 160 треков это 720К. 360К это как раз 80 треков (40 цилиндров).

  4. Этот пользователь поблагодарил CPLx за это полезное сообщение:

    Pyhesty (10.05.2020)

  5. #53
    Junior
    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    29
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    10
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CPLx Посмотреть сообщение
    Вот эти 360К меня сейчас смутили. 160 треков это 720К. 360К это как раз 80 треков (40 цилиндров).
    ну значит я что-то сам намудрил... либо старые ZX дискеты форматированы как 720кБ (возможно жеж такое?)
    https://cloud.mail.ru/public/4m2d/4ZGvchvpg
    а Studio не смог форматнуть и записать 720к...
    или у меня дискеты не поддерживают 720к...
    чет я запутался, завтра поэкспериментирую...
    а можно дискеты в студии форматнуть на минимальную плотность 320к? (что бы надежнее дискеты были, ну или дискеты или флоп (MC5303 не поддерживают?)

  6. #54
    Member
    Регистрация
    23.11.2007
    Адрес
    Ростов-на-Дону
    Сообщений
    100
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    либо старые ZX дискеты форматированы как 720кБ (возможно жеж такое?)
    Конечно возможно, их так и форматировали. Те образы размером 640К это диски 720К.

    По ZX Disk Studio я не подскажу. Я её почти не знаю потому что она у меня не работает из-за глючного железа.

  7. Этот пользователь поблагодарил CPLx за это полезное сообщение:

    Pyhesty (10.05.2020)

  8. #55
    Member
    Регистрация
    23.11.2007
    Адрес
    Ростов-на-Дону
    Сообщений
    100
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сделал новую версию (1.0.0.10). Выложил в первом посте темы.

    Что добавлено:

    1. Автоопределение параметра Head верхней стороны. Когда сектор на верхней стороне не читается, то программа проверяет параметры заголовков на диске с целью определения значения head. Делаться это может на каждом треке отдельно (но только на верхней стороне). Поэтому теперь подбирать параметр не надо, всё может быть определено автоматически и я не ожидаю что с этим автоопределением могут быть какие-то проблемы, но тем не менее оставил возможность его отключать и задавать параметр вручную.

    2. Быстрое чтение формата interleave и некоторых других. Не думаю что очень нужная вещь, но почему-то именно её я хотел сделать больше всего, она мне казалась самой интересной, но в итоге оказалась самой сложной и на неё ушло больше всего времени. Работать будет не на всех машинах, а только на тех где есть таймер высокого разрешения (обычно это компы датируемые с 2005 года и позже) и насколько я понял на винде Vista и выше. Некоторые форматы наоборот будут читаться медленнее, иногда значительно, поэтому есть возможность отключать эту функцию (она обозначается как Read Mode: Fast) и вместо неё включать режим чтения Standard, при котором сектора запрашиваются подряд с 1 по 16.

    3. Ускореннное чтение bad-секторов (если их несколько на одной дорожке). Обычно (и как было в этой программе раньше) когда программа сталкивается с нечитающимся сектором, она пытается прочитать его еще раз, из-за чего головка пролетает весь трек вхолостую чтобы снова попасть на этот нечитающийся сектор, и так много попыток. В это время можно было прочитать другие сектора на треке, возможно тоже нечитающиеся, и увеличить счетчик попыток их чтения. В новой версии так и сделано: при встрече нечитающегося сектора продолжается чтение оставшихся секторов на дорожке. Если на дорожке есть N bad-секторов, то можно прочитать каждый из них 5 раз за 5 оборотов диска, вместо 5xN оборотов как было до этого.

    4. Ускоренное чтение неформатированной области и сообщение о несоответствующем формате. Если программа не может найти заголовок сектора, то предполагается что остальные заголовки тоже могут отсутствовать, поэтому делается сканирование трека на предмет их наличия. Сканирование трека занимает порядка 215 мс и позволяет увидеть какие сектора отсутствуют и не пытаться их прочитать (попытка прочитать каждый такой сектор занимает 400 мс). Если будут обнаружены сектора нецелевого формата (то есть например размером 512 байт на диске читаемом как TR-DOS), то будет выдано сообщение об этом. Раньше это выглядело как обычная ошибка на диске.

    5. Размер формы уменьшен. Диапазон допустимых треков сокращен до 172. Драйвер, по крайней мере у меня, всё равно не может позиционировать головку на 86-й цилиндр (считая от нуля). Т.е. у меня он работает только на 86 цилиндрах, с 0 до 85 включительно - это 172 трека.

    6. Лог отключен. Лог-файл не создается, количество сообщений в окне уменьшено, оставлены только значимые для пользователя.

    7. Сделано чтение формата CP/M. Но оно не протестировано, т.к. таких дисков у меня нет.

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    CPLx, а можно добавить формат CP/M-дискет Корвета в вашу утилиту?
    Стандартный формат *.kdi - это простая посекторная копия 800 KБ = 2 стороны * 80 дорожек * 5 секторов * 1024 байта.
    Пустой образ или битые сектора заполняются символом с HEX: E5 (судя по анализу образов, именно этим символом в Корветовских дискетах заполнены пустые байты, а не нулем NULL).
    Вот здесь можно взять примеры образов.
    Чтение CP/M сделал, но не протестировал до конца. По сути написано всё это вслепую, по аналогии с TR-DOS. Поэтому рекомендую тщательно её протестировать, и не забыть проверить целостность данных.

  9. Эти 3 пользователя(ей) поблагодарили CPLx за это полезное сообщение:

    Pyhesty (25.05.2020), Serebriakov (22.05.2020), Titus (21.05.2020)

  10. #56
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    218
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CPLx Посмотреть сообщение
    Чтение CP/M сделал, но не протестировал до конца. По сути написано всё это вслепую, по аналогии с TR-DOS. Поэтому рекомендую тщательно её протестировать, и не забыть проверить целостность данных.
    Огромная благодарность! В ближайшие дни протестирую. Сейчас дамп-машинка слегка не работает, нужно починить =) Есть целая пачка сильно забэдованых дискет для Корвета, которые давно ждут своей участи =)
    Последний раз редактировалось Serebriakov; 22.05.2020 в 21:53.

  11. #57
    Junior
    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    29
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    10
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    огромное спасибо!
    есть несколько вопросов:
    1. Друг принес дискеты на всех не читается 0й сектор, при этом в реальном ZX дискета читает,
    это какой-то изощренный способ защиты от копирования? =)
    не знаю насколько это актуально, но интересно как это реализовано? там реально ничего не записано на 0м секторе?
    Нажмите на изображение для увеличения. 

Название:	cadr1.jpg 
Просмотров:	17 
Размер:	49.0 Кб 
ID:	72721

    2. Вторая проблема, я не могу записать обратно (на другой диск) считанный образ, для примера, есть дискета, она 158 треков.
    Нажмите на изображение для увеличения. 

Название:	cadr2.jpg 
Просмотров:	15 
Размер:	53.1 Кб 
ID:	72722
    я её записываю обратно ZX Studio и не могу считать обратно этой прогой, выдает ошибку CRC Error на всех секторах,
    при этом ZX Studio обратно считывает (кажется даже корректно, проверить не могу).

    3. Третья проблема не относится к этой программе, но что бы не плодить сущностей =) чем создать удобно trd образ на 160 треков (750кБ?)
    я очень надеялся, что это можно сделать просто в ZX Studio, но он создает только образ 80 дорожек (((

    спасибо!!!

    ps: ОС WinXP

  12. Этот пользователь поблагодарил Pyhesty за это полезное сообщение:

    CPLx (25.05.2020)

  13. #58
    Member
    Регистрация
    23.11.2007
    Адрес
    Ростов-на-Дону
    Сообщений
    100
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    1. Друг принес дискеты на всех не читается 0й сектор, при этом в реальном ZX дискета читает,
    это какой-то изощренный способ защиты от копирования? =)
    не знаю насколько это актуально, но интересно как это реализовано? там реально ничего не записано на 0м секторе?
    Нет, это не защита от копирования, а уже встречавшийся феномен которому у меня нет объяснения. Эта программа читает диск используя функцию чтения сектора, конкретно IOCTL_FDCMD_READ_DATA. Другая используемая функция - IOCTL_FDCMD_READ_ID - она читает заголовок первого попавшегося сектора. Как показал эксперимент здесь, на некоторых дисках обе эти функции драйвера не видят первый (он же нулевой в моей нумерации) сектор. Почему так происходит я не знаю. Как удается другим программам (той же ZX Disk Studio) читать такие диски мне тоже неизвестно. Может быть они используют функцию чтения трека (IOCTL_FDCMD_READ_TRACK), а может используют то же чтение сектора что и я, но с другими параметрами, неизвестными мне. Так или иначе, моей программой такие диски прочитать нельзя. У меня таких дисков нет, поэтому я не могу провести детальные исследования с ними и отладить их чтение. Мне остается в таких случаях только рекомендовать использовать ZX Disk Studio. Или что угодно еще что может их прочитать. Судя по всему, причина лежит в формате диска, но в чём именно особенность этого формата я не знаю.

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    я её записываю обратно ZX Studio и не могу считать обратно этой прогой, выдает ошибку CRC Error на всех секторах,
    при этом ZX Studio обратно считывает (кажется даже корректно, проверить не могу).
    Запусти программу с ключом /logfile (будет создан файл с логом), прочитай диск и скинь лог-файл сюда. Я хотел бы посмотреть что там, может удастся что-то понять.


    По картинкам оказалось что цвет панели со статистикой отличается от цвета формы (по идее должен совпадать). В 7-й винде совпадет, а оказывается в XP нет.
    На втором скрине диск читался 80 секунд и это в быстром режиме? Там наверное он быстрее прочитается в режиме Standard. Скорее всего формат хитрый, я на такие не расчитывал и думал что они редкость.
    На первом скрине вообще 193 секунды. Что-то это всё работает у других гораздо хуже чем я предполагал.


    Цитата Сообщение от Pyhesty Посмотреть сообщение
    3. Третья проблема не относится к этой программе, но что бы не плодить сущностей =) чем создать удобно trd образ на 160 треков (750кБ?)
    я очень надеялся, что это можно сделать просто в ZX Studio, но он создает только образ 80 дорожек (((
    У меня она создает образ на 160 дорожек без проблем. Там надо создать образ, потом сохранить как trd.
    Если она создает 80 дорожек (т.е. 40 цилиндров), то может она использует настройки из биос и надо дисковод по-другому там настроить? Но это только догадка.
    Последний раз редактировалось CPLx; 25.05.2020 в 18:36.

  14. Этот пользователь поблагодарил CPLx за это полезное сообщение:

    Pyhesty (25.05.2020)

  15. #59
    Junior
    Регистрация
    23.03.2020
    Адрес
    г. Великий Новгород
    Сообщений
    29
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    10
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ок! во вложении лог,
    пока экспериментировал, оказалось, что если переключить скорость на 300к, то все прочиталось )))
    (это есть в логе)
    хотя ZX настроен на 250к, вот так, получается драйвер один, а работают в разных приложениях по разному))

    так что вопрос снят =) спасибо)
    Вложения Вложения

  16. Этот пользователь поблагодарил Pyhesty за это полезное сообщение:

    CPLx (25.05.2020)

  17. #60
    Member
    Регистрация
    23.11.2007
    Адрес
    Ростов-на-Дону
    Сообщений
    100
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    14 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyhesty Посмотреть сообщение
    пока экспериментировал, оказалось, что если переключить скорость на 300к, то все прочиталось )))
    Вот это новость. Получается что одни диски читаются на 250К, а другие на 300К, и это всё на одной машине?
    И большое спасибо за лог. Может сделаю обработку этой ситуации, чтоб таких тормозов не было. Потому что сектора вообще-то в неправильном порядке читались и поэтому всё медленно было.

Страница 6 из 7 ПерваяПервая ... 234567 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 404
    Последнее: 29.04.2020, 16:02
  2. Программа для нарезания окон ZX Spectrum
    от AAA в разделе Утилиты
    Ответов: 84
    Последнее: 16.09.2010, 11:07
  3. Плагин FAR для чтения реальных дисков TR DOS
    от Alexandr Medvedev в разделе Утилиты
    Ответов: 2
    Последнее: 15.09.2010, 06:17
  4. Новый FAR plugin для форматирования дисков TR DOS
    от Alexandr Medvedev в разделе Утилиты
    Ответов: 3
    Последнее: 03.08.2007, 16:44

Ваши права

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