home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS 1
/
BBS#1.iso
/
document
/
vgadoc.arj
/
CHIPTECH.DOC
< prev
next >
Wrap
Text File
|
1991-12-05
|
21KB
|
522 lines
Chips and Technologies Super VGA Chip Sets:
82c451 256k DRAM max 800x600 16col
82c452 1M DRAM max 640x480 256col, 1024x768 16col
82c453 1M VRAM max 800x600 256 col
82c455 256k DRAM Flat Panel version
82c456 256k DRAM do
94h (R/W): Setup Control Register for Microchannel boards
bit 0-2 Reserved
3 Enables Adapter VGA if set
4 Enters Setup Mode if set
5-7 Reserved
Note: This is the same register as 46E8h.
100h (R): Microchannel ID low
bit 0-7 Bit 0-7 of Microchannel Card ID
101h (R): Microchannel ID high
bit 0-7 Bit 8-15 of Microchannel Card ID
102h (R/W): Global Enable
bit 0 VGA Awake/Asleep
103h (R/W): Multible Enable (Only in Setup Mode)
bit 0-4 Multible VGA Enable
6 Extension registers at 3B6h/7h if set,
3D6h/7h if not.
7 Enable VGA extensions if set
104h (R): Global ID (Setup) (Only in Setup Mode)
bit 0-7 Chip I/D. 0A5h if Chips and Tech Chip set.
3C3h (R/W): Setup Control PS/2
bit 0 Enables motherboard VGA if set
4 Enters Setup mode if set
3d4h index 22h (R/W): CPU Data Latch or Color Compare from last read
3d4h index 24h (R/W): Attribute Controller flip/flop
3d6h index 0 (R): Chip Version
bit 0-3 Revision number
4-7 Chipcode:
0: 451 1:452 2:455 3:453 5:456
3d6h index 1 (R/W): DIP Switch
3d6h index 2 (R/W): CPU Interface
bit 0 16bit memory if set
1 16 bit I/O if set
(82c453 Only) Fast Font Enable ???
The byte written to memory is used as a mask
for painting foreground color to the pixels
with the corresponding bit set and background
color to the rest.
2 Fast MCA buscycle decoding if set
3-4 (82c453 Only) Attribute port pairing
0: Normal Attribute adressing
1: 3C1h is both read and write, 8 and 16 bit.
2: 3C1h is both read and write, 8 bit only.
5 (82c453 Only) 10 bit I/O decodning if set, 16 bit else
6 (82c453 Only) Pel Panning Control
7 (Read Only) Attribute flip-flop status
3d6h index 3 (R/W): ROM Interface
bit 0 Disable on-card ROM if set
3d6h index 4 (R/W): Memory Mapping
bit 2 (82c451/5/6) Enable bank access if set
0-1 (82c452/3) Display Memory Size:
0: 256Kb, 1: 512Kb, 2: 1Mb.
2 (82c452/3) CRTC Address can cross bank boundaries if set
3d6h index 5h (R/W): Sequencer Control
3d6h index 6h (R/W): DRAM Interface
3d6h index 8h (R/W): General Purpose
3d6h index 9h (R/W): General Purpose
3d6h index Ah (R/W): Cursor Address Top (82c452/3 Only)
bit 0-1 Cursor Address bit 16,17
2-7 Reserved
3d6h index Bh (R/W): CPU Paging (82c451/5/6)
bit 0-1 Bank number in 64k chunks.
Note: This Bank register is used if in a 256 color mode and
the chip is a 82c451/5/6.
3d6h index Bh (R/W): Memory Paging Register (82c452/3)
0 Enable extended paging (256 color paging) if set
1 Dual Page Enable if set.
2 CPU Address divide by 4 (256 color addressing)
3d6h index Ch (R/W): Start Address Top (82c452/3 Only)
bit 0-1 Display Start Address bit 16,17.
3d6h index Dh (R/W): Auxiliary Offset Register
bit 0 Bit 8 of Offset field. If set each line is >255 words.
1 Bit 8 of simulated Offset field.
3d6h index Eh (R/W): Text Mode (82c452 Only)
bit 0 Extended text Mode Control ??
1 Enable anti-aliased fonts if set
3d6h index 10h (R/W): Single/Low Map (82c452/3 Only)
bit 0-5 (82c452) Bank no in 4K/16K chunks.
0-7 (82c453) Bank no in 1K/4K chunks.
Note: This Bank register is used if in single-paging mode
or if addressing the lower half (32 or 64Kb) of the
adapters address range.
3d6h index 11h (R/W): High Map (82c452/3 Only)
bit 0-5 (82c452) Bank no in 4K/16K chunks.
0-7 (82c453) Bank no in 1K/4K chunks.
Note: This Bank register is used if addressing the upper
half (32 or 64Kb) of the adapters address range.
3d6h index 20h (R/W): Sliding Unit Delay
3d6h index 21h (R/W): Sliding Hold A
3d6h index 22h (R/W): Sliding Hold B
3d6h index 23h (R/W): Write Mask Control (82c453 Only)
bit 0 Enable VRAM Write Mask function if set
1-2 Write Bit Mask Select:
0: Write Bit Mask Pattern Register (3d6h index 24h)
1: Graphics Controller Bit Mask (3CEh index 8)
2: Rotated CPU byte
3 Enable Fast Read/Modify/Write function if set
3d6h index 24h (R/W): Write Bit Mask Pattern (82c453 Only)
bit 0-7 Write Bit Mask (if 3d6h index 23h bit 1-2 =0)
3d6h index 26h (R/W): Configuration (82c453 Only)
bit 0 PC/AT if set, PS/2 else
1-2 VRAM memory
0: 512k 16 chips of 64k x4
1: 512k 4 chips of 256k x4
2: 1M 8 chips of 256k x4
3: 512k 8 chips of 64k x4 ?????
maybe 256k ??
3d6h index 27h (R/W): Force Sync State
3d6h index 28h (R/W): Video Interface
3d6h index 29h (R/W): External Sync Control
3d6h index 2Ah (R/W): Frame Interrupt Count (82c452 Only)
bit 0-4 Generate Vertical Interrupt every (n+1) frames
3d6h index 2Bh (R/W): Default Video
3d6h index 2Ch (R/W): Force Horizontal High
3d6h index 2Dh (R/W): Force Horizontal Low
3d6h index 2Eh (R/W): Force Vertical High
3d6h index 2Fh (R/W): Force Vertical Low
3d6h index 30h (R/W): Graphics Cursor Start Address High
bit 0-7 Bit 8-15 of the Cursor Start Address.
3d6h index 31h (R/W): Graphics Cursor Start Address Low
bit 0-7 Lowest 8 bits of the Cursor Start address.
3d6h index 30h and index Ah forms the upper 10 bits.
In 256 color modes this address has a granularity
of 16 bytes and 4 bytes in 16 color modes.
3d6h index 32h (R/W): Graphics Cursor End Address
bit 0-7 End address of the cursor bit map.
3d6h index 33h (R/W): Graphics Cursor X Position High
bit 0-3 Bits 8-11 of the X coordinate of the cursor.
3d6h index 34h (R/W): Graphics Cursor X Position Low
bit 0-7 Lower 8 bits of the X coordinate of the cursor.
3d6h index 35h (R/W): Graphics Cursor Y Position High
bit 0-3 Bits 8-11 of the Y coordinate of the cursor.
3d6h index 36h (R/W): Graphics Cursor Y Position Low
bit 0-7 Lower 8 bits of the cursor Y coordinate.
3d6h index 37h (R/W): Graphics Cursor Mode
bit 0 Cursor Enabled if set
1 Cursor Status enable
2 Horizontal Zoom. Zoom to 64 pixels wide if set.
(Normally 32 pixels wide).
3 Cursor Blink enabled if set
4 Cursor Blink Rate. 8 frames if clear, 16 if set
3d6h index 38h (R/W): Graphics Cursor Plane Mask
bit 0 Enables graphics cursor in bit plane 0 if set
1 Enables graphics cursor in bit plane 1 if set
2 Enables graphics cursor in bit plane 2 if set
3 Enables graphics cursor in bit plane 3 if set
3d6h index 39h (R/W): Graphics Cursor Color 0
bit 0-7 Background color of Graphics Cursor.
3d6h index 3Ah (R/W): Graphics Cursor Color 1
bit 0-7 Foreground color of Graphics Cursor.
3d6h index 44h (R/W): Scratch #0 Register (82c453 Only)
bit 0-7 Available
3d6h index 45h (R/W): Scratch #1/Foreground Color (82c453 Only)
bit 0-7 Used as foreground color if in Fast Font Paint mode,
Available as scratch else.
3d6h index 50h (R/W): Panel Format (82c455/6 Only)
bit 0-1 Frame Rate Control
0: No gray scale simulated for mono,
8 colors simulated for color panels.
1: 4 simulated colors for color panels only
(64 colors displayed).
2: 64 gray levels simulated for mono. panels only.
2-3 Pulse Width Modulation
0: No gray scales for mono or color systems.
1: 4 colors supported by the color panels only
(64 colors displayed).
2: 16 gray levels supported by the mono panels only.
3: 256 gray levels supported by the
color single panels only.
3d6h index 51h (R/W): Panel Type (82c455/6 Only)
bit 0 Double drive if set, single else
1 Double panel if set, single else
2-3 Type of display
0=LCD, 1=CRT, 2=Plasma or Electrolum.
4-5 0=Color panel 3 bit data pack
1=Color Panel 1 bit data pack
2=Monochrome Panel
6 Flat Panel Compatability enabled if set
7 Text Video output polarity
3d6h index 52h (R/W): Panel Size (82c455/6 Only)
bit 0-1 Horizontal Size of panel
1=640 pixels, 2=720 pixels
3-6 Vertical Size of panel
1=200 lines, 2=350, 4=400, 8=480 lines
3d6h index 55h (R/W): Text Mode 350_A (82c455/6 Only)
bit 0-3 (Number of blank lines)-1 inserted between text rows
I.e. if 5, insert 6 blank lines after a text line.
4 If clear lines are inserted.
Note: This register is used if in a 350 line text mode
and fonts are larger than 8 lines.
3d6h index 56h (R/W): Text Mode 350_B (82c455/6 Only)
bit 0-3 (Number of blank lines)-1 inserted between text rows
4 If clear lines are inserted.
Note: This register is used if in a 350 line text mode
and fonts are smaller than or equal to 8 lines.
3d6h index 57h (R/W): Text Mode 400 (82c455/6 Only)
bit 0-3 (Number of blank lines)-1 inserted between text rows
4 If clear lines are inserted.
Note: This register is used if in a 400 line text mode.
3d6h index 58h (R/W): Graphics Mode 350 (82c455/6 Only)
bit 0-3 Number of scan lines between stretch/delete
4 Enable vertical Stretching if set
5 Enable vertical deletion if set
6 Increment (0-3) every other period ??
Note: This register is used if in a 350 line graphics mode.
3d6h index 59h (R/W): Graphics Mode 400 (82c455/6 Only)
bit 0-3 Number of scan lines between stretch/delete
4 Enable vertical Stretching if set
5 Enable vertical deletion if set
6 Increment (0-3) every other period ??
Note: This register is used if in a 400 line graphics mode.
3d6h index 60h (R/W): Blink Rate Control (82c455/6 Only)
bit 0-5 Blink Rate.
Character Blink Freq = Vertical sync Freq * (Blink rate+1)
Cursor blink freq = Character Blink Freq *2.
6-7 Blink Cycle 1=25%, 2=50%, 3=75%
3d6h index 61h (R/W): Smartmap Control (82c455/6 Only)
bit 0 Enable Smartmap if set
1-4 Threshold for (Foreground - Background) diff
if diff less than the threshold the foreground and
background colors will be spread (See 3d6h index 62h).
5 Smartmap Saturation value
6 (82c456 Only) Enhanced text if set
(reverses attributes 7h and Fh)
3d6h index 62h (R/W): Smartmap Shift Parameter (82c455/6 Only)
bit 0-3 Number of levels to shift foreground color
when too little difference (See 3d6h index 61h bit 1-4).
4-7 No of levels to shift background color.
3d6h index 63h (R/W): Graphics Color Mapping Control (82c455/6 Only)
bit 0-3 Threshold color value for mono output.
All colors >= this value will be set to 1,
all lower to 0.
4 Use upper 4 bits of 256 color if set, lower if not.
5 Enable internal color lookup table if set
6 Write protect internal color look up table
7 Graphics output polarity
3d6h index 6Dh (R/W): FRC and Palette Control (82c456 Only)
bit 3 Enable Frame Rate Control
4-5 Maximum number of gray levels.
6-7 Usage of External Palette:
0: Bypass
1: Bypass for 16 color modes, use for 256 color.
2: Use
3: 16 grays for 16 color modes, 64 for 256 color.
3d6h index 6Eh (R/W): Polynomial FRC Control (82c456 Only)
bit 0-3 Polynomial N value for Frame Rate Control
4-7 Polynomial M value.
46E8h (R/W): Setup Control PC/AT Register
bit 0-2 Reserved
3 Enables Adapter VGA if set
4 Enters Setup Mode if set
5-7 Reserved
Note: This is the same register as 94h.
Most every index of 3d6h is used by one one or more chip.
Bank Switching:
Bank switching is dependent on Chip version:
16 color modes 256 color modes
Chip #bank regs #Banks Granularity #banks Granularity
82c451/5/6 1 4 64Kbytes
82c452 2 64 4Kbytes 64 16Kbytes
82c453 2 256 1Kbytes 256 4Kbytes
For the 82c452 & 3 the window to display memory can start on
any boundry fitting the granularity of the chip/display mode.
When using 2 bankregisters, the adress range available to the
adapter is split equally between the two bank registers. I.e.
A000h-A7FFh uses one bank, and A800h-AFFFh the other.
(Or A000h-AFFFh and B000h-BFFFh respectively if using the full
128 Kbytes range).
ID Chips and Technologes Chip Set:
{Enter Setup Mode}
port[$3c3]:=port[$3c3] or 16;
if port[$104]=$a5 then CHIPS_TECH_CHIP_SET !!!!!
{Leave Setup Mode}
port[$3c3]:=port[$3c3] and $ef;
ID Which Chips and Tech VGA
{Extension Enabled}
port[$3d6]:=0;
case port[$3d7] shr 4 of
2:CHIP_82c455 !!!
3:CHIP_82c453 !!!
5:CHIP_82c456 !!!
1:begin
port[$3d6]:=$3a;
old_value:=port[$3d7];
port[$3d7]:=$aa;
value:=port[$3d7];
port[$3d7]:=old_value;
if value=$aa then CHIP_82c452 !!!
else CHIP_82x451 !!!
end;
end;
Video Modes:
60h T 132 25 16 (8x16)
61h T 132 50 16 (8x8)
6Ah G 800 600 16 planar
70h G 800 600 16 planar
71h G 960 720 16 planar Cardinal only!
72h G 1024 768 16 planar
78h G 640 400 256 packed Not documented/not all boards
79h G 640 480 256 packed
7Ah G 720 540 256 packed Not documented/not all boards
7Bh G 800 600 256 packed
7Ch G 800 600 256 packed (82c453 Only)
7Eh G 1024 768 256 packed (82c453 Only)
Bios Extensions:
----------105F00-----------------------------
INT 10 - Get Controller Information (Chips and Technologies Super VGA)
AX = 5F00h
Return: AL = 5F If extended VGA control function supported
BL = CHIP Type:
Bits 4-7:
0=82c451
1=82c452
2=82c455
3=82c453
5=82c456
Bits 0-3: Revision Number
BH = Video Memory Size
0=256 Kbytes
1=512 Kbytes
2=1 Megabyte
CX = Miscellaneous Information
Bit 0 Dac Size. 0=6bit, 1=8bit
1 System Environment. 0=PC/AT, 1=PS/2
2 Extended text modes supported by BIOS
3 Reserved
4 Extended graphics modes supported by BIOS
5 Resserved
6 Graphics Cursor supported by BIOS
7 Anti Alias font supported by BIOS
8 Preprogrammed emulation supported by BIOS
9 Auto emulation supported by BIOS
10 Variable mode set at cold boot supported by BIOS
11 Variable mode set at warm boot supported by BIOS
12 Emulation mode set at cold boot supported by BIOS
13 Emulation mode set at warm boot supported by BIOS
14-15 Reserved
----------105F01-----------------------------
INT 10 - Set Emulation Mode (Chips and Technologies Super VGA)
AX = 5F01h
BL = Operation Mode
0-1 Reserved
2 Enable CGA Emulation
3 Enable MDA Emulation
4 Enable Hercules Emulation
5 Enable EGA Emulation
6 Enable VGA Emulation
Return: AL = 5Fh If function supported
AH = Return Status
1 If Function Succesfull, 0 else
----------105F02-----------------------------
INT 10 - Auto Emulation Control (Chips and Technologies Super VGA)
AX = 5F02h Auto Emulation Control
BL = Selection
0= Enable Auto Emulation
1= Disable Auto Emulation
Return: AL = 5Fh If function supported
AH = Return Status
1 If Function Succesfull, 0 else
----------105F03-----------------------------
INT 10 - Set Power-on Video Configuration (Chips and Technologies Super VGA)
AX = 5F03h
BL = Configuration
0: Set display mode as specified in the CX register
at power-up.
CL=Display Mode
CH=Bits 0-1 Scanlines
0=200 Lines
1=350 Lines
2=400 Lines
Bit 7 Performance
0= Reset after next boot
1= Set until changed
1: Set Emulation mode as specified in the CX register
at power-up.
CL=Emulation Mode (See 5F01h)
CH=Bit 7 Performance
0= Reset after next boot
1= Set until changed
Return: AL = 5Fh If function supported
AH = Return Status
1 If Function Succesfull, 0 else
----------105F90-----------------------------
INT 10 - Return Save/Restore buffer size (Chips and Technologies Super VGA)
AX = 5F90h
CX = Mask State
Bit 0 Save/Restore video hardware
1 Save/Restore BIOS data state
2 Save/Restore DAC state
15 Save/Restore type
0= Save/Restore All state information
1= Save/Restore super state information
Return: AL = 5Fh If function supported
BX = Number of 64byte blocks required
----------105F91-----------------------------
INT 10 - Save State (Chips and Technologies Super VGA)
AX = 5F91h
CX = Mask State
Bit 0 Save video hardware
1 Save BIOS data state
2 Save DAC state
15 Save type
0= Save All state information
1= Save super state information
ES:BX -> Buffer to save in.
Return: AL = 5Fh If function supported
----------105F92-----------------------------
INT 10 - Restore State (Chips and Technologies Super VGA)
AX = 5F92h
CX = Mask State
Bit 0 Restore video hardware
1 Restore BIOS data state
2 Restore DAC state
15 Restore type
0= Restore All state information
1= Restore super state information
ES:BX -> Buffer to restore from.
Return: AL = 5Fh If function supported