home *** CD-ROM | disk | FTP | other *** search
- From: PC-Share, to CIS via Ward Christensen 76703,302 03/10/85
-
- <<< NOTE EGA-TECH - 597 LINES >>>
-
- Technical Information on the Enhanced Graphics Adapter
- EXT-Info-IBMPC-1VFRR 23-Feb-85 Info-IBMPC Digest V4 #17
- From: {Info-IBMPC Digest <Info-IBMPC@USC-ISIB.ARPA>}DDN
- To: {Info-IBMPC: ;}DDN
- Identifier: EXT-Info-IBMPC-1VFRR
- Length: 5 page(s)[estimate]
- Posted: 23-Feb-85 13:10-PST Received: 5-Mar-85 09:14-PST
- Message:
- Return-path: <INFO-IBMPC@USC-ISIB.ARPA>
- Received: from USC-ISIB.ARPA by OFFICE-2.ARPA; 23 Feb 85 15:44:23 PST
- Info-IBMPC Digest Saturday, 23 February 1985 Volume 4 Issue 17
-
- This Week's Editor: Billy Brackenridge
-
- Today's Topics:
-
- Extended Graphics Adaptor Tech Info
-
- How I Got my EGA Manual, a True Story
-
-
-
- Date: 23 Feb 1985 11:57:04 PST
- Subject: Extended Graphics Adaptor Tech Info
- From: Billy <BRACKENRIDGE@USC-ISIB.ARPA>
-
- Here is a bit more technical information on the extended graphics adaptor
- card. It still isn't complete, but it is a start:
-
- The adapter memory (base) is configured a 4 16K bit planes. The graphics
- memory expansion adds one bank of 16K to each of the 4 bit planes. Additional
- memory may be added to increase each bit plane by another 16K.
-
- Modes of Operation
-
- IBM Color Display
-
- Alpha Buffer Box Max
- Mode # Type Colors Format Start Size Pages Resolution
- ------ ---- ------ ------ ------ ---- ----- ----------
- 0 A/N 16 40x25 B8000 8x8 8 320x200
- 1 A/N 16 40x25 B8000 8x8 8 320x200
- 2 A/N 16 80x25 B8000 8x8 8 640x200
- 3 A/N 16 80x25 B8000 8x8 8 640x200
- 4 APA 4 40x25 B8000 8x8 1 320x200
- 5 APA 4 40x25 B8000 8x8 1 320x200
- 6 APA 2 80x25 B8000 8x8 1 640x200
- D APA 16 40x25 A8000 8x8 2/4/8 320x200
- E APA 16 80x25 A8000 8x8 1/2/4 640x200
-
- Modes 0-6 emulate CGA adapter support.
-
- Modes 0,2,5 are identical to 1,3,4 at the adapters direct drive interface.
-
- The maximum page fields for modes D and E indicate the number of pages for
- 64k,128k,256k bytes of graphics memory.
-
- IBM Monochrome Display
-
- Alpha Buffer Box Max
- Mode # Type Colors Format Start Size Pages Resolution
- ------ ---- ------ ------ ------ ---- ----- ----------
- 7 A/N 4 80x25 B0000 9x14 8 720x350
- F APA 4 80x25 A0000 8x14 1/2 640x350
-
- Mode 7 provides Mono adapter emulation support.
-
- IBM Enhanced Color Display
-
- Alpha Buffer Box Max
- Mode # Type Colors Format Start Size Pages Resolution
- ------ ---- ------ ------ ------ ---- ----- ----------
- 0* A/N 16/64 40x25 B8000 8x14 8 320x350
- 1* A/N 16/64 40x25 B8000 8x14 8 320x350
- 2* A/N 16/64 80x25 B8000 8x14 8 640x350
- 3* A/N 16/64 80x25 B8000 8x14 8 640x350
- 10 APA 4/64 80x25 A8000 8x14 1/2 640x350
- 16/64
-
- * Note that modes 0,1,2,3 are also listed under Color Display. BIOS provides
- support when enhanced display is attached.
-
- The values in "Colors" indicates 16 colors out of a palette of 64 or 4 colors
- out of 16.
-
- Basic Operations
-
- Alphanumeric Modes
-
- The data format for alpha modes on the EGA is the same as the data
- format on the CGA and Mono adapter cards.
-
- As an added function, bit three of the attribute byte may be
- re-defined by the Character map select register to act as a switch
- between character sets. This gives the programmer access to 512
- characters at one time. This function is valid only when you have
- 128K or more of graphics memory.
-
- When alpha mode is selected, BIOS transfers character patters from
- ROM into bit plane 2. The processor stores character data into
- plane 0, and the attribute into plane 1. The programmer views
- planes 0 and 1 as a single buffer in alpha modes.
-
- The CRTC generates sequential addresses, and fetches one character
- code byte and one attribute byte at one time. The character code
- and row scan count address bit plane 2, which contain the character
- generators. The appropriate dot patterns are then sent to the
- palette in the attribute chip, where the color is assigned
- according to the attribute data.
-
- Graphics Modes
-
- 320x200 Two and Four Color Graphics (Modes 4 and 5)
- --------------------------------------------------- Addressing,
- mapping, and data format are the same as the 320x200 pel mode of
- the CGA. The display buffer is at B8000. The bit image is stored in
- bit planes 0 and 1.
-
- 640x200 Two Color Graphics (Mode 6)
-
- -----------------------------------
-
- Addressing, mapping and data formats are the same as the 640x200
- pel mode on the CGA. Buffer starts at B8000 and bit image is in
- plane 0.
-
- 640x350 Monochrome Graphics (Mode F)
-
- ---------------------------
-
- This supports the Mono display with the following attributes:
- black, video, blinking, intensified. Maps 0,1 and 2,3 are chained
- together to form 2 32k bit planes. The first map is the video bit
- plane, the second is the intensity plane. Both planes reside at
-
- A0000.
-
- Two bits, one from each plane, define one pel on the screen. The
- bit definition for the pels are given in the following table. Video
- plane is C0, intensity is C2.
-
- C2 C0 Pixel Color Valid Attributes
- -- -- ----------- ----------------
- 0 0 Black 0
- 0 1 Video 3
- 1 0 Blinking C
- 1 1 Intensified F
-
- The byte organization of the memory is sequential. The first 8 pels on
- the screen are defined by the contents in A000:0H, the second 8 in
- A000:1, and so on. The first pel within a byte is bit 7 in the byte, the
- last is bit 0.
-
- Mono graphics works in odd/even mode, which means that odd CPU address go
- to odd planes, and even addresses to even planes. Since both planes
- reside at A0000, the user must select the plane or planes to update. This
- is accomplished by the map mask register of the sequencer.
-
- 16/64 Color Graphics Modes (Mode 10)
- ------------------------------------
-
- These modes support graphics in 16 colors on either medium or hi
- resolution monitor. This uses all four bit planes. The planes are denoted
- as C0,C1,C2, and C3.
-
- C0 = Blue Pels
- C1 = Green Pels
- C2 = Red Pels
- C3 = Intensified Pels
-
- Four bits (one from each plane) define one pel on the screen. Color
- combinations are as follows:
-
- I R G B Color
- - - - - ------------------
- 0 0 0 0 Black
- 0 0 0 1 Blue
- 0 0 1 0 Green
- 0 0 1 1 Cyan
- 0 1 0 0 Red
- 0 1 0 1 Magenta
- 0 1 1 0 Brown
- 0 1 1 1 White
- 1 0 0 0 Dark Gray
- 1 0 0 1 Light Blue
- 1 0 1 0 Light Green
- 1 0 1 1 Light Cyan
- 1 1 0 0 Light Red
- 1 1 0 1 Light Magenta
- 1 1 1 0 Yellow
- 1 1 1 1 Intensified White
-
- The display buffer resides at A0000, The map mask register of the
- sequencer is used to select any or all of the bit planes to be updated
- when a memory write to the display buffer is performed.
-
- Color Mapping
-
- Character Mode 10H Mode 10H
- Attribute Monchrome 64KB > 64KB
- --------- --------- --------- ----------
- 00H Black Black Black
- 01H Video Blue Blue
- 02H Black Black Green
- 03H Video Blue Cyan
- 04H Blink Red Red
- 05H Inten White Magenta
- 06H Blink Red Brown
- 07H Inten White White
- 08H Black Black Dark Grey
- 09H Video Blue Light Blue
- 0AH Black Black Light Green
- 0BH Video Blue Light Cyan
- 0CH Blink Red Light Red
- 0DH Inten White Light Magenta
- 0EH Blink Red Yellow
- 0FH Inten White Intens White
-
- External Registers
- ------------------
-
- This section describes registers of the EGA card not contained in the LSI
- device.
-
- Name Port Index
- ----------------------- ---- -----
- Misc Output Register 3C2 -
- Feature Control Reg 3?A -
- Input Status Reg 0 3C2 -
- Input Status Reg 1 3?2 -
- ? = B in Monchrome modes, D in color modes
-
- Misc Output Register
- --------------------
-
- Write only. Hardware reset causes all bits to zero.
-
- Bit 0 - 3BX/3DX CRTC I/O Address - This bit maps the CRTC I/O
- addresses for the mono or CGA emulation. 0 sets the CRTC addresses to
- 3BX and Input status reg 1 to 3BA for mono emulation. 1 sets the CRTC
- address to 3DX and status reg 1 to 3DA for CGA emulation.
-
- Bit 1 - Enable RAM - 0 disables ram from the processor, 1 enables ram
- to respond at addr's designated by the Contol Data Select value in the
- Graphics Controllers.
-
- Bit 2,3 - Clock Select, according to the following table:
-
- Bit 2 Bit 3
- ----- -----
- 0 0 14Mhz from Processor I/O channel
- 0 1 16Mhz On-board clock
- 1 0 External clock from feature connector
- 1 1 Not used
-
- Bit 4 - Disable Video Drivers - 0 activates internal video drivers, 1
- disables them. When disabled, the source of the direct drive color output
- becomes the feature connector.
-
- Bit 5 - Page Bit for Odd/Even - Selects between 2 64K pages of memory
- when in Odd/Even modes (0,1,2,3,7). 0 selects low pase, 1 selects high
- page of memory.
-
- Bit 6 - Horiz Retrace Polarity - 0 selects positive, 1 selects negative.
-
- Bit 7 - Vert Retrace Polarity - 0 selects positive, 1 selects neagative.
-
- Feature Control Register
- ------------------------
-
- Write only. Ouput address is 3BA or 3DA.
-
- Bits 0,1 - Feature Control Bits - Output of these bits go to FEAT0
- (Pin19) and FEAT1 (Pin 17) of the feature connector.
-
- Bits 2,3 - Reserved.
-
- Bits 4-7 - Not Used.
-
- Input Status Register Zero
- --------------------------
-
- Read Only. Input address is 3C2.
-
- Bits 0-3 - Not Used.
-
- Bit 4 - Switch Sense - When set to 1, this allows proc to read the 4
- config switchs on the board. The setting of the CLKSEL field determines
- switch to be read. The switch setting can also be determined by reading
- 40:88H in RAM. 0 indicates switch is closed
-
- Bit 5,6 - Feature Code - Input from FEAT0 and FEAT1 on the feature
- connector.
-
- Bit 7 - CRT Interrupt - 1 indicates video being displayed, 0 indicates
- vertical retrace is occurring.
-
- Input Status Register One
- -------------------------
-
- Bit 0 - Display Enable - 0 indicates the CRT raster is in a Horizontal or
- vertical retrace interval. This bit is real time status of display enable
- signal.
-
- Bit 1 - Light Pen Strobe - 0 indicates light pen trigger has not been
- set, 1 indicates set.
-
- Bit 2 - Light Pen Switch - 0 indicates switch closed, 1 is switch open.
-
- Bit 3 - Vertical Retrace - 0 indicates video information being displayed,
- 1 indicates CRT is in vertical retrace. This bit can be programmed to
- interrupt the proc at int level 2 at the start of retrace. This is done
- by bits 4,5 of the Vertical End Register of the CRTC.
-
- Bit 4,5 - Diagnostic Usage.
-
- Bit 6,7 - Not Used.
-
- Sequencer Registers
- -------------------
-
- Name Port Index
- ---------------- ---- -----
- Address 3C4 -
- Reset 3C5 00
- Clocking Mode 3C5 01
- Map Mask 3C5 02
- Char Map Select 3C5 03
- Memory Mode 3C5 04
-
- Sequencer Address Register
- --------------------------
-
- A pointer register located at output address 3C4H. Loaded with a value to
- indicate where the sequencer data is to be written
-
- Bits 0-4 - Sequencer Address.
-
- Bits 5-7 - Not Used.
-
- Reset Register
- --------------
-
- Write only. Written to when address register is 00H.
-
- Bit 0 - Asynchronous Reset - 0 commands the sequencer to asynchronous
- clear and halt. 1 causes sequencer to run unless bit 1 is zero. Reseting
- sequencer can cause loss of data in display buffer.
-
- Bit 1 - Synchronous Reset - 0 commands sequencer to synchronous clear and
-
- halt. bits 0 and 1 both must be 1 to allow sequencer to operate. Reset
- the sequencer with this bit before changing clock mode to allow memory
- contents to be preserved.
-
- Clocking Mode Register
- ----------------------
-
- Write only. Written when address register is 01H.
-
- Bit 0 - 8/9 Dot Clocks - 0 directs sequencer to generate character clocks
- 9 dots wide, 1 causes 8 dots wide. Mono alpha (Mode 7) is the only mode
- that uses 9 dot clocks.
-
- Bit 1 - Bandwidth - 0 makes CRT memory cycles occur 4 out of 5 available
- memory cycles; 1 makes CRT memory cycles occur on 2 out of 5 available
- memory cycles. All hi-res modes must use 4 out of 5 in order to refresh
- the display image.
-
- Bit 2 - Shift Load - When 0, video serializes are reloaded every
- character clock, 1 causes load every other clock. The later mode is
- useful when 16 bits are fetched per cycle and chained together in the
- shift registers.
-
- Bit 3 - Dot Clock - 0 selects normal dot clocks derived from the
- sequencer master input. 1 causes the clock to be divided by 2 to generate
- the dot clock. Dot clock divided by to is used for modes 0,1,4,5.
-
- Bit 4-7 - Not Used.
-
- Map Mask Register
- -----------------
-
- Write only. Written when address register is 02H.
-
- Bit 0-3 - Map Mask - A 1 in bits 3 through 0 enables the proc to write to
- the corresponding maps 3 through 0. If this register is 0FH, the CPU can
- perform a 32 bit write on a single memory cycle. Data scrolling is
- enhanced when this register is 0FH. When odd/even modes are selected,
- maps 0,1 and 2,3 should have the same mask value.
-
- Character Map Select Register
- -----------------------------
-
- Write only. Written when the address register is 03H.
-
- Bit 0,1 - Character map select B - Selects the map used to generate alpha
- characters when attribute bit 3 is 0, according to the following table:
-
- Bit1 Bit0 Map Selected Table Location
- ---- ---- ------------ ------------------------
- 0 0 0 1st 8K of Plane 2 Bank 0
- 0 1 1 2nd 8K of Plane 2 Bank 1
- 1 0 2 3rd 8K of Plane 2 Bank 2
- 1 1 3 4th 8K of Plane 2 Bank 3
-
- Bit 2,3 - Character map select A - Selects the map used to generate alpha
- characters when attribute bit 3 is 1, according to the following table:
-
- Bit3 Bit2 Map Selected Table Location
- ---- ---- ------------ ------------------------
- 0 0 0 1st 8K of Plane 2 Bank 0
- 0 1 1 2nd 8K of Plane 2 Bank 1
-
- 1 0 2 3rd 8K of Plane 2 Bank 2
- 1 1 3 4th 8K of Plane 2 Bank 3
-
- Bits 4-7 - Not used.
-
- In alpha modes, bit 3 of the attribute byte normally has the function of
- turning the forground intensity on or off. This bit may be redefined as
- a switch between character sets.This function is selected only when the
- values in character map select A and B are different. When they are the
- same, the function is disabled. Memory mode register bit 1 must be a 1
- in order to enable this function; otherwise bank 0 is always selected.
-
- 128K of memory is required for 2 character sets, 256K for 4 sets.
-
- Memory Mode Register
- --------------------
-
- Write only. Written when address register is 04H.
-
- Bit 0 - Alpha - 0 indicates non-alpha mode active. 1 indicates alpha mode
- is active and enables character generator map select function.
-
- Bit 1 - Extended Memory - 1 indicates memory expansion card installed. 0
- indicates card not installed
-
- Bit 2 - Odd/Even - 0 directs even processor addresses to maps 0 and 2,
- odd to maps 1,3. 1 causes processor addresses to sequentially address the
- bit map. The maps are accessed according to the value in the Map Mask
- Register.
-
- ------------------------------
-
- Date: Thu, 21 Feb 85 22:35:27 est
-
- From: "John Levine, P.O.Box 349, Cambridge MA 02238-0349 (617-494-1400)"
- <ima!johnl@cca-unix> Subject: How I Got my EGA Manual, a True Story
-
- To: brackenridge@USC-ISIB.ARPA
-
- I was in the same boat as you -- I had the Seminar Proceedings issue on
- the EGA, but couldn't find the manual pages. Then out of the blue, a
- local guy called me up and offered to swap a copy of the seminar
- proceedings for a copy of the EGA manual. Needless to say, I took him
- up on it.
-
- It turns out that he took the totally straightforward approach, entirely
- by accident, and it worked. He bought a copy of the "Options and
- Adapters Technical Reference," which costs $125, a total ripoff,
- particularly since almost everything in it is in the XT technical
- reference, too. In the front of this manual is a postcard you send in
- for the update service. Wait a month, and a mountain of updates arrives
- in the mail, including the EGA manual. It is over 100 pages including a
- lot of diagrams. About half of it is the assembler listing of the BIOS
- code in the ROM.
-
- John Levine, ima!johnl or Levine@YALE.ARPA
- ------------------------------
-
- End of Info-IBMPC Digest
-
-
- *** CREATED 03/07/85 22:56:13 BY BILL.FRANTZ/BILL ***