Может кто подскажет, под Орион-ПРО драйвера для принтера существуют в природе? от Ориона-128 они я так понимаю не подойдут на прошку, схемы подключения принтера ведь разные...
Может кто подскажет, под Орион-ПРО драйвера для принтера существуют в природе? от Ориона-128 они я так понимаю не подойдут на прошку, схемы подключения принтера ведь разные...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А что, натурально будет принтер подключен? Они еще встречаются живые?А какой?
К разным принтерам теоретически драйвера разные. Если порт принтера известен и использоваться принтер будет в CP/M, то драйвер принтера можно сделать легко самому - там ведь всего-то задача взять с вектора CP/M байт и кинуть в порт, и в обратку через другой вектор транслировать статус BUSY. К примеру в Альтаир-дос это можно сделать из драйвера из примера в описании (в конце статьи) - в примере он подзвучивает вывод символа в консоль сидя на векторе CONOUT, и надо пересадить его на LPTOUT (константу поправить), добавить по аналогии LPTSTATUS и поправить целевую подпрограмму на IN/OUT с соответствующим портом. Если нужна перекодировка, то тут уже надо добавлять таблицы.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Да, хочу принтер подключитьПопался мне в руки наш струйник MS6312 https://red-innovations.su/index/photos_c/6312.html
Восстановил его. Пришлось микруху заменит 580ГФ24 и кондеры по питанию высохли, пульсации дикие были. Доработал для установки печатающих головок от HP 51604A. Вроде завелся, в автономном режиме тестовую страницу печатает. Принтер прикольный, такой компактный и печатает прилично, я думал будет хуже.
Подключил его к прошке как рекомендуют, интерфейс типа CENTRONIX (ИРПР-М) Нашел к ORDOS программку Print Master с драйверами принтера (описана в журнале Радио №10-11 1993г.) Попробовал что-нибудь распечатать и тишина..
В прошке известны:
01H - данные принтера, инверсные (запись);
02H - управляющие сигналы принтера (чтение, запись);
03H - регистр управления для портов 00H..02H;
А в драйверах к программе Print Master используются порты F601, F602, F603. По идее должно работать на Орионе-ПРО ?
Сначала бы убедиться, что сам принтер полностью рабочий, может в нем еще что-то полетело… Видимо придется разбираться с логикой работы и тестовую программку какую-то писать и отслеживать сигналы на разъеме принтера. Это уже сложней )))
Дима, привет. Нет, не будет работать. В ПРОшке адресация портов по IN/OUT, а порты F60x в О-128 адресуются, как память (LDA/STA).
Можно попробовать дизассемблировать драйвер и переделать под ПРО. Только ещё надо бы как-то понять, так ли устроен порт на битовом уровне, и что за "инверсные данные" в описании порта 01h ?
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Привет! Плохо, что придется переделывать… По идее порт принтера Орион-ПРО должны были сделать совместим, с портом принтера Орион-128. Тем более уже существовал софт от Орионсофт.
По поводу инверсии, я думаю это связано с инверторами на выходах 580ВВ55, у принтера в моем случае на входе также установлены инверторы посмотри схему в архиве по ссылке, которую я приложил ниже для kovdry. Тут видимо придется экспериментировать с драйвером, может придется данные инвертировать, надо разбираться.
Нашел описание подпрограммы PRINT, надо попробовать хоть один символ вывести на печать. Если заработает, придется разбираться и адаптировать имеющийся софт для работы с принтером.
Подпрограмма PRINT (0F821H) предназначена для обслуживания печатающего устройства и выполняет две функции.
Если входное значение регистра A=0, то подпрограмма PRINT выводит символ с кодом, указанным в регистре C, на печать. В регистре A на выходе возвращается байт состояния печатающего устройства со следующими значениями битов:
D0 – отсутствие бумаги в принтере,
D1 – признак ошибки ERROR,
D2 – признак отсутствия готовности BUSY,
D3..D7 – нули.
Таким образом, признаком готовности принтера является выходное значение A=0.
При входном значении регистра A=1 подпрограмма PRINT выдает байт состояния принтера (как и при печати символа).
Print Master под ORDOS с драйверами принтера в виде отдельных файлов под названием LPT (описана в журнале Радио №10-11 1993г.) Разработана фирмой «ОРИОНСОФТ» программку приложил в архив к сообщению в папке USER2.
Там ничего сложного, для головки от HP надо повысить напряжение. Кто-то пишет необходимо увеличить напряжение до 24V, в брошюрах в архиве написано до 23V. Не стал рисковать, у себя пока сделал 23V. Дополнительный стабилитрон между точек 1 и 2 по описанию в листках не стал устанавливать. Заменил стабилитрон на Д814Д, и подрегулировал напряжение подстроечным резистором. В инете есть информация.
Ссылка на архив https://dropmefiles.com/dotwS
kovdry(05.11.2021)
Имхо, всё не так сложно, как кажется.
Не знаю почему, но мне кажется, что если просто выводить на принтер ASCII-коды, то он будет их распечатывать в текстовом виде, безо всяких драйверов.
По крайней мере было бы странно, если это не так, кмк.
Надо попробовать на живом принтере)
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Ну да, @Denn, должен. Я посмотрел, похоже он и по камандам обычный Epson совместимый принтер. Единственное, на что нужно обратить внимание, что он может работать как в режиме ИРПР, так и ИРПР-М (Centronics), в инструкции написано где перемычку поставить, ну @Дмитрий2012 и так это уже сделал. Подтягивающие резисторы на стороне принтера установлены. То что у принтера на входе инверторы, думаю не важно, раз он Centronics совместим, значит софт принтера учитывает эту инверсию. На стороне Ориона, надо учитывать наличие инверторов и перед выводом данных в порт ВВ55, инвертировать байт данных.
А вот код для печати на принтере, как вы думаете, где я его взял?
Код:PORT_01_PRNT_DAT EQU 0x01 PORT_02_PRNT_CTL EQU 0x02 PORT_03_CTL EQU 0x03 ; Программирование портов ВВ55 LD A,0x98 OUT (PORT_03_CTL),A ; DIP SW, PRINTER ; ---------------------------------------------- ; Печать ; Вход: ; 1. A !=0 - чтение статуса PRINT ; 2. A = 0 - печать символ ; C = символ для печати ; Выход: ; A = 0 - символ принят ; A != 0 - принтер не готов ; D0=1 - неисправность (ERROR) ; D1=1 - занят (BYSY) ; ---------------------------------------------- PRINT AND A JR Z,WPRT1 STATU PUSH BC LD B,0x5 NOP IN A,(PORT_02_PRNT_CTL) RLCA RLCA RLCA XOR B AND 0x7 POP BC RET ; ---------------------------------------------- ; Печать символа из регистра С ; ---------------------------------------------- WPRT1 PUSH BC PUSH DE PUSH HL WPRT2 CALL STATU JR NZ,WPEND LD A,C CPL OUT (PORT_01_PRNT_DAT),A LD A,1 ; STROBE -\_ OUT (PORT_02_PRNT_CTL),A NOP NOP XOR A OUT (PORT_02_PRNT_CTL),A ; STROBE _/- CALL STATU WPEND POP HL POP DE POP BC RETСкрытый текст
Ну да, это код той самой подпрограммы BIOS Ориона 0xF821 (PRINT), ничего сложного и необычного.[свернуть]
Последний раз редактировалось Romych; 06.11.2021 в 00:50.
Может кому пригодится. Нашел все-таки софт и драйвер принтера для Орион-ПРО. Программа находится на диске в USER1 и называется PM (Print Master V1.0). Как написано в описании работает только в OSDOS не ниже V2.6Х в первой странице ОЗУ.
Теперь имея нормальный драйвер, думаю и к ORDOS-совскому софту получится его прикрутить.
Добавил программу PRINT MASTER под ORDOS c исходниками драйверов принтера для Орион-ПРО. Проверено в работе с принтером MS6312.
Последний раз редактировалось Дмитрий2012; 05.03.2023 в 10:06. Причина: Добавил исходники драйверов принтера для Орион_ПРО
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)