home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s300 / 1.ddi / CHAP2 / 8259.H next >
Encoding:
C/C++ Source or Header  |  1988-05-02  |  1.9 KB  |  52 lines

  1. /***********************************************************************
  2.  
  3. FILE
  4.     8259.h  -  8259A definitions, IBM-PC version
  5.  
  6. SYNOPSIS
  7.     #include "8259.h"
  8.  
  9. DESCRIPTION
  10.     This file contains useful definitions for default operation of the
  11.     Intel 8259A Programmable Interrupt Controller in the IBM-PC.
  12.  
  13. LAST UPDATE
  14.     30 April 1985
  15.  
  16.     Copyright(c) 1985,1986  D.M. Auslander and C.H. Tham
  17.     
  18. ***********************************************************************/
  19.  
  20.  
  21. #define BASE8259    0x20                /* base address */
  22.  
  23. #define EOIPORT     (BASE8259+0)        /* where to send EOI */
  24. #define MASKPORT    (BASE8259+1)        /* 8259 mask port */
  25.  
  26. #define BASEVEC     8                   /* base vector */
  27.  
  28. #define TMRVEC      BASEVEC             /* timer vector */
  29. #define KBVEC       (BASEVEC+1)         /* keyboard vector */
  30. #define COM2VEC     (BASEVEC+3)         /* COM2 device vector */
  31. #define COM1VEC     (BASEVEC+4)         /* COM1 or (AUX) vector */
  32. #define PRNVEC      (BASEVEC+7)         /* parallel printer vector */
  33.  
  34. #define AUXVEC      COM1VEC             /* an alternative definition */
  35.  
  36. #define TMRMASK     0x01                /* disable timer mask */
  37. #define KBMASK      0x02                /* disable keyboard mask */
  38. #define COM2MASK    0x08                /* disable COM2 mask */
  39. #define COM1MASK    0x10                /* disable COM1 mask */
  40. #define PRNMASK     0x80                /* disable printer port mask */
  41.  
  42. #define AUXMASK     COM1MASK    
  43.  
  44. #define TMREOI      0x60                /* timer specific EOI */
  45. #define KBEOI       0x61                /* keyboard specific EOI */
  46. #define COM2EOI     0x63                /* COM2 specific EOI */
  47. #define COM1EOI     0x64                /* COM1 specific EOI */
  48. #define PRNEOI      0x67                /* printer specific EOI */
  49.  
  50. #define NSEOI       0x20                /* non specific EOI */
  51.  
  52.