Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Программная регулировка скорости 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, а подождёт, пока у принтера освободится приёмный буфер. Так что либо Вы либо мы что-то недопонимаем...


Наверх

Титульная страница Поиск, карта сайта Написать письмо