![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программная регулировка скорости LPT порта [D5, D6, Win2k]
SJ-79 © (2003-01-08 13:19:00)Привет Всем! Возможно ли программно регулировать скорость LPT порта? Если да, то как это сделать? Проблема в том, что есть принтер Hyundai HDP-920 (очень старая модель, но качественная), который "затыкается" при работе с современным железом из-за слишком большой для него скорости порта. Заранее благодарен.
Наезжалкин (2003-01-20 21:37:00) [1]Итак, по поводу принтера.
Идея была следующая: взять исходники драйвера parport.sys из Windows 2000 DDK, проставить в нём задержки побольше и заменить стандартный драйвер.
Скомпилировать драйвер из исходников, как вы понимаете, не проблема.
Проблема в том, что пока мне не удалось обойти System file protection.
Драйвер для параллельного порта ДОЛЖЕН быть сопоставлен сервису Parport и ОБЯЗАН называться parport.sys. Иначе система его в упор не видит.
Но, т.к. в дистрибутиве системы уже есть файл parport.sys - свой, с цифровой подписью, система рассматривает замену parport.sys как криминал и "восстанавливает справедливость", заменяя новый parport.sys старым из дистрибутива.
Когда я докумекаю, как обойти это дело, проблема будет решена (на 75% ;).
Отключение system file protection является нежелательным действием, поэтому не рассматривается.
Ещё интересные факты: 1)Большинство задержек между выдачей управляющих сигналов в режиме SPP составляет 5 мкс. NB!
2)Появилась новая идея - аппаратное решение. Коробочка с 4-мя микросхемами женской логики ставится между принтером и портом LPT. Питание с разъёма джойстика. Зачем? Чтобы выдавать ложный строб компьютеру, имитируя быстрый принтер, а для принтера формирует медленный протокол.
Если не получится программно, сделаем аппаратно. Схема будет простая - типа, конструкция выходного дня :)
Так что не волнуйтесь, рано или поздно мы эту задачу добъём! Не будь я Наезжалкин!!!
SJ-79 (2003-01-20 16:02:00) [2]Наезжалкин (10.01.03 14:28)
Очень хотелось бы узнать чем закончились опыты.
Заранее благодарен.
SJ-79 (2003-01-10 17:59:00) [3]Буду с нетерпением ждать.
Наезжалкин (2003-01-10 14:28:00) [4]>SJ-79 (10.01.03 13:11)
Может, так -- у меня дома валяется старый RAVI8010. С ним та же проблема. Раз уж проблемы не только у меня, я этим займусь на выходных вплотную. Что получилось и как подробно расскажу :) Ok?
SJ-79 (2003-01-10 13:11:00) [5]Наезжалкин (10.01.03 12:47)
>Комплект документации и программных средств от МелкоСофта для >разработки драйверов скачивается с сайта МелкоСофта
>Увы, ребята, уже не скачивается... :(
А где бы тогда достать ентот DDK?
>Надо драйвер parport.sys переделывать. Найти место, где он пишет и вставить паузу.
Если можно, то, пожалуста, чуть поподробнее как это сделать.
Заранее благодарен.
Наезжалкин (2003-01-10 12:47:00) [6]>Комплект документации и программных средств от МелкоСофта для >разработки драйверов скачивается с сайта МелкоСофта
Увы, ребята, уже не скачивается... :(
RV (2003-01-10 12:12:00) [7]АЦПУ ЕС 1036/1040 - вещь!!!
я на старой работе застал, даже печатал
грохот был!!!!!!!!!, весело словом, а потом придумал как таблички из БД укоротить и сменили принтер
по сабжу - откопали(за 2 литра) 386 комп, и с него печатали на тоже какой то хрени наподобие сабжа.
wal (2003-01-10 10:55:00) [8]Комплект документации и программных средств от МелкоСофта для разработки драйверов - скачивается с сайта МелкоСофта
SJ-79 (2003-01-09 16:50:00) [9]wal © (09.01.03 12:52)
Тогда совсем глупый вопрос: а что такое DDK?
wal (2003-01-09 12:52:00) [10]Конкретно - сменить принтер на более новый (или компьютер на более старый), а вообще см.
> Наезжалкин (08.01.03 17:09)
SJ-79 (2003-01-09 12:35:00) [11]Большое спасибо всем кто откликнулся! Хотелось бы, однако, вернуться к нашим "баранам". Кто-нибудь знает, что конкретно можно сделать в данном случае? Заранее благодарен.
Anatoly Podgoretsky (2003-01-09 07:55:00) [12]wal © (08.01.03 22:22)
Четкая демонстрация некомпетентности разработчиков, наверно еще и в программе задержки реализовывают путем вычитания из регистра, видел такие "драйвера"
DC-AC (2003-01-09 07:32:00) [13]SJ-79 : извиняюсь, видимо когда разрабатывался стандарт IEEE1284 я ещё "под стол пешком ходил", а точнее обслуживал мэйнфреймы ЕС 1045/1066 с такими "зверями" как АЦПУ ЕС 1036/1040. А изучение принтеров начал с EPSON FX-800. Так что может быть я не в курсе, как может работать устройство, не соблюдающее стандарты на компьютере, сделанном по стандартам почти двадцатилетней давности. Наверное только через самостоятельно написанный драйвер...
wal (2003-01-08 22:22:00) [14]
> Anatoly Podgoretsky © (08.01.03 17:12)
> Этим они оправдывают свою некомпетентность
Не совсем верно, на некоторых старых девайсах порты реализованы некорректно, типичный пример - см. выше. Могу еще привести пример - графопостроитель POLTIK (или POLTIC - непомню точно) - в нем есть аж два интерфейса - параллельный - реалзован настолько криво, что я смог его запустить только под ДОСом, управляя ручками всеми сигналами; и последовательный - реализованный несколько прямее - говорил что он занят ВЫСТАВЛЯЯ (а не сбрасывая) сигнал CTS, при этом RTS в нем вообще не был подключен.
Anatoly Podgoretsky (2003-01-08 17:12:00) [15]SJ-79 (08.01.03 15:52)
Этим они оправдывают свою некомпетентность
Наезжалкин (2003-01-08 17:09:00) [16]Надо драйвер parport.sys переделывать. Найти место, где он пишет и вставить паузу. Иначе никак. Исходники ^^^ были в DDK.
SJ-79 (2003-01-08 15:52:00) [17]Уважаемый DC-AC привожу Вам цитату из статьи по настройке данной модели принтера:
... Дело в том, что данные принтеры создавались в эру когда процессоры 8086-80286 были основными для персоналок, а 386-й считался вершиной технологии. Действительно, данные принтеры нормально работали с машинами на процессорах до 386SX-40, а с 386DX-40 глючили. Причиной этого является особенность порта у HDP-920: 386DX оказывался для него слишком быстрым и принтер "затыкался". Выручали различные самопальные программки замедления параллельного порта (<-???)...
Вот откуда моя, возможно ошибочная , информация. Надеюсь, что поможете разобраться.
Заранее благодарен.
DC-AC (2003-01-08 13:54:00) [18]Нет такого понятия "скорость порта", есть понятие "максимальная скорость передачи данных". С какой скоростью драйвер в LPT посылает данные, с такой они и уйдут в порт. И никакой нормальный драйвер не будет пытаться "засунуть" принтеру данные, если активен сингал BUSY, а подождёт, пока у принтера освободится приёмный буфер. Так что либо Вы либо мы что-то недопонимаем...