ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

cmdcnst.h
Go to the documentation of this file.
00001 /*
00002  * PROJECT:         ReactOS VGA Miniport Driver
00003  * LICENSE:         Microsoft NT4 DDK Sample Code License
00004  * FILE:            boot/drivers/video/miniport/vga/cmdcnst.h
00005  * PURPOSE:         Command Code Definitions for VGA Command Streams
00006  * PROGRAMMERS:     Copyright (c) 1992  Microsoft Corporation
00007  */
00008 
00009  
00010 //--------------------------------------------------------------------------
00011 //   Definition of the set/clear mode command language.
00012 //
00013 //   Each command is composed of a major portion and a minor portion.
00014 //   The major portion of a command can be found in the most significant
00015 //   nibble of a command byte, while the minor portion is in the least
00016 //   significant portion of a command byte.
00017 //
00018 //   maj  minor      Description
00019 //   ---- -----      --------------------------------------------
00020 //   00              End of data
00021 //
00022 //   10              in and out type commands as described by flags
00023 //        flags:
00024 //
00025 //        xxxx
00026 //        ||||
00027 //        |||+-------- unused
00028 //        ||+--------- 0/1 single/multiple values to output (in's are always 
00029 //        |+---------- 0/1 8/16 bit operation                  single)
00030 //        +----------- 0/1 out/in instruction
00031 //
00032 //       Outs
00033 //       ----------------------------------------------
00034 //       0           reg:W val:B
00035 //       2           reg:W cnt:W val1:B val2:B...valN:B
00036 //       4           reg:W val:W
00037 //       6           reg:W cnt:W val1:W val2:W...valN:W
00038 //
00039 //       Ins
00040 //       ----------------------------------------------
00041 //       8           reg:W
00042 //       a           reg:W cnt:W
00043 //       c           reg:W
00044 //       e           reg:W cnt:W
00045 //
00046 //   20              Special purpose outs
00047 //       00          do indexed outs for seq, crtc, and gdc
00048 //                   indexreg:W cnt:B startindex:B val1:B val2:B...valN:B
00049 //       01          do indexed outs for atc
00050 //                   index-data_reg:W cnt:B startindex:B val1:B val2:B...valN:B
00051 //       02          do masked outs
00052 //                   indexreg:W andmask:B xormask:B
00053 //
00054 //   F0              Nop
00055 //
00056 //---------------------------------------------------------------------------
00057 
00058 // some useful equates - major commands
00059 
00060 #define EOD     0x000                   // end of data
00061 #define INOUT   0x010                   // do ins or outs
00062 #define METAOUT 0x020                   // do special types of outs
00063 #define NCMD    0x0f0                   // Nop command
00064 
00065 
00066 // flags for INOUT major command
00067 
00068 //#define UNUSED    0x01                    // reserved
00069 #define MULTI   0x02                    // multiple or single outs
00070 #define BW      0x04                    // byte/word size of operation
00071 #define IO      0x08                    // out/in instruction
00072 
00073 // minor commands for metout
00074 
00075 #define INDXOUT 0x00                    // do indexed outs
00076 #define ATCOUT  0x01                    // do indexed outs for atc
00077 #define MASKOUT 0x02                    // do masked outs using and-xor masks
00078 
00079 
00080 // composite inout type commands
00081 
00082 #define OB      (INOUT)                 // output 8 bit value
00083 #define OBM     (INOUT+MULTI)           // output multiple bytes
00084 #define OW      (INOUT+BW)              // output single word value
00085 #define OWM     (INOUT+BW+MULTI)        // output multiple words
00086 
00087 #define IB      (INOUT+IO)              // input byte
00088 #define IBM     (INOUT+IO+MULTI)        // input multiple bytes
00089 #define IW      (INOUT+IO+BW)           // input word
00090 #define IWM     (INOUT+IO+BW+MULTI)     // input multiple words
00091  
00092 /* EOF */

Generated on Fri May 25 2012 04:36:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.