ZXNet эхоконференция «code.zx»
тема: вопрос 2
от: Dima Boyko
кому: All
дата: 18 Feb 2001
Х а ю ш к и, All !
PRINTA PUSH AF
LD C,#12
RST #10
EXX
POP AF
CP #0D
JR NZ,LL8057
BIT 0,(HL)
JR Z,LL8079
CH1 CALL LL8079
RET C
LD A,#0A
JR LL8079
LL8057 BIT 1,(HL)
JR Z,LL8079
кто мне растолкует что тут делается и что находится по адрессу в HL и накой
мы его биты проверяем.
Сразу скажу что с такими наворотами у меня не работало.
как только я их убрал- сразу заработало.
С наилучшими, Dima Boyko.
от: Valerij Kozhevnikoff
кому: Dima Boyko
дата: 23 Feb 2001
Здравствуй, Dima!
18 Фев 01 09:24, Dima Boyko -> All:
DB> PRINTA PUSH AF
DB> LD C,#12
DB> RST #10
······------====== Стеклорез мониторный ======------······
18(12):g_tydv Возврат вектора символьного устройства вывода.
HL' - адрес вектора символьного устройства вывода,
(HL')= длина курсора для данного устройства (см. ПРИЛОЖЕHИE 5.)
А - номер канала текущего символьного устройства вывода
······------====== Стеклорез мониторный ======------······
Установленный в систему драйвер име-
ет только 8-буквенное имя (тип в канале
не хранится). typ от lpr можно отличить
по 0-му биту в 13-ом байте драйвера
(5-ый байт в векторе g_typ(#12)). В на-
чале каждого драйвера располагается век-
тор стандартной структуры:
······------====== Стеклорез мониторный ======------······
DB> EXX
DB> POP AF
DB> CP #0D ;проверка символа на CR
DB> JR NZ,LL8057
DB> BIT 0,(HL) ;этот бит завивисит от устройства.
;вообще это глюк, проверять надо не
;здесь, а в (HL'+5), см. выше.
DB> JR Z,LL8079 ;если экран, то просто печатаем,
DB> CH1 CALL LL8079
DB> RET C
DB> LD A,#0A ;если принтер, то добавим LF.
DB> JR LL8079
DB> LL8057 BIT 1,(HL) ;этот бит ничего не значит.
DB> JR Z,LL8079
Где ты такое нашел?
DB> кто мне растолкует что тут делается и что находится по адрессу в HL
ПРИЛОЖЕHИE 5. Структура вектора символьного устройства
вывода (СУВЫВ) / g_tydv(#12) DOS.SYS /
смещ имя длина комментарий
ение
-10 CRTYP 1 Hомер канала текущего СУВЫВ
-9 PRCHR 3 Переход на процедуру (ПП) вывода
символа на экран (принтер) /ttyoyt(#A)/
-6 PRCPL 3 ПП задания инверсного/нормального
режима печати / prcpl(#B) /
-3 PRAD 3 ПП установки координат / pradd(#C) /
0 BYTTST 1 Длина курсора тек. драйвера экрана
1 XYpos 2 Текущие логические координаты печати
3 Xypos 2 Текущие физические координаты печати
5 type 1 Тип устройства:0-экран/1-принтер
6 ertype 2 Адрес обработки ошибки СУВЫВ
DB> и накой мы его биты проверяем.
Hе там оно у тебя биты проверяет. И нафиг это не нужно.
DB> Сразу скажу что с такими наворотами у меня не
DB> работало. как только я их убрал- сразу заработало.
Это стандарт идет с древних версий, типа Исдос 1.0. Я вообще никогда этого не
ставил, и все всегда работало. Простейший драйвер типа от ZXWord легко
переделывается, никакие навороты не нужны.
WBR, Jason.
[Team Obituary][Team Friday 13th][Team Злобные Маньяки][Team Огромные Топоры]
|