-
Вложений: 1
странные диски
Виртуалил диски, некоторые не расчитались. Пришлось воспользоваться программой TeleDisk. Вот что получилось. Программа отработала нормально, правильно определила формат диска, количество дорожек и т.д. Если посмотреть образ по F3, то видно каталог, бейсик-загрузчики, неупакованные сообщения.
А теперь вопрос: как и чем можно выдернуть содержимое дисков? Или как сделать диски читаемыми?
-
Воспользоваться прогой td02trd?
-
Нет, вроде не в том дело. Я ведь образ и так могу загрузить в эмуль, а всё равно не работает. И даже если в RealSpeccy работать с реальными дисками тоже не хочет. То есть, не хочет с некоторыми. Остальные читаются без проблем.
Надо чтобы кто-то, кто шарит в структуре диска пошарился и сказал что там не так.
-
На реале не читается. Ради чистоты иксперимента я подсунул Теледиску мсдосный диск - ошибка.
#FF - это 1 сектор? Что должно быть на его месте?
-
Всё просто - диск считался неверно. Каждый первый сектор каждой дорожки не прочёлся. На месте таких секторов нули. Я немного подправил каталог диска (см. аттач), подставив вместо нулей пустые заголовки и диск начал загружаться, но по понятным причинам ни один файл из уцелевших в каталоге не работает.
-
А чем его можно считать верно?
-
на самом деле у меня сохраняился и где-то валяется и наверняка рабочий - тот дисковод, на котором эти диски форматировались. Может на нем они еще могут прочитаться. Те флопари отличались от PC-шных очень коротким размером индексного пробела. Может в этом и дело. Если подъедешь (созвонимся как договаривались), отдам. Подключать будешь сам.
-
ну во первых старый дедовский метод с заклеиванием Индексного Отверстия, во вторых - даже если сектор каталога дохлый, то контент то все равно живой. можно ручками наверняка восстановить. потом при чтении теледиском он разве не писал ошибок про ненайденые сектора?
-
а если заклеивать дырку, то новую делать в другом месте - надо? А если не делать, то как она будет читаться (чем)? а может, заклеить только часть дырки?
-
ну были разговоры как про частичное так и полное заклеивание (по моему в доке от UKVemu)
-
Примерно половину надо заклеить. Еси полностью заклеить, то ниче не прочитается.
-
В исходном файле на всех дорожках присутствуют сектора с номерами 0x73, 0x02, 0x03, ... 0x0F, 0x10. Это значит что Teledisk не смог найти первый сектор на дорожке.
Такое происходит если диск изначально форматировался из TR DOS командой format или форматировалкой, которая использует стандартную процедуру форматирования.
При обычном форматировании из TR DOS первый сектор записывается начинается сразу после прихода индексного сигнала, т.е. длина промежутка GAP4a (он же GAP5) равна 0.
Такие диски нормально читаются только на ZX, а вот для контроллера PC такая "особенность" принципиальна. Дело в том что контроллер ZX определяет приход индексного сигнала по его переднему фронту, а на PC по заднему, и естественно не успевает обработать заголовок первого сектора.
Чтобы прочитать этот первый сектор на PC (если есть живой ZX) нужно сделать вот что
1) взять чистый диск и отформатировать его либо спец. форматировалкой на PC либо нормальной форматировалкой (типа DCU, RDS, ADS) на ZX.
2) посекторно скопировать копировщиком исходный диск на свежеотформатированный.
3) теперь без проблем можно считать информацию с нового диска.
В случае если этот способ неприменим то есть придётся использовать читалки дискет, которые умеют обходить отсутствие GAP4a.
Мне известны две такие утилиты makefdi (распространяется с эмулятором UKV), и amdcopier, обе можно найти на zx.da.ru . В них используется следующий приём - перед чтением первого сектора на дорожке мотор дисковода выключается затем включается и сразу (без задержки на разгон мотора) подаётся команда чтения первого сектора, как правило это удаётся, если нет то стоит пару раз повторить попытку чтения и первый сектор гарантированно прочитается.
Если и этот способ не помог, то остаётся ЧАСТИЧНАЯ заклейка индексного отверстия, естественно это применимо только для дисков 5.25 дюйма. Как ни странно это способ описан почти везде, но нигде не сказано как именно надо заклеивать это отверстие, например в описании упоминавшегося эмулятора UKV есть такие строки:
======================
Особенностью форматированных на SPECTRUM'е дискет является отсутствие в начале дорожки области GAP4A и небольшая длина области GAP1. В результате адресный маркер первого сектора может находиться через 12-14 байт после индексного отверстия. Далеко не всякий контроллер на PC может прочитать такой сектор (в таких случаях обычно советуют заклеить часть индексного отверстия).
======================
Так вот заклеивать нужно примерно половину индексного отверстия причём, ту часть которая ближе "морде" дисковода. Как правило степень заклеивания зависит от конкретного дисковода и определяется методом последовательно переклеивания, т.е. если заклеить слишком мало, то первый сектор не прочитается, если слишком много (а уж тем более всё отверстие, как советуют некоторые "профессионалы") то контроллер никогда не дождётся прихода индексного сигнала и естественно вообще ничего не прочитается. Подобный способ искусственно как-бы растягивает промежуток GAP4a и даёт возможно контроллеру PC прочитать первый сектор. По своему опыту могу сказать что быстрее чем с третьей попытки подобрать степень заклеивания не удаётся.
-
ну в принципе наверное можно и совсем заклеить, но пробить новую дырку на некотором расстоянии. Естественно после того, как прочиталось все, что уже можно прочитать. Тогда после прочтения с другой дыркой нужно уже руками (или какой-нибудь самописной утилитой) "слить" сектора из двух образов. Я это так себе представляю.
-
То есть у вас в Новосибирске живые спектрумы отсутствуют как факт? Иначе не очень понимаю суть дискуссии.
-
Путём долгих плясок с бубном вокруг Спектрума, удалось отресторить некоторое количество дискет.
Итого прочиталось 33 дискеты: 21(TR-DOS) + 12(ms-dos).
Есть какие-то исходники, судя по всему, Элита.
Не прочиталось ещё 12 дискет - вообще неизвестного формата. Сейчас буду их виртуалить и смотреть что на них.
-
а может быть всё до банального просто и там сектора идут не 1,2,3,4, а с другим интервалом? у меня когда-то была такая проблема, и мне для этого пришлось писать утилитку, но это было когда у меня на писюке ещё не было винта...
-
На самом деле, существенны дискеты помеченные R00x и H00x. Остальное может оказаться дискетами с писюка, или сборниками игрушек. 4-я пачка самая важная. Если это есть, остальное неважно.