home *** CD-ROM | disk | FTP | other *** search
- 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
-