X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pintos-anon;a=blobdiff_plain;f=specs%2Ffreevga%2Fvga%2Fseqreg.htm;fp=specs%2Ffreevga%2Fvga%2Fseqreg.htm;h=ab9569c58bfde3d906e1580f7f79592361a49c2f;hp=0000000000000000000000000000000000000000;hb=8af06d1fd50343e17229618ef4d2693193b2b3d9;hpb=d0d14ca50fbac167253e1e1d8d806bfd749a5e8a
diff --git a/specs/freevga/vga/seqreg.htm b/specs/freevga/vga/seqreg.htm
new file mode 100644
index 0000000..ab9569c
--- /dev/null
+++ b/specs/freevga/vga/seqreg.htm
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+ VGA/SVGA Video Programming--Sequencer Registers
+
+
+
+Home Back
+
Hardware Level VGA and SVGA Video Programming Information
+Page
+
+Sequencer Registers
+
+
+
+ The Sequencer Registers are
+accessed via a pair of registers, the Sequencer Address Register and the
+Sequencer Data Register. See the Accessing the VGA
+Registers section for more detals. The Address Register is located
+at port 3C4h and the Data Register is located at port 3C5h.
+
+-
+Index 00h -- Reset Register
+
+-
+Index 01h -- Clocking Mode Register
+
+-
+Index 02h -- Map Mask Register
+
+-
+Index 03h -- Character Map Select Register
+
+-
+Index 04h -- Sequencer Memory Mode Register
+
+
+
+Reset Register (Index 00h)
+
+
+7 |
+
+6 |
+
+5 |
+
+4 |
+
+3 |
+
+2 |
+
+1 |
+
+0 |
+
+
+
+ |
+
+ |
+
+ |
+
+ |
+
+ |
+
+ |
+
+SR |
+
+AR |
+
+
+
+SR -- Sychnronous Reset
+
"When set to 0, this bit commands the sequencer to synchronously
+clear and halt. Bits 1 and 0 must be 1 to allow the sequencer to operate.
+To prevent the loss of data, bit 1 must be set to 0 during the active display
+interval before changing the clock selection. The clock is changed through
+the Clocking Mode register or the Miscellaneous Output register."
+
AR -- Asynchronous Reset
+
"When set to 0, this bit commands the sequencer to asynchronously
+clear and halt. Resetting the sequencer with this bit can cause loss of
+video data"
+
+
+Clocking Mode Register (Index 01h)
+
+
+7 |
+
+6 |
+
+5 |
+
+4 |
+
+3 |
+
+2 |
+
+1 |
+
+0 |
+
+
+
+ |
+
+ |
+
+SD |
+
+S4 |
+
+DCR |
+
+SLR |
+
+ |
+
+9/8DM |
+
+
+
+SD -- Screen Disable
+
"When set to 1, this bit turns off the display and assigns maximum
+memory bandwidth to the system. Although the display is blanked, the synchronization
+pulses are maintained. This bit can be used for rapid full-screen updates."
+
S4 -- Shift Four Enable
+
"When the Shift 4 field and the Shift Load Field are set to 0, the
+video serializers are loaded every character clock. When the Shift 4 field
+is set to 1, the video serializers are loaded every forth character clock,
+which is useful when 32 bits are fetched per cycle and chained together
+in the shift registers."
+
DCR -- Dot Clock Rate
+
"When set to 0, this bit selects the normal dot clocks derived from
+the sequencer master clock input. When this bit is set to 1, the master
+clock will be divided by 2 to generate the dot clock. All other timings
+are affected because they are derived from the dot clock. The dot clock
+divided by 2 is used for 320 and 360 horizontal PEL modes."
+
SLR -- Shift/Load Rate
+
"When this bit and bit 4 are set to 0, the video serializers are
+loaded every character clock. When this bit is set to 1, the video serializers
+are loaded every other character clock, which is useful when 16 bits are
+fetched per cycle and chained together in the shift registers. The Type
+2 video behaves as if this bit is set to 0; therefore, programs should
+set it to 0."
+-
+9/8DM -- 9/8 Dot Mode
+
+
This field is used to select whether a character is 8 or 9 dots wide.
+This can be used to select between 720 and 640 pixel modes (or 360 and
+320) and also is used to provide 9 bit wide character fonts in text mode.
+The possible values for this field are:
+
+-
+0 - Selects 9 dots per character.
+
+-
+1 - Selects 8 dots per character.
+
+
+
+
+Map Mask Register (Index 02h)
+
+
+7 |
+
+6 |
+
+5 |
+
+4 |
+
+3 |
+
+2 |
+
+1 |
+
+0 |
+
+
+
+ |
+
+ |
+
+ |
+
+ |
+
+Memory Plane Write Enable |
+
+
+
+
+-
+Memory Plane Write Enable
+
+
Bits 3-0 of this field correspond to planes 3-0 of the VGA display
+memory. If a bit is set, then write operations will modify the respective
+plane of display memory. If a bit is not set then write operations will
+not affect the respective plane of display memory.
+
+
+Character Map Select Register (Index
+03h)
+
+
+7 |
+
+6 |
+
+5 |
+
+4 |
+
+3 |
+
+2 |
+
+1 |
+
+0 |
+
+
+
+ |
+
+ |
+
+CSAS2 |
+
+CSBS2 |
+
+Character Set A Select |
+
+Character Set B Select |
+
+
+
+
+-
+CSAS2 -- Bit 2 of Character Set A Select
+
+
This is bit 2 of the Character Set A Select field. See Character
+Set A Select below.
+-
+CSBS2 -- Bit 2 of Character Set B Select
+
+
This is bit 2 of the Character Set B field. See Character
+Set B Select below.
+-
+Character Set A Select
+
+
This field is used to select the font that is used in text mode when
+bit 3 of the attribute byte for a character is set to 1. Note that this
+field is not contiguous in order to provide EGA compatibility. The font
+selected resides in plane 2 of display memory at the address specified
+by this field, as follows:
+
+-
+000b -- Select font residing at 0000h - 1FFFh
+
+
+
+-
+001b -- Select font residing at 4000h - 5FFFh
+
+-
+010b -- Select font residing at 8000h - 9FFFh
+
+-
+011b -- Select font residing at C000h - DFFFh
+
+-
+100b -- Select font residing at 2000h - 3FFFh
+
+-
+101b -- Select font residing at 6000h - 7FFFh
+
+-
+110b -- Select font residing at A000h - BFFFh
+
+-
+111b -- Select font residing at E000h - FFFFh
+
+
+-
+Character Set B Select
+
+
This field is used to select the font that is used in text mode when
+bit 3 of the attribute byte for a character is set to 0. Note that this
+field is not contiguous in order to provide EGA compatibility. The font
+selected resides in plane 2 of display memory at the address specified
+by this field, identical to the mapping used by Character
+Set A Select above.
+
+
+Sequencer Memory Mode Register (Index
+04h)
+
+
+7 |
+
+6 |
+
+5 |
+
+4 |
+
+3 |
+
+2 |
+
+1 |
+
+0 |
+
+
+
+ |
+
+ |
+
+ |
+
+ |
+
+Chain 4 |
+
+O/E Dis. |
+
+Ext. Mem |
+
+ |
+
+
+
+Chain 4 -- Chain 4 Enable
+
"This bit controls the map selected during system read operations.
+When set to 0, this bit enables system addresses to sequentially access
+data within a bit map by using the Map Mask register. When setto 1, this
+bit causes the two low-order bits to select the map accessed as shown below.
+
Address Bits
+
A0 A1
+Map Selected
+
0 0
+0
+
0 1
+1
+
1 0
+2
+
1 1
+3"
+
O/E Dis. -- Odd/Even Host Memory Write Adressing Disable
+"When this bit is set to 0, even system addresses access maps 0
+and 2, while odd system addresses access maps 1 and 3. When this bit is
+set to 1, system addresses sequentially access data within a bit map, and
+the maps are accessed according to the value in the Map Mask register (index
+0x02)."
+
Ext. Mem -- Extended Memory
+"When set to 1, this bit enables the video memory from 64KB to 256KB.
+This bit must be set to 1 to enable the character map selection described
+for the previous register."
+Notice: All trademarks used or referred to on this page are the property
+of their respective owners.
+
All pages are Copyright © 1997, 1998, J. D. Neal, except where
+noted. Permission for utilization and distribution is subject to the terms
+of the FreeVGA Project Copyright License.
+
+