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

User Tag List

Страница 1 из 7 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 64

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

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

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

    Программа читает диски через драйвер fdrawcmd.sys (https://simonowen.com/fdrawcmd/). Версию драйвера не проверяет, поэтому можно запускать с любым и смотреть что получится. На моём железе заработала с драйвером версии 1.0.0.19 (позже заработала и с 1.0.1.11).

    Что может делать:

    • Читать TR-DOS диски (5.25'' Double Density) посекторно, до 180 треков если надо.
    • Дочитывать только непрочитанные сектора. Очень экономит время на плохо читающихся дисках.
    • Читать только указанный диапазон треков на диске. Позволяет пропустить области диска которые заведомо нечитаемы и сразу сосредоточиться на указанном треке у которого есть потенциал прочитаться. Это также ускоряет чтение верхней стороны имеющей разные форматы в разных местах: можно указывать формат и нужные треки и сразу читать их, не тратя время на сбор ошибок на других треках.
    • Читать диски в обратном направлении. Как ни странно, у меня это улучшало чтение.
    • Сохраняет образы в TRD. Можно позже загрузить TRD-образ и снова попытаться прочитать только bad-сектора.
    При сохранении образа в TRD его bad-сектора заполняются символом B (как это делает WinTRD). Необработанные сектора (у которых не было попытки чтения) заполняются символом N. При загрузке образа по этим меткам определяются плохие и еще не читавшиеся сектора.
    • Может читать верхнюю сторону двумя способами: задавать верхнюю сторону равной 0 либо 1. Оказалось что на Спектруме было 2 вида форматирования верхней стороны. В одном случае в трек писалось что это сторона 1, в другом писалось что это сторона 0. TD-DOS читал оба таких формата без проблем. Драйвер fdrawcmd.sys имеет с этим сложности: он требует передачи ему информации о физической головке и о стороне указанной в разметке диска. Физическая головка говорит драйверу какую сторону диска прочитать. Но он еще делает сверку с разметкой на диске. Если сторона переданная драйверу не совпадает с тем что он видит на диске (что указано в заголовочной области сектора), то драйвер выдает ошибку 21 (the device is not ready). Поэтому драйверу нужно передавать нужную логическую сторону в зависимости от того как отформатирован диск.
    • Может читать только одну сторону: верхнюю или нижнюю, либо обе стороны. Практика показала что иногда бывает быстрее прочитать диск по сторонам отдельно, потому что верхняя сторона может быть отформатирована разными способами и должна читаться с разными настройками. У меня были диски где формат менялся много раз. Так получалось потому что я мог форматировать диск много раз и делать это разными программами и каждый раз не до конца, т.е. прерывая форматирование, поэтому разные виды форматов могли таким образом наложиться. Этой программой можно прочитать отдельные области верхней стороны диска указывая формат для каждой области.
    • Интерфейс имеет смесь русского и английского. Не стал это менять.



    Терминология

    Обработанный сектор – сектор у которого была попытка чтения. Это либо успешно прочитанный сектор, либо bad-сектор.
    Необработанный сектор – сектор у которого не было попыток чтения. В образе такие заполнены символом N.
    Bad-сектор – сектор у которого была попытка чтения, которая оказалась неуспешной. В образе такие заполнены символом B.
    Good-сектор – успешно прочитанный сектор.
    Нулевой сектор – Good-сектор содержащий одни нули.


    Описание интерфейса

    Track From – номер трека с которого будет производиться чтение.
    Track To – номер трека до которого будет производиться чтение. Сам этот трек читаться не будет.
    Параметры Track From и Track To отображаются черной полосой над картой образа. Их можно поменять сделав выделение мышью на карте образа. Двойной клик по этой полосе - установка с 0 по 180.
    Read Side – читаемая сторона диска: верхняя, нижняя или обе. Влияет только на то какая сторона читается. Диск всегда считается двухсторонним.
    Disk Format – формат верхней стороны диска. “Upper Side As 0” означает что верхняя дорожка отформатирована как нулевая сторона. В этом случае при чтении верхней стороны драйверу дается указание прочитать с верхней головки сторону с номером 0. “Upper Side As 1” означает что верхняя дорожка отформатирована как первая сторона: драйверу указывается прочитать с верхней головки трек имеющий сторону 1.
    Track Read Attempts – количество попыток чтения трека как партии из 16 секторов.
    Sector Read Attempts – количество попыток чтения сектора.


    Кнопки:


    • New – создание образа. При создании указывается размер образа в треках и его имя. Образ создается также автоматически при запуске приложения.
    • Load – загрузка образа trd. При загрузке также указывается размер в треках. Можно указать 0 и тогда будет автоопределение.
    • Save – сохранить образ в формате TRD. Образ сохраняется до последнего сектора, у которого была попытка чтения, включительно. Последние сектора, у которых не было попыток чтения, не сохраняются. Сохраняется минимум два трека – нулевой и первый, даже если первый трек не читался – это сделано чтобы файл мог быть прочитан в UnrealSpeccy, который выдает ошибку если TRD состоит только из нулевого трека.
    • Set Size – изменить размер образа в треках. При уменьшении размера лишние данные теряются. При увеличении – нет.
    • Merge – слияние образов TRD. Делал чтобы слить образы полученные разными чтениями WinTRD. Для этого сначала надо загрузить или создать один образ, потом нажать Merge и указать образ для слияния. В логе будет указано количество добавленных good-секторов. Можно делать слияние несколько раз. Плохие сектора в загружаемом образе определяются как полностью заполненные символом B.
    • Show Catalogue – показ каталога образа.
    • Show Cat From Track – показ каталога с указанного трека образа. Были коммандеры которые сохраняли копию каталога на 160 или 162 трек, можно их просмотреть по этой кнопке.
    • Read Forward – чтение диска. Читаются только те сектора, которые не были до этого успешно прочитаны. Чтение идет от Track From до Track To (не включая его; при условии невыхода за пределы образа и при условии что Track To > Track From). Для каждого трека сначала делается попытка прочитать 16 секторов партией, количество попыток задается параметром Track Read Attempts. Если это не удалось, то включается чтение по отдельным секторам, количество попыток – Sector Read Attempts.
    • Read Backward - Чтение диска в обратном направлении. В остальном аналогично Read Disk,
    • Read Random Sectors – случайное чтение отдельных секторов. Читаются только сектора которые еще не читались или оказались битыми. Выбираются только в пределах Track From и Track To и только на указанной стороне (либо на обоих). На моём железе читаемость сектора по какой-то причине носит серийный характер, и если сектор не прочитался, то высока вероятность того что не прочитается и следующий, вне зависимости от того где он находится. Я эту функцию не особо много использовал, но в некоторых случаях она позволяла прочитать дополнительные сектора, которые находились после битых и которые по этой причине не позволял прочитать эффект серийности.
    • Read Catalogue – чтение каталога (9 секторов) с диска и показ в отдельной форме. Данные не сохраняются, на имеющийся образ не влияют.
    • Abort – прекращение чтения. Реакция происходит не сразу, а с некоторой задержкой, связанной с ожиданием завершения текущей операции драйвером.
    • Build Disk Table – построение таблицы дисков (trd-образов), с указанием их размера, количества bad-секторов, файлов и поврежденных файлов, а также общая статистика – сколько секторов прочитано, сколько битых. Сохраняется в виде HTML.
    • Build Maps – построение карт для указанных trd-образов, где отмечены хорошие, битые и нулевые сектора. Сохраняется как HTML.
    • Build Sector Content Maps – построение карт содержимого секторов для указанных trd-образов. Определяет исходники TASM4.0 (иногда выдавая ложноположительный результат, но мне было качества достаточно), GENS, графику, текст, нулевые сектора и код. Я использовал эту функцию для поиска своих исходников на дисках.
    • Build Duplicate Maps – построение карт секторов-дубликатов. У меня были случаи когда сектор прочитывался из другого места диска, например вместо сектора 0 читался сектор 1, из-за чего происходило искажение данных, и драйвер никак не регистрировал ошибки, выдавая данные как валидные. Не помню чтобы такое было на реальном Спектруме, но на двух PC-контроллерах у меня такое встречалось минимум 7 раз из 280 000 секторов. Чтобы находить такие случаи я написал эту функцию, но она далеко неидеальна, т.к. оказалось что дублирование секторов это часто встречающаяся вещь даже на валидных данных. Строит она сектора которые по содержимому полностью совпадают друг с другом, находятся в пределах 16 секторов друг от друга и не идентифицируются как графика (у графики очень высокий процент дублей сам по себе), сохраняется как HTML.
    • Mark Sector Unprocessed – маркировать сектор в образе как необработанный. После этого при чтении диска программа будет пытаться его прочитать. Сделал чтобы снова перечитать сектора-дубли в некоторых дисках.
    • Build File Table – построение таблиц файлов для указанных trd-образов. Поврежденные файлы отмечаются красным цветом, указывается количество bad-секторов у них. Сохраняется как HTML.
    • Driver Version - показ версии драйвера и типа контроллера.



    Использование

    Настроить параметры чтения, после чего нажать Read Forward. Перед этим можно загрузить образ из TRD.


    Я написал эту программу потому что WinTRD и ZX Disk Studio не работали у меня как надо. Я не знаю почему они не работали и что особенного они делали чтобы оказаться неработоспособными у меня, и поэтому уверен что эта программа тоже зависима от операционной системы и железа, и так же может у кого-то не работать. Так что гарантий никаких.
    UPD: Есть пример когда программа не может прочитать один из секторов трека, при том что ZX Disk Studio читала диск успешно.

    Программа написана на C# и требует .NET Framework 2.0.

    UPD
    В версии 1.0.0.10 добавлено автоопределение параметра Head верхней стороны и чтение дисков CP/M.
    Вложения Вложения
    Последний раз редактировалось CPLx; 24.05.2020 в 13:19.

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

    alvis (18.04.2020), Azm (19.04.2020), Black Cat / Era CG (10.04.2020), creator (10.04.2020), Djoni (13.04.2020), Eltaron (10.04.2020), NiKa (10.04.2020), Rusazar (10.04.2020), Serebriakov (29.04.2020), shurik-ua (06.05.2020), SoftLight (10.04.2020), ZX_NOVOSIB (10.04.2020)

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

  4. #2
    Veteran Аватар для SoftLight
    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    1,575
    Спасибо Благодарностей отдано 
    135
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    77 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос: с какой операционкой лучше запускать? Тут же как: если материнка содержит FDD-контроллер, то она, скорее всего, старая. Если старая, даже windows 8 уже скорее всего не взлетит. А еще и второй фреймворк нужен.

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

    По умолчанию

    Цитата Сообщение от SoftLight Посмотреть сообщение
    Вопрос: с какой операционкой лучше запускать? Тут же как: если материнка содержит FDD-контроллер, то она, скорее всего, старая. Если старая, даже windows 8 уже скорее всего не взлетит. А еще и второй фреймворк нужен.
    У меня заработала на Windows 7. Теоретически, второй дотнет должен работать начиная с Win98, но драйвер работает вроде только начиная с Win2000. Короче, по идее любая винда начиная с Windows 2000.

  6. #4
    Activist
    Регистрация
    04.07.2012
    Адрес
    г. Москва
    Сообщений
    431
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SoftLight Посмотреть сообщение
    Вопрос: с какой операционкой лучше запускать? Тут же как: если материнка содержит FDD-контроллер, то она, скорее всего, старая. Если старая, даже windows 8 уже скорее всего не взлетит. А еще и второй фреймворк нужен.


    FDD-контроллер содержало большинство материнок на LGA1156, и на LGA1155 Sandy Bridge можно найти материнки с FDD. Это вполне себе живые машины, десятка них чувствует себя вполне комфортно.

  7. #5
    Сибирский антропоморфный Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    2,727
    Спасибо Благодарностей отдано 
    234
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    101 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    https://simonowen.com/fdrawcmd/
    Тут требования самого драйвера к системе. Все построенные на основе него утилиты (их немало) соотв-но работают не раньше, чем на 2000. У меня на 7ке работает, как и Диск Студио и другие.
    Seamos realistas y hagamos lo imposible!
    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

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

    По умолчанию

    Цитата Сообщение от CPLx Посмотреть сообщение
    Show Catalogue – показ каталога образа.
    реально добавить сохранение каталога (в текстовом файле) ?

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

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    реально добавить сохранение каталога (в текстовом файле) ?
    Реально. Я могу добавить сохранение как текстового файла, это не проблема. Прямо в том виде как он показан в форме так и сохранить?
    Но вообще, можно сохранить TRD, потом нажать Build File Table, выбрать сохраненный TRD и сохранить каталог как html, откуда потом из браузера скопировать как текст. Если это не устраивает, то да, могу сделать сохранение как текст.

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

    По умолчанию

    Цитата Сообщение от CPLx Посмотреть сообщение
    Я могу добавить сохранение как текстового файла, это не проблема. Прямо в том виде как он показан в форме так и сохранить?
    мне кажется достаточно сохранять только имена (удобно при создании коллекций)
    трек/сектор и.т.д - уже избыточно

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

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    мне кажется достаточно сохранять только имена (удобно при создании коллекций)
    В форме показа каталога добавил кнопку сохранения списка файлов в виде .txt-файла.
    Вложения Вложения
    Последний раз редактировалось CPLx; 10.04.2020 в 17:59.

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

    goodboy (10.04.2020), NiKa (10.04.2020)

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

    По умолчанию

    Цитата Сообщение от CPLx Посмотреть сообщение
    Load – загрузка образа trd
    а можно сделать фильтр (показывать только файлы с расширением TRD) ?

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

    Цитата Сообщение от CPLx Посмотреть сообщение
    добавил кнопку сохранения списка файлов
    как вариант можно списку сразу давать то-же имя что и у рабочего образа

Страница 1 из 7 12345 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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