Важная информация

User Tag List

Страница 46 из 48 ПерваяПервая ... 42434445464748 ПоследняяПоследняя
Показано с 451 по 460 из 471

Тема: Орион-ПРО. Софтверные дела

  1. #451
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    Может кто подскажет, под Орион-ПРО драйвера для принтера существуют в природе? от Ориона-128 они я так понимаю не подойдут на прошку, схемы подключения принтера ведь разные...
    А что, натурально будет принтер подключен? Они еще встречаются живые? А какой?
    К разным принтерам теоретически драйвера разные. Если порт принтера известен и использоваться принтер будет в CP/M, то драйвер принтера можно сделать легко самому - там ведь всего-то задача взять с вектора CP/M байт и кинуть в порт, и в обратку через другой вектор транслировать статус BUSY. К примеру в Альтаир-дос это можно сделать из драйвера из примера в описании (в конце статьи) - в примере он подзвучивает вывод символа в консоль сидя на векторе CONOUT, и надо пересадить его на LPTOUT (константу поправить), добавить по аналогии LPTSTATUS и поправить целевую подпрограмму на IN/OUT с соответствующим портом. Если нужна перекодировка, то тут уже надо добавлять таблицы.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  2. #451
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #452
    Master
    Регистрация
    10.02.2014
    Адрес
    г. Тула
    Сообщений
    538
    Спасибо Благодарностей отдано 
    48
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    А что, натурально будет принтер подключен? Они еще встречаются живые? А какой?
    Да, хочу принтер подключить Попался мне в руки наш струйник MS6312 https://red-innovations.su/index/photos_c/6312.html
    Восстановил его. Пришлось микруху заменит 580ГФ24 и кондеры по питанию высохли, пульсации дикие были. Доработал для установки печатающих головок от HP 51604A. Вроде завелся, в автономном режиме тестовую страницу печатает. Принтер прикольный, такой компактный и печатает прилично, я думал будет хуже.
    Подключил его к прошке как рекомендуют, интерфейс типа CENTRONIX (ИРПР-М) Нашел к ORDOS программку Print Master с драйверами принтера (описана в журнале Радио №10-11 1993г.) Попробовал что-нибудь распечатать и тишина..

    Цитата Сообщение от Error404 Посмотреть сообщение
    К разным принтерам теоретически драйвера разные. Если порт принтера известен и использоваться принтер будет в CP/M, то драйвер принтера можно сделать легко самому - там ведь всего-то задача взять с вектора CP/M байт и кинуть в порт, и в обратку через другой вектор транслировать статус BUSY. К примеру в Альтаир-дос это можно сделать из драйвера из примера в описании (в конце статьи) - в примере он подзвучивает вывод символа в консоль сидя на векторе CONOUT, и надо пересадить его на LPTOUT (константу поправить), добавить по аналогии LPTSTATUS и поправить целевую подпрограмму на IN/OUT с соответствующим портом. Если нужна перекодировка, то тут уже надо добавлять таблицы.
    В прошке известны:
    01H - данные принтера, инверсные (запись);
    02H - управляющие сигналы принтера (чтение, запись);
    03H - регистр управления для портов 00H..02H;
    А в драйверах к программе Print Master используются порты F601, F602, F603. По идее должно работать на Орионе-ПРО ?
    Сначала бы убедиться, что сам принтер полностью рабочий, может в нем еще что-то полетело… Видимо придется разбираться с логикой работы и тестовую программку какую-то писать и отслеживать сигналы на разъеме принтера. Это уже сложней )))

  4. #453
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,224
    Спасибо Благодарностей отдано 
    477
    Спасибо Благодарностей получено 
    912
    Поблагодарили
    598 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    В прошке известны:
    01H - данные принтера, инверсные (запись);
    02H - управляющие сигналы принтера (чтение, запись);
    03H - регистр управления для портов 00H..02H;
    А в драйверах к программе Print Master используются порты F601, F602, F603. По идее должно работать на Орионе-ПРО ?
    Дима, привет. Нет, не будет работать. В ПРОшке адресация портов по IN/OUT, а порты F60x в О-128 адресуются, как память (LDA/STA).

    Можно попробовать дизассемблировать драйвер и переделать под ПРО. Только ещё надо бы как-то понять, так ли устроен порт на битовом уровне, и что за "инверсные данные" в описании порта 01h ?
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  5. #454
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    107
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что за ПринтМастер? Если это что-то самодельное радиолюбительское из Ордос, то к такому понятие "драйвер" обычно малоприменимо - там все обычно шарашит прямо по железу. В лучшем случае как драйвер может быть отдельно выделенный/подгружаемый кусок кода, для разных принтеров отличающийся, но такое обычно авторами не документировалось и если не лень и надо сделать аналогичное для неподдерживаемого принтера (и не дай бог с графикой), то дизассемблер в помощь (чтобы узнать чего оно делает в своем оригинальном "драйвере") и датащиты на принтер (чтобы понять к какому виду надо приводить оригинальный протокол). Это в общем виде. Что до конкретного принтера, то он достаточно древний чтобы быть поддержанным "искаропки" если повезет.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #455
    Member Аватар для kovdry
    Регистрация
    11.10.2010
    Адрес
    Запорожье
    Сообщений
    165
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    Доработал для установки печатающих головок от HP 51604A.
    Может не по теме, дайте описание переделок.
    Имею такой же принтер.
    Любопытно.

  7. #456
    Master
    Регистрация
    10.02.2014
    Адрес
    г. Тула
    Сообщений
    538
    Спасибо Благодарностей отдано 
    48
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Дима, привет. Нет, не будет работать. В ПРОшке адресация портов по 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 выдает байт состояния принтера (как и при печати символа).

    Цитата Сообщение от Error404 Посмотреть сообщение
    Что за ПринтМастер? Если это что-то самодельное радиолюбительское из Ордос
    Print Master под ORDOS с драйверами принтера в виде отдельных файлов под названием LPT (описана в журнале Радио №10-11 1993г.) Разработана фирмой «ОРИОНСОФТ» программку приложил в архив к сообщению в папке USER2.

    Цитата Сообщение от kovdry Посмотреть сообщение
    Может не по теме, дайте описание переделок.
    Имею такой же принтер.
    Там ничего сложного, для головки от HP надо повысить напряжение. Кто-то пишет необходимо увеличить напряжение до 24V, в брошюрах в архиве написано до 23V. Не стал рисковать, у себя пока сделал 23V. Дополнительный стабилитрон между точек 1 и 2 по описанию в листках не стал устанавливать. Заменил стабилитрон на Д814Д, и подрегулировал напряжение подстроечным резистором. В инете есть информация.
    Ссылка на архив https://dropmefiles.com/dotwS
    Вложения Вложения

  8. Этот пользователь поблагодарил Дмитрий2012 за это полезное сообщение:

    kovdry (05.11.2021)

  9. #457
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    146
    Спасибо Благодарностей получено 
    76
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На днях обзавелся матричным EPSON LQ-630, работает, имеет параллельный порт. Прям даже интересно его куда-нибудь присобачить. Вот только Far Cry 6 и Elite Legend всё время свободное отнимают
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  10. #458
    Activist
    Регистрация
    05.06.2020
    Адрес
    г. Балашиха
    Сообщений
    329
    Спасибо Благодарностей отдано 
    137
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    74 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию


    В принципе, в выводе байта на принтер нет ничего сложного, на сколько помню, если без анализа всех сигналов от принтера:
    1) Ждем пока BUSY упадет в "0"
    2) Выставляем байт данных
    3) Формируем Strobe
    4) Ждем от принтера ASK
    5) Убираем strobe
    6) Повторяем, пока есть, что слать.

    Помню, что можно было упростить и вместо п 3,4,5 просто сформировать Strobe определенной длительности ( 100 мкс, например)

    Что меня смущает, это то, что в Орионе на выходе порта стоит инветор с ОК, это нормально, но отсутсвтуют резисторы подляжки к +5. Я могу и ошибаться, но когда я разбирал плату мультикарты (были такие с портами COM|LPT|IDE для PC) я там видел и резисторы подтяжки и маленькие емкости, типа 1n на землю на каждом выводе данных, видимо, для гашения выбросов.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	OrionPRO-Print.jpg 
Просмотров:	59 
Размер:	24.2 Кб 
ID:	76358  

  11. Этот пользователь поблагодарил Romych за это полезное сообщение:

    Ewgeny7 (05.11.2021)

  12. #459
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,224
    Спасибо Благодарностей отдано 
    477
    Спасибо Благодарностей получено 
    912
    Поблагодарили
    598 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    Привет! Плохо, что придется переделывать…
    Имхо, всё не так сложно, как кажется.


    Цитата Сообщение от Дмитрий2012 Посмотреть сообщение
    надо попробовать хоть один символ вывести на печать. Если заработает, придется разбираться и адаптировать имеющийся софт для работы с принтером.
    Не знаю почему, но мне кажется, что если просто выводить на принтер ASCII-коды, то он будет их распечатывать в текстовом виде, безо всяких драйверов.
    По крайней мере было бы странно, если это не так, кмк.
    Надо попробовать на живом принтере)
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  13. #460
    Activist
    Регистрация
    05.06.2020
    Адрес
    г. Балашиха
    Сообщений
    329
    Спасибо Благодарностей отдано 
    137
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    74 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну да, @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.

Страница 46 из 48 ПерваяПервая ... 42434445464748 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Дела паяльные.
    от Sayman в разделе Для начинающих
    Ответов: 24
    Последнее: 09.10.2009, 20:14
  2. валаются без дела разобранные спектрумы
    от Damein Alpha в разделе Барахолка (архив)
    Ответов: 17
    Последнее: 17.09.2009, 10:15
  3. Дела мышиные...
    от Producer в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.01.2005, 02:59

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •