home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s300 / 1.ddi / CHAP7 / 8259.H next >
Encoding:
C/C++ Source or Header  |  1987-05-14  |  1.6 KB  |  55 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. AUTHOR
  17.     Haam Tham    18 February 1985
  18.  
  19.     Copyright(c) 1985,1986  D.M. Auslander and C.H. Tham
  20.     
  21. ***********************************************************************/
  22.  
  23.  
  24. #define BASE8259    0x20                /* base address */
  25.  
  26. #define EOIPORT        (BASE8259+0)        /* where to send EOI */
  27. #define MASKPORT    (BASE8259+1)        /* 8259 mask port */
  28.  
  29. #define BASEVEC        8                    /* base vector */
  30.  
  31. #define TMRVEC        BASEVEC                /* timer vector */
  32. #define KBVEC        (BASEVEC+1)            /* keyboard vector */
  33. #define COM2VEC        (BASEVEC+3)            /* COM2 device vector */
  34. #define COM1VEC        (BASEVEC+4)            /* COM1 or (AUX) vector */
  35. #define PRNVEC        (BASEVEC+7)            /* parallel printer vector */
  36.  
  37. #define AUXVEC        COM1VEC                /* an alternative definition */
  38.  
  39. #define TMRMASK        0x01                /* disable timer mask */
  40. #define KBMASK        0x02                /* disable keyboard mask */
  41. #define COM2MASK    0x08                /* disable COM2 mask */
  42. #define COM1MASK    0x10                /* disable COM1 mask */
  43. #define PRNMASK        0x80                /* disable printer port mask */
  44.  
  45. #define AUXMASK        COM1MASK    
  46.  
  47. #define TMREOI        0x60                /* timer specific EOI */
  48. #define KBEOI        0x61                /* keyboard specific EOI */
  49. #define COM2EOI        0x63                /* COM2 specific EOI */
  50. #define COM1EOI        0x64                /* COM1 specific EOI */
  51. #define PRNEOI        0x67                /* printer specific EOI */
  52.  
  53. #define NSEOI        0x20                /* non specific EOI */
  54.  
  55.