home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug081.arc / LPRINT.ASC < prev    next >
Text File  |  1979-12-31  |  2KB  |  99 lines

  1. ;12-NOVEMBER-1983
  2. ;110 BAUD PROGRAM WRITTEN BY P.TANDY
  3. ;FOR MICROBEE 16K PLUS
  4. ;DESIGNED FOR WESTREX TELETYPE 
  5. ;TELETYPE USES ASCII CHARACTOR SET
  6.  
  7.  
  8.  
  9.     ORG    014DH
  10.     LD    HL,TTYIN
  11.     LD    (0BCH),HL    ;SET PRINT ADDR
  12.     LD    HL,(0A2H)
  13.     JP    (HL)        ;WARM START
  14.  
  15. TTYIN    CALL    SPEED        ;SET EA TO 0
  16.  
  17.  
  18.     LD    C,A        ; STORE A CONTENTS
  19.     LD    A,0C3H
  20.     LD    (015BH),A    ;CHANGE PROGRAM
  21.     LD    A,06FH
  22.     LD    (015CH),A    ;TO JP ROUND
  23.     LD    A,01H        
  24.     LD    (015DH),A    ;CLEAR COUNTER
  25.     LD    HL,090H        ;COUNTER FOR 72
  26.     LD    (HL),00        ;CHARACTORS
  27.     LD    A,C        ;PUT CHARACTOR BACK
  28.     CP    0DH        ;SEE IF CR
  29.     JP    Z,ADDR1
  30.     LD    HL,090H
  31.     LD    A,(HL)
  32.     CP    47H        ;COUNT    LENGTH
  33.     JP    Z,ADDR2
  34. ADDR3    LD    A,C
  35.     INC    (HL)
  36.     CP    24H
  37.     JP    NZ,RUN
  38.     LD    A,5CH        ;CHNG POUND TO $
  39. RUN    JP    GO
  40. ADDR1    LD    HL,090H
  41.     LD    (HL),00
  42.     JP    RUN
  43. ADDR2    LD    (HL),00
  44.     LD    HL,091H        ;STORE 73 CHARACTOR
  45.     LD    A,C
  46.     LD    (HL),A
  47.     LD    A,0DH        ;FEED IN CR
  48.     CALL    RUN
  49.     LD    A,0AH        ;FEED IN LF
  50.     CALL    RUN
  51.     LD    A,(HL)
  52.     LD    HL,090H
  53.     JP    ADDR3
  54.  
  55.  
  56. GO    PUSH    BC
  57.     PUSH    AF
  58. CTS    IN    A,(02)
  59.     BIT    3,A        ;CLEAR TO SEND
  60.     JR    Z,CTS
  61.     POP    AF
  62.     OR    A
  63.     CALL    PRINT
  64.     LD    B,08H        ;8 DATA BITS
  65. BIT    RRCA
  66.     CALL    PRINT        ;GET START BIT
  67.     DJNZ    BIT
  68.     SCF            ;SET CARRY FLAG
  69.     CALL    PRINT        ;FOR STOP BIT
  70.     CALL    PRINT
  71.     POP    BC
  72.     RET
  73. PRINT    PUSH    AF
  74.     PUSH    BC
  75.     IN    A,(02)        ;READ PIO
  76.     RES    5,A
  77.     JR    NC,STBIT    ;SEE IF STOP BIT
  78.     SET    5,A
  79. STBIT    OUT    (02),A        ;PRINT IT
  80.     LD    DE,760        ;110 BAUD SPEED
  81.     LD    A,(0EAH)
  82.     OR    A
  83.     JR    Z,DELAY
  84.     LD    B,02CH
  85. DELAY    DEC    DE        ;9.09 MILSEC DELAY
  86.     LD    A,D
  87.     OR    E
  88.     JR    NZ,DELAY
  89.     POP    BC
  90.     POP    AF
  91.     RET
  92. SPEED    PUSH    AF
  93.     XOR    A
  94.     LD    (0EAH),A
  95.     POP    AF
  96.     RET
  97.  
  98.     END
  99.