Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Технический флейм » Драйвер 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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 марта 2019 17:37 Сообщение отредактировано: 4 марта 2019 18:42
Например программа 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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 4 марта 2019 21:40 Сообщение отредактировано: 4 марта 2019 21:43
Чтобы образы RAW нормально виделись WinImage, нужно, чтобы у них был более-менее стандартный бут-сектор а-ля DOS. Если он нестандартный, то она ничего не увидит. Некоторые эмуляторы тоже привередливые - им нужна сигнатура 55h AAh в бут-секторе, иначе грузиться не хотят. |
Andrey_Ak
Advanced Member
Откуда: Kazakhstan, Almaty Всего сообщений: 869 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 29 сен. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 5 марта 2019 5:30 Сообщение отредактировано: 5 марта 2019 5:32
Так дело не в этом, есть стандартные загрузочные образы 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 | |
Andrey_Ak
Advanced Member
Откуда: Kazakhstan, Almaty Всего сообщений: 869 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 29 сен. 2009 |
Я не программист, чтобы в исходниках искать как работать с программой... |
Сергей С |
Andrey_Ak написал: Если к содержимому файлов диска претензий нет, а лишь на загрузку - стоит узнать о том как происходит этот процесс. затем переименовав полученный image.raw в image.img подключаю этот образ в эмулятор, Возможно система даёт подсказку и что-то сообщает на экран монитора при попытке загрузки с дискеты? |
Andrey_Ak
Advanced Member
Откуда: Kazakhstan, Almaty Всего сообщений: 869 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 29 сен. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 марта 2019 5:16 Сообщение отредактировано: 6 марта 2019 11:27
Сергей С написал: Да ничего не сообщает, эмулятор начинает читать дискету, потом прекращает и висит... Если к содержимому файлов диска претензий нет, а лишь на загрузку - стоит узнать о том как происходит этот процесс. Вот если так снать образ, то эмулятор грузиться: 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 на дискету, то на реальной машине загрузка идет.. |
Сергей С |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 марта 2019 11:08 Сообщение отредактировано: 6 марта 2019 11:13
Так "научиться пользоваться программой" вы научились, по инструкции, на примерах, а что происходит при этом не знаете, что находится в получаемых файлах не проверяете, возможно знаете для чего специально указываете опцию -s9 или -d . А там такого и нет, там описаны производимые действия, а итог всех или части этих действий вы уже сами интерпритируете, комментарии в коде могут подсказывать что/зачем. Я не программист, чтобы в исходниках искать как работать с программой... Автору программы уже 5 раз сообщали о проблемах самой программы, и все они решены. Вы можете поступить так же. Я вчера попробовал данную программу, и такая команда не работает, вероятно здесь остались лишние "a:". Слышали о "проблеме Copy - Paste" ? 2) SAMdisk a: image.dsk image.raw В первом варианте Вы считали данные с дискеты, в этом образе image1.dsk отсутствует информация о том что при записи считанной информации на дискету применяется особый формат -> не грузится с реальной дискеты. Далее конвертация и эмулятор получил корректные данные содержимого всех секторов, а в настройках эмуляции вы указали соответсвующий тип эмуляции -> система грузится. Во втором варианте Вы считали данные с дискеты, в этом образе image2.dsk присутствует информация о типе форматирования при записи считанной информации на дискету -> грузится с реальной дискеты. Далее конвертация и эмулятор получил НЕкорректные данные содержимого всех секторов, а в настройках эмуляции вы указали соответсвующий тип эмуляции -> система НЕ грузится. PS: Сегодня сравнил image1.raw и image2.raw, первые 36 секторов совпали(правда использовался другой привод и носитель), а остальные данные в image2.raw оказались забиты байтом 00h. Этих первых сеторов оказалось достаточным для хранения загрузочного сектора, таблицы FAT12 и содержимого корневого каталага выдаваемого по команде dir и ещё немного данных. Об этом не в справке, ни в инструкции ничегошеньки не написано/сказано, вы хотели научиться пользоваться, а не чему-то другому. В армии чему учат, автоматом пользоваться, махлу или/и Родину защищать? Читаем ChangeLog.txt к программе: - Очень медленно снимает образ, почему так? "Version 3.8.11 (2018-05-18) --------------------------- ... - reduced default step-rate to improve compatibility with old drives" Можете игнорить и ставить максимум чтения --step-rate 15, зачем, ну типа оверклок же, проверить секундомером рекомендую, и спросить потом не у разработчика, а тут. Здесь вероятно же лучше знают самого разработчика или нет? Читайте внимательно: формат 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 написал: Боюсь спросить, но всё же. Где сейчас это востребовано? Куда курс держите, кто направил. Нужно научиться работать с остальными всеми форматами дискет... |
Andrey_Ak
Advanced Member
Откуда: Kazakhstan, Almaty Всего сообщений: 869 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 29 сен. 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 6 марта 2019 11:24 Сообщение отредактировано: 6 марта 2019 12:49
Сергей С написал: Есть разные образы загрузочных дискет, для разных компьютеров.. Боюсь спросить, но всё же. Где сейчас это востребовано? Куда курс держите, кто направил. Эти образы нормально понимают соответствующие эмуляторы и программы работы с образами.. Хочу с помощью SAMdisk писать эти образы на дискеты на современном ПК с дисководом 5.25", и так-же читать такие дискеты в образы, и чтоб образы работали в эмуляторах... Начал с теста на обычных образах DOS 360кб. Потом хочу отработать остальные форматы... Сергей С написал: - Подробнее можете объяснить что за параметр и как его лучше настроить? - reduced default step-rate to improve compatibility with old drives" Про этот параметр я прочитал только: "To read a 40-track disk in an 80-track drive:" ну и попробовал его использовать... |
Сергей С |
А я этого не знал, не интересовался, не имел с ними дела, есть только одна дискета 5,25 в хозяйстве, на которую даже ничего не записывал. Про этот параметр я прочитал только: "To read a 40-track disk in an 80-track drive:" ну и попробовал его использовать... Но известно, что проблем с эмуляцией и копированием незащищённых дискет на соответствующей технике, быть не должно. И хоть не мало найдётся людей которые смогут объяснить про "сферического коня в вакууме", про "существующий" параметр "--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 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 11 марта 2019 17:49 Сообщение отредактировано: 11 марта 2019 18:14
Ну а теперь пытаюсь разобраться с нестандартным 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 |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |