Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » CD в XT |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 * 7 8 9 10 11 | Печать |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
Если кто вдруг соберется писать драйвер, то есть книжка Лэй Р. Разработка драйверов устройств для MS-DOS Versus Ltd, Рязань 1992 http://wiki.sensi.org/download...s-dos.djvu Скан фиговый, но читается. |
das
Advanced Member
Откуда: МО и Москва Всего сообщений: 307 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 сен. 2015 |
Как всегда, полчаса дела растянулись на два. Продолжаю. MEM показал, что PATCH в памяти. Хм... с LDEVICE и обычным CDR112.sys MSCDEX тоже зависает. Помнится, была еще программка, LOADSYS или как то так. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 марта 2016 15:05 Сообщение отредактировано: 2 марта 2016 15:07
Ну хоть это не от моих модификаций, как я сначала подумал, и то неплохо. :-) LOADSYS вот: http://old-dos.ru/dl.php?id=423 Все эти ухищрения нужны потому, что не получается в config.sys загрузить сначала patch.com, а потом драйвер, даже через install=patch.com, почему-то device отрабатывает сначала, а потом уже install, независимо от их размещения в config.sys. А попробуйте-ка вот так: загрузите device=cdr112_2.sys /P:320 /D:banana через config.sys, а потом уже запустите patch.com обычным образом, и только потом mscdex.exe P.S. Я почему LDevice предложил - у меня через него oakcdrom.sys вполне нормально грузится, вот я и подумал, что с другим тоже фокус пройдёт, ан нет... |
das
Advanced Member
Откуда: МО и Москва Всего сообщений: 307 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 сен. 2015 |
Ок, проверю прямо сейчас. Перебирал дрова Сони, версии: без версии, без описания, без исталлятора - зависает SLCDE.SYS 1.71, без описания, но с инсталлятором - зависает CLCD.SYS 1.73, без описания, но с инсталлятором - тоже самое 2.20 - инсталлятор (куча запутанных батников) не установил все, что нужно, но в большом описании расписаны опции для установки на XT, разбираюсь... заодно расписаны требования к ДОСу. Таки этот драйвер на ХТ должен работать, лишь бы линуксоиды не наврали насчет Сони-интерфейса данного привода. Что характерно, все инсталляторы пихают порт 340, и на плате можно выбрать такой. Это говорит в пользу версии о Сони-интерфейсе. Разные другие драйверы, для других интерфейсов - совсем другие диапазоны портов. В общем - есть шанс. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 марта 2016 16:22 Сообщение отредактировано: 2 марта 2016 16:34
Есть ещё вот этот драйвер: http://ftp.mirrorservice.org/s...dol108.zip Он для Dolphin 8000AT-2x, но чем чёрт не шутит... Хотя вряд ли, сейчас вот глянул - там тоже есть этот же код для 186+... |
das
Advanced Member
Откуда: МО и Москва Всего сообщений: 307 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 сен. 2015 |
Так это он и есть: полное название производителя-привода: Optic Storage - Dolphin 8000AT 2x uav1606, вот это - заработало!!! Даже не знаю, как выразить Вам свою благодарность, слов нет! Респект! А попробуйте-ка вот так: загрузите device=cdr112_2.sys /P:320 /D:banana через config.sys, а потом уже запустите patch.com обычным образом, и только потом mscdex.exe Прописал PATCH.COM перед MSCDEX.EXE в AUTOEXEC.BAT В приводе - диск дистрибутива W2K3S, фото внизу. И самописные CD-R - тоже читает! uav1606, я так понимаю, что PATCH.COM правит кусочек кода загруженного драйвера на совместимый с 8088? Завтра под ДОС 3.3 повторю, заодно и DOL108.SYS проверю. Прикрепленный файл (IMG_20160302_163148.jpg, 206950 байт, скачан: 15 раз) |
das
Advanced Member
Откуда: МО и Москва Всего сообщений: 307 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 11 сен. 2015 |
Не вполне понятно, зачем на плате контроллера перемычки IRQ 3-4-5-6 и DMA 1-2-3, если плата эти ресурсы не занимает. Но это и к лучшему, сетевой карте ресурсы останутся, но это будет отдельная тема про археологию сетевых технологий, буду Arcnet поднимать. |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 марта 2016 17:08 Сообщение отредактировано: 2 марта 2016 17:08
das написал: Попытаюсь объяснить... В коде драйвера есть одна инструкция для процессора 80186/188+ - rep insb (FCh 6Ch). Чтобы этот код заработал на 8086/88, нужно поменять всё это на примерно такой код: uav1606, я так понимаю, что PATCH.COM правит кусочек кода загруженного драйвера на совместимый с 8088? push ax Проблема в том, что если я "инъектирую" этот код в драйвер и перекомпилирую его, то он не работает, т.к., видимо, где-то смещаются адреса, т.к. файл становится длиннее. Поэтому я сделал следующий "костыль": заменил в драйвере hex-редактором rep insb (FCh 6Ch) на int 0f1h (CDh F1h) - вызов неиспользуемого обычно прерывания F1. Длина файла при этом не меняется. А потом написал резидент patch.com, который вешается на это прерывание и выполняет вышеприведённый код, т.е. "развёрнутый" вариант инструкции rep insb для 86/88, а потом возвращает управление в точку вызова. |
Gerda
Advanced Member
Седьмая из Девяти. Откуда: Ленинград Всего сообщений: 1130 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 мар. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 марта 2016 17:34 Сообщение отредактировано: 2 марта 2016 17:43 "Костыль, Джон!" ©"Остров сокровищ", Ленфильм, 1982, Владимир Воробьёв. Реплика Джорджа Мерри. А потом написал резидент patch.com, который вешается на это прерывание и выполняет вышеприведённый код, т.е. "развёрнутый" вариант инструкции rep insb для 86/88, а потом возвращает управление в точку вызова. Убрать из "тела" процедуру, проверяющую длину файла, не? Есть такая книжка, причём ещё бумажная. Весьма бестолково написана, между прочим. то есть книжка |
uav1606
Advanced Member
Откуда: Енакиево Всего сообщений: 4373 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 16 янв. 2008 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 марта 2016 17:38 Сообщение отредактировано: 2 марта 2016 17:41 Xalveyn, не уверен, что она там есть. Там просто может быть код вроде mov ax, какое-то число. Дизассемблер не поймёт, что это адрес или часть адреса, и не скорректирует его при повторной компиляции файла с изменённой длинной. И таких точек может быть полно - надо полностью разбирать код. Убрать из "тела" процедуру, проверяющую длину файла, не? Были б исходники, тогда другое дело. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 * 7 8 9 10 11 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » CD в XT |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |