VGA Function Specification Gxm/Mxi Processors
Total Page:16
File Type:pdf, Size:1020Kb
VGA Function Specification GXm/MXi Processors January 16, 1998 - Rev. 0.1 Cyrix Corporation Confidential ©1998 Copyright Cyrix Corporation. All rights reserved. Printed in the United States of America Cyrix is a registered trademark of Cyrix Corporation. Cyrix Trademarks include: Cx5520, Cx5530, Display Compression Technology (DCT), MediaGX, XpressAUDIO, XpressGRAPHICS, XpressRAM, Virtual System Architecture (VSA) All other products mentioned herein are trademarks of their respective owners and are hereby recognized as such. Cyrix is a wholly-owned subsidiary of National Semiconductor® Corp. Cyrix Corporation 2703 North Central Expressway Richardson, Texas 75080 United States of America Cyrix Corporation (Cyrix) reserves the right to make changes in the devices or specification described herein without notice. Before design-in or order placement, customers are advised to verify that the information on which orders or design activities are based is current. Cyrix warrants its products to conform to current specifications in accordance with Cyrix’ standard warranty. Testing is performed to the extent necessary as determined by Cyrix to support this warranty. Unless explicitly specified by customer order requirements, and agreed to in writing by Cyrix, not all device characteristics are necessarily tested. Cyrix assumes no liability, unless specifically agreed to in writing, for customer’s product design or infringement of patents or copyrights of third parties arising from use of Cyrix devices. No license, either express or implied, to Cyrix patents, copyrights, or other intellectual property rights pertaining to any machine or combination of Cyrix devices is hereby granted. Cyrix products are not intended for use in any medical, life saving, or life sustaining systems. Information in this document is subject to change without notice. ii Rev. 0.1 Table of Contents Table of Contents 1 VGA Function Overview . .1 1.1 Introduction . .1 1.2 VGA Modes . .1 1.2.1 Text Modes . .1 1.2.2 Graphics Modes . .2 1.2.3 Major Components . .2 2 VGA Operation . .3 2.1 Frame Buffer . .3 2.2 Sequencer . .3 2.3 Graphics Controller . .4 2.3.1 Write Modes . .5 2.3.2 Read Modes . .6 2.4 Attribute Controller . .8 2.5 General Registers . .8 2.6 Video DAC . .8 2.7 CRT Controller . .8 3 Registers . .9 3.1 General Registers . 10 3.1.1 Miscellaneous Output Register . 10 3.1.2 Input Status Register 0 . 10 3.1.3 Input Status Register 1 . 11 3.1.4 Feature Control Register . 11 3.2 Sequencer Registers . 12 3.2.1 Sequencer Registers Summary . 12 3.2.2 Sequencer Index Register . 12 3.2.3 Reset Register (Index 0) . 12 3.2.4 Clocking Mode (Index 1) . 13 3.2.5 Map Mask (Index 2) . 13 3.2.6 Memory Mode (Index 4) . 14 3.3 CRT Controller Registers . 15 3.3.1 CRTC Index Register . 16 Rev. 0.1 Cyrix Corporation Confidential Page 3 Table of Contents 3.3.2 Horizontal Total (Index 0) . 16 3.3.3 Horizontal Display Enable End (Index 1) . 16 3.3.4 Horizontal Blank Start (Index 2) . 16 3.3.5 Horizontal Blank End (Index 3) . 17 3.3.6 Horizontal Sync Start (Index 4) . 17 3.3.7 Horizontal Sync End (Index 5) . 17 3.3.8 Vertical Total (Index 6) . 17 3.3.9 Overflow (Index 7) . 18 3.3.10Preset Row Scan (Index 8) . 18 3.3.11Maximum Scan Line (Index 9) . 18 3.3.12Cursor Start (Index 0xA) . 19 3.3.13Cursor End (Index 0xB) . 19 3.3.14Cursor Location High (Index 0xE) and Cursor Location Low (Index 0xF) . 20 3.3.15Vertical Sync Start (Index 0x10) . 20 3.3.16Vertical Sync End (Index 0x11) . 20 3.3.17Vertical Display Enable End (Index 0x12) . 20 3.3.18Offset (Index 0x13) . 21 3.3.19Underline Location (Index 0x14) . 21 3.3.20Vertical Blank Start (Index 0x15) . 21 3.3.21Vertical Blank End (Index 0x16) . 21 3.3.22CRTC Mode Control (Index 0x17) . 22 3.3.23Line Compare (Index 0x18) . 24 3.3.24CPU Data Latch State (Index 0x22) . 24 3.3.25Attribute Index/Data FF State (Index 0x24) . 24 3.3.26Attribute Index State (Index 0x26) . 24 3.4 Graphics Controller Registers . 25 3.4.1 Graphics Controller Index Register . 25 3.4.2 Set/Reset (Index 0) . 26 3.4.3 Enable Set/Reset (Index 1) . 26 3.4.4 Color Compare (Index 2) . 26 3.4.5 Data Rotate (Index 3) . 27 3.4.6 Read Map Select (Index 4) . 27 3.4.7 Miscellaneous (Index 6) . 29 3.4.8 Color Don’t Care (Index 7) . 29 3.4.9 Bit Mask (Index 8) . 29 3.5 Attribute Controller Registers . 30 3.5.1 Attribute Controller Index Register . 30 3.5.2 EGA Palette (Indexes 0x00 - 0x0F) . 31 Page 4 Cyrix Corporation Confidential Rev. 0.1 Table of Contents 3.5.3 Attribute Mode Control (Index 0x10) . 31 3.5.4 Overscan Color (Index 0x11) . 31 3.5.5 Color Plane Enable (Index 0x12) . 32 3.5.6 Horizontal Pel Panning (Index 0x13) . 32 3.5.7 Color Select (Index 0x14) . 33 3.6 Video DAC Registers . 34 3.6.1 Palette Address Register . 35 3.6.2 DAC State Register . 35 3.6.3 Palette Data Register . 35 3.6.4 Pel Mask Register . 35 4 Extended Registers . 37 4.1 ExtendedRegisterLock (Index 0x30) . 39 4.2 SoftVgaRevision (Index 0x31) . 39 4.3 DisplayDataChannel (Index 0x32) . 39 4.4 DirectDrawMemoryBase (Index 0x3C) . 39 4.5 DirectDrawMemorySize (Index 0x3D) . 40 4.6 GraphicsMemorySize (Index 0x3E) . 40 4.7 ModeSwitchControl (Index 0x3F) . 40 4.8 ModeNumber (Index 0x40) . 40 4.10 HorizontalTimingExtension (Index 0x42) . 41 4.9 VerticalTimingExtension (Index 0x41) . 41 4.11 ExtendedAddressControl (Index 0x43) . 42 4.12 ExtendedStartAddress (Index 0x44) . ..