home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / nubye / nuby-ins.lbr / NUDC-1.IQS / nudc-1.ins
Text File  |  1986-04-25  |  2KB  |  82 lines

  1. ; NUDC-1.INS - Hayes MM-100 insert for NUBYE - 04/21/86
  2. ;
  3. ; D. C. Hayes MicroModem 100 Interface routines
  4. ;
  5. ; This version is for the D.C. Hayes MM100 and 80-103A modem cards.
  6. ; Note:  This is an insert, not an overlay.
  7. ;
  8. ; ========
  9. ;
  10. ; 04/21/86  Modified for NUBYE
  11. ; 07/17/85  Written for use with BYE5        - Irv Hoff
  12. ;
  13. ; ========
  14. ;
  15. ; Port equates
  16. ;
  17. PORT    EQU    80H        ; Modem data port
  18. MDCTL1    EQU    PORT+1        ; Status port and control port #1
  19. MDCTL2    EQU    PORT+2        ; Control port #2
  20. ;
  21. ; See if we still have a carrier - if not, return with the zero flag set
  22. ;
  23. MDCARCK:IN    MDCTL1        ; Read port
  24.     ANI    40H        ; Carrier there?
  25.     RET
  26. ;
  27. ; Disconnect and wait for an incoming call
  28. ;
  29. MDINIT:    XRA    A        ; Drop carrier, if any
  30.     OUT    MDCTL2        ; Clear off-hook flag, turn off carrier
  31.     RET
  32. ;
  33. ; Input a character from the modem port
  34. ;
  35. MDINP:    IN    PORT        ; Get character
  36.     RET
  37. ;
  38. ; Check the satus to see if a character is available.  If not, return
  39. ; with the zero flag set.  If yes, use 0FFH to clear the flag.
  40. ;
  41. MDINST:    IN    MDCTL1        ; Get status
  42.     ANI    1        ; Check the receive ready bit
  43.     RZ
  44.     ORI    0FFH
  45.     RET
  46. ;
  47. ; Send a character to the modem
  48. ;
  49. MDOUTP:    OUT    PORT        ; Send it
  50.     RET
  51. ;
  52. ; See if the output is ready for another character
  53. ;
  54. MDOUTST:IN    MDCTL1        ; Get status
  55.     ANI    2        ; Check transmit ready bit
  56.     RET            ; Return with proper status
  57. ;
  58. ; Reinitialize the modem and hang up the phone by dropping DTR and
  59. ; leaving it inactive.
  60. ;
  61. MDQUIT:
  62. MDSTOP:    RET            ; Unused
  63. ;
  64. ; The following routine sets the baudrate.  NUBYE asks for the maximum
  65. ; speed you have available.
  66. ;
  67. SET1200    EQU    $        ; 1200 bps not supported
  68. SET2400    EQU    $        ; 2400 bps not supported
  69. ;
  70. SETINV:    ORI    0FFH        ; Make sure the Zero flag isn't set
  71.     RET
  72. ;
  73. SET300:    MVI    A,17H        ; 8 bits, no parity, 1 stop bit
  74.     OUT    MDCTL1
  75.     MVI    A,83H        ; 300 baud and answer phone
  76.     OUT    MDCTL2
  77.     XRA    A        ; Make sure Z is set
  78.     RET
  79. ;
  80. ; end of insert
  81. ; -------------
  82.