

       NAM LPDRV1
*      LINE PRINTER DRIVER - MDOS ROM MODIFICATION
*      TO ALLOW USE OF A LINE PRINTER THROUGH
*      A 300 BAUD RS232-C INTERFACE.
*
*      THE MDOS ROM IS REPLACED BY
*      A MCM68708L EPROM.
*      LPDRV IS MODIFIED FROM LOCATION
*      EBCC TO EBFD.
*
*      NULLS ARE PADDED AFTER CR.
*      INTERFACE: MEX6850 ACIA BOARD
       SPC 1
*ACIA  ADDRESSES
LPACCT EQU $EC20 ADRESS MEX6850
LPACDA EQU LPACCT+1
NBRNUL EQU 10 NUMBER OF NULLS
       SPC 1
       ORG $EBBC
PEND   PUL B
       CLC
       RTS
       SPC 1
       NOP
       SPC 1
*SBR   TO INITIALIZE ACIA
LPINIT LDA A #%00000011 MASTER RESET
       STA A LPACCT
       LDA A #%00001001 10 BITS EVEN :16
       STA A LPACCT
       RTS
       SPC 1
       NOP
       SPC 1
*SBR   TO PRINT CHARACTER FROM A ACC
LIST   PSH B
       LDA B #%00000010 READY?
       AND B LPACCT
       BEQ LIST+1
       STA A LPACDA OUT A
       CMP A #$D CR?
       BNE PEND
NULS   PSH B OUT NULS
       CLR A
       LDA B #NBRNUL
NUL1   BSR LIST
       DEC B
       BRA SUITE
       SPC 1
*SBR   TO PRINT STRING AND STRING,CR,LF
LDATA  LDA A #$A OUT LF
       BSR LIST
       LDA A #$D OUT CR
       DEX
LDATA7 BSR LIST
       NOP
       NOP
       NOP
       NOP
       INX
       SPC 1
*SBR   TO PRINT STRING
LDATA1 LDA A 0,X
       CMP A #4
       BNE LDATA7
       RTS
       SPC 1
SUITE  BNE NUL1
       PUL B
       BRA PEND
       END
