Да, из РК-ДОС пытаюсь по инструкции печатать командами PRN, TYPE..
Вид для печати
Да, из РК-ДОС пытаюсь по инструкции печатать командами PRN, TYPE..
Если да, то посмотрите директиву DED1F,ED21
прямо на ВВ55? вполне может быть что он просто по току не тянет, в принтере могут быть подтягивающие резисторы на интерфейсе. посмотреть осциллографом, если не тянет - надо буфер ставить.
- - - Добавлено - - -
на фото вроде кроме принтера ничего нет. а подпрограмма работы с принтером должна режим ВВ55 настроить как надо.
а что с таймером не так? у него /RD к плюсу притянут, так что шина данных всегда только на ввод работает. конфликтовать нечему.Цитата:
Вы о чем?
Написано же выше с чем есть
Все это дерьмо попадет на ВИ53, а таймер обычно для звука используется. Дерьмо будет слышно даже.
В эмуляторе Виктора попробуйте.
- - - Добавлено - - -
В эмуляторе дает следующий результат
Это неверный адрес порта для Микроши. Поэтому печать не должна работать из ДОС.Цитата:
ED1F 21
ED20 02 A0
Прошивка не для Микроши, а для РК. Вероятно не полностью адаптированная.
Что можно сделать.
Адаптировать прошивку для Микроши.
Написать тестовую программу для печати и попробовать без ДОС.
Pluto, держите свеженаписанный тест для печати (собрано под Микрошу). :smile:
Выводит тестовый текст на экран и на принтер, посимвольно.
Ожидает сигнала BUSY с принтера, так что без принтера задумается после вывода первой буквы. :v2_dizzy_sleep2:
Исходник
Код:;--------------------------------------
; ТЕСТ ПЕЧАТИ НА ПРИНТЕР ДЛЯ РК*
; c6lab
;--------------------------------------
;MONITOR2 = 0F86Ch
MONITOR2 = 0F891h ; mikrosha
PRINTC = 0F809h
;VF80F = 0F80Fh
; RCW = PC0-PC3 Input,
; PC4-PC7 Output,
; PA Output, PB Output
PPAMODE = 81H
; PA0..PA7 - Data
; PC7 - /Strobe
MASK_STROBE = 80h
; PC3 - Busy
MASK_BUSY = 08h
;LPTPPA = 0A003h
;LPTCTRL = 0A002h
LPTCTRLL = 02h
LPTPPA = 0C803h ; mikrosha
LPTCTRL = 0C802h ; mikrosha
.org 0100h
call LPTINIT
call LPRINT
.db "primer wyzowa "
.db "podprogrammy "
.db "PRINT.", 0Dh, 0Ah
.db "konec soob}eniq -"
.db " 00", 0Dh, 0Ah
.db 0
jmp MONITOR2
;--------------------------------------
LPRINT:
pop h ; ret
LPRINT01:
mov c, m
push h
call VF80F ; vector of LPRINTC
pop h
inx h
mov a, m
ora a
jnz LPRINT01
pchl ; ret
LPTINIT:
lxi h, LPTPPA
mvi m, PPAMODE
dcx h
mvi m, MASK_STROBE
ret
VF80F:
push psw
push b
call PRINTC
pop b
lxi h, LPTCTRL
LWAIT:
; PC3 - Busy
mov a, m
ani MASK_BUSY
jnz LWAIT
; PA0..PA7 - Data
xra a
mov l, a ; a = 0
mov m, c
; PC7 - /Strobe
mvi l, LPTCTRLL
mov m, a ; zero is active
mvi m, MASK_STROBE ; clean
pop psw
ret
.end
[свернуть]
Вложение 82074
Жду с нетерпением результатов :v2_rolley
У меня даже без принтера Микроша распечатывает все сообщение почему то. :(
Вот так:
https://i.ibb.co/chJyncTS/IMG-5268.jpg
Пытался припаять LPT разъем с огрызком шлейфа к плате, оно не заработало. Отпаял. Нашел в закромах трехрядный разъем с ответной частью, впаял его в плату реплики.
На этом реплика начала бастовать. Сказываются видимо панельки под сороконожками..
Пришлось немного повозиться и Микроша раскочегарилась.
Теперь надо припаять ответку к LPT разъему и продолжить опыты. У меня на даче несколько матричных принтеров, но я не уверен, что они все исправны. Буду пробовать с теми, что печатали с Галаксией.
Добавил фото экрана с тестом принтера