home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / packet / rli120.ark / HDW.MAC < prev    next >
Text File  |  1986-08-12  |  1KB  |  54 lines

  1. ; HDW.MAC - 10/27/85 - Deal with hardware ports.
  2.  
  3.     .z80
  4.     maclib    TNC.LIB
  5.  
  6.     entry        pioini,scana,scanb,priora,priorb
  7.  
  8.     external    @wait
  9.     tncdefs
  10.     timdef
  11.  
  12. pio.ad    equ    8    ; PIO data port
  13. pio.as    equ    9    ; PIO control port
  14.  
  15. scan.a    equ    1    ; Bit for scan resume COMM port
  16. prio.a    equ    2    ; Bit to force priority channel COMM port
  17. scan.b    equ    4    ; Bit for scan resume PRINTER port
  18. prio.b    equ    8    ; Bit to force priority channel PRINTER port
  19.  
  20.     cseg
  21.  
  22. ; Initialize the PIO.
  23.  
  24. pioini:    ld    a,0cfh
  25.     out    (pio.as),a
  26.     ld    a,0f0h
  27.     out    (pio.as),a
  28.     ld    a,0fh
  29.     out    (pio.ad),a
  30.     ret
  31.  
  32. scana:    ld    c,scan.a
  33.     jr    pulse
  34. scanb:    ld    c,scan.b
  35.     jr    pulse
  36.  
  37. priora:    ld    c,prio.a
  38.     jr    pulse
  39. priorb:    ld    c,prio.b
  40.     jr    pulse
  41.  
  42.  
  43. ; Pulse a bit for 2 seconds, using the mask in C.
  44.  
  45. pulse:    in    a,(pio.ad)
  46.     or    c        ; Set the bit
  47.     out    (pio.ad),a
  48.     wait    2
  49.     in    a,(pio.ad)
  50.     xor    c        ; Clear the bit
  51.     out    (pio.ad),a
  52.     ret
  53.     end
  54.