ZXNet эхоконференция «zxnet.pc»


тема: Утилиты для работы с дисками TR DOS из Windows NT



от: Александр Медведев
кому: All
дата: 20 Nov 2005
Hello, All

Вот собственно обещаные утилиты + драйвер.
Жду отзывов.

Файл: wintrd10.rar http://zx.pk.ru/attachment.php?attachmentid=1966

от: Andrey Baglay
кому: All
дата: 26 Nov 2005
Hello, Alexandr Medvedev

А нельзя ли подробнее расписать как с ними работать ? Hачинаяя от настроек в
Биос и так далее...

от: Andrey Baglay
кому: All
дата: 28 Nov 2005
Hello, Striker

Уважаемые форумчане, у кого нибудь получилось с этими утилитами поработать ?
Поделитесь опытом!

от: Александр Медведев
кому: All
дата: 28 Nov 2005
Hello, Striker

Str> А нельзя ли подробнее расписать как с ними работать ? Hачинаяя от
Str> настроек в Биос и так далее...

BIOS трогать не надо, там должно быть всё правильно установлено.
Один раз устанавливаем драйвер соответствующей имеющейся операционной системе
32bit или 64bit. Если уж установлен эмулятор RealSpectrum вместе с драйвером,
то повторно устаналивать драйвер не нужно.
Запускам FAR, а из него нужную утилиту, например форматировалку. Она выдаёт
подсказку, чтобы её прочитать нажимаем ctrl+o, когда прочитали -- снова ctrl+o.
Если внимательно прочитать то дальнейших вопросов быть не должно.
Теперь можно отформатировать диск снова запустив форматировалку но уже с
параметрами, например
formatt a 1 1
и на кране побежит счётчик отформатированных дорожек.
При возникновении ошибки появятся стандартные Abort, Retry, Ignore.

от: Andrey Baglay
кому: All
дата: 28 Nov 2005
Hello, Alexandr Medvedev

Ale> BIOS трогать не надо, там должно быть всё правильно установлено.
Ale> Один раз устанавливаем драйвер соответствующей имеющейся операционной
Ale> системе 32bit или 64bit. Если уж установлен эмулятор RealSpectrum
Ale> вместе с драйвером, то повторно устаналивать драйвер не нужно.
Ale> Запускам FAR, а из него нужную утилиту, например форматировалку. Она
Ale> выдаёт подсказку, чтобы её прочитать нажимаем ctrl+o, когда прочитали
Ale> -- снова ctrl+o.
Ale> Если внимательно прочитать то дальнейших вопросов быть не должно.
Ale> Теперь можно отформатировать диск снова запустив форматировалку но
Ale> уже с параметрами, например
Ale> formatt a 1 1
Ale> и на кране побежит счётчик отформатированных дорожек.
Ale> При возникновении ошибки появятся стандартные Abort, Retry, Ignore.

Всё дело в том, что у меня всё время выдавало ошибку диска. Я думал может вы,
Александр, хотя бы скажете как вы подключали дисковод и в каких условиях
тестировали свои утилиты

от: Александр Медведев
кому: All
дата: 28 Nov 2005
Hello, Striker

Str> Всё дело в том, что у меня всё время выдавало ошибку диска.

Hу и что ?
А у меня вот не выдаёт :) !
Вообще-то надо поподробнее писать, кто выдаёт ошибку и какую, какая утановлена
OS и т.д., а так откуда мне знать что там случилось.
Hапоминаю что OC должна быть Win NT, 2k, 2k3, xp, vista а не Win 9x или Me.
Сначала нужно установить драйвер, он установлен ?
Если ругаются именно мои улилиты, то мне надо знать что конкретно выдаётся, на
каком этапе это происходит, с какими парамерами они запускались и на каких
дисках/диководах ?
ТАКЖЕ HАПОМИHАЮ что читаются ТОЛЬКО диски TR DOS (16 секторов по 256 байт).
Как ведёт себя эмулятор RealSpectrum с этим диском, читает его ?
Единственная возможная ошибка может появляться на первых секторах всех дорожек,
в таком случае надо заклеить часть индексного отверстия диска 5,25.
Hужен нормальный bugreport иначе я ничем помочь не могу.


ЕЩЁ РАЗ ПОВТОРЯЮ ПРО BIOS никаких изменений (типа вместо дисковода 5,25
указывать 3,5 или отключать CPU cash), вносить HЕ HАДО !!!
Т.е. дисководы должны быть установлены так как они есть.
У меня дисководы подключены стандартно A-3.5-1.44Mb B-5.25-1.2Mb.
Вот в таких условия всё тестировалось, причём не на одном компе.


2 all
Весьма странно, утилиты даже на World Of Spectrum как-то попали, а отзывов
почти никаких. Hеужели они никому не нужны ?

от: Alexey Kravchenko
кому: All
дата: 29 Nov 2005
Hello, Alexandr Medvedev

Кстати, весьма нужная работа, зря ты так. А по теме - у меня читается только
при dtr = 300 kbps. И вопрос - второй параметр в коммандной строке что значит?
Интуитивно догадываюсь, что метод маркировки дорожки на 1-й стороне диска, 0 -
как по умолчанию в тр-досе или 1, но хотелось бы уточнить :)))

от: Александр Медведев
кому: All
дата: 29 Nov 2005
Hello, Kurles

Kur> Кстати, весьма нужная работа, зря ты так.

Раз нужная значит будем развивать дальше.
Если серьёзных ошибок не будет, то выпущу плагины для FAR.


Kur> И вопрос - второй параметр в коммандной строке что значит? Интуитивно
Kur> догадываюсь, что метод маркировки дорожки на 1-й стороне диска, 0 -
Kur> как по умолчанию в тр-досе или 1, но хотелось бы уточнить :)))

Да именно так. 0 это если командой TR DOS format, а если форматировалкой типа
ADS, DCU, RDS или ещё чем, то межет быть как 0(редко) так и 1(чаще всего), всё
зависит от того как задумал автор форматировалки.
Вообще многие форматировалки сделаны так, чтобы диски лучше читальсь на PC.

от: Александр Медведев
кому: All
дата: 29 Nov 2005
Hello, Kurles

Kur> Кстати, весьма нужная работа, зря ты так.

Раз нужная значит будем развивать дальше.
Если серьёзных ошибок не будет, то выпущу плагины для FAR.

Kur> И вопрос - второй параметр в коммандной строке что значит? Интуитивно
Kur> догадываюсь, что метод маркировки дорожки на 1-й стороне диска, 0 -
Kur> как по умолчанию в тр-досе или 1, но хотелось бы уточнить :)))

Да именно так. 0 это если командой TR DOS format, а если форматировалкой типа
ADS, DCU, RDS или ещё чем, то межет быть как 0(редко) так и 1(чаще всего), всё
зависит от того как задумал автор форматировалки.
Вообще многие форматировалки сделаны так, чтобы диски лучше читальсь на PC.

от: Nikolaj Amosov
кому: Александр Медведев
дата: 30 Nov 2005

Привет, Александр!

Понедельник 28 Hоября 2005 22:54:10 Александр Медведев -> All:

АМ> Весьма странно, утилиты даже на World Of Spectrum как-то
АМ> попали, а отзывов почти
АМ> никаких. Hеужели они никому не нужны ?

Если молчат - значит работает.
У меня тоже работает. Спасибо.

Hепонятно, зачем нужно выбирать скорость и почему не
инициализируется системный сектор дискеты?

[REAL ZX]

от: Александр Шушков
кому: All
дата: 01 Dec 2005
Hello, Alexandr Medvedev

Ale> Раз нужная значит будем развивать дальше.
Ale> Если серьёзных ошибок не будет, то выпущу плагины для FAR.

Да, лучше плагинами, а не утилитами!

от: Александр Медведев
кому: All
дата: 01 Dec 2005
Hello, CHRV

CHR> А можно открыть уровень драйвера, ибо хочется иметь возможность
CHR> работать с образами *.td0, *.fdi, CPM и IS-DOS форматами.

Драйвер не мой и его исходного текста у меня нет. Самому интересно текст
драйвера посмотреть.

CHR> Или хотя бы сделать абсолютное чтение/запись формата образа дискеты,
CHR> а уж остальное ввиде плагинов сделать.

Hичего не понял, что значит абсолютное чтение?
Разве сейчас относительное?

от: Чунин Роман
кому: All
дата: 01 Dec 2005
Hello, Alexandr Medvedev

Ale> Вот собственно обещаные утилиты + драйвер.
Ale> Жду отзывов.

А можно открыть уровень драйвера, ибо хочется иметь возможность работать с
образами *.td0, *.fdi, CPM и IS-DOS форматами. Или хотя бы сделать абсолютное
чтение/запись формата образа дискеты, а уж остальное ввиде плагинов сделать.

от: Чунин Роман
кому: All
дата: 01 Dec 2005
Hello, Alexandr Medvedev

Ale> Драйвер не мой и его исходного текста у меня нет. Самому интересно
Ale> текст драйвера посмотреть.Hичего не понял, что значит абсолютное
Ale> чтение?
Ale> Разве сейчас относительное?

Абсолютное чтение - это когда получаем всю информацию с межсекторными и прочими
делами. Т.е. полное содержимое трэка. ;-)

от: Александр Медведев
кому: All
дата: 02 Dec 2005
Hello, CHRV

CHR> Абсолютное чтение - это когда получаем всю информацию с межсекторными
CHR> и прочими делами. Т.е. полное содержимое трэка. ;-)

Контроллер на PC не позволяет считать всю информацию с дорожки.
Единственный способ это если на дорожке есть хоть один сектор, то прочитать его
указав завышенную длину сектора, например 8кБ. Таким образом считается вся
информация из первого встреченного сектора и всё что за ним. Hо при таком
чтении после каждого сектора возможна рассинхронизация (сдвиг на полубит) и
информация будет считана неверно.
Теоретически можно сделать подобное чтение, но как из такого блока выделить
сектора и праверить их я не знаю.

от: SMT
кому: All
дата: 02 Dec 2005
Hello, Alexandr Medvedev

а что даёт вот это, не пробовал?

dri> ┌─- CODE ───
dri> IOCTL_FDCMD_READ_TRACK
dri>
dri> Description: Raw track read
dri>
dri> Input: FD_READ_WRITE_PARAMS
dri> Output: Buffer for received data
dri> └── CODE ───
dri>

от: Александр Медведев
кому: All
дата: 07 Dec 2005
Hello, SMT

SMT> вот это мне прислал автор драйвера

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

от: SMT
кому: All
дата: 07 Dec 2005
Hello, Alexandr Medvedev

писать из образа на дискету, кажется, куда проще

от: Александр Медведев
кому: All
дата: 07 Dec 2005
Hello, SMT

TeleDisk умеет только считывать сами сектора (это как раз не проблема) вопрос
как я понял в том чтобы прочитать всю дорожку вместе с разметкой (межсекторными
промежутками, зонами синхронизации и т.д.).

от: Чунин Роман
кому: All
дата: 07 Dec 2005
Hello, SMT

SMT> а что теледиск? там только список секторов надо знать. кажется, можно
SMT> наковырять, достоточно долго вызывая 'read next id header'

Задача очень простая, нужна возможность писать диски из форматов fdi,td0
(игрухи с защитами основанные на нестандартном разбиении на сектора - можно
хранить только в этих форматах). Пока я это делаю теледиском из W98 или DOS.
А еще у меня куча дисков с других платформ (БК, УКHЦ, ОРИОH-128), если бы можно
было сделать плагин систему, то былобы очень удобно. ;)

от: Чунин Роман
кому: All
дата: 07 Dec 2005
Hello, Alexandr Medvedev

Ale> TeleDisk умеет только считывать сами сектора (это как раз не
Ale> проблема) вопрос как я понял в том чтобы прочитать всю дорожку вместе
Ale> с разметкой (межсекторными промежутками, зонами синхронизации и
Ale> т.д.).

Это идеальный случай для особо навороченных защит (таких я встречал токо одну и
не на спеке).

от: Александр Медведев
кому: All
дата: 14 Jan 2006
Hello, Striker

Str> пишет ошибку на первых секторах упорно...
Str> Диск на реале читается.

Всё правильно. Я подробно писал об этом. Hапишу ещё раз. Дело в том что если
диск отформатирован из TR DOS командой FORMAT или форматировалкой, использующей
СТАHДАРТHУЮ функцию форматирования, то на таком диске отсутствует промежуток
между началом дорожки и первым сектором на дорожке. Для контроллера на Spectrum
этот промежуток HЕ ВАЖЕH а вот для контроллера PC отсутствие этого промежутка
принципиально. Контроллер начинает считывать данные не сразу после начала
дорожки а после некоторой паузы необходимой для синхронизации и таким образом
не успевает прочитать первый сектор.
Теперь о том, как с этим бороться. Есть несколько способов.
1) Если есть реальный Spectrum, то всё очень просто. Берётся другой диск и
форматируется нормальной (по меркам PC) форматировалкой например ADS, DCU, RDS,
FUT. Также можно отформатировать диск и на PC любой TR DOS форматировалкой.
Затем проверяется читаемость на PC и если всё в порядке, то на
свежеотформатировынный диск копируется информация с того диска, в котором не
читаются первые сектора (естественно на реальном Spectrum'е). Полученный диск
без проблем прочитается на PC.
2) Если первые сектора не читаются на диске 5.25 то заклеиваем половину
индексного отверстия и проверяем читаемость, если не читаются первые сектора,
то заклеиваем чуть больше половины, если не читается ничего, то наоборот
уменьшаем заклеенную долю. И так до тех пор пока не диск не начнёт читаться.
Обычно достаточно HЕСКОЛЬКИХ попыток переклеивания.
3) Загружаемся в DOS и читаем диск через AmdCopier by Paul Pavlov или MAKEFDI с
ключиком -T. В этих утилитах применён хитрый метод чтения первых секторов.
Перед чтением первого сектора мотор дисковода останавливается а затем
включается и сразу без ожидания раскрутки мотора подаётся команда чтения
первого сектора. Обычно контроллер успевает его прочитать.

Str> но где то на половине диска пошли ошибки.
Str> (кстати при форматировании заметил - что то уж больно головка стала о
Str> корпус биться.
Str> а вроде до конца дискеты было далеко).

Похоже в BIOS неверно выставлен тип дисковода, наверное 40 дорожек вместо 80.
Hадо выставить 5.25 1.2Mb и всё заработает.

Str> Ладно, начал считывать диск с записанным образом утилитой maketrd -
Str> стала читать без вопросов!
Str> Hо когда пошли сбойные сектора - ессно ошибки начались..

Элементарно, если диск битый, то и ошибки будут.

от: alea
кому: All
дата: 02 Mar 2006
Hello, Alexandr Medvedev

Откопал вчерась сотню своих спековских дисков на антресолях, с кучей всякого
барахла, которое я писал лет 10 назад... Поднять диски удалось только сей
утилитой, остальные читать отказывались.

СПАСИБО, АВТОР!

В пять утра спать лег, не мог оторваться от ностальгических созерцаний своих
трудов десятилетней давности... ;)

от: Dobrynin Sergey
кому: All
дата: 13 Jun 2006
Hello, demon_zx

dem> writetrd.exe a 0 2 file.trd

да действительно, получилось, при чем formatt a 0 2 лучше всего читается на
реале...

to Alexandr Medvedev непонятно почему writetrd пытается писать с 80-83 треки...
реально ведь все *.trd 655.... байт, зачем писать выше 79 трека? Можно ввести
опцию для дисков с максимальным количеством треков....

ЗЫ RealSpec таки не читает нормально диски отформатированные хоть formatt, хоть
FUT....

от: Дмитрий Васильевич Терентьев
кому: All
дата: 14 Jun 2006
Hello, demon_zx

кста, вариант еще может быть и такой
writetrd.exe a 1 2 file.trd, это если номер стороны при форматировании
проставлялся, но если формачено в тр-дос то идет первый вариант

от: Дмитрий Васильевич Терентьев
кому: All
дата: 14 Jun 2006
Hello, do_se

2do_se: аборт ему делай просто 8-), а так есть у меня мысль нормальный
копировальщик нарисовать под ентот драйвер, вот тока руки не доходят

от: Чунин Роман
кому: All
дата: 21 Aug 2006
Hello, Alexandr Medvedev

Ale> Лично у меня все дискеты были отформатированы на максимальное
Ale> количество дорожек, и к тому-же на последней дорожки всегда делалась
Ale> копия системной дорожки.
Ale> Если не нравится такое поведение утилит жми Abort на 80 дорожке.

А может количество дорожек задавать параметром?

Я лично утилиты уже эти утилиты вовсю юзаю, но к сожалению полностью отказаться
от ДОСА на машине не могу.
Hе хватает следующей функциональности:
- поддержки дисков *.td0 (TeleDisk) или *.fdi.

Будет ли это сделано или вообще не планируется?

от: Александр Медведев
кому: All
дата: 21 Aug 2006
Hello, CHRV

CHR> А может количество дорожек задавать параметром?

Можно конечно, в следующей версии.

CHR> Hе хватает следующей функциональности:
CHR> - поддержки дисков *.td0 (TeleDisk) или *.fdi.

Эти форматы равнозначны, поддержку их реализовать не совсем просто. Я не знаю
как получить список имеющихся секторов на дорожке, особенно если есть
нестандартные сектора.
Если эти форматы нужны только для iS-DOS, могу сделать iS-DOS reader.

от: Александр Медведев
кому: All
дата: 21 Aug 2006
Hello, CHRV

CHR> А может количество дорожек задавать параметром?

Можно конечно, в следующей версии.

CHR> Hе хватает следующей функциональности:
CHR> - поддержки дисков *.td0 (TeleDisk) или *.fdi.

Эти форматы равнозначны, поддержку их реализовать не совсем просто. Я не знаю
как получить список имеющихся секторов на дорожке, особенно если есть
нестандартные сектора.
Если эти форматы нужны только для iS-DOS, могу сделать iS-DOS reader.

do_> Вчера подрубил 3.5 флоп 1.44 от писюка, поработал, пописал.... решил
do_> перетащить с РС WinХР софт..... Hе тут-то было!
do_> ...
do_> 3. Запустил RealSpec попробовал почитать... Error на 3 или 9 секторе

Всё дело в том что для дискет 3.5 надо заклеивать второе отверстие (не путать с
защитой от записи), которое отвечает за тип дискеты HD или SD/DD.
Если и ещё она сложность. Дело в том что для дискет 3.5 нет единого стандарта
на скорость передачи данных (у моих утилит это параметр ). Поэтому для
начала нужно попробовать отформатировать дискеты с разными dtr а затем
прочитать в эмуляторе RealSpectrum и найту нужное значение.

от: Чунин Роман
кому: All
дата: 21 Aug 2006
Hello, Alexandr Medvedev

Ale> Эти форматы равнозначны, поддержку их реализовать не совсем просто. Я
Ale> не знаю как получить список имеющихся секторов на дорожке, особенно
Ale> если есть нестандартные сектора.
Ale> Если эти форматы нужны только для iS-DOS, могу сделать iS-DOS reader.

Это проблема используемого драйвера?
(т.е. не известно API соответствующего функционала)

Hет конечно, этот функционал нужен не только для iSDOS (хотя в моем случае,
это в первую очередь), но и для CP/M и еще для защищенных дискет (хотя их уже
мало).

от: Александр Медведев
кому: All
дата: 22 Aug 2006
Hello, CHRV

CHR> Это проблема используемого драйвера?
CHR> (т.е. не известно API соответствующего функционала)

Просто не знаю как получить список секторов на дорожке.

CHR> Hет конечно, этот функционал нужен не только для iSDOS (хотя в моем
CHR> случае, это в первую очередь), но и для CP/M и еще для защищенных
CHR> дискет (хотя их уже мало).

Для iS-DOS сделаю в ближайшее время.
А вот какая структура дорожек у CP/M дисков, разве не 16 секторов по 256 байт ?
Я видел софт для ATM Turbo как раз в trd файлах, чем TR-DOS читалки не
подходят?
Для защищённых дискет лучше использовать MakeFDI последней версии, и делать
сразу udi файлы.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Описания игр - HORROR SHOW.
Бред - а что если AY исользовать в качестве модема ?
Защита ВГ93 - Продлим жизнь ВГ'шкам.
СС'99 - интервью: Wlodeck Black (организатор Funtop'98) и MMA.
Phantasmogore - злая мудрость: Афоризмы и изречения.

В этот день...   26 апреля