Модифицировал когда-то прошивку Basic-48 и BASIC-128 для работы с любым EPSON-совместимым принтером через порт Centronics на всех моделях Кворумов.
Порт принтера в Кворумах упрощенный: 8 бит данных, Строб на передачу и Готовность на прием. Разьем DB-25.
Для работы с принтером этого достаточно.
Адрес порта данных = 0xFB;
Строб = 0 при записи в порт 0x7B;
Строб = 1 при записи в порт 0xFB;
Готовность = бит 7 порта 0x1B
Процедура выдачи байта в порт принтера:
Код:
OUT_LP: PUSH AF
OUT (0FBH),A ;ДАННЫЕ
W_LPT: CALL LPT_ST ;СТАТУС ПРИНТЕРА
JR Z,W_LPT ;ЖДАТЬ ГОТОВНОСТИ
POP AF
OUT (7BH),A ;СТРОБ=0
JR $+2
OUT (0FBH),A ;СТРОБ=1
RET
;
LPT_ST: IN A,(1BH) ;СТАТУС ПРИНТЕРА
CPL
AND 80H ;ЕСЛИ D7=1
RET ;ПРИНТЕР ГОТОВ, Z=0