Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Технический флейм »   Драйвер fdrawcmd.sys и SAMdisk
RSS

Драйвер fdrawcmd.sys и SAMdisk

<<Назад  Вперед>> Страницы: 1 2
Печать
 
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Добрый вечер!

Пытаюсь разобраться с драйвером fdrawcmd.sys и утилитой SAMdisk

Вот например, делаю дамп диска от Искра 1030.11 с параметрами:
40 цилиндров (дорожек) * 2 головки * 9 секторов * 512 байт на сектор

Делаю командой: SAMdisk a: image.dsk -c40 -s9
- Получается образ размером 195.711 кб.

Этот-же образ могу записать на дискету командой: SAMdisk image.dsk a:
- Образ назад пишется, и дискета на реальной машине успешно загружается...

Первые два вопроса:

- Очень медленно снимает образ, почему так? Раза в три-четыре медленнее обычной записи дискеты на реальной машине...

- Как сделать нормальный формат образа, который бы понимали остальные программы?
Пытаюсь конвертировать в другие форматы отсюда согласно справке:
https://simonowen.com/samdisk/formats/
Так в TD0 не хочет,
в RAW не понимают другие программы...
shattered
Advanced Member


Всего сообщений: 953
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 фев. 2008
какие другие программы не понимают raw, и какой формат они понимают?
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Например программа WinImage понимает форматы IMA, IMG, VFD, IMZ,
эти-же форматы понимает эмулятор "86Box", которых нет в SAMdisk...

А в SAMdisk есть похожий формат - RAW, который если переименовать
в любой из IMA, IMG, VFD, IMZ то данный образ видеться в WinImage,
и так-же видеться в эмуляторе "86Box" по команде DIR, но вот грузится с
такого образа не хочет....

---

Вообщем получилось только так:

Снятие образа: SAMdisk a: image.dsk -c40 --double-step
(Причем команда SAMdisk a: image.dsk -c40 -s9 --double-step не понравилась, почему?)
- Выходной файл получился размером 390.991 кб
Конвертация: SAMdisk a: image.dsk image.raw
- Выходной файл получился размером 368.640 кб (Какой и должен быть)
Потом переименование image.raw в image.img
- И тогда этот файл image.img уже нормально работает в эмуляторе...

Получается только такой алгоритм должен быть для снятия образов с DOS дискет ?

---

А назад на дискету успешно записывается уже готовый файл командой: SAMdisk image.img a:
но грузится с этой дискеты уже не хочет....
Так-же не хочет грузится если записывать первый полученный образ: SAMdisk image.dsk a:

---

Рабочие образы IMG, TD0 так-же успешно пишет на дискеты, но дискеты эти на реальной машине не загружаются..
uav1606
Advanced Member


Откуда: Енакиево
Всего сообщений: 4373
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 янв. 2008
Чтобы образы RAW нормально виделись WinImage, нужно, чтобы у них был более-менее стандартный бут-сектор а-ля DOS. Если он нестандартный, то она ничего не увидит. Некоторые эмуляторы тоже привередливые - им нужна сигнатура 55h AAh в бут-секторе, иначе грузиться не хотят.
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Так дело не в этом, есть стандартные загрузочные образы IMA
формата 40 цилиндров (дорожек) * 2 головки * 9 секторов * 512 байт на сектор
с DOS (АДОС) или другой подобной системой.
Эти образы прекрасно видит WinImage и эмулятор 86Box, в эмуляторе
с этих образов загрузка идет... Если эти образы записать на дискеты
на старой машине через досовскую версию WinImage, то эти дискеты
без проблем загружаются на старых машинах...
Данные образы имеют размер 386.640 кб. Заголовок начинается на "ы,"

Так-же есть загрузочные образы формата TD0 (TeleDisk), с той-же DOS,
такого-же формата 40 цилиндров (дорожек) * 2 головки * 9 секторов * 512 байт на сектор
эти образы так-же прекрасно понимает эмулятор и загрузка с них идет..
Если эти образы записать на дискеты на старой машине через TeleDisk,
то эти дискеты без проблем загружаются на старых машинах....
Данные образы имеют разный размер. Заголовок начинается на "TD"

Так вот, если я пытаюсь записать именно эти образы, про которые говорил выше
IMA или TD0 на дискету, под Win с помощью SAMdisk, то запись
идет и вроде как все хорошо, но на реальной машине такие дискеты не загружаются..

---

Если я снимаю образы с загрузочных дискет с такой-же DOS, с помощью
SAMdisk командой SAMdisk a: image.dsk -c40 -s9 то получается
образ размером 195.711 кб.
Заголовок начинается на "EXTENDED CPC DSK File Disk-Info SAMdisk180518"

Данный получившийся образ, могу записать обратно на дискету командой: SAMdisk image.dsk a:
и эта дискета нормально запишется и будет загружаться на старых машинах...

---

Полученные образы размером 195.711 кб. с заголовком на "EXTENDED CPC DSK File Disk-Info SAMdisk180518"
эмулятор 86Box и WinImage не понимают...

Эти образы я могу переделать в RAW формат командой: SAMdisk a: image.dsk image.raw
затем переименовав полученный image.raw в image.img подключаю этот образ в эмулятор,
но загрузка с него не идет, хотя по команде DIR содержимое образа читается нормально,
и этот-же полученный образ image.img видит WinImage...

--- --- ----

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

Ну или может есть другая какая-то оболочка для драйвера fdrawcmd.sys
с помощью которой все это можно делать?
(Скажем для дискет ДВК и подобных написана отличная программа "Кошка"...)
Нужно научиться работать с остальными всеми форматами дискет...
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
У программы есть исходники
https://github.com/simonowen/samdisk
разбирайся-нехочу.
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Я не программист, чтобы в исходниках искать как работать с программой...
Сергей С
Member


Всего сообщений: 151
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 янв. 2017
Andrey_Ak написал:
[q]
затем переименовав полученный image.raw в image.img подключаю этот образ в эмулятор,
но загрузка с него не идет, хотя по команде DIR содержимое образа читается нормально,
[/q]
Если к содержимому файлов диска претензий нет, а лишь на загрузку - стоит узнать о том как происходит этот процесс.
Возможно система даёт подсказку и что-то сообщает на экран монитора при попытке загрузки с дискеты?
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Сергей С написал:
[q]
Если к содержимому файлов диска претензий нет, а лишь на загрузку - стоит узнать о том как происходит этот процесс.
Возможно система даёт подсказку и что-то сообщает на экран монитора при попытке загрузки с дискеты?
[/q]
Да ничего не сообщает, эмулятор начинает читать дискету, потом прекращает и висит...

Вот если так снать образ, то эмулятор грузиться:
1) SAMdisk a: image.dsk -c40 --double-step (SAMdisk a: image.dsk -c40 -s9 --double-step так не понимает команду)
2) SAMdisk image.dsk image.raw
3) rename image.raw image.img
- Но если обратно записать image.dsk на дискету, то на реальной
машине загрузка не идет, начинает читать дискету и потом вешается...

А вот если так снять образ, то эмулятор не загружается:
1) SAMdisk a: image.dsk -c40 -s9
2) SAMdisk image.dsk image.raw
- При конвертации дает предупреждение:
Warning: source disk missing 702 sectors from regular format
Wrote 40 cyls, 2 heads, 9 sectors, 512 bytes/sector = 368640 bytes

3) rename image.raw image.img
- Но если обратно записать image.dsk на дискету, то на реальной машине загрузка идет..
Сергей С
Member


Всего сообщений: 151
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 янв. 2017
Так "научиться пользоваться программой" вы научились, по инструкции, на примерах, а что происходит при этом не знаете, что находится в получаемых файлах не проверяете, возможно знаете для чего специально указываете опцию -s9 или -d .
[q]
Я не программист, чтобы в исходниках искать как работать с программой...
[/q]
А там такого и нет, там описаны производимые действия, а итог всех или части этих действий вы уже сами интерпритируете, комментарии в коде могут подсказывать что/зачем.
Автору программы уже 5 раз сообщали о проблемах самой программы, и все они решены. Вы можете поступить так же.
[q]
2) SAMdisk a: image.dsk image.raw
[/q]
Я вчера попробовал данную программу, и такая команда не работает, вероятно здесь остались лишние "a:". Слышали о "проблеме Copy - Paste" ?
В первом варианте Вы считали данные с дискеты, в этом образе image1.dsk отсутствует информация о том что при записи считанной информации на дискету применяется особый формат -> не грузится с реальной дискеты. Далее конвертация и эмулятор получил корректные данные содержимого всех секторов, а в настройках эмуляции вы указали соответсвующий тип эмуляции -> система грузится.
Во втором варианте Вы считали данные с дискеты, в этом образе image2.dsk присутствует информация о типе форматирования при записи считанной информации на дискету -> грузится с реальной дискеты. Далее конвертация и эмулятор получил НЕкорректные данные содержимого всех секторов, а в настройках эмуляции вы указали соответсвующий тип эмуляции -> система НЕ грузится.

PS: Сегодня сравнил image1.raw и image2.raw, первые 36 секторов совпали(правда использовался другой привод и носитель), а остальные данные в image2.raw оказались забиты байтом 00h. Этих первых сеторов оказалось достаточным для хранения загрузочного сектора, таблицы FAT12 и содержимого корневого каталага выдаваемого по команде dir и ещё немного данных. Об этом не в справке, ни в инструкции ничегошеньки не написано/сказано, вы хотели научиться пользоваться, а не чему-то другому. В армии чему учат, автоматом пользоваться, махлу или/и Родину защищать?
[q]
- Очень медленно снимает образ, почему так?
[/q]
Читаем ChangeLog.txt к программе:
"Version 3.8.11 (2018-05-18)
---------------------------
...
- reduced default step-rate to improve compatibility with old drives"
Можете игнорить и ставить максимум чтения --step-rate 15, зачем, ну типа оверклок же, проверить секундомером рекомендую, и спросить потом не у разработчика, а тут. Здесь вероятно же лучше знают самого разработчика или нет?
[q]
Пытаюсь конвертировать в другие форматы отсюда согласно справке:
https://simonowen.com/samdisk/formats/
Так в TD0 не хочет,
[/q]
Читайте внимательно: формат TDO для -> "The following containers types are supported for input:"
В "The following types are supported for output of new or modified disk images, as determined by file extension:" его нет. Заявку на поддержку этого (проприетарного?) формата пишем разработчику сюда, 10 заяв отработано.


Andrey_Ak написал:
[q]
Нужно научиться работать с остальными всеми форматами дискет...
[/q]
Боюсь спросить, но всё же. Где сейчас это востребовано? Куда курс держите, кто направил.
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Сергей С написал:
[q]
Боюсь спросить, но всё же. Где сейчас это востребовано? Куда курс держите, кто направил.
[/q]
Есть разные образы загрузочных дискет, для разных компьютеров..
Эти образы нормально понимают соответствующие эмуляторы и программы работы с образами..

Хочу с помощью SAMdisk писать эти образы на дискеты на современном ПК с дисководом 5.25",
и так-же читать такие дискеты в образы, и чтоб образы работали в эмуляторах...

Начал с теста на обычных образах DOS 360кб. Потом хочу отработать остальные форматы...


Сергей С написал:
[q]
- reduced default step-rate to improve compatibility with old drives"
Можете игнорить и ставить максимум чтения --step-rate 15, зачем, ну типа оверклок же, проверить секундомером рекомендую, и спросить потом не у разработчика, а тут. Здесь вероятно же лучше знают самого разработчика или нет?
[/q]
- Подробнее можете объяснить что за параметр и как его лучше настроить?

Про этот параметр я прочитал только: "To read a 40-track disk in an 80-track drive:" ну и попробовал его использовать...
Сергей С
Member


Всего сообщений: 151
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 янв. 2017
[q]
Про этот параметр я прочитал только: "To read a 40-track disk in an 80-track drive:" ну и попробовал его использовать...
[/q]
А я этого не знал, не интересовался, не имел с ними дела, есть только одна дискета 5,25 в хозяйстве, на которую даже ничего не записывал.
Но известно, что проблем с эмуляцией и копированием незащищённых дискет на соответствующей технике, быть не должно.
И хоть не мало найдётся людей которые смогут объяснить про "сферического коня в вакууме", про "существующий" параметр "--step-rate" мне практически ничего не известно, но уверен кто его ввёл знал что наделал.
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Вообщем кое-какие продвижения есть...

Для чтения и записи обычных DOS дискет, формата:
40 цилиндров (дорожек) * 2 головки * 9 секторов * 512 байт на сектор

Используем команды:

Дамп образа диска в файл:
SAMdisk.exe a: ADOS.DSK -c40 -s9 --double-step

Получается образ в собственном сжатом формате программы.
Этот-же образ можно так-же записать обратно на дискету:
SAMdisk.exe ADOS.DSK a: -c40 -s9 --double-step

Конвертация в обычный RAW образ:
SAMdisk.exe ADOS.DSK ADOS.RAW
Должен получится файл размером 368 640 байт.

Переименовываем получившийся образ ADOS.RAW в ADOS.IMG или ADOS.IMA
Теперь с этим образом можно работать в эмуляторе и других
стандартных программах работы с образами (WinImage например).

Запись образов на дискету:
SAMdisk.exe ADOS.RAW a: -c40 -s9 --double-step
или
SAMdisk.exe ADOS.IMG a: -c40 -s9 --double-step
или
SAMdisk.exe ADOS.IMA a: -c40 -s9 --double-step

Так-же можно записывать формат TD0:
SAMdisk.exe ADOS.TD0 a: -c40 -s9 --double-step
Andrey_Ak
Advanced Member


Откуда: Kazakhstan, Almaty
Всего сообщений: 869
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
29 сен. 2009
Ну а теперь пытаюсь разобраться с нестандартным DOS форматом (На старых Искра 1030.11-2/4) :

80 цилиндров (дорожек) * 1 головка * 9 секторов * 512 байт на сектор

1) Есть рабочий образ такого диска, снятый TeleDisk...

Запись этого образа TD0 на дискету:
SAMdisk.exe ADOS.td0 a: -c80 -s9 -h0

- Дискета получается рабочей, машина с нее успешно загружается...

- А если из этого файла TD0 вытащить образ RAW диска,
то этот образ успешно работает в эмуляторе...

2) Теперь пробуем сделать дамп этой дискеты:

Дамп образа диска в файл:
SAMdisk.exe a: ADOS.DSK -c80 -s9 -h0
Получается образ в собственном сжатом формате программы.
Этот-же образ можно так-же записать обратно на дискету:
SAMdisk.exe ADOS.DSK a: -c80 -s9 -h0
Идет сначала форматирование каждого цилиндра, а потом запись каждого цилиндра, и так на все 80 цилиндров.

- Дискета получается рабочей, машина с нее успешно загружается...

3) Пробуем вытащить образ этой дискеты из собственного формата программы:

Конвертация в обычный RAW образ:
SAMdisk.exe ADOS.DSK ADOS.RAW
Должен получится файл размером 368 640 байт.

Переименовываем получившийся образ ADOS.RAW в ADOS.IMG или ADOS.IMA
Теперь с этим образом можно работать в эмуляторе и других
стандартных программах работы с образами (WinImage например).
Данный получившийся образ, работает в эмуляторе и даже загружается с него, не смотря на то, что он
сделан с односторенней дискеты, т.к. для DOS данный образ видется как обычная двух-сторонняя дискета.

И если посмотреть свойства этого дампа диска:
SAMdisk.exe info ADOS.DSK
То программа думает что это образ двух-стороннего диска:
Type: BPB
Format: 250Kbps MFM, 40 cyls, 2 heads, 9 sectors, 512 bytes/sector.


4) Ну а теперь самое сложное, запись этого образа обратно на дискету:

!! Запись образа на дискету:
!! SAMdisk.exe ADOS.IMG a: -c80 -s9 -h0
!! Идет сначала форматирование каждого цилиндра, а потом запись каждого цилиндра,
!! и так только до 40 цилиндра, далее идет просто форматирование оставшихся 40 цилиндров
!! естественно дискета получается не рабочей на реальной машине.

Как сказать программе чтоб она правильно смогла записать такой образ?

Вот описание формата Искры:

Драйвер диска базовой системы ввода-вывода ПП ЭВМ "ИСКРА-1030"
(прерывание INT 13H) поддерживает работу с дискетой только в формате 1
сторона-80 дорожек, или только 1 сторона-40 дорожек, в зависимости от
перемычки на плате микро-ЭВМ.
Напомним,что в ПП ЭВМ "ИСКРА-1030" дискеты, имеющте разметку 1
сторона - 80 дорожек, АДОС или любая версия MS DOS воспринимает как
двусторонние по 40 дорожек на стороне.Интерфейсом,поддержеваемым это
соответствие является драйвер гибкого диска БСВВ.На практике это
реализовано следующим образом.Обычно, дискетные устройства IBM-PC и
других совместимых с ней персональных машин имеют 2 головки по 40
шагов.Дисковое устройство использует 1 головку и может выполять 80
шагов, причем шаг головки ровно в 2 раза меньше чем в
IBM-PC.Если драйвер диска БСВВ получает запрос на чтение (или запись)
дорожек 0,1,2,3...39 нулевой стороны, то физически он обращается к
дрожкам 0,2,4,6...78 (т.е. к четным дорожкам) головки 0,а при запросе
дорожек 0,1,2,3...39 стороны 1(т.е.головки 1) - драйвер работает с
дорожками 1,3,5...79(не четными),но опять же головки 0(т.е. стороны
0)
<<Назад  Вперед>> Страницы: 1 2
Печать
Полигон-2 »   Технический флейм »   Драйвер fdrawcmd.sys и SAMdisk
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS