home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 January / pcwk_01_1999.iso / Tajnepp / MCLK093 / TSENG.H < prev    next >
C/C++ Source or Header  |  1997-05-04  |  2KB  |  58 lines

  1. //    tseng.h
  2. //
  3. //    contains class definitions for Tseng ET6000 chipset
  4. //
  5. //   v0.93a added ET-6000
  6. //   v0.93b added destructor to ET-6000 chipset.  The hope is that the
  7. //          modified constructor will set some control lines (MEEN/IOEN)
  8. //          which will let MCLK write to the PCI_CFG space.  V0.93a did
  9. //          not work with all ET-6000 adapters.   Many users observed
  10. //          "floating" PLL values as reported by MCLK.
  11. //          In 0.93b, _et6000::_et6000 sets the MEEN/IOEN controls,
  12. //           and the destructor restores them to their original state(s).
  13. //
  14.  
  15. //    The following line denies outside code access to certain
  16. //    member functions of class vga.
  17. #ifndef __et6000_h
  18.     #define __et6000_h
  19. #include"vga.h"
  20. #include"pci.h"
  21. class _w32p : public vga    {    //    Class w32p RevA
  22. public:
  23.     _w32p( vga_info info );    //    Constructor
  24.     void _fxn1( int cmd );    //    PCI Burst enable
  25.     void _fxn2( int cmd );    //    Enable memory-interleaving
  26.     void _fxn3( int cmd );    //    FIFO threshold control
  27. };
  28.  
  29. class _w32pb : public _w32p {    // class w32p RevB and up
  30. public:
  31.     _w32pb( vga_info info ) : _w32p( info ) //    Constructor
  32.         {;};
  33.     void _fxn4( int cmd );    //    fast read/write control
  34.     void _fxn5( int cmd );    //    zero wait-state read/write control
  35. };
  36.  
  37. class _et6000 : public vga {    //    Class Tseng Labs ET6000
  38. protected:
  39.     uchar pci_bus;    // TRUE if ET6000PCI, FALSE if ET6000VL
  40.     pci_bios_type *pci_bios;        //  Needed for PCI autodetect routine
  41.     pci_device_handle_type pci_vga;    // Needed for PCI autodetect
  42.      uchar pci_cfg04;    // Placeholder for PCI config register $04, v0.93b
  43.  
  44.      uchar read_cbyte( const uchar index );
  45.          // Read PCI-configuration register, index 0-255
  46.      uchar write_cbyte( const uchar index, const uchar value );
  47.          // Write value -> PCI-config(index)
  48.      void mclk_help( void );    // Display help for ET6000 MCLK
  49.     void read_clock1( uchar *byte1, uchar *byte0);
  50.         //    Read clock1 PLL registers, 2-bytes
  51. public:
  52.     message _info( void );        //    Return silicon Revision#
  53.     _et6000( vga_info info );//    Constructor, sets IOEN/MEEN
  54.     ~_et6000();            //    Destructor to restore IOEN/MEEN
  55.      void _mclk( int cmd );    //    MCLK programming function
  56.     void _fxn1( int cmd );    //    RAS/CAS configuration for DRAM/MDRAM
  57. };
  58. #endif