home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / 22rsx / byestuff.ark / DCDCHECK.MAC < prev    next >
Text File  |  1985-11-28  |  1KB  |  88 lines

  1. ; user control of carrier detection. BYERSX Auxiliary
  2. ;
  3. bdos    equ    5
  4. fcb    equ    05ch
  5. ;
  6.     aseg
  7.     org    0100h
  8. ;
  9.     lxi    h,0
  10.     dad    sp
  11.     lxi    sp,stack
  12.     push    h
  13.     mvi    c,87
  14.     lxi    d,0
  15.     call    bdos
  16.     ora    a
  17.     lxi    d,norsx
  18.     jz    exit
  19.     mvi    c,84;        system state
  20.     mvi    e,0ffh;        enquiry
  21.     call    bdos
  22.     sta    state
  23.     lxi    h,fcb
  24.     mov    a,m
  25.     ora    a
  26.     jnz    help
  27.     inx    h
  28.     mov    a,m
  29.     cpi    'O'
  30.     inx    h
  31.     mov    a,m
  32.     jnz    help
  33.     inx    h
  34.     cpi    'F'
  35.     jz    off
  36.     cpi    'N'
  37.     jz    on
  38. ;    "    "
  39. ; give help
  40. help:    lxi    d,hlpmsg
  41. ;    "    "
  42. ; message and exit
  43. exit:    mvi    c,9
  44.     call    bdos
  45.     pop    h
  46.     sphl
  47.     ret
  48. ;
  49. ; suppress carrier checks
  50. off:    mov    a,m
  51.     cpi    'F'
  52.     jnz    help
  53.     inx    h
  54.     mov    a,m
  55.     cpi    ' '
  56.     jnz    help
  57.     lda    state
  58.     ani    NOT 010h;    disable checks
  59.     mov    e,a
  60.     mvi    c,84
  61.     call    bdos
  62.     lxi    d,offmsg
  63.     jmp    exit
  64. ;
  65. ; enable DCD checks
  66. on:    mov    a,m
  67.     cpi    ' '
  68.     jnz    help
  69.     lda    state
  70.     ori    010h
  71.     mov    e,a
  72.     mvi    c,84
  73.     call    bdos
  74.     lxi    d,onmsg
  75.     jmp    exit
  76. ;
  77. hlpmsg:    db 'usage: DCDCHECK [ON|OFF] (controls DCD monitoring)$'
  78. offmsg:    db 'Not '
  79. onmsg:    db 'Checking for carrier$'
  80. norsx:    db 'BYERSX not running$'
  81. ;
  82. state:    ds    1;        BYERSX input state
  83. ;
  84.     ds    48
  85. stack:    ds    0
  86. ;
  87.     end
  88. }*