home *** CD-ROM | disk | FTP | other *** search
/ Hot Shareware 32 / hot34.iso / ficheros / DTOOL / INTER57D.ZIP / PORTS.B < prev    next >
Text File  |  1998-03-22  |  214KB  |  5,576 lines

  1. Ports List, part 2 of 2
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998 Ralf Brown
  3. --------V-P03C003C1--------------------------
  4. PORT 03C0-03C1 - EGA/VGA - ATTRIBUTE CONTROLLER
  5. Range:    PORT 03C0h or PORT 02C0h (alternate EGA)
  6. SeeAlso: PORT 03C2h,PORT 03D0h,#P494
  7.  
  8. 03C0  rW  ATC index/data register
  9.         Every write access to this register will toggle an internal
  10.           index/data selection flipflop, so that consecutive writes to
  11.           index & data is possible through this port. To get a defined
  12.           start condition, each read access to the input status register
  13.           #1 (3BAh in mono / 3DAh in color) resets the flipflop to load
  14.           index. If values are changed during the vertical retrace
  15.           period only no flicker will occur.
  16.  
  17.         index register (flipflop reset to 'index'): (default 20h)
  18.           bit7-6: reserved
  19.           bit5    : 0=CPU access (screen dark),
  20.               1=video access to registers
  21.           bit4-0: index in ATC (0..31)
  22.  
  23.         indexed registers in ATC (flipflop set to 'data'): (see #P267)
  24. 03C1  R-  (VGA)    ATC index/data read register
  25.  
  26. (Table P267)
  27. Values for EGA/VGA indexed registers in ATC:
  28.  00h-0Fh 16 palette registers (see #P268)
  29.  10h    mode control register (see #P269)
  30.  11h    (EGA) overscan color register (see #P270) (default: 00h)
  31.  11h    (VGA) overscan color register (see #P271) (default: 00h)
  32.  12h    color enable register (see #P272)
  33.  13h    horizontal pixel panning register
  34.     bit7-4: reserved
  35.     bit3-0: horizontal pixel panning
  36.  14h    (VGA) color select register (default: 00h)
  37.     bit7-4: reserved
  38.     bit3  : s-color 7
  39.     bit2  : s-color 6
  40.     bit1  : s-color 5 (only with 16 pages á 16 regs)
  41.     bit0  : s-color 4 (only with 16 pages á 16 regs)
  42.  16h    ET3000, ET4000 only: ATC miscellanenous
  43.     (at least on ET4000 'key' protected)
  44.     This register is also supported by ET3000, but the
  45.       description is proved for ET4000 only.
  46.     bit7  : bypass the internal palette
  47.         (e.g. for HiColor modes with Sierra RAMDACs)
  48.     bit6  : reserved
  49.     bit5-4: select high resolution / color mode
  50.     bit3-0: reserved
  51. SeeAlso: #P273,#P279
  52.  
  53. Bitfields for EGA/VGA indexed ATC palette register:
  54. Bit(s)    Description    (Table P268)
  55.  7-6    reserved
  56.  5    secondary red video
  57.  4    secondary green/intensity video
  58.  3    secondary blue/mono video
  59.  2    primary red video
  60.  1    primary green video
  61.  0    primary blue video
  62. SeeAlso: #P267
  63.  
  64. Bitfields for EGA/VGA ATC mode control register:
  65. Bit(s)    Description    (Table P269)
  66.  7    (VGA) SB/SG select (0=4 pages of 64 regs, 1=16 pages of 16 regs)
  67.  6    (VGA) PELCLK/2 (0=4bit color, 1=8bit color)
  68.  5    (VGA) enable pixel panning (0=all, 1=up to line compare register value)
  69.  4    reserved
  70.  3    background intensity (0=16 colors, 1=blink)
  71.  2    line graphics enable (0=background, 1=line 8=9)
  72.  1    1=mono, 0=color select
  73.  0    1=graphics, 0=text select
  74. SeeAlso: #P267
  75.  
  76. Bitfields for EGA overscan color register:
  77. Bit(s)    Description    (Table P270)
  78.  7-6    reserved
  79.  5    secondary red (SR)
  80.  4    secondary green (SR) / intensity
  81.  3    secondary blue (SB)
  82.  2    primary red (PR)
  83.  1    primary green (PG)
  84.  0    primary blue (PB)
  85. SeeAlso: #P267,#P271
  86.  
  87. Bitfields for VGA overscan color register:
  88. Bit(s)    Description    (Table P271)
  89.  7    secondary intensity border color (SI)
  90.  6    secondary red (SR)
  91.  5    secondary green (SG)
  92.  4    secondary blue (SB)
  93.  3    intensity border color (PI)
  94.  2    primary red (PR)
  95.  1    primary green (PG)
  96.  0    primary blue (PB)
  97. SeeAlso: #P267,#P270
  98.  
  99. Bitfields for EGA/VGA color enable register:
  100. Bit(s)    Description    (Table P272)
  101.  7-6    reserved
  102.  5-4    diagnose / video status select
  103.     EGA:        VGA, ET4000:
  104.     00b = PR/PB       PR/PB
  105.     01b = SB/PG       SG/SB
  106.     10b = SR/SG       PI/PG
  107.     11b = reserved       SI/SR
  108.  3    enable plane 3
  109.  2    enable plane 2
  110.  1    enable plane 1
  111.  0    enable plane 0
  112. SeeAlso: #P267
  113. ----------P03C003C7--------------------------
  114. PORT 03C0-03C7 - Sunshine EW-901, EW-901A, EW-904, EW-904A
  115. Desc:    EPROM writer card for EPROMs up to 27512
  116.  
  117. 03C0-03C3    adresses of the 8255 on the EW-90x
  118. --------V-P03C203CF--------------------------
  119. PORT 03C2-03CF - EGA/VGA - MISCELLANEOUS REGISTERS
  120. Range:    PORT 03C2h or PORT 02C2h (alternate EGA)
  121. SeeAlso: PORT 03C0h,PORT 03C4h,PORT 03C6h,PORT 03D0h
  122.  
  123. 03C2  R-  input status 0 register (see #P385)
  124. 03C2  -W  miscellaneous output register (see #P278)
  125. 03C3  RW  (VGA)    video subsystem enable (see also PORT 46E8h)
  126.         for IBM, motherboard VGA only
  127.              bit7-4=0: reserved
  128.              bit3     : select video subsystem (address 46E8h)
  129.              bit2-1     : reserved
  130.              bit0     : select video subsystem (address 03C3h)
  131.  
  132. Bitfields for EGA/VGA input status 0 register:
  133. Bit(s)    Description    (Table P385)
  134.  7    (VGA) vertical retrace interrupt is pending
  135.     (EGA) =0 vertical retrace in progress
  136.  6-5    (VGA) reserved (0)
  137.  6    (EGA and ET4000) feature control 1 (pin17)
  138.  5    (EGA and ET4000) feature control 0 (pin19)
  139.  4    (VGA) monitor sense signal is asserted
  140.  4    (EGA, Genoa SuperEGA) DIP switch sense
  141.     0=closed, 1=open/switches readable
  142.  3-0    reserved (0)
  143.  
  144. Bitfields for EGA/VGA miscellaneous output register:
  145. Bit(s)    Description    (Table P278)
  146. ---Genoa SuperEGA in all emulation modes---
  147.  7-6: vertical resolution
  148.     00 (EGA) 200 lines
  149.     01 (VGA) 400 lines
  150.     10 (EGA/VGA) 350 lines
  151.     11 (VGA) 480 lines
  152. ------
  153.  7    vertical sync polarity (0=positive, 1=negative)
  154.  6    horizontal sync polarity (0=positive, 1=negative)
  155.  5    odd/even pagebit (=1 select second 64K memory page)
  156.  4    EGA: 0=video driver on,
  157.          1=video driver off (feature connector used)
  158.  3-2    pixelclock
  159.     00 14/25.175 MHz (EGA/VGA)
  160.     01 16/28.322 Mhz (EGA/VGA)
  161.     10 (EGA/VGA) external clock (EGA)
  162.     10 (Genoa SuperEGA) 39Mhz
  163.     11 (EGA/VGA) reserved
  164.     11 (Genoa SuperEGA) 26.824Mhz
  165.     11 (S3 Trio32/Trio64) enable clock programming via sequencer registers
  166.           12h and 13h
  167.  1    enable CPU RAM access
  168.  0    CRTC port address
  169.     0=3B4h mono
  170.     1=3D4h color
  171.        (color EGA: enable feature control at 3DAh,status reg 1 at 3D2h)
  172. ----------P03C403C5--------------------------
  173. PORT 03C4-03C5 - EGA/VGA - SEQUENCER REGISTERS
  174. Range:    PORT 03C4h or PORT 02C4h (alternate EGA)
  175. SeeAlso: PORT 03C0h,PORT 03C2h,PORT 03C4h"Cirrus",PORT 03C4h"S3"
  176. SeeAlso: PORT 03C4h"Tseng",PORT 03C6h,PORT 03D0h
  177.  
  178. 03C4  -W  EGA    TS index register
  179.         bit7-3 : reserved (VGA only)
  180.         bit2-0 : current TS index
  181. 03C4  RW  VGA    sequencer register index (see #P273)
  182. 03C5  -W  EGA    TS data register
  183. 03C5  RW  VGA    sequencer register data
  184.  
  185. (Table P273)
  186. Values for EGA/VGA indexed TS (sequencer) registers:
  187.  00h    reset register
  188.     bit7-2 : reserved
  189.     bit1 =0: synchronous reset (EGA/VGA)
  190.     bit0 =0: asynchronous reset (EGA, ET4000)
  191.          synchronous reset, also (VGA)
  192.  01h    clocking mode register / TS mode (see #P274)
  193.  02h    map mask register (see #P275)
  194.  03h    character map select register / font select (see #P276)
  195.  04h    memory mode register (see #P386)
  196.  07h    (undoc VGA) reset horizontal character counter
  197.     any write to this register holds horizontal character counter at 00h
  198.       until any other sequencer register is written
  199. Note:    register 07h is documented in the C&T Wingine documentation
  200. SeeAlso: #P488,#P487,#P486
  201.  
  202. Bitfields for EGA/VGA sequencer clocking mode register:
  203. Bit(s)    Description    (Table P274)
  204.  7-6    reserved
  205.  5    (VGA) =1: screen refresh off
  206.  4    (VGA) shift load (0=4x8, 1=1x32)
  207.  3    internal character clock (0=normal, 1=dotclock/2)
  208.  2    serial shift video load (0=4x8, 1=2x16)
  209.  1    (EGA) CRTC bandwidth (0=4/5, 1=2/5)
  210.  0    dot clocks per character (0=9, 1=8) (ET4000: see 06h)
  211. SeeAlso: #P273
  212.  
  213. Bitfields for EGA/VGA sequencer map mask register:
  214. Bit(s)    Description    (Table P275)
  215.  7-4    reserved
  216.  4    Genoa SuperEGA only: plane4 ???
  217.  3    write enable display memory plane 3
  218.  2    write enable display memory plane 2
  219.  1    write enable display memory plane 1
  220.  0    write enable display memory plane 0
  221. SeeAlso: #P273
  222.  
  223. Bitfields for EGA/VGA sequencer character map select register:
  224. Bit(s)    Description    (Table P276)
  225.  7-6    reserved
  226.  5    (VGA) bit3 for second text-font
  227.  4    (VGA) bit3 for first text-font
  228.  3-2    second text-font (attr bit3=1)
  229.  1-0    first text-font (attr bit3=0)
  230.     offset in font memory (4-7: VGA only)
  231.        0 00b =  0KB
  232.        0 01b = 16KB
  233.        0 10b = 32KB
  234.        0 11b = 48KB
  235.        1 00b =  8KB
  236.        1 01b = 24KB
  237.        1 10b = 40KB
  238.        1 11b = 56KB
  239. SeeAlso: #P273
  240.  
  241. Bitfields for EGA/VGA sequencer memory mode register:
  242. Bit(s)    Description    (Table P386)
  243.  7-4    reserved
  244.  3    =1 (VGA) enable chain 4 linear graphics mode
  245.     (when set, low two bits of CPU address select the plane)
  246.  2    addressing mode
  247.     0 odd/even mode (even addresses access planes 0/2, odd planes 1/3)
  248.     1 sequential mode
  249.  1    =1 extended memory (0=64KB, 1=more)
  250.  0    (EGA) 1=textmode, 0=graphics mode
  251. SeeAlso: #P273
  252. ----------P03C403C5--------------------------
  253. PORT 03C4-03C5 - Cirrus Logic GRAPHICS - EXTENDED SEQUENCER REGISTERS
  254. SeeAlso: PORT 03C4h"EGA",PORT 03C4h"S3",PORT 03C4h"Tseng"
  255.  
  256. 03C4  RW  sequencer register index (see #P487)
  257. 03C5  RW  sequencer register data
  258.  
  259. (Table P488)
  260. Values for Cirrus CL-GD7556 extended sequencer registers:
  261.  00h-04h same as EGA/VGA (see #P273) 
  262.  06h    "SR6" key register -- enable access to extension registers
  263.     set to xxx1x010 to unlock extended sequencer and CRTC registers
  264.  07h    "SR7" extended sequencer mode (see #P646)
  265.  08h    "SR8" DDC2B control (see #P647)
  266.  09h    "SR9" scratch pad #0
  267.  0Ah    "SRA" scratch pad #1
  268.  0Bh    "SRB" VCLK0 numerator  !!!gd7556hrm.pdf p.239
  269.  0Ch    "SRC" VCLK1 numerator
  270.  0Dh    "SRD" VCLK2 numerator
  271.  0Eh    "SRE" VCLK3 numerator
  272.  0Fh    "SRF" display memory control (see #P648)
  273.  10h    "SR10" hardware cursor/icon coarse horizontal position
  274.  11h    "SR11" hardware cursor/icon coarse vertical position
  275.  12h    "SR12" hardware cursor attributes
  276.  13h    "SR13" hardware cursor pattern address
  277.  14h    "SR14" scratch pad #2
  278.  15h    "SR15" scratch pad #3
  279.  17h    "SR17" BitBLT memory map I/O address
  280.  18h    "SR18" signature generator control
  281.  19h    "SR19" signature generator result (low)
  282.  1Ah    "SR1A" signature generator result (high)
  283.  1Bh    "SR1B" VLK0 denominator/post scaler
  284.  1Ch    "SR1C" VLK1 denominator/post scaler
  285.  1Dh    "SR1D" VLK2 denominator/post scaler
  286.  1Eh    "SR1E" VLK3 denominator/post scaler
  287.  1Fh    "SR1F" MCLK frequency / VCLK source select
  288.  20h    "SR20" miscellaneous control 2
  289.  21h    "SR21" test bus control
  290.  22h    "SR22" hardware configuration read 1
  291.  23h    "SR23" software configuration 1
  292.  24h    "SR24" flat panel type switches enable
  293.  25h    "SR25" FasText(tm) mode control
  294.  26h    "SR26" shader signature (low)
  295.  27h    "SR27" shader signature (high)
  296.  28h    "SR28" scratch pad #4
  297.  29h    "SR29" scratch pad #5
  298.  2Ah    "SR2A" hardware icon #0 control
  299.  2Bh    "SR2B" hardware icon #1 control
  300.  2Ch    "SR2C" hardware icon #2 control / byte-swap enable
  301.  2Dh    "SR2D" hardware icon #3 control / cursor memory access
  302.  2Eh    "SR2E" hardware cursor horizontal position extension
  303.  2Fh    "SR2F" half-frame accel. FIFO threshold for surrounding graphics
  304.  32h    "SR32" half-frame accel. FIFO threshold in video window
  305.  33h    "SR33" spare register
  306.  34h    "SR34" Host CPU cycle stop control
  307. Note:    the scratch pad registers are reserved for use by the VGA BIOS
  308. SeeAlso: #P273,#P486,#P487
  309.  
  310. Bitfields for Cirrus CL-GD7556 extended sequencer mode register:
  311. Bit(s)    Description    (Table P646)
  312.  7-4    display memory segment
  313.  3-1    CRT Controller character clock divisor
  314.  0    select high-resolution packed-pixel mode
  315. !!!gd7556hrm.pdf p.234
  316. SeeAlso: #P488
  317.  
  318. Bitfields for Cirrus CL-GD7556 DDC2B Control register:
  319. Bit(s)    Description    (Table P647)
  320.  7    DDCD output status (read-only)
  321.  6-3    reserved
  322.  2    DDCC output status (read-only)
  323.  1    DDCD (I2C SDA) output control
  324.  0    DDCC (I2C SCL) output control
  325. Notes:    bits 1 and 0 are used to drive the I2C bus used for DDC communications;
  326.       bits 7 and 2 are used to read back the current state of the bus lines
  327.     SR24 bit 7 must be cleared to enable access to the bus
  328. SeeAlso: #P488,#M098,I2C A0h"DDC"
  329.  
  330. Bitfields for Cirrus CL-GD7556 Display Memory Control register:
  331. Bit(s)    Description    (Table P648)
  332.  7    bank select for display memory
  333.  6    !!!gd7556hrm.pdf p.241
  334.  5    reserved
  335.  4-3    display memory data width
  336.  2    RAS# cycle select for display memory
  337.  1    display memory configuration symmetry
  338.  0    multiple-CAS# / multiple-WE# select for display memory
  339. SeeAlso: #P448
  340. ----------P03C403C5--------------------------
  341. PORT 03C4-03C5 - S3 GRAPHICS - EXTENDED SEQUENCER REGISTERS
  342. SeeAlso: PORT 03C4h"EGA",PORT 03C4h"Cirrus",PORT 03C4h"Tseng"
  343.  
  344. 03C4  RW  sequencer register index (see #P486)
  345. 03C5  RW  sequencer register data
  346.  
  347. (Table P486)
  348. Values for S3 extended sequencer registers:
  349.  00h-04h same as EGA/VGA (see #P273) 
  350.  08h    S3 864/964/765 (Trio64V): key register -- enable access to S3 extended
  351.       registers when set to x6h
  352. ---S3 Trio32/Trio64/Trio64V+ ---
  353.  09h    "SR9" MMIO-Only
  354.     bit 7: disable port I/O when memory-mapped I/O is enabled
  355.     bits 6-0: reserved
  356.     bit 1: ??? (set by Stealth64 Video 2001)
  357.  0Ah    "SRA" external bus request control register (see #P387)
  358.  0Bh    "SRB" miscellaneous extended sequencer register (see #P388)
  359.  0Dh    "SRD" VSYNC/HSYNC control (see #P389)
  360.  10h    "SR10" MCLK value (low) (see #P390)
  361.  11h    "SR11" MCLK value (high) (see #P391)
  362.  12h    "SR12" DCLK value (low) (see #P390)
  363.  13h    "SR13" DCLK value (high) (see #P391)
  364.  14h    "SR14" CLKSYN control 1 (see #P392)
  365.  15h    "SR15" CLKSYN control 2 (see #P393)
  366.  16h    "SR16" CLKSYN Test (high) (reserved for testing of clock synth)
  367.  17h    "SR17" CLKSYN Test (low) (reserved for testing of clock synth)
  368.  18h    "SR18" RAMDAC/CLKSYN Control (see #P394)
  369. ---S3 Trio64V+ ---
  370.  1Ch    "SR1C" signal select (see #P476)
  371. SeeAlso: #P273,#P488,#P487
  372.  
  373. Bitfields for S3 Trio32/64/64V+ "SRA" external bus request control register:
  374. Bit(s)    Description    (Table P387)
  375.  7    fast CPU writes
  376.     when set and MCLK is less than 57 MHz, CPU writes take 2 MCLKs instead
  377.       of 3 MCLKs (for MCLKs of 55-57 MHz, SR15 bit 7 should also be set)
  378.  6    (Trio64) Pin50 function select
  379.     =0 (CR36 bit 2=1) Pin50 outputs a second -OE0 signal
  380.     =1 (CR36 bit 2=1) Pin50 outputs -RAS1
  381.  5    =0 tri-state pixel-data lines (reduces power consumption)
  382.  4-0    maximum 2*MCLKs that secondary memory controllers are granted access to
  383.       Trio's memory bus
  384. Note:    bit 6 must be set for 4M fast page-mode memory; it has no effect if
  385.       EDO memory is selected via CR36 bit 2
  386. SeeAlso: #P486
  387.  
  388. Bitfields for S3 Trio32/64/64V+ "SRB" misc extended sequencer register:
  389. Bit(s)    Description    (Table P388)
  390.  7-4    alternate color mode (for feature connector input) (see #P417)
  391.  3    (Trio32 only) enable packed 24 bpp (mode 12); also requires CR67 bits
  392.           7-4=0000
  393.  2    reserved
  394.  1    VAFC clocking
  395.     =0 latch pixel data from pass-through feature connector on VCLK
  396.     =1 latch pixel data from VAFC on VCLKI
  397.  0    dot clock select (testing only)
  398.     =0 use internal dot clock
  399.     =1 use VCLKI
  400. SeeAlso: #P486,#P416
  401.  
  402. (Table P417)
  403. Values for S3 Trio32/Trio64 color mode:
  404. 0000    mode 0 = 8-bit, 1 pixel/VCLK
  405. 0001    mode 8 = 8-bit, 2 pixels/VCLK
  406. 0011    mode 9 = 15-bit, 1 pixel/VCLK
  407. 0101    mode 10 = 16-bit, 1 pixel/VCLK
  408. 0111    mode 12 = 640x480x24-bit (packed), 1 pixel/3 DCLKs (Trio32 only)
  409. 1101    mode 13 = 24-bit, 1 pixel/VCLK
  410. else    reserved
  411. Note:    mode 8 also requires SR18 bit 7=1 and either SR15 bit 4=1 or
  412.       SR15 bit 6=1
  413. SeeAlso: #P388,#P416
  414.  
  415. Bitfields for S3 "SRD" Trio32/Trio64 VSYNC/HSYNC control:
  416. Bit(s)    Description    (Table P389)
  417.  7-6    vertical sync control
  418.     00 normal operation
  419.     01 force to 0
  420.     10 force to 1
  421.     11 reserved
  422.  5-0    horizontal sync control (settings as for vsync)
  423.  3-1    reserved
  424.  1    (Trio64V+) feature connector type
  425.     =0 Trio64-compatible
  426.     =1 new LPB type
  427.  0    enable feature connector
  428. Note:    bits 7-4 are used to select the DPMS power mode as follows:
  429.         0000 On
  430.         0001 Standby
  431.         0100 Suspend
  432.         0101 Off
  433. SeeAlso: #P486
  434.  
  435. Bitfields for S3 Trio32/Trio64 "SR10"/"SR12" MCLK/DCLK value (low):
  436. Bit(s)    Description    (Table P390)
  437.  7    reserved
  438.  6-5    PLL R value
  439.  4-0    PLL N-divider value
  440. SeeAlso: #P391,#P486
  441.  
  442. Bitfields for S3 Trio32/Trio64 "SR11"/"SR13" MCLK/DCLK value (high):
  443. Bit(s)    Description    (Table P391)
  444.  7    reserved
  445.  6-0    PLL M-divider value
  446. SeeAlso: #P390,#P486
  447.  
  448. Bitfields for S3 Trio32/Trio64 "SR14" CLKSYN control 1:
  449. Bit(s)    Description    (Table P392)
  450.  7    select external DCLK (testing only; also requires external strapping)
  451.  6    select external MCLK (testing only)
  452.  5    select Pin146 function
  453.     =0 use as -STRD
  454.     =1 tri-state output; use as input (required to enable bit 6)
  455.  4    clear clock synthesizer counters (testing only)
  456.  3    "M TEST" MCLK test
  457.     =0 test DCLK
  458.     =1 test MCLK
  459.  2    enable clock synthesizer counters (testing only)
  460.  1    power down MCLK PLL (testing only)
  461.  0    power down DCLK PLL (testing only)
  462. SeeAlso: #P393,#P486
  463.  
  464. Bitfields for S3 Trio32/Trio64 "SR15" CLKSYN control 2:
  465. Bit(s)    Description    (Table P393)
  466.  7    enable fast memory writes (2 MCLKs instead of 3 MCLKs) by bypassing
  467.       VGA lienar addressing logic (requires SRA bit 7 set)
  468.  6    invert DCLK
  469.  5    load MCLK and DCLK immediately on transition from 1 to 0
  470.  4    divide DCLK by 2
  471.  3    VLCK direction
  472.     =0 Pin148 always outputs internal VCLK
  473.     =1 -EVCLK signal determines VLCK direction
  474.  2    MCLK output (testing only)
  475.     =0 Pin147 acts as STWR strobe
  476.     =1 Pin147 outputs internal MCLK
  477.  1    enable new DCLK frequency load (asynchronous)
  478.  0    enable new MCLK frequency load
  479. Notes:    bits 1 and 5 also require that PORT 03C2h bits 3-2=11
  480.     bit 5 must never be left set; it should only be pulsed to cause the
  481.       MCLK/DCLK load
  482.     bit 0 should be cleared after loading the new MCLK value to avoid
  483.       repeated loading
  484.     either bit 4 or 6 must be set for clock-doubled RAMDAC operation
  485.       (see #P387)
  486. SeeAlso: #P392,#P394,#P486
  487.  
  488. Bitfields for S3 Trio32/Trio64 "SR18" RAMDAC/CLKSYN control:
  489. Bit(s)    Description    (Table P394)
  490.  7    enable clock-doubled mode (see also #393)
  491.  6    fast LUT write cycle (1 DCLK instead of default 2 DCLKs)
  492.  5    power down RAMDAC (RAMDAC memory is retained even when powered down)
  493.  4    (testing only) place blue data on internal data bus
  494.  3    (testing only) place green data on internal data bus
  495.  2    (testing only) place red data on internal data bus
  496.  1    (testing only) reset RAMDAC test counter
  497.  0    (testing only) enable test counter
  498. SeeAlso: #P393
  499.  
  500. Bitfields for S3 Trio64V+ "SR1C" signal select:
  501. Bit(s)    Description    (Table P476)
  502.  7-2    reserved
  503.  1-0    signal select
  504.     VL-Bus:
  505.         00 Pin151 is ENFEAT#, Pin153 is ROMCS# (default)
  506.         01 Pin151 is GPIOSTR#, Pin153 is ROMCS#
  507.         10 Pin151 is GOP0, Pin153 is ROMCS#
  508.         11 Pin151 is GOP0, Pin153 is GOP1
  509.     PCI:
  510.         00 Pin151 is ENFEAT#, Pin190 is STWR#, Pin153 is ROMEN# (default)
  511.         01 Pin151 is reserved, Pin190 is STWR#, Pin153 is ROMEN#
  512.         1x Pin151 is GOP0, Pin190 is GOP1, Pin153 is ROMEN#
  513. SeeAlso: #P468
  514. ----------P03C403C5--------------------------
  515. PORT 03C4-03C5 - Tseng Labs GRAPHICS - EXTENDED SEQUENCER REGISTERS
  516. SeeAlso: PORT 03C4h"EGA",PORT 03C4h"Cirrus",PORT 03C4h"S3"
  517.  
  518. 03C4  RW  sequencer register index (see #P487)
  519. 03C5  RW  sequencer register data
  520.  
  521. (Table P487)
  522. Values for Tseng Labs extended sequencer registers:
  523.  00h-04h same as EGA/VGA (see #P273)
  524.  06h    ET3000 only: Zoom control register
  525.  06h    ET4000 only: TS state control (protected by 'key')
  526.     bit7-3 : reserved
  527.     bit2-1 : timing sequencer state bit2-1
  528.            (bit0 is bit0 TS mode register)
  529.            00 0b=  9 dots
  530.            00 1b=  8 dots
  531.            01 0b= 10      (10-16 are ET4000 only)
  532.            01 1b= 11
  533.            10 0b= 12
  534.            11 1b= 16
  535.     bit0    : reserved
  536.  07h    ET3000/ET4000 only: TS auxiliary mode (see #P277)
  537. SeeAlso: #P273,#P488,#P486
  538.  
  539. Bitfields for ET3000/ET4000 sequencer auxiliary mode:
  540. Bit(s)    Description    (Table P277)
  541.  7    compatibility mode (1=VGA, 0=EGA)
  542.  6    select MCLK/2 (with bit0=0)
  543.  5    BIOS ROM address map 2
  544.  4    reserved
  545.  3    BIOS ROM address map 1
  546.  2    reserved (1)
  547.  1    select SCLK input from MCLK
  548.  0    select MCLK/4 (with bit6=1)
  549.  5+3    ROM address
  550.     00 C0000-C3FFF
  551.     01 disabled
  552.     10 C0000-C5FFF, C6800-C7FFF
  553.     11 C0000-C7FFF (default)
  554. Notes:    at least on the ET4000, this register is protected by a 'key'
  555.     this register is also supported by ET3000, but the above description
  556.       is based on the ET4000
  557. SeeAlso: #P273
  558. --------V-P03C603C9--------------------------
  559. PORT 03C6-03C9 - EGA/VGA/MCGA - DAC REGISTERS
  560. Range:    PORT 03C6h or PORT 02C6h (alternate)
  561. SeeAlso: PORT 03C0h,PORT 03C2h,PORT 03C4h,PORT 03CAh,PORT 03CEh"EGA",PORT 03D0h
  562. SeeAlso: PORT 83C6h"Wingine"
  563.  
  564. 03C6  RW  (VGA, MCGA) PEL mask register (default FFh)
  565.          VGA:    AND mask for color-register address.
  566.          MCGA:    Never change from the default FFh.
  567. 03C6  RW  HiColor ET4000 (Sierra RAMDACs e.g. SC11486, SC11481, SC11488):
  568.          Enable HiColor feature: beside other assignments,
  569.          consequtive read 3C6h 4 times and write magic value 80h to it.
  570. 03C7  -W  (VGA,MCGA,CEG-VGA) PEL address register (read mode)
  571.          Sets DAC in read mode and assign start of color register
  572.          index (0..255) for following read accesses to 3C9h.
  573.          Don't write to 3C9h while in read mode. Next access to
  574.          03C8h will stop pending mode immediatly.
  575. 03C7  -W  (CEG-Color VGA w/ Edsun Labs RAMDACs)
  576.          Enable and set Countinous Edge Graphics Mode:
  577.          Consecutive writely the following three key sequences in read
  578.          mode (!) to 3C9h register DEh : 'CEG', 'EDS', 'UNx' (x see
  579.          below). Current CEG mode can be read from palette register
  580.          BFh 'blue', write access to that register will disable CEG
  581.          features.
  582.          In CEG modes by combining old with new colors and dynamically
  583.          changing palette values, the effective colors displayable
  584.          are enhanced dramatically (in EDP modes up to virtually 32bit
  585.          truecolor) on standard 16/256 color VGA. Also, effective
  586.          resolution enhancement takes effect by anti-aliasing.
  587.          Necessary EDP escape sequences should be moved to image
  588.          border or single colored areas, if possible.
  589.  
  590.          REP-mode: if pixel are doubled in current video mode
  591.          EDP-mode: pseudo-truecolor with Edsun dynamic palette
  592.          (see #P283,#P284)
  593.  
  594.          Palette-color-register single-byte-format (each 3 times):
  595.           Mode A:          Mode C:
  596.            bit7-4: mix code       bit3     : 0=color, 1=code
  597.            bit3-0: color code       bit2-0: color / mix code
  598.           Mode B:          Mode D:
  599.            bit7-5: mix code       bit7-0: see mix code table
  600.            bit4     : 0=new, 1=old      Non-CEG modes:
  601.            bit3-0: color code       bit7-0: as usual
  602.  
  603.          In EDP modes, video-memory-palette-changing escape-sequences:
  604.           Mode A:     Mode B:      Mode C:     Mode D:
  605.            7/escape    7/escape       7/escape    0BFh
  606.            red           red       red7-4      red
  607.            green       green       red3-0      green
  608.            blue           blue       green7-4    blue
  609.            address     address       green3-0    address
  610.                        blue7-4
  611.                        blue3-0
  612.                        address
  613. 03C7  R-  VGA    DAC state register
  614.         bit7-2 reserved
  615.         bit1-0: 00b write palette cycle (write mode)
  616.             01h reserved
  617.             10b reserved
  618.             11b read palette cycle (read mode)
  619. 03C8  RW  (VGA,MCGA) PEL address register (write mode)
  620.          Sets DAC in write mode and assign start of color register
  621.          index (0..255) for following write accesses to 3C9h.
  622.          Don't read from 3C9h while in write mode. Next access to
  623.          03C8h will stop pending mode immediatly.
  624. 03C8  RW  (Genoa SuperEGA) SuperEGA control register (all emulation modes)
  625.           bit7-2: reserved
  626.           bit1    : 0=EGA mode, 1=backward compatibility mode
  627.           bit0    : not used
  628. 03C8  R?  (S3 Trio32/64) General Input Port (see #P406)
  629. 03C9  RW  (VGA,MCGA) PEL data register
  630.          Three consequtive reads (in read mode) or writes (in write
  631.          mode) in the order: red, green, blue. The internal DAC index
  632.          is incremented each 3rd access.
  633.           bit7-6: HiColor VGA DACs only: color-value bit7-6
  634.           bit5-0:             color-value bit5-0
  635.  
  636. (Table P283)
  637. Values for EDSUN CEG (Continuous Edge Graphics) modes::
  638.  x:  mode:     colors:  mix:    pixel depth:  effective colors:
  639.  0 = disabled       256       -         8            256
  640.  1 = A            16      16         8           1920
  641.  2 = A+REP        16      16      8 dblscn       1920
  642.  3 = A+EDP        15      16            truecolor
  643.  4 = reserved         -       -         -             -
  644.  5 = B            16       8         8            960
  645.  6 = B+REP        16       8      8 dblscn        960
  646.  7 = B+EDP        15       8            truecolor
  647.  8 = reserved         -       -         -             -
  648.  9 = C             8       8         4            224
  649.  10 = C+REP         8       8      4 dblscn        224
  650.  11 = C+EDP         7       8            truecolor
  651.  12 = reserved         -       -         -             -
  652.  13 = D           223      32         8         792096
  653.  14 = D+REP       223      32      8 dblscn     792096
  654.  15 = D+EDP       223      32            truecolor
  655. SeeAlso: #P284
  656.  
  657. (Table P284)
  658. Values for EDSUN CEG mixing codes:
  659.  Mode A:           |  Mode C:
  660.  mix: new:    old:   |   mix: new:   old:   colorcode:
  661.    0 = 32/32    0/32   |    0 =      -     -     0
  662.    1 = 30/32    2/32   |    1 =      -     -     1
  663.    2 = 28/32    4/32   |    2 =      -     -     2
  664.    3 = 26/32    6/32   |    3 =      -     -     3
  665.    4 = 24/32    8/32   |    4 =      -     -     4
  666.    5 = 22/32   10/32   |    5 =      -     -     5
  667.    6 = 20/32   12/32   |    6 =      -     -     6
  668.    7 = 18/32   14/32   |    7 =      -     -     7/EDP
  669.    8 = 16/32   16/32   |    8 = 30/32    2/32   -
  670.    9 = 14/32   18/32   |    9 = 28/32    4/32   -
  671.   10 = 12/32   20/32   |   10 = 26/32    6/32   -
  672.   11 = 10/32   22/32   |   11 = 24/32    8/32   -
  673.   12 =    8/32   24/32   |   12 = 22/32  10/32   -
  674.   13 =    6/32   26/32   |   13 = 20/32  12/32   -
  675.   14 =    4/32   28/32   |   14 = 18/32  14/32   -
  676.   15 =    2/32   30/32   |   15 = 16/32  16/32   -
  677. ---Mode B:           |  Mode D:
  678.  mix: new:    old:   |   mix:          new:   old:  description:
  679.    0 = 30/32    2/32   |   00h..BEh =    -      -   normal color
  680.    1 = 26/32    6/32   |   BFh        =    -      -   EDP
  681.    2 = 22/32   10/32   |   C0h        = 32/32   0/32
  682.    3 = 18/32   14/32   |   C1h        = 31/32   1/32
  683.    4 = 14/32   18/32   |   C2h        = 30/32   2/32
  684.    5 = 10/32   22/32   |   ...        =  ...    ...
  685.    6 =    6/32   26/32   |   DFh        =  0/32  32/32
  686.    7 =    2/32   30/32   |   E0h-FFh  =    -      -   normal color
  687. SeeAlso: #P283
  688. --------V-P03CA03CD--------------------------
  689. PORT 03CA-03CD - EGA/VGA/MCGA - GRAPHICS POSITION
  690. Range:    PORT 03C0h or PORT 02C0h (alternate)
  691. SeeAlso: PORT 03C0h,PORT 03C2h,PORT 03C4h,PORT 03C6h,PORT 03CEh"EGA",PORT 03D0h
  692.  
  693. 03CA  -W  EGA    graphics 2 position register
  694. 03CA  R-  VGA    feature control register (see PORT 03BAh,PORT 03DAh-W)
  695. 03CB  RW  (ET4000/W32) GDC segment select register 2 ('key' protected?)
  696.         The existence of this r/w register 0..255 is often
  697.          used to decide between ET4000 and ET4000/W32.
  698.          bit7-6: reserved, but existent
  699.          bit5-4: bits 5-4 of read segment pointer
  700.          bit3-2: reserved, but existent
  701.          bit1-0: bits 5-4 of write segment pointer
  702. 03CC  -W  EGA    graphics 1 position register
  703. 03CC  R-  VGA    miscellaneous output register (see PORT 03C2h-W,#P278,#P295)
  704. 03CD  RW  (ET3000, ET4000, ET4000/W32) GDC segment select ('key' protected)
  705.         The existence of this r/w register is often used as
  706.         detection of ET3000, ET4000 and ET4000/W32 chips.
  707.          bit7-4: read segment pointer for mapping to A0000h
  708.          bit3-0: write segment pointer for mapping to A0000h
  709. --------V-P03CE03CF--------------------------
  710. PORT 03CE-03CF - EGA/VGA/MCGA - GRAPHICS CONTROLLER REGISTERS
  711. Range:    PORT 03CEh or PORT 02CEh (alternate EGA)
  712. SeeAlso: PORT 03C0h,PORT 03C2h,PORT 03C4h,PORT 03C6h,PORT 03D0h
  713. SeeAlso: PORT 03CEh"Chips&Technologies"
  714.  
  715. 03CE  -W  EGA    GDC index register
  716. 03CE  RW  VGA    graphics address register / GDC index
  717.               bit7-4: reserved
  718.               bit3-0: index
  719. 03CF  -W  EGA    GDC data register (see #P279)
  720. 03CF  RW  VGA    other graphics register (see #P279)
  721.  
  722. (Table P279)
  723. Values for EGA/VGA indexed registers in GDC:
  724.  00h    set/reset register (default 00h)
  725.     functionality depending on write mode (register 05h) (see #P282)
  726.     bit7-4: reserved
  727.     bit3  : 0=write 00h, 1=write FFh in plane 3
  728.     bit2  : 0=write 00h, 1=write FFh in plane 2
  729.     bit1  : 0=write 00h, 1=write FFh in plane 1
  730.     bit0  : 0=write 00h, 1=write FFh in plane 0
  731.  01h    enable set/reset register (default 00h) (see #P280)
  732.  02h    color compare register (default 00h) (see #P281)
  733.  03h    data rotate register (default 00h) (see #P490)
  734.  04h    read map select register (default 00h)
  735.     bit7-3: reserved
  736.     bit2  : EGA?? & Genoa SuperEGA: map select bit2
  737.     bit1-0: map select (0..3)
  738.  05h    mode register (see #P282)
  739.  06h    miscellaneous register (see #P495)
  740.  07h    color don't care register
  741.     bit7-4: reserved
  742.     bit3=1: color plane 3 don't care (ignore bit3)
  743.     bit2=1: color plane 2 don't care (ignore bit2)
  744.     bit1=1: color plane 1 don't care (ignore bit1)
  745.     bit0=1: color plane 0 don't care (ignore bit0)
  746.  08h    bit mask register (default FFh)
  747.     bit7-0: bitmask for latch/databyte
  748.           (bit set=change allowed)
  749. ---Paradise SuperVGA---
  750.  0Fh    lock register
  751.     The ability to write and reread 00h..07h to this register
  752.     is often used as detection of Paradise chips.
  753.     bit7-0 = 01h lock/hide Paradise specific registers
  754.            = 05h unlock Paradise specific registers
  755.     bit7-3: reserved
  756.     bit2-0: flipflops, reserved
  757. SeeAlso: #P489
  758.  
  759. Bitfields for EGA/VGA GDC enable set/reset register:
  760. Bit(s)    Description    (Table P280)
  761.  7-4    reserved (used on Genoa SuperEGA???)
  762.  3    enable set/reset plane 3
  763.  2    enable set/reset plane 2
  764.  1    enable set/reset plane 1
  765.  0    enable set/reset plane 0
  766.  3-0    0=CPU access, 1=set/reset access to plane
  767. SeeAlso: #P279
  768.  
  769. Bitfields for EGA/VGA GDC color compare register:
  770. Bit(s)    Description    (Table P281)
  771.  7-4    reserved
  772.  3    color compare 3
  773.  2    color compare 2
  774.  1    color compare 1
  775.  0    color compare 0
  776.  3-0    (color number)
  777. SeeAlso: #P279
  778.  
  779. Bitfields for EGA/VGA data rotate register (GR3):
  780. Bit(s)    Description    (Table P490)
  781.  7-5    reserved
  782.  4-3    logical function select
  783.     00 CPU-data overwrites
  784.     01 CPU-data AND with latch-register
  785.     10 CPU-data OR with latch-register
  786.     11 CPU-data XOR with latch-register
  787.  2-0    rotate count
  788. SeeAlso: #P279
  789.  
  790. Bitfields for EGA/VGA GDC mode register:
  791. Bit(s)    Description    (Table P282)
  792.  7    reserved
  793.  6    (VGA) 0=standard, 1=enable 256 colors
  794.  5    shift register mode, 0=standard, 1=CGA-graphics
  795.       (not used on Genoa SuperEGA???)
  796.  4=1    enable odd/even address mode
  797.  3    read mode, 0=mode0, 1=mode1
  798.  2    (EGA) test condition, 0=standard, 1=output tristate
  799.  1-0    write mode
  800.     00 mode0, plane source is CPU or set/reset
  801.     01 mode1, plane source is latch-register
  802.     10 mode2, plane source is CPU as set/reset
  803.     11 (VGA) mode3, CPU as set/reset AND bitmask
  804. SeeAlso: #P279
  805.  
  806. Bitfields for EGA/VGA GDC miscellaneous register:
  807. Bit(s)    Description    (Table P495)
  808.  7-4    reserved (=0)
  809.  3-2    memory map
  810.     00b = A0000..BFFFF (128KB)
  811.     01b = A0000..AFFFF (64KB)
  812.     10b = B0000..B7FFF (32KB)
  813.     11b = B8000..BFFFF (32KB)
  814.  1    chain odd maps to even, 1=subst addess bit0
  815.  0    0=testmode, 1=graphics mode
  816. SeeAlso: #P279
  817. --------V-P03CE03CF--------------------------
  818. PORT 03CE-03CF - Chips&Technologies - GRAPHICS CONTROLLER EXTENDED REGISTERS
  819. SeeAlso: PORT 03CE"EGA"
  820.  
  821. 03CE  RW  graphics address register / GDC index
  822. 03CF  RW  other graphics register (see #P489)
  823.  
  824. (Table P489)
  825. Values for Cirrus CL-GD7556 extended GDC registers:
  826.  00h-08h same as EGA/VGA (see #P279)
  827.  09h    "GR9" display memory offset 0
  828.  0Ah    "GRA" display memory offset 1
  829.  0Bh    "GRB" graphics controller mode extensions
  830.  0Ch    "GRC" color key compare value / chroma key Y minimum
  831.  0Dh    "GRD" color key compare mask / chroma key Y maximum
  832.  0Eh    "GRE" DPMS control
  833.  10h    "GR10" background color expansion 1
  834.  11h    "GR11" foreground color expansion 1
  835.  13h    "GR13" foreground color expansion 2
  836.  16h    "GR16" scanline counter readback (low)
  837.  17h    "GR17" scanline counter readback (high)
  838.  18h    "GR18" EDO RAM control
  839.  1Ah    "GR1A" scratch pad #6
  840.  1Bh    "GR1B" scratch pad #7
  841.  1Ch    "GR1C" chroma-key U minimum
  842.  1Dh    "GR1D" chroma-key U maximum
  843.  1Eh    "GR1E" chroma-key V minimum
  844.  1Fh    "GR1F" chroma-key V maximum
  845.  20h    "GR20" BitBLT width (low)
  846.  21h    "GR21" BitBLT width (high)
  847.  22h    "GR22" BitBLT height (low)
  848.  23h    "GR23" BitBLT height (high)
  849.  24h    "GR24" BitBLT destination pitch (low)
  850.  25h    "GR25" BitBLT destination pitch (high)
  851.  26h    "GR26" BitBLT source pitch (low)
  852.  27h    "GR27" BitBLT source pitch (high)
  853.  28h    "GR28" BitBLT destination address (low)
  854.  29h    "GR29" BitBLT destination address (middle)
  855.  2Ah    "GR2A" BitBLT destination address (high)
  856.  2Ch    "GR2C" BitBLT source address (low)
  857.  2Dh    "GR2D" BitBLT source address (middle)
  858.  2Eh    "GR2E" BitBLT source address (high)
  859.  2Fh    "GR2F" BitBLT destination write mask
  860.  30h    "GR30" BitBLT mode
  861.  31h    "GR31" BitBLT start/status
  862.  32h    "GR32" BitBLT raster operation
  863.  33h    "GR33" BitBLT mode extensions
  864. !!! (details to be added)
  865. Note:    the scratch pad registers are reserved for use by the VGA BIOS
  866. SeeAlso: #P279
  867. --------V-P03CE03CF--------------------------
  868. PORT 03CE-03CF - Compaq Qvision - Functionality Level
  869.  
  870. 03CE  -W  graphics address register (index for next port) (see #P285)
  871. 03CF  RW  other graphics register
  872.  
  873. (Table P285)
  874. Values for Compaq QVision graphics register index:
  875.  0Ch  RO    controller version
  876.         2Fh Advanced VGA
  877.         37h early QVision 1024
  878.         71h QVision 1280 or later QVision 1024
  879.  0Dh        extended controller version
  880.  0Eh        extended controller capabilities
  881.  0Fh        environment info
  882.  54h        available memory
  883.  55h        phase-locked-loop clock
  884.  56h-57h    controller capabilities
  885. --------V-P03D003D3--------------------------
  886. PORT 03D0-03D3 - CGA (Color Graphics Adapter) - MIRRORS OF 03D4/03D5
  887.  
  888. 03D0  -W  same as PORT 03D4h
  889. 03D1  RW  same as PORT 03D5h
  890. 03D2  -W  same as PORT 03D4h
  891. 03D3  RW  same as PORT 03D5h
  892. --------V-P03D403D5--------------------------
  893. PORT 03D4-03D5 - COLOR VIDEO - CRT CONTROL REGISTERS
  894.  
  895. 03D4  rW  CRT (6845) register index   (CGA/MCGA/color EGA/color VGA)
  896.     selects which register (0-11h) is to be accessed through 03D5
  897.     this port is r/w on some VGA, e.g. ET4000
  898.         bit 7-6 =0: (VGA) reserved
  899.         bit 5   =0: (VGA) reserved for testage
  900.         bit 4-0   : selects which register is to be accessed through 03D5
  901. 03D5  -W  CRT (6845) data register   (CGA/MCGA/color EGA/color VGA) (see #P286)
  902.     selected by PORT 03D4h. registers 0C-0F may be read
  903.       (see also PORT 03B5h)
  904.     MCGA, native EGA and VGA use very different defaults from those
  905.       mentioned for the other adapters; for additional notes and
  906.       registers 00h-0Fh and EGA/VGA registers 10h-18h and ET4000
  907.       registers 32h-37h see PORT 03B5h (see #P259)
  908.     registers 10h-11h on CGA, EGA, VGA and 12h-14h on EGA, VGA are
  909.       conflictive with MCGA (see #P287)
  910.  
  911. (Table P286)
  912. Values for EGA/VGA+ CRT Controller register index:
  913.  00h-0Fh    same as MDA/CGA (see #P259)
  914.  10h R-    native VGA with bit7=1 in end horizontal blanking (03h) and ET4000:
  915.            start vertical retrace
  916.  10h -W start vertical retrace
  917.  11h R- native VGA with bit7=1 in end horizontal blanking (03h):
  918.            end vertical retrace
  919.  11h -W end vertical retrace
  920.            bit7  : VGA: protection bit
  921.                 =0 enable write access to 00h-07h
  922.                 =1 read only regs 00h-07h with the exception
  923.                    of bit4 in 07h. ET4000: protect 35h also.
  924.            bit6  : VGA: =0 three, =1 five refreshcycles/line
  925.                ET4000: reserved
  926.            bit5=0: (MCGA also) enable vertical interrupt
  927.            bit4=0: (MCGA also) clear vertical interrupt
  928.            =1:           no effect
  929.            bit3-0: (MCGA also) vertical retrace end
  930.  12h    vertical display end register
  931.  13h    row offset register
  932.            logical screen line width in
  933.         byte mode : bytes/(line/2)
  934.         word mode : bytes/(line/4)
  935.         dword mode: bytes/(line/8)
  936.  14h    underline location register
  937.            bit7: reserved (0)
  938.            bit6: (VGA) 0=word-mode, 1=dword-mode (see 17h, bit6)
  939.            bit5: (VGA) 0=standard address counter clock
  940.                1=address counter clock/4 (see 17h, bit3)
  941.            bit4-0: horizontal underline row scan
  942.  15h    (EGA,VGA) start vertical blanking-1
  943.  16h    (EGA,VGA) end vertical blanking register
  944.            bit7-5 : EGA: reserved, but used on original EGA???
  945.            bit4-0 : end vertical blanking
  946.  17h    (EGA,VGA) "CR17" mode control register (see #P262)
  947.  18h    (EGA,VGA) "CR18" line compare register
  948.  19h    Genoa SuperEGA only: double scan control
  949.            at 3B5h only in MDA, HGC emulation, but at 3D5h even in
  950.            mono EGA modes.
  951.            bit7-5 : reserved
  952.            bit4   : HR/VR width adjust flag for double scan mode
  953.            bit3-1 : 1=test, 0=normal
  954.            bit0   : double scan enable
  955.  22h    (VGA) "CR22" CPU Latch Data Register (read-only)
  956.  24h    (VGA) "CR24" Attribute Controller Toggle register (R-O) (see #P497)
  957.  3xh    (VGA)  !!!chips\64200.pdf p.57
  958. Notes:    registers 10h-14h on the MCGA have conflicting uses (see #P287)
  959.     registers 22h,24h, and 3xh exist on the standard IBM VGA but were not
  960.       documented
  961. SeeAlso: #P472,#P473,#P474
  962.  
  963. Bitfields for VGA "CR24" Attribute Controller Toggle register:
  964. Bit(s)    Description    (Table P497)
  965.  7-3    current attribute controller index
  966.  2    palette address source
  967.  1    reserved
  968.  0    state of attribute-controller flip-flop (0 = index, 1 = data)
  969. Note:    this register was not documented for the original IBM VGA; this
  970.        description is from the C&T Wingine documentation
  971. SeeAlso: #P286,#P494
  972.  
  973. (Table P287)
  974. Values for MCGA (only) CRT Controller register index:
  975.  00h-0Fh    same as MDA/CGA (see #P259)
  976.  10h -W mode control register (defaults 18h, 1Ah, 19h) (see #P288)
  977.  10h R-    mode control status register (see #P289)
  978.  11h -W    interrupt control register (default 30h) (see #P290)
  979.  12h RW    character generator/sync polarity register (see #P291)
  980.  12h R-    display sense register (int. control reg [11h] bit7=1)
  981.     bit 7-2     : not used
  982.     bit 1-0     : pins 11 & 12 in monitor cable
  983.         00b = reserved
  984.         01b = analogue monochrom monitor
  985.         10b = analogue color graphics monitor
  986.         11b = no monitor
  987.  13h -W character font pointer register (see #P287)
  988.     only 00h, 10h, 20h, 30h (default 00h) are allowed here
  989.       for textmode fonts at A0000, A2000, A4000, A6000
  990.  14h -W    number of characters to load during vert. retrace period (default FFh)
  991. Note:    registers 10h-14h can appear at PORT 03D5h only, not at 03B5h
  992. SeeAlso: #P259,#P286,#P472,#P475
  993.  
  994. Bitfields for MCGA (only) CRT mode control register:
  995. Bit(s)    Description    (Table P288)
  996.  7    suppress hsync/vsync
  997.  6    reserved (0)
  998.  5    reserved
  999.  4    dot clock rate
  1000.  3    refresh calculations in 80x25 modes
  1001.  2    reserved
  1002.  1    videomode 11h active
  1003.  0    videomode 13h active
  1004. SeeAlso: #P287,#P289
  1005.  
  1006. Bitfields for MCGA (only) CRT mode control status register:
  1007. Bit(s)    Description    (Table P289)
  1008.  7    status bit0 CGA mode control register
  1009.  6    reserved
  1010.  5    clockrate 640 pixel, =0: clockrate/2 320 pixel
  1011.  4    clock rate is 25,175Mhz
  1012.  3    currently in textmode
  1013.  2    double-scan activated
  1014.  1    videomode 11h active
  1015.  0    videomode 13h active
  1016. SeeAlso: #P287,#P288
  1017.  
  1018. Bitfields for MCGA (only) CRT interrupt control register:
  1019. Bit(s)    Description    (Table P290)
  1020.  7    set output driver to tristate
  1021.     =0: for reading of character generator reg (12h)
  1022.     =1: for reading of display sense register (12h)
  1023.  6   R    intr generated by memory controller
  1024.  5    =0 requested intr ok to handle
  1025.  4    =0 free interrupt latch register
  1026.  3-0    reserved
  1027. SeeAlso: #P287
  1028.  
  1029. Bitfields for MCGA (only) CRT character generator/sync polarity register:
  1030. Bit(s)    Description    (Table P291)
  1031.  7    character generator active
  1032.  6    =1 load codepage during display
  1033.     =0 load codepage during retrace
  1034.  5    codepage number (0,1)
  1035.  4    512 characters active
  1036.  3    reserved (0)
  1037.  2    enable hsync/vsync
  1038.  1    positive vsync polarity
  1039.  0    positive hsync polarity
  1040. Note:    default 46h in all modes, except 04h in mode 11h)
  1041. SeeAlso: #P287
  1042. --------V-P03D403D5--------------------------
  1043. PORT 03D4-03D5 - Chips&Technologies VIDEO CHIPS - EXTENDED CRT CONTROL REGISTERS
  1044. SeeAlso: PORT 03D4h"COLOR VIDEO",PORT 03D4h"Tseng"
  1045.  
  1046. 03D4  RW  CRT control register index (see #P475)
  1047. 03D5  RW  CRT control register value
  1048.  
  1049. (Table P475)
  1050. Values for Chips&Technologies CRT Controller register index:
  1051.  00h-18h same as EGA/VGA (see #P286)
  1052.  22h    same as VGA (see #P286)
  1053.  24h    same as VGA (see #P286)
  1054. ---C&T 82C4xx---
  1055.  D3h RW "RD3" 82C426: gray-level control 1 !!!chips\82c426.pdf p.16
  1056.  D4h RW "RD4" 82C426: gray-level control 2
  1057.  D5h RW "RD5" 82C426: general purpose
  1058.  D6h RW "RD6" 82C426: sleep
  1059.  D7h RW "RD7" 82C426: panel size
  1060.  D8h RW "RD8" 82C426: panel configuration
  1061.  D9h RW "RD9" AC control   !!!chips\82c425.pdf p.27
  1062.  DAh RW "RDA" threshold
  1063.  DBh RW "RDB" shift parameter
  1064.  DCh RW "RDC" horizontal sync width
  1065.  DDh RW "RDD" vertical sync width / blink control
  1066.  DEh RW "RDE" timing control
  1067.  DFh RW "RDF" function control
  1068. SeeAlso: #P259,#P287,#P472,#P473
  1069. --------V-P03D403D5--------------------------
  1070. PORT 03D4-03D5 - Cirrus Logic VIDEO CHIPS - EXTENDED CRT CONTROL REGISTERS
  1071. SeeAlso: PORT 03D4h"COLOR VIDEO",PORT 03D4h"Tseng"
  1072.  
  1073. 03D4  RW  CRT control register index (see #P473)
  1074. 03D5  RW  CRT control register value
  1075.  
  1076. (Table P473)
  1077. Values for Cirrus Logic CRT Controller register index:
  1078.  00h-18h same as EGA/VGA (see #P286)
  1079. ---Cirrus CL-GD7556---
  1080.  19h    "CR19" Interlace End
  1081.  1Ah    "CR1A" miscellaneous control
  1082.  1Bh    "CR1B" extended display control
  1083.  1Ch    "CR1C" horizontal total and sync
  1084.  1Dh    "CR1D" color key compare type
  1085.  22h    same as VGA (see #P286)
  1086.  24h    same as VGA (see #P286)
  1087.  25h    "CR25" revision
  1088.  26h    "CR26" attribute controller index readback
  1089.  27h    "CR27" device identification
  1090.  30h    "CR30" TV-OUT control
  1091.  31h    "CR31" Video Window horizontal upscaling coefficient
  1092.  32h    "CR32" Video Window vertical upscaling coefficient
  1093.  33h    "CR33" Video Window horizontal start (high)
  1094.  34h    "CR34" Video Window horizontal start (low)
  1095.  35h    "CR35" Video Window brightness
  1096.  36h    "CR36" Video Window vertical position extension
  1097.  37h    "CR37" Video Window vertical start
  1098.  38h    "CR38" Video Window vertical height
  1099.  ...
  1100.  42h    "CR42" Video Window FIFO threshold / chroma-key mode
  1101.  50h    "CR50" V-Port hardware configuration
  1102.  ...
  1103.  5Fh    "CR5F" V-Port capture window start address (low)
  1104.  80h    "CR80" power management control
  1105.  ...
  1106.  91h    "CR91" shading map offset
  1107.  A0h    "CRA0" CRT horizontal 8-dot character clock
  1108.  ...
  1109.  BFh    "CRBF" CRT vertical back porch
  1110. !!! details to be added
  1111. SeeAlso: #P259,#P472,#P474
  1112. --------V-P03D403D5--------------------------
  1113. PORT 03D4-03D5 - S3 VIDEO CHIPS - EXTENDED CRT CONTROL REGISTERS
  1114. SeeAlso: PORT 03D4h"COLOR VIDEO",PORT 03D4h"Tseng"
  1115.  
  1116. 03D4  RW  CRT control register index (see #P474)
  1117. 03D5  RW  CRT control register value
  1118.  
  1119. (Table P474)
  1120. Values for S3, Inc. CRT Controller register index:
  1121.  00h-18h same as EGA/VGA (see #P286)
  1122.  22h    same as VGA (see #P286)
  1123.  24h    "CR24" attribute controller index/data status
  1124.  26h R- "CR24" (duplicate of 24h)
  1125.  2Dh R- "CR2D" new Chip ID (high) (same as high byte of PCI device ID)
  1126.  2Eh R- "CR2E" new chip ID (low) (same as low byte of PCI device ID)
  1127.         10h Trio32
  1128.         11h Trio64
  1129.  2Fh R- "CR2F" S3 7xx/866/x68: chipset revision
  1130.         chip ID 8811h is Trio64/64V+; revision 4xh or 5xh is Trio64V+
  1131.  30h RW    "CR30" chip ID/revision (see #P302)
  1132.  31h RW    "CR31" memory configuration (see #P303)
  1133.  32h RW "CR32" backward compatibility 1 (see #P304)
  1134.  33h RW "CR33" backward compatibility 2 (see #P305)
  1135.  34h RW "CR34" backward compatibility 3 (see #P306)
  1136.  35h RW "CR35" CRT register lock (see #P307)
  1137.  36h R    "CR36" Reset State read 1 (see #P395)
  1138.  37h R    "CR37" Reset State read 2 (see #P396)
  1139.  38h RW    "CR38" S3 Register lock 1
  1140.     set reg 38h to 48h and reg 39h to A5h to unlock other S3 registers
  1141.  39h RW    "CR39" S3 Register lock 2
  1142.  3Ah RW "CR3A" S3 Miscellaneous 1 (see #P397)
  1143.     bit 4: ???
  1144.  3Bh RW "CR3B" Data Transfer Execute position (see #P398)
  1145.  3Ch RW "CR3C" Interlace Retrace start position (see also #P400)
  1146.  40h RW "CR40" System Configuration (see #P399)
  1147.  41h    "CR41" BIOS Flag register (used by S3 BIOS)
  1148.  42h RW "CR42" mode control (see #P400)
  1149.  43h RW "CR43" extended mode (see #P401)
  1150.  45h RW "CR45" hardware graphics cursor mode (see #P402)
  1151.  46h RW "CR46" hardware cursor origin X (hi), bits 2-0 only
  1152.  47h RW "CR47" hardware cursor origin X (lo)
  1153.     testing that register 47h can be read and written once the S3 registers
  1154.       are unlocked is used as an S3 installation check
  1155.  48h RW    "CR48" hardware cursor origin Y (hi), bits 2-0 only
  1156.     the cursor X/Y position is latched on writing the high byte of Y
  1157.  49h RW "CR49" hardware cursor origin Y (lo)
  1158.  4Ah RW "CR4A" hardware graphics cursor foreground stack
  1159.     read register 45h, then write 2 or 3 color bytes (16/24-bit color)
  1160.       to specify foreground color of hardware cursor
  1161.  4Bh RW "CR4B" hardware graphics cursor background stack
  1162.     read register 45h, then write 2 or 3 color bytes (16/24-bit color)
  1163.       to specify background color of hardware cursor
  1164.  4Ch RW "CR4C" hardware graphics cursor map start address (hi), bits 3-0 only
  1165.  4Dh RW "CR4D" hardware graphics cursor map start address (lo)
  1166.  4Eh RW "CR4E" hardware cursor pattern start X (bits 5-0 only)
  1167.  4Fh RW "CR4F" hardware cursor pattern start Y (bits 5-0 only)
  1168.  50h RW "CR50" S3 801+: Extended System Control 1 (see #P403)
  1169.  51h RW "CR51" S3 801+: Extended System Control 2 (see #P404)
  1170.  52h RW "CR52" S3 801+: Extended BIOS Flag 1
  1171.         bits 7-6 are sync polarities (see #P278) for Diamond cards
  1172.  53h RW "CR53" S3 801+: Extended Memory Control 1 (see #P383)
  1173.  54h RW "CR54" S3 801+: Extended Memory Control 2 (see #P405,#P491)
  1174.  55h RW "CR55" S3 801+: Extended Video DAC Control (see #P406)
  1175.  56h RW "CR56" S3 801+: External Sync Control 1 (see #P407)
  1176.  57h RW "CR57" S3 801+: External Sync Control 2 (see #P408)
  1177.  58h RW "CR58" S3 801+: Linear Address Window Control (see #P308)
  1178.  59h RW "CR59" S3 801+: Linear Address Window Position (bits 31-24)
  1179.  5Ah RW "CR5A" S3 801+: Linear Address Window Position (bits 23-16)
  1180.     Notes:    the address is forced to be a multiple of the memory window
  1181.           size (see #P308) by ignoring the lowest bits
  1182.         for Trio64 new memory-mapped I/O, the LAW must be on a 64M
  1183.           boundary
  1184.  5Bh RW "CR5B" S3 801+: Extended BIOS Flag 2
  1185.  5Ch RW "CR5C" S3 801+: General Output Port (see #P409)
  1186.  5Dh RW "CR5D" S3 801+: Extended Horizontal Overflow (see #P410)
  1187.  5Eh RW "CR5E" S3 801+: Extended Vertical Overflow (see #P411)
  1188.  5Fh RW "CR5F" S3 928/964: Bus Grant Termination Position
  1189.  60h RW "CR60" S3 864/964: extended memory control 3 (see #P412)
  1190.  61h RW "CR61" S3 864/964/Trio: extended memory control 4 (see #P492)
  1191.  62h RW "CR62" S3 864/964: extended memory control 5
  1192.  63h RW "CR63" S3 864/964: external sync delay adjustment (high) (see #P413)
  1193.  64h RW "CR64" S3 864/964: genlocking adjustment
  1194.  65h RW "CR65" S3 864/964: extended miscellaneous control (see #P414)
  1195.  66h RW "CR66" S3 864/964: extended miscellaneous control 1 (see #P415)
  1196.  67h RW "CR67" S3 864/964: extended miscellaneous control 2 (see #P309)
  1197.  67h RW "CR67" S3 Trio32/64: extended miscellaneous control 2 (see #P416)
  1198.  68h RW "CR68" S3 864/964: configuration 3 (see #P418)
  1199.  69h RW "CR69" S3 864/964: extended system control 3 (see #P419)
  1200.  6Ah RW "CR6A" S3 864/964: extended system control 4
  1201.         (bits 5-0 = offset of 64K bank)
  1202.  6Bh RW "CR6B" S3 864/964: extended BIOS flag 3
  1203.  6Ch RW "CR6C" S3 864/964: extended BIOS flag 4
  1204.  6Dh RW "CR6D" S3 864/964: extended miscellaneous control
  1205.  6Dh RW "CR6D" S3 Trio64V+: extended BIOS flag 5 (reserved for BIOS)
  1206.  6Eh RW "CR6E" S3 Trio64V+: extended BIOS flag 6 (reserved for BIOS)
  1207.  6Fh RW "CR6F" S3 Trio64V+: configuration 4 (see #P493)
  1208. SeeAlso: #P259,#P287,#P472,#P473,#P475
  1209.  
  1210. Bitfields for S3 "CR24" Attribute Index register:
  1211. Bit(s)    Description    (Table P494)
  1212.  7    inverse of current state of internal address flip-flop
  1213.  6    reserved (0)
  1214.  5    video display is enabled (mirror of PORT 03C0h bit 5)
  1215.  4-0    current attribute contorller index (from PORT 03C0h)
  1216. SeeAlso: #P286,#P497,PORT 03C0h
  1217.  
  1218. (Table P302)
  1219. Values for S3 chip ID/Revision register "CR30":
  1220.  81h    86c911
  1221.  82h    86c911A/924
  1222.  90h    86c928 (original)
  1223.  ...
  1224.  A0h    86c801/805 A-step or B-step
  1225.  ...
  1226.  B0h    86c928 PCI
  1227.  C0h    Vision864
  1228.  C1h    Vision864P
  1229.  D0h    Vision964
  1230.  D1h    Vision964P
  1231.  Exh    Trio32/64, 86c866, 86c868, 86c968; actual ID and revision stored in
  1232.       PORT 03B5h registers 2Dh, 2Eh, and 2Fh
  1233. SeeAlso: #P303
  1234.  
  1235. Bitfields for S3 "CR31" memory configuration register:
  1236. Bit(s)    Description    (Table P303)
  1237.  7    (except 864/964) enable BIOS ROM address space C6800h-C7FFFh
  1238.     (Trio64V+) reserved
  1239.  6    enable page-mode memory access for text-mode font access
  1240.  5-4    display start address, bits 17&16.  See also registers 51h and 69h
  1241.  3    video memory above 256K accessible
  1242.  2    VGA 16-bit memory bus (clear for 8-bit memory bus)
  1243.  1    two-page screen image (enables 2048-pixel wide screen)
  1244.  0    enable base-address offset (turn on bank-switched operation)
  1245. SeeAlso: #P286,#P302,#P304
  1246.  
  1247. Bitfields for S3 "CR32" Backwards Compatibility 1 register:
  1248. Bit(s)    Description    (Table P304)
  1249.  7    (928,964) tri-state serial output pins SC, SOE0, and SXNR
  1250.  6    fix VGA screen page using display start address bits 16&17 (see #P303)
  1251.     (Trio64V+) force wrap on 256K boundary even when display start address
  1252.       changed
  1253.  5    ???
  1254.  4    enable hardware interrupts
  1255.  3    backward-compatible modes (set for MDA/CGA/EGA/HGC)
  1256.  2    force full character clock for horizontal timing (CGA/HGC emulation),
  1257.       rather than 1/2 dot clock rate
  1258.  1-0    character clock period
  1259.     00 IBM-compatible, 8 or 9 dots
  1260.     01 7 dots
  1261.     10 9 dits
  1262. Note:    on the Trio64V+, bits 7, 5, and 3-0 are reserved
  1263. SeeAlso: #P303,#P305,#M122
  1264.  
  1265. Bitfields for S3 "CR33" Backwards Compatibility 2 register:
  1266. Bit(s)    Description    (Table P305)
  1267.  7    override CGA "enable video" at PORT 03D8h bit 3
  1268.  6    lock palette/overscan registers
  1269.  5    blank signal does not include border area, is same as display enable
  1270.  4    disable writes to RamDAC
  1271.  3    VCLK is internal DCLK rather than inverted DCLK/2 or external VCLK
  1272.  2    reserved (Trio32/64)
  1273.  1    disable VDE protection (PORT 03D4h register 11h bit 7 will not act
  1274.       on PORT 03D4h register 7h bits 1 and 6)
  1275.  0    reserved (Trio32/64)
  1276. Note:    on the Trio64V+, bits 7, 2, and 0 are reserved
  1277. SeeAlso: #P286,#P304,#P306
  1278.  
  1279. Bitfields for S3 "CR34" Backwards Compatibility 3 register:
  1280. Bit(s)    Description    (Table P306)
  1281.  7-5    (Trio32/64/64V+) reserved
  1282.  7    lock PORT 03C2h bits 2,3
  1283.  5    lock SR1 bit 5
  1284.  4    enable Start Display FIFO Fetch register (CR3B) (see #398)
  1285.  3    (Trio32/64/64V+) reserved
  1286.  2    PCI retries not handled during DAC cycles (requires bit 0 clear)
  1287.  1    do not handle PCI master aborts during DAC cycles (requires bit 0 clear)
  1288.  0    disable PCI master aborts/retries during DAC cycles
  1289. SeeAlso: #P305,#P307
  1290.  
  1291. Bitfields for S3 "CR35" Register Lock register:
  1292. Bit(s)    Description    (Table P307)
  1293.  7-6    (Trio32/Trio64) reserved
  1294.  5    lock horizontal timing registers
  1295.  4    lock vertical timing registers
  1296.  3-0    CPU base address (in 64K units), bits 17-14
  1297. SeeAlso: #P286,#P306,#P395
  1298.  
  1299. Bitfields for S3 "CR36" Configuration 1 register:
  1300. Bit(s)    Description    (Table P395)
  1301.  7-5    video memory size
  1302.     111 less than 1M
  1303.     110 one meg
  1304.     100 two megs
  1305.     010 three megs
  1306.     000 four megs
  1307.     101 six megs
  1308.     011 eight megs
  1309.  4    (Trio32/64, VL-Bus only) enable video BIOS accesses
  1310.  3-2    (Trio32/64) memory type
  1311.     00 reserved
  1312.     01 reserved
  1313.     10 EDO
  1314.     11 fast page mode
  1315.  1-0    (Trio32/64) system bus type
  1316.     00 reserved
  1317.     01 VESA local bus
  1318.     10 PCI
  1319.     11 reserved
  1320. Note:    the default value of this register is latched from external pins at
  1321.       power-up; bits 1-0 are read-only
  1322. SeeAlso: #P286,#P307,#P396
  1323.  
  1324. Bitfields for S3 "CR37" Configuration 2 register:
  1325. Bit(s)    Description    (Table P396)
  1326.  7-5    monitor type
  1327.  7-5    (Trio64V+) reserved
  1328.  4    (VL-Bus) enable RAMDAC write snooping
  1329.  3    use internal DCLK/MCLK (clear this bit for testing only)
  1330.  2    (VL-Bus) video BIOS ROM size (=0 64K, =1 32K)
  1331.  1    test mode select (=0 tri-state all outputs, =1 normal operation)
  1332.  1    (Trio64V+) reserved
  1333.  0    (VL-Bus) enable Trio chip (if 0, disabled except for video BIOS access)
  1334. Notes:    the default value of this register is latched from external pins at
  1335.       power-up
  1336.     the description of this register is based on the Trio32/Trio64/Trio64V+
  1337.       documentation and may vary somewhat for other S3 chips
  1338. SeeAlso: #P286,#P395
  1339.  
  1340. Bitfields for S3 "CR3A" Miscellaneous 1 register:
  1341. Bit(s)    Description    (Table P397)
  1342.  7    disable PCI burst read cycles
  1343.     (must set CR66 bit 7 before setting this bit)
  1344.  6    reserved
  1345.  5    enable high-speed text font writes (only required for DCLK > 40MHz)
  1346.  4    enable >= 8 bpp color enhanced modes
  1347.  3    enable top-of-memory access (simultaneous VGA text and enhanced mode)
  1348.  2    enable alternate refresh count control (bits 1-0)
  1349.     when enabled, bits 1-0 override CR11 bit 6
  1350.  1-0    alternate refresh count: number of refresh cycles per scan line
  1351. Note:    the description of this register is based on the Trio32/Trio64/Trio64V+
  1352.       documentation and may vary somewhat for other S3 chips
  1353. SeeAlso: #P286
  1354.  
  1355. Bitfields for S3 "CR3B" Start Display FIFO Register:
  1356. Bit(s)    Description    (Table P398)
  1357.  7-0    bits 7-0 of time in characters clocks from start of active display
  1358.       until FIFO data fetching restarts after start of horizontal blanking
  1359.       (bit 8 is in CR5D bit 6)
  1360. Note:    the value for this register is typically CR0 less 5, and helps ensure
  1361.       adequate time for RAM refresh, etc. taht require control of display
  1362.       memory
  1363. SeeAlso: #P286
  1364.  
  1365. Bitfields for S3 "CR40" System Configuration register:
  1366. Bit(s)    Description    (Table P399)
  1367.  7-6    reserved (0)
  1368.  5    reserved ("WDL_DELAY") (1)
  1369.  4    (VL-Bus) Ready Control
  1370.     =0 zero wait-states from -SADS to -SRDY
  1371.     =1 minimum one wait state (controlled by CR58 bit 3)
  1372.  3-1    reserved (0)
  1373.  0    enable enhanced (8514/A superset) register access at PORT x2E8h
  1374. SeeAlso: #P286
  1375.  
  1376. Bitfields for S3 "CR42" Mode Control register:
  1377. Bit(s)    Description    (Table P400)
  1378.  7-6    reserved (0)
  1379.  5    interlaced video
  1380.  4-0    reserved
  1381. Note:    bit 5 also enables CR3C
  1382. SeeAlso: #P286,#P401
  1383.  
  1384. Bitfields for S3 "CR43" Extended Mode register:
  1385. Bit(s)    Description    (Table P401)
  1386.  7    double horizontal CRT parameters (CRTC registers 00h, etc.)
  1387.  6-3    reserved (0)
  1388.  3    (Trio64V+) ??? used by BIOS, officially reserved
  1389.  2    logical screen width (CR13), bit 8
  1390.  1-0    reserved (0)
  1391. Note:    bit 2 is disabled unless CR51 bits 5-4=00
  1392. SeeAlso: #P286,#P400
  1393.  
  1394. Bitfields for S3 "CR45" Hardware Graphics Cursor Mode register:
  1395. Bit(s)    Description    (Table P402)
  1396.  7-5    reserved (0)
  1397.  4    enable Hardware Cursor Right Storage (last 256 bytes of 1K line, or
  1398.       last 512 bytes of 2K line)
  1399.  3-1    reserved (0)
  1400.  0    enable hardware graphics cursor in Enhanced (8514/A) mode
  1401. SeeAlso: #P286
  1402.  
  1403. Bitfields for S3 "CR50" Extended System Control 1 register:
  1404. Bit(s)    Description    (Table P403)
  1405.  7-6    Graphics Engine screen width
  1406.     (note: bit 0 below is MSB for the following)
  1407.     000 = 1024 (2048 if CR31 bit 1 set)
  1408.     001 = 640
  1409.     010 = 800 (1600x1200x4 if PORT 4AE8h bit 2 set)
  1410.     011 = 1280
  1411.     100 = 1152
  1412.     101 reserved
  1413.     110 = 1600
  1414.     111 reserved
  1415.  5-4    pixel length for command execution through Graphics Engine (8514/A)
  1416.     00 one byte (4 or 8 bits/pixel)
  1417.     01 two bytes (16 bpp)
  1418.     10 reserved
  1419.     11 four bytes (32 bpp)
  1420.  3    reserved (0)
  1421.  2    enable -BREQ/-BGNT functions (reserved on Trio64V+)
  1422.  1    reserved (0)
  1423.  0    bit 2 of Graphics Engine screen width (refer to bits 7-6 above)
  1424. SeeAlso: #P286,#P383,#P404
  1425.  
  1426. Bitfields for S3 "CR51" Extended System Control 2 register:
  1427. Bit(s)    Description    (Table P404)
  1428.  7-6    reserved (0)
  1429.  5-4    logical screen width, bits 9-8
  1430.  3-2    CPU base address, bits 19-18
  1431.  1-0    display start address, bits 19-18
  1432. Notes:    if the upper four bits of the display start address have been set via
  1433.       CR69 bits 3-0, then bits 1-0 and CR31 bits 5-4 are ignored
  1434.     if the upper 6 base address bits have been set via CR6A bits 5-0, then
  1435.       bits 3-2 and CR35 bits 3-0 are ignored
  1436. SeeAlso: #P286,#P403
  1437.  
  1438. Bitfields for S3 "CR53" Extended Memory Control 1 register:
  1439. Bit(s)    Description    (Table P383)
  1440.  7    reserved
  1441.  6    (Trio32/64/64V+) swap nybbles in each byte of video memory read or
  1442.       written
  1443.  5    (801/805) memory interleaving
  1444.     (928) pixel multiplexing
  1445.     (Trio64V+) enable memory-mapped I/O at B8000h-BFFFFh instead of
  1446.       A0000h-AFFFFh (only takes effect if bits 4-3=10)
  1447.  4    enable memory-mapped I/O (Trio32, Trio64 and Trio64V+)
  1448.  3    enable new memory-mapped I/O (Trio64V+)
  1449.  2-1    (Trio64V+) byte swapping for linear addressing
  1450.     00 none (default)
  1451.     01 swap bytes of word
  1452.     10 swap all bytes of doublewords
  1453.     11 reserved
  1454.     (used for big-endian addressing)
  1455.  0    (Trio32/64) enable write per bit
  1456.     (Trio64V+) reserved
  1457. SeeAlso: #P286,#P405
  1458.  
  1459. Bitfields for S3 Trio32/64 "CR54" Extended Memory Control 2 register:
  1460. Bit(s)    Description    (Table P405)
  1461.  7-3    "M" number of 8-byte memory cycles not dedicated to filling display
  1462.       FIFO (less one)
  1463.  2-0    reserved (0)
  1464. SeeAlso: #P491,#P286,#P383
  1465.  
  1466. Bitfields for S3 Trio64V+ "CR54" Extended Memory Control 2 register:
  1467. Bit(s)    Description    (Table P491)
  1468.  2,7-3    "M" maximum number of 8-byte memory cycles before LPB/CPU/Graphics
  1469.       Engine must yield the memory bus
  1470.  1-0    big-endian byte-swapping (except for linear addressing/image writes)
  1471.     00 none (default)
  1472.     01 swap bytes within a word
  1473.     10 swap all bytes within a doubleword
  1474.     11 swap according to bus' byte-enable lines
  1475.         BE#[3:0]=0000 swap all bytes
  1476.         BE#[3:0]=0011 or 1100 swap bytes within selected word
  1477.         else no swapping
  1478. SeeAlso: #P286,#P405 
  1479.  
  1480. Bitfields for S3 "CR55" Extended RAMDAC Control register:
  1481. Bit(s)    Description    (Table P406)
  1482.  7    tri-state VCLK output
  1483.  6-5    reserved (0)
  1484.  4    hardware cursor mode
  1485.     =0 MS-Windows
  1486.     =1 X11
  1487.  3    reserved (0)
  1488.  2    enable General Input Port read (at PORT 03C8h)
  1489.  1-0    reserved (0)
  1490. SeeAlso: #P286
  1491.  
  1492. Bitfields for S3 "CR56" External Sync Control 1 register:
  1493. Bit(s)    Description    (Table P407)
  1494.  7-5    reserved (0)
  1495.  4    preset frame select
  1496.     =0 start with odd frame after V-counter reset
  1497.     =1 start with even frame
  1498.  3    reset only vertical counter on falling edge of VSYNC input when
  1499.       genlocking
  1500.  2    tri-state VSYNC output
  1501.  1    tri-state HSYNC output
  1502.  0    enable VSYNC input for genlocking
  1503. Note:    bits 4-3 are reserved on the Trio64V+
  1504. SeeAlso: #P286,#P408
  1505.  
  1506. Bitfields for S3 "CR57" External Sync Control 2 register:
  1507. Bit(s)    Description    (Table P408)
  1508.  7-0    delay in scan lines from falling edge of VSYNC to reset of V-counter
  1509. Note:    this register must NOT be 00h when genlocking is enabled (CR56 bit 0)
  1510. SeeAlso: #P286,#P407
  1511.  
  1512. Bitfields for S3 "CR58" Linear Addressing Control register:
  1513. Bit(s)    Description    (Table P308)
  1514.  7    RAS Pre-Charge time adjust
  1515.     =0 CR68 bit 3 defines pre-charge time
  1516.     =1 decrease pre-charge time by 0.5 MCLKs, increase RAS time by 0.5 MCLKs
  1517.  6-5    reserved
  1518.  4    enable linear addressing (see also #P361)
  1519.  3    (VL-Bus) addresses latched in T1 cycle, instead of delaying one clock
  1520.       until T2 cycle; only in effect when CR40 bit 4 is set
  1521.  2    reserved
  1522.  1-0    linear address window size
  1523.     00 = 64K (not available when new MMIO enabled)
  1524.     01 = 1M
  1525.     10 = 2M
  1526.     11 = 4M (Trio64/64V+, not Trio32)
  1527. Note:    this description is based on the Trio32/Trio64 documenation; the
  1528.       bits may vary slightly for other S3 chips
  1529. SeeAlso: #P306
  1530.  
  1531. Bitfields for S3 "CR5C" General Output Port:
  1532. Bit(s)    Description    (Table P409)
  1533.  7-0    system-specific
  1534. ---Diamond---
  1535.  0    ???
  1536.  1    ???
  1537. ---STB Pegasus---
  1538.  7    map video memory with bits 31-26 = 011111
  1539. SeeAlso: #P286
  1540.  
  1541. Bitfields for S3 "CR5D" Extended Horizontal Overflow register:
  1542. Bit(s)    Description    (Table P410)
  1543.  7    bit 8 of Bus-Grant Terminate Position (CR5F)
  1544.     (Trio64V+) reserved
  1545.  6    bit 8 of Start FIFO Fetch (CR3B)
  1546.  5    extend horizontal sync pulse by 32 DCLKs
  1547.  4    bit 8 of Start Horizontal Sync Position (CR4)
  1548.  3    extend horizontal blank pulse by 64 DCLKs
  1549.  2    bit 8 of Start Horizontal Blank (CR2)
  1550.  1    bit 8 of Horizontal Display End (CR1)
  1551.  0    bit 8 of Horizontal Total (CR0)
  1552. SeeAlso: #P286,#P411
  1553.  
  1554. Bitfields for S3 "CR5E" Extended Vertical Overflow register:
  1555. Bit(s)    Description    (Table P411)
  1556.  7    reserved (0)
  1557.  6    line compare position (CR18), bit 10
  1558.  5    reserved (0)
  1559.  4    vertical retrace start (CR10), bit 10
  1560.  3    reserved (0)
  1561.  2    start of vertical blank (CR15), bit 10
  1562.  1    vertical display end (CR12), bit 10
  1563.  0    vertical total (CR6), bit 10
  1564. SeeAlso: #P286,#P410
  1565.  
  1566. Bitfields for S3 Trio32/64 "CR60" Extended Memory Control 3 register:
  1567. Bit(s)    Description    (Table P412)
  1568.  7-0    "N" maximum number of 4-byte (1M video memory) or 8-byte (2M/4M) units
  1569.       written to display FIFO in an uninterruptible burst
  1570. SeeAlso: #P286,#P492
  1571.  
  1572. Bitfields for S3 Trio64V+ "CR61" Extended Memory Control 4 register:
  1573. Bit(s)    Description    (Table P492)
  1574.  7    reserved
  1575.  6-5    byte-swapping for image writes
  1576.     00 none (default)
  1577.     01 swap bytes within each word
  1578.     10 swap all bytes within a doubleword
  1579.     11 reserved
  1580.  4-0    reserved
  1581. SeeAlso: #P286,#P412
  1582.  
  1583. Bitfields for S3 Trio32/64 "CR63" External Sync Control 3 register:
  1584. Bit(s)    Description    (Table P413)
  1585.  7-4    character clock reset delay
  1586.  3-0    HSYNC reset adjustment, in character clocks
  1587. Notes:    these two values are used to align the external and internally-generated
  1588.       video during genlocking
  1589.     this register is not documented for the Trio64V+, and may not exist
  1590. SeeAlso: #P286
  1591.  
  1592. Bitfields for S3 Trio32/64/64V+ "CR65" Extended Miscellaneous Control register:
  1593. Bit(s)    Description    (Table P414)
  1594.  7-5    reserved (0)
  1595.  4-3    (Trio32/64V+) delay -BLANK by N DCLKs
  1596.     a two-DCLK delay is required for color mode 12
  1597.  2    video subsystem setup address
  1598.     (Trio64V+) reserved
  1599.     =0 PORT 46E8h
  1600.     =1 PORT 03C3h
  1601.  1-0    reserved (0)
  1602. SeeAlso: #P286,#P415
  1603.  
  1604. Bitfields for S3 Trio32/64/64V+ "CR66" Extended Miscellaneous Control 1 reg:
  1605. Bit(s)    Description    (Table P415)
  1606.  7    enable PCI bus disconnect on misaligned burst memory accesses
  1607.  6    tri-state pixel address bus
  1608. ---Trio32/64---
  1609.  5-0    reserved (0)
  1610. ---Trio64V+ ---
  1611.  5    ??? (officially reservd, but set by BIOS)
  1612.  4    reserved
  1613.  3    generate PCI bus disconnect when trying to write to a full FIFO or read
  1614.       from an empty FIFO
  1615.     (bit 7 must also be set to enable this feature)
  1616.  2    reserved
  1617.  1    software reset graphics engine
  1618.  0    enable enhanced functions (this is a mirror of
  1619.       PORT 4AE8h bit 0)
  1620. SeeAlso: #P286,#P414,PORT 4AE8h
  1621.  
  1622. Bitfields for S3 864/964 "CR67" Extended Miscellaneous Control 2 register:
  1623. Bit(s)    Description    (Table P309)
  1624.  7-4    color mode???
  1625.     (values of 0000/0010/0101/0111 indicate a 16-bit pixel port)
  1626.  3-2    ???
  1627. SeeAlso: #P286,#P306,#P416
  1628.  
  1629. Bitfields for S3 Trio32/64/64V+ "CR67" Extended Miscellaneous Control 2 reg:
  1630. Bit(s)    Description    (Table P416)
  1631.  7-4    color mode (see #P417)
  1632.  3-2    (Trio32/Trio64) reserved (0)
  1633.  3-2    (Trio64V+) streams mode
  1634.     00 disable Streams Processor
  1635.     01 overlay secondary stream on VGA-mode background
  1636.     10 reserved
  1637.     11 full Streams Processor operation
  1638.  1    reserved (0)
  1639.  0    VCLK phase (=0 VCLK is inverted DCLK; =1 VCLK in phase with DCLK)
  1640. Note:    the streams mode should only be changed during vertical sync
  1641.       (PORT 03DAh bit 3)
  1642. SeeAlso: #P286,#P309,#P388
  1643.  
  1644. Bitfields for S3 Trio32/64/64V+ "CR68" Configuration 3 register:
  1645. Bit(s)    Description    (Table P418)
  1646.  7    (Trio32/64 VL-Bus) Upper Address Decode
  1647.     =0 decode all 32 bits of system address bus
  1648.     =1 SAUP input used to decode upper address lines
  1649.  7    (Trio64V+) memory data bus size
  1650.     =0 32 bits
  1651.     =1 64 bits (if >= 2M of memory)
  1652.  6-4    monitor information (used by S3 bios)
  1653.  3    RAS precharge timing (0 = 3.5 MCLKs, 1 = 2.5 MCLKs)
  1654.  2    RAS low timing (0 = 4.5 MCLKs, 1 = 3.5 MCLKs)
  1655.  1-0    -CAS and -OE stretch, -WE delay
  1656.     00 = 6.5ns stretch, 2 units delay
  1657.     01 = 5ns stretch, 1 unit delay
  1658.     10 = 3.5ns stretch, no delay
  1659.     11 = no stretch, no delay
  1660. Note:    the default value of this register is latched from external pins at
  1661.       power-up
  1662. SeeAlso: #P286
  1663.  
  1664. Bitfields for S3 Trio32/Trio64 "CR69" Extended System Control 3 register:
  1665. Bit(s)    Description    (Table P419)
  1666.  7-4    reserved (0)
  1667.  3-0    display start address, bits 19-16
  1668. SeeAlso: #P286,#P420
  1669.  
  1670. Bitfields for S3 Trio32/Trio64 "CR6A" Extended System Control 4 register:
  1671. Bit(s)    Description    (Table P420)
  1672.  7-6    reserved
  1673.  5-0    bits 19-14 of CPU base address
  1674. Note:    CR31 bit 0 must be set to enable this register
  1675. SeeAlso: #P286,#P419
  1676.  
  1677. Bitfields for S3 Trio64V+ "CR6F" Configuration 4 register:
  1678. Bit(s)    Description    (Table P493)
  1679.  7-5    reserved
  1680.  4-3    WE# delay (on both rising and falling edges)
  1681.     00 three units
  1682.     01 two units
  1683.     10 one unit
  1684.     11 no delay
  1685.  2    disable I/O PORT mirror of serial port (MMIO FF20h)
  1686.     =0 allow access via either MMIO FF20h or port selected by bit 1
  1687.  1    serial port address select (only has effect if bit 2 clear)
  1688.     =0 mirror MMIO FF20h at PORT 00E8h
  1689.     =1 mirror MMIO FF20h at PORT 00E2h
  1690.  0    configure for Trio64-compatible mode instead of LPB mode
  1691.  !!! p.19-16
  1692. SeeAlso: #P286,MEM A000h:FF00h"S3"
  1693. --------V-P03D403D5--------------------------
  1694. PORT 03D4-03D5 - Tseng Labs VIDEO CHIPS - EXTENDED CRT CONTROL REGISTERS
  1695. SeeAlso: PORT 03D4h"COLOR VIDEO",PORT 03D4h"S3",PORT 03D4h"Cirrus"
  1696.  
  1697. 03D4  RW  CRT control register index (see #P472)
  1698. 03D5  RW  CRT control register value
  1699.  
  1700. (Table P472)
  1701. Values for Tseng Labs ET3000/ET4000 CRT Controller register index:
  1702.  00h-18h same as EGA/VGA (see #P286)
  1703. ---ET3000 only---
  1704.  1Bh    x-zoom start register
  1705.     The existence of this register is often used to decide between ET3000
  1706.       and ET4000, as the ET4000 does not offer hardware-zoom features.
  1707.  1Ch    x-zoom end register
  1708.  1Dh    y-zoom start register low
  1709.  1Eh    y-zoom end register low
  1710.  1Fh    y-zoom start & end high register
  1711.  20h    zoom start address register low
  1712.  21h    zoom start address register medium
  1713.  23h    extended start address (see register 33h)
  1714.  24h    compatibility register (see register 34h)
  1715.  25h    overflow high register (see registers 35h, 07h)
  1716. ---ET4000---
  1717.  32h    RAS/CAS configuration ('key' protected) (see #P297)
  1718.  33h    extended start address
  1719.           This register is often used to decide between ET4000
  1720.           and ET3000, when bit3-0 can be reread after write.
  1721.            bit7-4 : reserved
  1722.            bit3-2 : cursor address bit 17-16
  1723.            bit1-0 : linear start address bits 17-16
  1724.  34h    6845 compatibility control register ('key' protected)
  1725.       (see #P298)
  1726.  35h    overflow high register (protected by 11h, bit7) (see #P299)
  1727.  36h    video system configuration 1 ('key' protected) (see #P300)
  1728.  37h    video system configuration 2 ('key' protected) (see #P301)
  1729. SeeAlso: #P259,#P473,#P474
  1730.  
  1731. Bitfields for ET4000 RAS/CAS configuration register:
  1732. Bit(s)    Description    (Table P297)
  1733.  7    static column memory
  1734.     ET4000/W32i: interleave mode
  1735.  6    RAL RAS&CAS column setup time
  1736.  5    RCD RAS & CAS time
  1737.  4-3    RSP, RAS pre-charge time
  1738.  2    CPS, CAS pre-charge time
  1739.  1-0    CSW, CAS low pulse width
  1740. SeeAlso: #P286,#P298
  1741.  
  1742. Bitfields for ET4000 compatibility control register:
  1743. Bit(s)    Description    (Table P298)
  1744.  7    6845 compatibility enabled
  1745.  6    ENBA enable double scan/underline in AT&T mode
  1746.  5    ENXL enable translation ROM on writing
  1747.  4    ENXR enable translation ROM on reading
  1748.  3    ENVS VSE register port address
  1749.  2    TRIS tristate ET4000 output pins
  1750.  1    CS2 MCLCK clock select 2
  1751.  0    EMCK enable translation of CS0 bit
  1752. SeeAlso: #P286,#P297,#P299
  1753.  
  1754. Bitfields for ET4000 overflow high register:
  1755. Bit(s)    Description    (Table P299)
  1756.  7    vertical interlace mode
  1757.  6    alternate RMW control
  1758.  5    external sync reset (gen-lock) the line/chr counter
  1759.  4    line compare bit10
  1760.  3    vertical sync start bit10
  1761.  2    vertical display end bit10
  1762.  1    vertical total bit10
  1763.  0    vertical blank start bit10
  1764. SeeAlso: #P286,#P298,#P300
  1765.  
  1766. Bitfields for ET4000 video system configuration 1 register:
  1767. Bit(s)    Description    (Table P300)
  1768.  7    enable 16bit I/O read/write
  1769.  6    enable 16bit display memory read/write
  1770.  5    addressing mode (0=IBM, 1=TLI)
  1771.  4    0=segment / 1=linear system configuration
  1772.  3    font width control (1=up to 16bit, 0=8bit)
  1773.  2-0    refresh count per line-1
  1774. SeeAlso: #P286,#P299,#P301
  1775.  
  1776. Bitfields for ET4000 video system configuration 2 register:
  1777. Bit(s)    Description    (Table P301)
  1778.  7    DRAM display memory type (1=VRAM, 0=DRAM)
  1779.  6    test (1=TLI interal test mode)
  1780.  5    priority threshold control (0=more mem BW)
  1781.  4    disable block read-ahead
  1782.  3    display memory data depth
  1783.  2    bus read data latch control
  1784.  1-0    display memory data bus width
  1785. SeeAlso: #P286,#P300
  1786. ----------P03D603D7--------------------------
  1787. PORT 03D6-03D7 - CGA (Color Graphics Adapter) - MIRRORS OF 03D4/03D5
  1788.  
  1789. 03D6  -W  same as 03D4
  1790.     (under OS/2, reads return 0 if full-screen DOS session,
  1791.       nonzero if windowed DOS session)
  1792. 03D7  RW  same as 03D5
  1793. ----------P03D603D7--------------------------
  1794. PORT 03D6-03D7 - Chips&Technologies VGA - EXTENSION REGISTERS
  1795.  
  1796. 03D6  -W  extension register index (see #P449)
  1797. 03D7  RW  extension register data
  1798.  
  1799. (Table P449)
  1800. Values for Chips&Technologies extension register index:
  1801.  00h    "XR00"    chip version (see #P498)
  1802.  01h    "XR01"    configuration (see #P499)
  1803.  02h    "XR02"    CPU interface control (see #P625)
  1804.  03h    "XR03"    master control (see #P626)
  1805.  04h    "XR04"    memory control (see #P627)
  1806.  05h    "XR05"    clock control (see #P628)
  1807.  06h    "XR06"    color palette control / DRAM interface
  1808.  07h    "XR07"    reserved
  1809.  08h    "XR08"    general purpose output select B
  1810.  09h    "XR09"    general purpose output select A
  1811.  0Ah    "XR0A"    cursor address top
  1812.  0Bh    "XR0B"    CPU paging (see #P629)
  1813.  0Ch    "XR0C"    start address top (see #P630)
  1814.  0Dh    "XR0D"    auxiliary offset (see #P631)
  1815.  0Eh    "XR0E"    text mode control (see #P632)
  1816.  0Fh    "XR0F"    configuration register 2
  1817.  10h    "XR10"    single/low map register (see #P633)
  1818.  11h    "XR11"    high map register (see #P634)
  1819.  14h    "XR14"    emulation mode (see #P635)
  1820.  15h    "XR15"    write protect (see #P636)
  1821.  16h    "XR16"    trap enable
  1822.  17h    "XR17"    trap status
  1823.  18h    "XR18"    alternate horizontal display end
  1824.  19h    "XR19"    alternate horizontal sync start / half-line
  1825.  1Ah    "XR1A"    alternate horizontal sync end (see #P637)
  1826.  1Bh    "XR1B"    alternate horizontal total
  1827.  1Ch    "XR1C"    alternate horizontal blank start / horizontal panel size
  1828.  1Dh    "XR1D"    alternate horizontal blank end (see #P638)
  1829.  1Eh    "XR1E"    alternate offset
  1830.  1Fh    "XR1F"    virtual EGA switch (see #P639)
  1831.  20h    "XR20"    453 Interface ID
  1832.  21h    "XR21"    Sliding Hold A
  1833.  22h    "XR22"    Sliding Hold B
  1834.  23h    "XR23"    SHC / WBM Control
  1835.  24h    "XR24"    Flat-Panel Alternate Max Scanline / SHD / WBM Pattern
  1836.  25h    "XR25"    Flat-Panel "AltGrHVirtPanelSize" / 453 Pin Definition
  1837.  26h    "XR26"    453 Configuration
  1838.  27h    "XR27"    reserved
  1839.  28h    "XR28"    video interface (see #P640)
  1840.  29h    "XR29"    function control
  1841.  2Ah    "XR2A"    frame interrupt count
  1842.  2Bh    "XR2B"    default video color (to be displayed when screen blanked)
  1843.  2Ch    "XR2C"    Flat-Panel VSync (FLM) Delay / force H high
  1844.  2Dh    "XR2D"    Flat-Panel HSync (LP) delay / force H low
  1845.  2Eh    "XR2E"    Flat-Panel HSync (LP) delay / force V high
  1846.  2Fh    "XR2F"    Flat-Panel HSync (LP) width / force V low
  1847.  30h    "XR30"    graphics cursor start address (high)
  1848.  31h    "XR31"    graphics cursor start address (low)
  1849.  32h    "XR32"    graphics cursor end address
  1850.  33h    "XR33"    graphics cursor X (high)
  1851.  34h    "XR34"    graphics cursor X (low)
  1852.  35h    "XR35"    graphics cursor Y (high)
  1853.  36h    "XR36"    graphics cursor Y (low)
  1854.  37h    "XR37"    graphics cursor mode
  1855.  38h    "XR38"    graphics cursor mask
  1856.  39h    "XR39"    graphics cursor color 0
  1857.  3Ah    "XR3A"    graphics cursor color 1
  1858.  3Bh    "XR3B"    reserved
  1859.  3Ch    "XR3C"    serial / row count (see #P641)
  1860.  3Dh    "XR3D"    multiplexor mode (see #P642)
  1861.  41h    "XR41"    virtual EGA switch register (82C453)
  1862.  44h    "XR44"    software flag register 1
  1863.  45h    "XR45"    software flag register 2 / foreground color
  1864.  50h    "XR50"    panel format
  1865.  51h    "XR51"    display type
  1866.  52h    "XR52"    power-down control / panel size
  1867.  53h    "XR53"    line graphics override
  1868.  54h    "XR54"    flat-panel interface / alternate miscellaneous output
  1869.  55h    "XR55"    horizontal compensation / text 350_A compensation
  1870.  56h    "XR56"    horizontal centering / text 350_B compensation
  1871.  57h    "XR57"    vertical compensation / text 400 compensation
  1872.  58h    "XR58"    vertical centering / graphics 350 compensation
  1873.  59h    "XR59"    vertical line insertion / graphics 400 compensation
  1874.  5Ah    "XR5A"    vertical line replication / FP vertical display start 400
  1875.  5Bh    "XR5B"    flat-panel vertical display end 400 
  1876.  5Ch    "XR5C"    weight control clock A
  1877.  5Dh    "XR5D"    weight control clock B
  1878.  5Eh    "XR5E"    ACDCLK control
  1879.  5Fh    "XR5F"    power-down mode refresh
  1880.  60h    "XR60"    blink rate control
  1881.  61h    "XR61"    SmartMap(tm) control
  1882.  62h    "XR62"    SmartMap(tm) shift parameter
  1883.  63h    "XR63"    SmartMap(tm) color mapping control
  1884.  64h    "XR64"    flat-panel alternate vertical total
  1885.  65h    "XR65"    flat-panel alternate overflow
  1886.  66h    "XR66"    flat-panel alternate vertical sync start
  1887.  67h    "XR67"    flat-panel alternate vertical sync end
  1888.  68h    "XR68"    flat-panel vertical panel size / alternate vertical DE end
  1889.  69h    "XR69"    flat-panel vertical display start 350
  1890.  6Ah    "XR6A"    flat-panel vertical display end 350
  1891.  6Bh    "XR6B"    flat-panel vertical overflow 2
  1892.  6Ch    "XR6C"    weight control clock C
  1893.  6Dh    "XR6D"    FRC control
  1894.  6Eh    "XR6E"    polynomial FRC control
  1895.  6Fh    "XR6F"    frame buffer control
  1896.  70h    "XR70"    setup/disable control (see #P643)
  1897.  71h-7Ch    reserved
  1898.  7Dh    "XR7D"    flat-panel compensation diagnostic
  1899.  7Eh    "XR7E"    CGA/Hercules color selection (see #P644)
  1900.  7Fh    "XR7F"    diagnostics (see #P645)
  1901. !!! chips\64200.pdf p.28, p.72
  1902. Note:    not all C&T chips support all of the above registers; see the tables
  1903.       for the individual registers for a list of supporting chipsets
  1904.  
  1905. Bitfields for Chips&Technologies "XR00" chip version:
  1906. Bit(s)    Description    (Table P498)
  1907.  7-4    chip type
  1908.     0000 = 82C451
  1909.     0001 = 82C452
  1910.     0010 = 82C455
  1911.     0011 = 82C453
  1912.     0100 = 82C450
  1913.     0101 = 82C456
  1914.     0110 = 82C457
  1915.     0111 = 65520
  1916.     1000 = 65530 / 65525
  1917.     1001 = 65510 Flat-Panel Controller
  1918.     1010 = 64200 Wingine
  1919.     1011 = 64300/301 Wingine DGX (if bit 3 clear)
  1920.     1011 = 64310 Wingine DGX-PCI (if bit 3 set)
  1921.  3-0    chip revision (0000 = first silicon)
  1922. Note:    this register is read-only
  1923. SeeAlso: #P449,#P499
  1924.  
  1925. Bitfields for Chips&Technologies "XR01" configuration:
  1926. Bit(s)    Description    (Table P499)
  1927.  7-4    configuration bits 7-4 (latched from pins on falling edge of RESET)
  1928.  3    memory configuration
  1929.     0 video memory pins always drive
  1930.     1 video memory pins only driven when XR03 bit 0 is clear (VGA mode)
  1931.  2    source of pixel clock
  1932.     0 oscillator (CLK0-CLK3 are pixel-clock inputs, which are selected by
  1933.       MSR bits 3-2)
  1934.     1 clock chip (CLK0 is pixel clock input, CLK1-CLK3 are CSELx outputs)
  1935.  1-0    bus type
  1936.     00 PCI
  1937.     01 Microchannel
  1938.     10 local bus
  1939.     11 ISA
  1940. Note:    this register is read-only
  1941. SeeAlso: #P449,#P498,#P625
  1942.  
  1943. Bitfields for Chips&Technologies "XR02" CPU interface register:
  1944. Bit(s)    Description    (Table P625)
  1945.  7    status of attribute flip-flop (read-only) (0 = index, 1 = data)
  1946.  6    palette address decoding
  1947.     0 access only at PORT 03C6h-03C9h
  1948.     1 also access at PORT 83C6h-83C9h (for RAMDACs with 8 registers)
  1949.  5    I/O address decodking
  1950.     0 decode all 16 bits of address
  1951.     1 only decode low ten bits of address for 3B4h,3B5h,3B8h,3BAh,3BFh,
  1952.       3C0h-3C2h,3C4h,3C5h,3CEh,3CFh,3D4h,3D5h,3D8h-3DAh
  1953.  4-3    mapping of Attribute Controller
  1954.     00 VGA mapping - write index and data at 03C0h (8-bit only)
  1955.     01 16-bit mapping - write index at 03C0h, data at 03C1h
  1956.     10 EGA mapping - write index at 03C0h, data at 03C0h or 03C1h (8-bit)
  1957.     11 reserved
  1958.  2-0    reserved (0)
  1959. SeeAlso: #P449,#P499,PORT 83C6h
  1960.  
  1961. Bitfields for Chips&Technologies "XR03" Master Control register:
  1962. Bit(s)    Description    (Table P626)
  1963.  7    XREQ# direction (=0 input, =1 output)
  1964.  6    XREQ# divide (=0 DispEnable for all lines, =1 even-numbered lines)
  1965.  5    XREQ# mode (=0 DispEnable only, =1 split-buffer VRAM transfer timing)
  1966.     (see #P641"XR3C",#P642"XR3D")
  1967.  4    alternate VGA address
  1968.     =1 map at PORT 02C6h-02C9h instead of 03C6h-03C9h
  1969.  3-2    reserved
  1970.  1    alternate palette address
  1971.     =1 map at PORT 02Bxh or PORT 02Dxh instead of 03Bxh/03Dxh
  1972.  0    Wingine/VGA select
  1973.     =0 VGA
  1974.     =1 Wingine (memory pins are tri-stated)
  1975. Note:    a write-only copy of this register may be accessed at PORT 0022h
  1976.       (index E0h) and PORT 0023h; a read-write copy exists in systems with
  1977.       built-in Wingine support
  1978. SeeAlso: #P449,#P625,#P627
  1979.  
  1980. Bitfields for Chips&Technologies "XR04" Memory Control register:
  1981. Bit(s)    Description    (Table P627)
  1982.  7-6    reserved (0)
  1983.  5    enable CPU memory write buffer
  1984.  4-3    reserved (0)
  1985.  2    memory wraparound
  1986.     =1 enable bit 17 of CRTC address counter
  1987.  1    reserved (0)
  1988.  0    memory configuration
  1989.     =0 8-bit data, two DRAM chips of 256Kx4
  1990.     =1 16-bit data, four DRAM chips of 256Kx4
  1991. SeeAlso: #P449,#P626
  1992.  
  1993. Bitfields for Chips&Technologies "XR05" Clock Control register:
  1994. Bit(s)    Description    (Table P628)
  1995.  !!!
  1996. SeeAlso: #P449
  1997.  
  1998. Bitfields for Chips&Technologies "XR0B" CPU Paging register:
  1999. Bit(s)    Description    (Table P629)
  2000.  7-3    reserved (0)
  2001.  2    divide CPU addresses by 4 (chain-4 mode)
  2002.  1    use two maps for CPU to access extended video memory (see #P633,#P634)
  2003.  0    memory-mapping mode
  2004.     =0 VGA-compatible
  2005.     =1 extended mapping for 512K video memory
  2006. SeeAlso: #P449,#P630
  2007.  
  2008. Bitfields for Chips&Technologies "XR0C" Start Address Top register:
  2009. Bit(s)    Description    (Table P630)
  2010.  7-1    reserved (0)
  2011.  0    high-order bit of display start address when 512K display memory used
  2012. SeeAlso: #P449,#P629
  2013.  
  2014. Bitfields for Chips&Technologies "XR0D" Auxiliary Offset register:
  2015. Bit(s)    Description    (Table P631)
  2016.  7-2    reserved (0)
  2017.  1    LSB of memory offset (CR13) in Chain and Chain-4 modes
  2018.  0    LBS of alternate memory offset (XR1E) in Chain/Chain-4 modes
  2019. SeeAlso: #P449
  2020.  
  2021. Bitfields for Chips&Technologies "XR0E" Text Mode Control register:
  2022. Bit(s)    Description    (Table P632)
  2023.  7-4    reserved (0)
  2024.  3    cursor style (0 = replace, 1 = XOR)
  2025.  2    disable cursor blink
  2026.  1-0    reserved (0)
  2027. SeeAlso: #P449
  2028.  
  2029. Bitfields for Chips&Technologies "XR10" Single/Low Map register:
  2030. Bit(s)    Description    (Table P633)
  2031.  7-0
  2032. !!!chips\64200.pdf p.80
  2033. SeeAlso: #P449,#P634
  2034.  
  2035. Bitfields for Chips&Technologies "XR11" High Map register:
  2036. Bit(s)    Description    (Table P634)
  2037.  7-0
  2038. SeeAlso: #P449,#P633
  2039.  
  2040. Bitfields for Chips&Technologies "XR14" Emulation Mode register:
  2041. Bit(s)    Description    (Table P635)
  2042.  7    enable interrupt output function (=0 tri-state IRQ# line)
  2043.  6    enable VSync status bit at PORT 03BAh/03DAh
  2044.  5    vertical retrace status
  2045.     =0 PORT 03BAh/03DAh bit 3 is vertical retrace (CGA/EGA/VGA)
  2046.     =1 PORT 03BAh/03DAh bit 3 is video active (MDA/Herc)
  2047.  4    display enable status
  2048.     =0 PORT 03BAh/03DAh bit 0 is display enable (CGA/EGA/VGA)
  2049.     =1 PORT 03BAh/03DAh bit 0 is HSync (MDA/Herc)
  2050.  3-2    (read-only) Hercules configuration register (see PORT 03BFh) readback
  2051.  1-0    emulation mode
  2052.     00 VGA
  2053.     01 CGA
  2054.     10 MDA/Hercules
  2055.     11 EGA
  2056. SeeAlso: #P449
  2057.  
  2058. Bitfields for Chips&Technologies "XR15" Write Protect register:
  2059. Bit(s)    Description    (Table P636)
  2060.  7    write protect AR11 (both bits 7 and 0 must be clear to write AR11)
  2061.  6
  2062.  5
  2063.  4
  2064.  3
  2065.  2
  2066.  1
  2067.  0    !!!chips\64200.pdf p.82
  2068. SeeAlso: #P449
  2069.  
  2070. Bitfields for Chips&Technologies "XR1A" Alternate Horizontal Sync End register:
  2071. Bit(s)    Description    (Table P637)
  2072.  7
  2073.  6-5
  2074.  4-0
  2075. SeeAlso: #P449,#P638
  2076.  
  2077. Bitfields for Chips&Technologies "XR1D" Alternate Horizontal Blank End reg:
  2078. Bit(s)    Description    (Table P638)
  2079.  7
  2080.  6-5
  2081.  4-0
  2082. SeeAlso: #P449,#P637
  2083.  
  2084. Bitfields for Chips&Technologies "XR1F" Virtual EGA Switch register:
  2085. Bit(s)    Description    (Table P639)
  2086.  7
  2087.  6-4    reserved (0)
  2088.  3-0    virtual EGA switches
  2089. SeeAlso: #P449
  2090.  
  2091. Bitfields for Chips&Technologies "XR28" Video Interface register:
  2092. Bit(s)    Description    (Table P640)
  2093.  7    reserved
  2094.  6
  2095.  5    interlaced video
  2096.  4
  2097.  3    reserved (0)
  2098.  2    shut off video
  2099.  1
  2100.  0
  2101. SeeAlso: #P449
  2102.  
  2103. Bitfields for Chips&Technologies "XR3C" Serial/Row Count register:
  2104. Bit(s)    Description    (Table P641)
  2105.  7-6    reserved (0)
  2106.  5-3    row count (number of transfer cycles)
  2107.     000 = 64
  2108.     001 = 128
  2109.     010 = 256
  2110.     011 = 512
  2111.     1x0 = 1024
  2112.     1x1 = 2048
  2113.  2-0    serial count (same as for bits 5-3, but in units of serial clocks)
  2114. SeeAlso: #P449,#P642,#P626
  2115.  
  2116. Bitfields for Chips&Technologies "XR3D" Multiplexer Mode register:
  2117. Bit(s)    Description    (Table P642)
  2118.  7-5    reserved
  2119.  4
  2120.  3
  2121.  2-0    multiplexer mode
  2122. SeeAlso: #P449,#P641,#P626
  2123.  
  2124. Bitfields for Chips&Technologies "XR70" Setup/Disable Control register:
  2125. Bit(s)    Description    (Table P643)
  2126.  7
  2127.  6-0    reserved (0)
  2128. SeeAlso: #P449
  2129.  
  2130. Bitfields for Chips&Technologies "XR7E" CGA Color Select register:
  2131. Bit(s)    Description    (Table P644)
  2132.  7-6    reserved
  2133.  5
  2134.  4
  2135.  3-0
  2136. Note:    this is a mirror of the register accessed via PORT 03D9h, which is
  2137.       always visible, while PORT 03D9h is only visible in CGA emulation
  2138. SeeAlso: #P449,PORT 03D9h
  2139.  
  2140. Bitfields for Chips&Technologies "XR7F" Diagnostic register:
  2141. Bit(s)    Description    (Table P645)
  2142.  7    special test function (should remain cleared)
  2143.  6    enable test function in bits 5-2
  2144.  5-2    test function
  2145.  1    tri-state output pins: !!!
  2146.  0    tri-state output pins: !!! chips\64200.pdf p.90
  2147. SeeAlso: #P449
  2148. ----------P03D803DF--------------------------
  2149. PORT 03D8-03DF - COLOR VIDEO - CRT MODE AND STATUS REGISTERS
  2150.  
  2151. 03D8  RW  CGA mode control register  (except PCjr) (see #P292)
  2152.     cannot be found on native color EGA, color VGA, but on most clones
  2153. 03D9  RW  CGA palette register (see #P294)
  2154.     (MCGA) CGA border control register
  2155.     Cannot be found on native EGA, VGA (without translation ROM) but
  2156.       only most clones. Read access on Genoa SuperEGA is 'reset'???
  2157. 03DA  R-  CGA status register (see #P293)
  2158.     color EGA/VGA: input status 1 register
  2159. 03DA  -W  color EGA/color VGA feature control register (see #P295)
  2160.     (at PORT 03BAh w in mono mode, VGA: 3CAh r)
  2161. 03DA  -W  HZ309 (MDA/HGC/CGA clone) card from in Heath/Zenith HZ150 PC
  2162.     bit7-1=0: unknown, zero is default and known to function
  2163.            properly at least in CGA modes.
  2164.     bit 0 = 1 override 3x8h bit3 control register that switches
  2165.            CRT beam off if bit3 is cleared. So screens always
  2166.            stays on.
  2167.     bit 0 = 0 3x8h bit3 indicates if CRT beam is on or off.
  2168.            No more info available. Might conflict with EGA/VGA.
  2169. 03DB  rW  clear light pen latch    (not MCGA)
  2170.           (R/W only with Genoa SuperEGA)
  2171. 03DC  RW  (not MCGA) preset light pen latch
  2172. 03DC  -W  (CGA) set light pen latch
  2173. 03DD  -W  (MCGA)  Extended mode control register
  2174.       (Plantronics & Genoa SuperEGA: Plantronics ColorPlus control,
  2175.               compatible with MCGA???)
  2176.     (default is 00h, in mode 13h: 04h)
  2177.     bit7 =1: DAC active, cannot be read
  2178.          =0: DAC not active, read allowed
  2179.     bit6-3 : reserved
  2180.     bit2 =1: videomode 13h with 256 colors active
  2181.     bit1    : reserved
  2182.     bit0 =0: reserved
  2183. 03DE  --  (MCGA) reserved
  2184. 03DE  -W  (AT&T & color ET4000 in AT&T compatibility mode & C&T 82C426)
  2185.           AT&T mode control register (see #P296)
  2186.     (register enabled in ET4000, if bit7=1 in CRTC 3D4h/34h.)
  2187. 03DF  --  (MCGA) reserved
  2188. 03DF  ?W  CRT/CPU page register     (PCjr only)
  2189.  
  2190. Bitfields for CGA/Hercules mode control register:
  2191. Bit(s)    Description    (Table P292)
  2192.  7-0    =A0h color ET4000: second part of 'key', see Hercules compatibility
  2193.       register (see PORT 03BFh) for details. For resetting the key, e.g.
  2194.       write 01h to PORT 03BFh and 29h to PORT 03D8h.
  2195.  7    (Hercules) page select
  2196.     =0 B0000h
  2197.     =1 B8000h
  2198.  6    color ET4000 only, read-only: report status of bit 1 (enable 2nd page)
  2199.       of hercules compatibility register (see PORT 03BFh)
  2200.  5    =1  blink enabled instead of foreground high-int.
  2201.  4    =1  640*200 graphics mode (CGA)
  2202.  3    =1  video enabled (HZ309, see PORT 03DAh bit 0)
  2203.  2    =1  monochrome signal
  2204.         (MCGA) in mode 6 and 11h color comes from palette
  2205.           regs 00 (black) and 07 (white), and can be changed there.
  2206.  1    =0  text mode
  2207.     =1  320*200 graphics mode
  2208.  0    text columns (0 = 40*25 text mode, 1 = 80*25 text mode)
  2209. SeeAlso: #P293
  2210.  
  2211. Bitfields for CGA status register:
  2212. Bit(s)    Description    (Table P293)
  2213.  7-6    not used
  2214.  7    (C&T Wingine) vertical sync in progress (if enabled by XR14)
  2215.  5-4    color EGA, color ET4000, C&T: diagnose video display feedback, select
  2216.       from color plane enable
  2217.  3    in vertical retrace
  2218.     (C&T Wingine) video active (retrace/video selected by XR14)
  2219.  2    (CGA,color EGA) light pen switch is off
  2220.     (MCGA,color ET4000) reserved (0)
  2221.     (VGA) reserved (1)
  2222.  1    (CGA,color EGA) positive edge from light pen has set trigger
  2223.     (VGA,MCGA,color ET4000) reserved (0)
  2224.  0    horizontal retrace in progress
  2225.     =0  do not use memory
  2226.     =1  memory access without interfering with display
  2227.         (VGA,Genoa SuperEGA) horizontal or vertical retrace
  2228.     (C&T Wingine) display enabled (retrace/DE selected by XR14)
  2229. SeeAlso: #P292,#P294,#P449
  2230.  
  2231. Bitfields for CGA palette register:
  2232. Bit(s)    Description    (Table P294)
  2233.  7-6    not used
  2234.  5    =0 active 320x200x4 color set: red, green brown
  2235.     =1 active 320x200x4 color set: cyan, magenta, white
  2236.  4    intense colors in graphics, background colors text
  2237.  3    intense border in 40*25, intense background in 320*200, intense
  2238.       foreground in 640*200
  2239.  2    red border in 40*25, red background in 320*200,    red foreground in
  2240.       640*200
  2241.  1    green border in 40*25, green background in 320*200, green foreground
  2242.       in 640*200
  2243.  0    blue border in 40*25, blue background in 320*200, blue foreground in
  2244.        640*200
  2245. SeeAlso: #P292,#P293
  2246.  
  2247. Bitfields for color EGA/VGA feature control register:
  2248. Bit(s)    Description    (Table P295)
  2249.  7    ET4000 only: enable NMI generation ('key' protected)
  2250.  6-4    not used
  2251.  3    (VGA) 0 = normal vsync, 1 = vsync OR display enable
  2252.  2    reserved (0)
  2253.     (C&T Wingine) disable 16-bit operations
  2254.  1    (EGA,ET4000,Wingine) FEAT1 control bit1 (pin17 feature connector)
  2255.     (VGA) reserved (0)
  2256.  0    (EGA,ET4000,Wingine) FEAT0 control bit0 (pin19 feature connector)
  2257.     (VGA) reserved (0)
  2258. SeeAlso: #P293
  2259.  
  2260. Bitfields for AT&T mode control register:
  2261. Bit(s)    Description    (Table P296)
  2262.  7    reserved
  2263.  6    underline color attribute enable
  2264.     ET4000: enabled, if bit6=1 in CRTC 3D4h/34h.
  2265.  5    reserved
  2266.  4    reserved
  2267.  3    alternate page select (=1: 2nd 16KB page, with bit0=0)
  2268.  2    alternate font select (0=default font block)
  2269.  1    reserved
  2270.  0    double scan line mode (0=IBM 200, 1=AT&T 400 line graphics)
  2271.     (ET4000) enabled, if bit7-6=11b in CRTC 3D4h/34h.
  2272. ----------P03E003E1--------------------------
  2273. PORT 03E0-03E1 - OPTi 82C824 - CardBus Bridge registers
  2274. Range:    PORT 03E0h or PORT 03E2h
  2275. SeeAlso: PORT 03E2h"CardBus"
  2276.  
  2277. 03E0  ?W  index for data register
  2278. 03E1  RW  CardBus registers
  2279. --------X-P03E003E1--------------------------
  2280. PORT 03E0-03E1 - Cirrus Logic CL-PD6710/6722/6729 - PC-CARD HOST ADAPTER
  2281. Notes:    the CL-PD6729 has compatible registers, but the port address
  2282.       is set via the PCI configuration space (two consecutive ports
  2283.       starting at Base Address 0)
  2284.     the CL-PD6832 supports a superset of this register set
  2285. SeeAlso: PORT 03E0h"CardBus"
  2286.  
  2287. 03E0  ?W  index for data register (see #P447)
  2288. 03E1  RW  register data
  2289.  
  2290. Bitfields for Cirrus Logic CL-PD6710/6722 index register:
  2291. Bit(s)    Description    (Table P447)
  2292.  7    device number (when dual CL-PD67xx's are used)
  2293.  6    socket number (CL-PD6722 dual-socket adapter only)
  2294.  5-0    register index (see #P448)
  2295.  
  2296. (Table P448)
  2297. Values for Cirrus Logic CL-PD6710/6722 register number:
  2298.  00h
  2299.  ...
  2300.  3Fh
  2301. SeeAlso: #P447
  2302. ----------P03E003E7--------------------------
  2303. PORT 03E0-03E7    - LPT port address on the UniRAM card by German magazine c't
  2304. Range:    selectable from PORT 0260h, PORT 02E0h, PORT 02E8h, PORT 02F0h,
  2305.       PORT 03E0h, or PORT 03E8h.
  2306. SeeAlso: PORT 03E8h"UniRAM"
  2307. ----------P03E003E7--------------------------
  2308. PORT 03E0-03E7 - COM port addresses on UniRAM card by German magazine c't
  2309. Range:    selectable from PORT 0238h, PORT 02E8h, PORT 02F8h, PORT 0338h,
  2310.       PORT 03E0h, PORT 03E8h, or PORT 03F8h
  2311. SeeAlso: PORT 03E0h"UniRAM"
  2312. ----------P03E203E3--------------------------
  2313. PORT 03E2-03E3 - OPTi 82C824 - CardBus Bridge registers
  2314. Range:    PORT 03E0h or PORT 03E2h
  2315. SeeAlso: PORT 03E0h"CardBus"
  2316.  
  2317. 03E2  ?W  index for data register
  2318. 03E3  RW  CardBus registers
  2319. ----------P03E803EF--------------------------
  2320. PORT 03E8-03EF - serial port, same as 02E8, 02F8 and 03F8 (COM3)
  2321. SeeAlso: PORT 03F8h-03FFh
  2322. ----------P03E803EF--------------------------
  2323. PORT 03E8-03EF - COM port addresses on UniRAM card by German magazine c't
  2324. Range:    selectable from PORT 0238h, PORT 02E8h, PORT 02F8h, PORT 0338h,
  2325.       PORT 03E0h, PORT 03E8h, or PORT 03F8h
  2326. SeeAlso: PORT 03E0h"UniRAM"
  2327. ----------P03E003E7--------------------------
  2328. PORT 03E8-03EF - LPT port address on the UniRAM card by German magazine c't
  2329. Range:    selectable from PORT 0260h, PORT 02E0h, PORT 02E8h, PORT 02F0h,
  2330.       PORT 03E0h, or PORT 03E8h.
  2331. SeeAlso: PORT 03E8h"UniRAM"
  2332. ----------P03EB------------------------------
  2333. PORT 03EB - GI1904 Scanner Interface Adapter
  2334. Range:    PORT 022Bh, PORT 026Bh, PORT 02ABh (default), PORT 02EBh, PORT 032Bh,
  2335.       PORT 036Bh, PORT 03ABh
  2336. ----------P03EC------------------------------
  2337. PORT 03EC - GS-IF Scanner Interface adapter
  2338. Range:    PORT 022Ch, PORT 026Ch, PORT 02ACh, PORT 02ECh (default),
  2339.       PORT 032Ch, PORT 036Ch, PORT 03ACh, PORT 03ECh
  2340. Note:    many SPI 400dpi/800dpi gray / H/T handy scanner by Marstek, Mustek and
  2341.       others use this interface
  2342. ----------P03F003F7--------------------------
  2343. PORT 03F0-03F7 - FDC 1    (1st Floppy Disk Controller)    second FDC at 0370
  2344. Note:    floppy disk controller is usually an 8272, 8272A, NEC765 (or
  2345.       compatible), or an 82072 or 82077AA for perpendicular recording at
  2346.       2.88M
  2347. SeeAlso: PORT 0370h-0377h
  2348.  
  2349. 03F0  R-  diskette controller status A (PS/2) (see #P310)
  2350. 03F0  R-  diskette controller status A (PS/2 model 30) (see #P311)
  2351. 03F0  R-  diskette EHD controller board jumper settings (82072AA) (see #P312)
  2352. 03F1  R-  diskette controller status B (PS/2) (see #P313)
  2353. 03F1  R-  diskette controller status B (PS/2 model 30) (see #P314)
  2354. 03F2  -W  diskette controller DOR (Digital Output Register) (see #P315)
  2355. 03F3  ?W  tape drive register (on the 82077AA)
  2356.     bit 7-2     reserved, tri-state
  2357.     bit 1-0     tape select
  2358.         =00  none, drive 0 cannot be a tape drive.
  2359.         =01  drive1
  2360.         =10  drive2
  2361.         =11  drive3
  2362. 03F4  R-  diskette controller main status register (see #P318)
  2363.     Note:    in non-DMA mode, all data transfers occur through
  2364.           PORT 03F5h and the status registers (bit 5 here
  2365.           indicates data read/write rather than than
  2366.           command/status read/write)
  2367. 03F4  -W  diskette controller data rate select register (see #P319)
  2368. 03F5  R-  diskette command/data register 0 (ST0) (see #P320)
  2369.     status register 1 (ST1) (see #P321)
  2370.     status register 2 (ST2) (see #P322)
  2371.     status register 3 (ST3) (see #P323)
  2372. 03F5  -W  diskette command register.  The commands summarized here are
  2373.       mostly multibyte commands. This is for brief recognition only.
  2374.       (see #P326)
  2375. 03F6  --  reserved on FDC
  2376. 03F6  rW  FIXED disk controller data register (see #P324)
  2377. 03F7  RW  harddisk controller (see #P325)
  2378. 03F7  R-  diskette controller DIR (Digital Input Register, PC/AT mode)
  2379.          bit 7 = 1 diskette change
  2380.          bit 6-0   tri-state on FDC
  2381. 03F7  R-  diskette controller DIR (Digital Input Register, PS/2 mode)
  2382.       (see #P316)
  2383. 03F7  R-  diskette controller DIR (Digital Input Register, PS/2 model 30)
  2384.       (see #P317)
  2385. 03F7  -W  configuration control register (PC/AT, PS/2)
  2386.          bit 7-2       reserved, tri-state
  2387.          bit 1-0 = 00  500 Kb/S mode (MFM)
  2388.              = 01  300 Kb/S mode (MFM)
  2389.              = 10  250 Kb/S mode (MFM)
  2390.              = 11  1   Mb/S mode (MFM) (on 82072/82077AA)
  2391.     conflict bit 0       FIXED DISK drive 0 select
  2392. 03F7  -W  configuration control register (PS/2 model 30)
  2393.          bit 7-3       reserved, tri-state
  2394.          bit 2           NOPREC (has no function. set to 0 by hardreset)
  2395.          bit 1-0 = 00  500 Kb/S mode (MFM)
  2396.              = 01  300 Kb/S mode (MFM)
  2397.              = 10  250 Kb/S mode (MFM)
  2398.              = 11  1   Mb/S mode (MFM) (on 82072/82077AA)
  2399.     conflict bit 0       FIXED DISK drive 0 select
  2400.  
  2401. Bitfields for diskette controller status A (PS/2):
  2402. Bit(s)    Description    (Table P310)
  2403.  7    interrupt pending
  2404.  6    -DRV2    second drive installed
  2405.  5    step
  2406.  4    -track 0
  2407.  3    head 1 select
  2408.  2    -index
  2409.  1    -write protect
  2410.  0    +direction
  2411. SeeAlso: #P311,#P313
  2412.  
  2413. Bitfields for diskette controller status A (PS/2 model 30):
  2414. Bit(s)    Description    (Table P311)
  2415.  7    interrupt pending
  2416.  6    DRQ
  2417.  5    step F/F
  2418.  4    -track 0
  2419.  3    head 1 select
  2420.  2    +index
  2421.  1    +write protect
  2422.  0    -direction
  2423. SeeAlso: #P310,#P312,#P314
  2424.  
  2425. Bitfields for diskette EHD controller board jumper settings:
  2426. Bit(s)    Description    (Table P312)
  2427.  7-6    drive 3
  2428.  5-4    drive 2
  2429.  3-2    drive 1
  2430.  1-0    drive 0
  2431.      00  1.2Mb
  2432.      01  720Kb
  2433.      10  2.8Mb
  2434.      11  1.4Mb
  2435. SeeAlso: #P310
  2436.  
  2437. Bitfields for diskette controller status B (PS/2):
  2438. Bit(s)    Description    (Table P313)
  2439.  7-6    reserved (1)
  2440.  5    drive select (0=A:, 1=B:)
  2441.  4    write data
  2442.  3    read data
  2443.  2    write enable
  2444.  1    motor enable 1
  2445.  0    motor enable 0
  2446. SeeAlso: #P310,#P314
  2447.  
  2448. Bitfields for diskette controller status B (PS/2 model 30):
  2449. Bit(s)    Description    (Table P314)
  2450.  7    -DRV2 second drive installed
  2451.  6    -DS1
  2452.  5    -DS0
  2453.  4    write data F/F
  2454.  3    read data F/F
  2455.  2    write enable F/F
  2456.  1    -DS3
  2457.  0    -DS2
  2458. SeeAlso: #P311,#P313
  2459.  
  2460. Bitfields for diskette controller Digital Output Register (DOR):
  2461. Bit(s)    Description    (Table P315)
  2462.  7-6    reserved on PS/2
  2463.  7    drive 3 motor enable
  2464.  6    drive 2 motor enable
  2465.  5    drive 1 motor enable
  2466.  4    drive 0 motor enable
  2467.  3    diskette DMA enable (reserved PS/2)
  2468.  2    =1  FDC enable    (controller reset)
  2469.     =0  hold FDC at reset
  2470.  1-0    drive select (0=A 1=B ..)
  2471. SeeAlso: #P310,#P318,#P319,#P316
  2472.  
  2473. Bitfields for diskette controller Digital Input Register (PS/2 mode):
  2474. Bit(s)    Description    (Table P316)
  2475.  7    = 1 diskette change
  2476.  6-3    = 1
  2477.  2    datarate select1
  2478.  1    datarate select0
  2479.  0    = 0 high density select (500Kb/s, 1Mb/s)
  2480.  0    (conflict) FIXED DISK drive 0 select
  2481. SeeAlso: #P317,#P315
  2482.  
  2483. Bitfields for diskette controller Digital Input Register (PS/2 model 30):
  2484. Bit(s)    Description    (Table P317)
  2485.  7    = 0 diskette change
  2486.  6-4    = 0
  2487.  3    -DMA gate (value from DOR register)
  2488.  2    NOPREC (value from CCR register)
  2489.  1    datarate select1
  2490.  0    datarate select0
  2491.  0    (conflict) FIXED DISK drive 0 select
  2492. SeeAlso: #P316
  2493.  
  2494. Bitfields for diskette controller main status register:
  2495. Bit(s)    Description    (Table P318)
  2496.  7    =1  RQM     data register is ready
  2497.     =0  no access is permitted
  2498.  6    =1  transfer is from controller to system
  2499.     =0  transfer is from system to controller
  2500.  5    non-DMA mode
  2501.  4    diskette controller is busy
  2502.  3    drive 3 busy (reserved on PS/2)
  2503.  2    drive 2 busy (reserved on PS/2)
  2504.  1    drive 1 busy (= drive is in seek mode)
  2505.  0    drive 0 busy (= drive is in seek mode)
  2506. SeeAlso: #P315
  2507.  
  2508. Bitfields for diskette controller data rate select register:
  2509. Bit(s)    Description    (Table P319)
  2510.  7-2    reserved on 8272
  2511.  7    software reset (self clearing)    82072/82077AA
  2512.  6    power down            82072/82077AA
  2513.  5    (8272/82077AA) reserved (0)
  2514.     (82072) PLL select bit
  2515.  4-2    write precompensation value, 000 default
  2516.  1-0    data rate select
  2517.     =00  500 Kb/S MFM    250 Kb/S FM
  2518.     =01  300 Kb/S MFM    150 Kb/S FM
  2519.     =10  250 Kb/S MFM    125 Kb/S FM
  2520.     =11  1Mb/S    MFM    illegal     FM on 8207x
  2521. SeeAlso: #P315
  2522.  
  2523. Bitfields for diskette command/data register 0 (ST0):
  2524. Bit(s)    Description    (Table P320)
  2525.  7-6    last command status
  2526.     00  command terminated successfully
  2527.     01  command terminated abnormally
  2528.     10  invalid command
  2529.     11  terminated abnormally by change in ready signal
  2530.  5    seek completed
  2531.  4    equipment check occurred after error
  2532.  3    not ready
  2533.  2    head number at interrupt
  2534.  1-0    unit select (0=A 1=B .. ) (on PS/2: 01=A  10=B)
  2535. SeeAlso: #P321,#P322,#P323
  2536.  
  2537. Bitfields for diskette status register 1 (ST1):
  2538. Bit(s)    Description    (Table P321)
  2539.  7    end of cylinder; sector# greater then sectors/track
  2540.  6    =0
  2541.  5    CRC error in ID or data field
  2542.  4    overrun
  2543.  3    =0
  2544.  2    sector ID not found
  2545.  1    write protect detected during write
  2546.  0    ID address mark not found
  2547. SeeAlso: #P320,#P322,#P323
  2548.  
  2549. Bitfields for diskette status register 2 (ST2):
  2550. Bit(s)    Description    (Table P322)
  2551.  7    =0
  2552.  6    deleted Data Address Mark detected
  2553.  5    CRC error in data
  2554.  4    wrong cylinder detected
  2555.  3    scan command equal condition satisfied
  2556.  2    scan command failed, sector not found
  2557.  1    bad cylinder, ID not found
  2558.  0    missing Data Address Mark
  2559. SeeAlso: #P320,#P321,#P323
  2560.  
  2561. Bitfields for diskette status register 3 (ST3):
  2562. Bit(s)    Description    (Table P323)
  2563.  7    fault status signal
  2564.  6    write protect status
  2565.  5    ready status
  2566.  4    track zero status
  2567.  3    two sided status signal
  2568.  2    side select (head select)
  2569.  1-0    unit select (0=A 1=B .. )
  2570. SeeAlso: #P320,#P321,#P322
  2571.  
  2572. Bitfields for fixed disk controller data register:
  2573. Bit(s)    Description    (Table P324)
  2574.  7-4    reserved
  2575.  3    =0  reduce write current
  2576.     =1  head select 3 enable
  2577.  2    disk reset enable
  2578.  1    disk initialization disable
  2579.  0    reserved
  2580. SeeAlso: #P315,#P325
  2581.  
  2582. Bitfields for hard disk controller:
  2583. Bit(s)    Description    (Table P325)
  2584.  6    FIXED DISK write gate
  2585.  5    FIXED DISK head select 3 / reduced write current
  2586.  4    FIXED DISK head select 2
  2587.  3    FIXED DISK head select 1
  2588.  2    FIXED DISK head select 0
  2589.  1    FIXED DISK drive 1 select
  2590.  0    FIXED DISK drive 0 select
  2591. SeeAlso: #P324
  2592.  
  2593. (Table P326)
  2594. Values for diskette commands:
  2595.     MFM = MFM mode selected, opposite of MF mode
  2596.     HDS = head select
  2597.     DS  = drive select
  2598.     MT  = multi track operation
  2599.     SK  = skip deleted data address mark
  2600.    Command         # bytes    D7  6    5   4    3   2    1   0
  2601.  read track        9    0  MFM    0   0    0   0    1   0
  2602.                 0   0    0   0    0 HDS DS1 DS0
  2603.  specify        3    0   0    0   O    O   O    1   1
  2604.  sense drive status    2    0   0    0   0    0   1    0   0
  2605.                 0   0    0   0    0 HDS DS1 DS0
  2606.  write data        9    MT MFM    0   0    0   1    0   1
  2607.                 0   0    0   0    0 HDS DS1 DS0
  2608.  read data        9    MT MFM SK   0    0   1    1   0
  2609.                 0   0    0   0    0 HDS DS1 DS0
  2610.  recalibrate        2    0   0    0   0    0   1    1   1
  2611.                 0   0    0   0    0   0 DS1 DS0
  2612.  sense interrupt status 1    0   0    0   0    1   0    0   0
  2613.  write deleted data    9    MT MFM    0   0    1   0    0   1
  2614.                 0   0    0   0    0 HDS DS1 DS0
  2615.  read ID        2    0  MFM    0   0    1   0    1   0
  2616.                 0   0    0   0    0 HDS DS1 DS0
  2617.  read deleted data    9    MT MFM SK   0    1   1    0   0
  2618.                 0   0    0   0    0 HDS DS1 DS0
  2619.  format track        10    0  MFM    0   0    1   1    0   1
  2620.                 0   0    0   0    0 HDS DS1 DS0
  2621.  dumpreg **        1    0   0    0   0    1   1    1   0
  2622.  seek            3    0   0    0   0    1   1    1   1
  2623.                 0   0    0   0    0 HDS DS1 DS0
  2624.  version **        1    0   0    0   1    0   0    0   0
  2625.  scan equal *        9    MT MFM SK   1    0   0    0   1
  2626.                 0   0    0   0    0 HDS DS1 DS0
  2627.  perpendicular mode **    2    0   0    0   1    0   0    1   0
  2628.                 0   0    0   0    0   0 WGATE GAP
  2629.  configure **        4    0   0    0   1    0   0    1   1
  2630.                 0   0    0   0    0   0    0   0
  2631.  verify            9    MT MFM SK   1    0   1    1   0
  2632.                 EC  0    0   0    0 HDS DS1 DS0
  2633.  scan low or equal *    9    MT MFM SK   1    1   0    0   1
  2634.                 0   0    0   0    0 HDS DS1 DS0
  2635.  scan high or equal *    9    MT MFM SK   1    1   1    0   1
  2636.                 0   0    0   0    0 HDS DS1 DS0
  2637.  relative seek **    3    1  DIR    0   0    1   1    1   1
  2638.                 0   0    0   0    0 HDS DS1 DS0
  2639. BEWARE: not every invalid command is treated as invalid!
  2640.  *  Note: the scan commands aren't mentioned for the 82077AA.
  2641.  ** Note: EHD controller commands.
  2642. ----------P03F003F1--------------------------
  2643. PORT 03F0-03F1 - PCTech RZ1000 IDE controller
  2644. Note:    to unlock access to these ports instead of the standard floppy
  2645.       controller status ports at these two addresses, you must perform
  2646.       two immediately successive 8-bit OUTs of 55h to PORT 03F0h (there
  2647.       is a fairly small time limit between the two accesses, so there
  2648.       should be no other instructions between the two OUTs); after
  2649.       that, values written to PORT 03F0h select the data accessed through
  2650.       PORT 03F1h until an AAh is written to 03F0h
  2651. SeeAlso: #0656
  2652.  
  2653. 03F0  ?W  index port (see #P327)
  2654. 03F1  RW  data port
  2655.  
  2656. (Table P327)
  2657. Values for RZ1000 IDE controller registers:
  2658.  00h    ???
  2659.     bit 7:
  2660.     bit 1:
  2661.     bit 0:
  2662.  01h    ???
  2663.  02h    ???
  2664.  03h    ???
  2665.  04h    ???
  2666.  05h    ???
  2667.     bit 1:
  2668.  AAh    lock control port
  2669. ----------P03F803FF--------------------------
  2670. PORT 03F8-03FF - Serial port (8250,8250A,8251,16450,16550,16550A,etc.) COM1
  2671. Range:    PORT 02E8h-02EFh (COM2), PORT 02F8h-02FFh (typical non-PS/2 COM3), and
  2672.       PORT 03E8h-03EFh (typical non-PS/2 COM4)
  2673. Note:    chips overview:
  2674.      8250  original PC, specified up to 56Kbd, but mostly runs
  2675.            only 9600Bd, no scratchregister, bug: sometimes shots
  2676.            ints without reasons
  2677.      8250A, 16450, 16C451: ATs, most chips run up to 115KBd,
  2678.            no bug: shots no causeless ints
  2679.      8250B: PC,XT,AT, pseudo bug: shots one causeless int for
  2680.         compatibility with 8250, runs up to 56KBd
  2681.      16550, 16550N, 16550V: early PS/2, FIFO bugs
  2682.      16550A,16550AF,16550AFN,16550C,16C551,16C552: PS/2, FIFO ok
  2683.      82510: laptops & industry, multi emulation mode
  2684.         (default=16450), special-FIFO.
  2685.      8251: completely different synchronous SIO chip, not compatible!
  2686. SeeAlso: INT 14/AH=00h"SERIAL"
  2687.  
  2688. 03F8  -W  serial port, transmitter holding register (THR), which contains the
  2689.       character to be sent. Bit 0 is sent first.
  2690.         bit 7-0      data bits when DLAB=0 (Divisor Latch Access Bit)
  2691. 03F8  R-  receiver buffer register (RBR), which contains the received
  2692.       character. Bit 0 is received first
  2693.          bit 7-0   data bits when DLAB=0 (Divisor Latch Access Bit)
  2694. 03F8  RW  divisor latch low byte (DLL) when DLAB=1 (see #P328)
  2695. 03F9  RW  divisor latch high byte (DLM) when DLAB=1 (see #P328)
  2696. 03F9  RW  interrupt enable register (IER) when DLAB=0 (see #P329)
  2697. 03FA  R-  interrupt identification register (see #P330)
  2698.     Information about a pending interrupt is stored here. When the ID
  2699.       register is addressed, thehighest priority interrupt is held, and
  2700.       no other interrupts are acknowledged until the CPU services that
  2701.       interrupt.
  2702. 03FA  -W  16650 FIFO Control Register (FCR) (see #P331)
  2703. 03FB  RW  line control register (LCR) (see #P332)
  2704. 03FC  RW  modem control register (see #P333)
  2705. 03FD  R-  line status register (LSR) (see #P334)
  2706. 03FE  R-  modem status register (MSR) (see #P335)
  2707. 03FF  RW  scratch register (SCR)
  2708.     (not used for serial I/O; available to any application using 16450,
  2709.       16550) (not present on original 8250)
  2710.  
  2711. (Table P328)
  2712. Values for serial port divisor latch registers:
  2713.  Some baudrates (using standard 1.8432 Mhz clock):
  2714.        baudrate       divisor     DLM  DLL
  2715.         50       2304          09h 00h
  2716.         75       1536          06h 00h
  2717.        110       1047          04h 17h
  2718.        134,5    857          03h 59h
  2719.        150        768          03h 00h
  2720.        300        384          01h 80h
  2721.        600        192          00h C0h
  2722.       1200         96          00h 60h
  2723.       1800         64          00h 40h
  2724.       2000         58          00h 3Ah
  2725.       2400         48          00h 30h
  2726.       3600         32          00h 20h
  2727.       4800         24          00h 18h
  2728.       7200         16          00h 10h
  2729.       9600         12          00h 0Ch
  2730.      19200          6          00h 06h
  2731.      38400          3          00h 03h
  2732.      57600          2          00h 02h
  2733.     115200          1          00h 01h
  2734. Note:    MIDI baudrate 32250Bd with 4Mhz quarz for c't MIDI interface
  2735.       following c't 01/1991:   '14400'      00h 08h
  2736.  
  2737. Bitfields for serial port interrupt enable register (IER):
  2738. Bit(s)    Description    (Table P329)
  2739.  7-6    reserved (0)
  2740.  5    (82510) "timer"
  2741.     (other) reserved (0)
  2742.  4    (82510) "transmit machine"
  2743.     (other) reserved (0)
  2744.  3    modem-status interrupt enable
  2745.  2    receiver-line-status interrupt enable
  2746.  1    transmitter-holding-register empty interrupt enable
  2747.  0    received-data-available interrupt enable
  2748.       (also 16550(A) timeout interrupt)
  2749. Note:    16550(A) will interrupt with a timeout if data exists in the FIFO
  2750.       and isn't read within the time it takes to receive four bytes or if
  2751.       no data is received within the time it takes to receive four bytes
  2752. SeeAlso: #P330
  2753.  
  2754. Bitfields for serial port interrupt identification register (IIR):
  2755. Bit(s)    Description    (Table P330)
  2756.  7-6    =00  reserved on 8250, 8251, 16450
  2757.     =01  if FIFO queues enabled but unusable (16550 only)
  2758.     =11  if FIFO queues are enabled (16550A only) (see also #P331)
  2759.  6-5    used by 82510 for bank select (00 = default bank0)
  2760.  5-4    reserved (0)
  2761.  3-1    identify pending interrupt with the highest priority
  2762.     110    (16550,82510) timeout interrupt pending
  2763.     101    (82510) timer interrupt (see #P329)
  2764.     100    (82510) transmit machine (see #P329)
  2765.     011    receiver line status interrupt. priority=highest
  2766.     010    received data available register interrupt. pr.=second
  2767.     001    transmitter holding register empty interrupt. pr.=third
  2768.     000    modem status interrupt. priority=fourth
  2769.  0    =0 interrupt pending. contents of register can be used as a pointer
  2770.       to the appropriate interrupt service routine
  2771.     =1 no interrupt pending
  2772. Notes:    interrupt pending flag uses reverse logic, 0=pending, 1=none
  2773.     interrupt will occur if any of the line status bits are set
  2774.     THRE bit is set when THRE register is emptied into the TSR
  2775. SeeAlso: #P329
  2776.  
  2777. Bitfields for serial port FIFO control register (FCR):
  2778. Bit(s)    Description    (Table P331)
  2779.  7-6    received data available interrupt trigger level (16550)
  2780.     00  1 byte
  2781.     01  4 bytes
  2782.     10  8 bytes
  2783.     11 14 bytes
  2784.  6-5    =00  (used to enable 4 byte Rx/Tx FIFOs on 82510???)
  2785.     =10 ???
  2786.  5-4    reserved (00)
  2787.  3    change RXRDY  TXRDY pins from mode 0 to mode 1
  2788.  2    clear XMIT FIFO
  2789.  1    clear RCVR FIFO
  2790.  0    enable clear XMIT and RCVR FIFO queues
  2791.  4-0    (other purpose on 82510???)
  2792. Notes:    bit 0 must be set in order to write to other FCR bits
  2793.     bit 1 when set    the RCVR FIFO is cleared and this bit is reset
  2794.       the receiver shift register is not cleared
  2795.     bit 2 when set    the XMIT FIFO is cleared and this bit is reset
  2796.       the transmit shift register is not cleared
  2797.     due to a hardware bug, 16550 FIFOs don't work correctly (this
  2798.       was fixed in the 16550A)
  2799. SeeAlso: #P330
  2800.  
  2801. Bitfields for serial port Line Control Register (LCR):
  2802. Bit(s)    Description    (Table P332)
  2803.  7    =1  divisor latch access bit (DLAB)
  2804.     =0  receiver buffer, transmitter holding, or interrupt enable register
  2805.       access
  2806.  6    set break enable. serial ouput is forced to spacing state and remains
  2807.       there.
  2808.  5-3    PM2 PM1 PM0
  2809.      x   x     0 = no parity
  2810.      0   0     1 = odd parity
  2811.      0   1     1 = even parity
  2812.      1   0     1 = high parity (sticky)
  2813.      1   1     1 = low parity (sticky)
  2814.      x   x     1 = software parity
  2815.  2    stop bit length (STB/SBL)
  2816.     0  one stop bit
  2817.     1  2 stop bits with (word length 6, 7, 8)
  2818.        1.5 stop bits with word length 5
  2819.  1-0    (WLS1-0, CL1-0)
  2820.     00 word length is 5 bits
  2821.     01 word length is 6 bits
  2822.     10 word length is 7 bits
  2823.     11 word length is 8 bits
  2824. SeeAlso: #P333,#P334,#P335
  2825.  
  2826. Bitfields for serial port Modem Control Register (MCR):
  2827. Bit(s)    Description    (Table P333)
  2828.  7-6    reserved (0)
  2829.  5    (82510 only) state of OUT0 pin
  2830.  4    loopback mode for diagnostic testing of serial port
  2831.     output of transmitter shift register is looped back to receiver
  2832.       shift register input. In this mode, transmitted data is received
  2833.       immediately so that the CPU can verify the transmit data/receive
  2834.       data serial port paths.
  2835.     If OUT2 is disabled, there is no official way to generate an IRQ
  2836.       during loopback mode.
  2837.  3    auxiliary user-designated output 2 (OUT2)
  2838.     because of external circuity OUT2 must be 1 to master-intr-enableing.
  2839.     BUG: Some Toshiba Laptops utilize this bit vice versa, newer Toshiba
  2840.       machines allow assignment of the bit's polarity in system setup.
  2841.     82050: This bit is only effective, if the chip is being used with an
  2842.       externally-generated clock.
  2843.  2    =1/0  auxiliary user-designated output 1 (OUT1)
  2844.     should generally be cleared!!
  2845.     Some external hardware, e.g. c't MIDI interface (and compatibles) use
  2846.       this bit to change the 8250 input clock from 1,8432 MHz to 4Mhz
  2847.       (enabling MIDI-conformant baudrates) and switching to
  2848.       MIDI-compatible current loop connectors.
  2849.  1    force request-to-send active (RTS)
  2850.  0    force data-terminal-ready active (DTR)
  2851. SeeAlso: #P332,#P334,#P335
  2852.  
  2853. Bitfields for serial port Line Status Register (LSR):
  2854. Bit(s)    Description    (Table P334)
  2855.  7    =0  reserved
  2856.     =1  on some chips produced by UMC
  2857.  6    transmitter shift and holding registers empty
  2858.  5    transmitter holding register empty (THRE)
  2859.     Controller is ready to accept a new character to send.
  2860.  4    break interrupt. the received data input is held in the zero bit
  2861.       state longer than the time of start bit + data bits + parity bit +
  2862.       stop bits.
  2863.  3    framing error (FE). the stop bit that follows the last parity or data
  2864.       bit is a zero bit
  2865.  2    parity error (PE). Character has wrong parity
  2866.  1    overrun error (OE). a character was sent to the receiver buffer
  2867.       before the previous character in the buffer could be read. This
  2868.       destroys the previous character.
  2869.  0    data ready. a complete incoming character has been received and sent
  2870.       to the receiver buffer register.
  2871. SeeAlso: #P332,#P333,#P335
  2872.  
  2873. Bitfields for serial port Modem Status Register (MSR):
  2874. Bit(s)    Description    (Table P335)
  2875.  7    data carrier detect (-DCD)
  2876.  6    ring indicator (-RI)
  2877.  5    data set ready (-DSR)
  2878.  4    clear to send (-CTS)
  2879.  3    delta data carrier detect (DDCD)
  2880.  2    trailing edge ring indicator (TERI)
  2881.  1    delta data set ready (DDSR)
  2882.  0    delta clear to send (DCTS)
  2883. Notes:    bits 0-3 are reset when the CPU reads the MSR
  2884.     bit 4 is the Modem Control Register RTS during loopback test
  2885.     bit 5 is the Modem Control Register DTR during loopback test
  2886.     bit 6 is the Modem Control Register OUT1 during loopback test
  2887.     bit 7 is the Modem Control Register OUT2 during loopback test
  2888. SeeAlso: #P332,#P333,#P334
  2889. --------!---Note-----------------------------
  2890. Note:    Adresses above 03FF generally apply to EISA and PCI machines only !
  2891.     EISA port assignments:
  2892.         1000-1FFF    slot 1 EISA
  2893.         2000-2FFF    slot 2 EISA
  2894.         3000-3FFF    slot 3 EISA
  2895.         4000-4FFF    slot 4 EISA
  2896.         5000-5FFF    slot 5 EISA
  2897.         6000-6FFF    slot 6 EISA
  2898.         7000-7FFF    slot 7 EISA
  2899. ----------P0401040B--------------------------
  2900. PORT 0401-040B - EISA DMA Controller
  2901. SeeAlso: PORT 0481h-048Bh"EISA",PORT 04D4h-04D6h"EISA"
  2902.  
  2903. 0401  RW  DMA channel 0 word count byte 2 (high)
  2904. 0403  RW  DMA channel 1 word count byte 2 (high)
  2905. 0405  RW  DMA channel 2 word count byte 2 (high)
  2906. 0407  RW  DMA channel 3 word count byte 2 (high)
  2907. 040A  -W  extended DMA chaining mode register, channels 0-3 (see #P336)
  2908. 040A  R-  channel interrupt (IRQ13) status register (see #P337)
  2909. 040B  -W  DMA extended mode register for channels 0-3 (see #P338)
  2910.     (bit settings same as PORT 04D6h)
  2911.  
  2912. Bitfields for EISA extended DMA chaining mode register (channels 0-3):
  2913. Bit(s)    Description    (Table P336)
  2914.  7-5    reserved
  2915.  4    =0  generate IRQ13
  2916.     =1  generate terminal count
  2917.  3    =0  do not start chaining
  2918.     =1  programming complete
  2919.  2    =0  disable buffer chaining mode (default)
  2920.     =1  enable buffer chaining mode
  2921.  1-0    DMA channel select
  2922. SeeAlso: #P337,#P338,#P345
  2923.  
  2924. Bitfields for EISA channel interrupt (IRQ13) status register:
  2925. Bit(s)    Description    (Table P337)
  2926.  7-5  interrupt on channels 7-5
  2927.  4      reserved
  2928.  3-0  interrupt on channels 3-0
  2929. SeeAlso: #P336
  2930.  
  2931. Bitfields for EISA DMA extended mode register (channels 0-3):
  2932. Bit(s)    Description    (Table P338)
  2933.  7    =0 enable stop register
  2934.  6    =0 terminal count is an output for this channel    (default)
  2935.  5-4    DMA cycle timing
  2936.     00 ISA-compatible (default)
  2937.     01 type A timing mode
  2938.     10 type B timing mode
  2939.     11 burst DMA mode
  2940.  3-2    Address mode
  2941.     00 8-bit I/O, count by bytes (default)
  2942.     01 16-bit I/O, count by words, address shifted
  2943.     10 32-bit I/O, count by bytes
  2944.     11 16-bit I/O, count by bytes
  2945.  1-0    DMA channel select
  2946. SeeAlso: #P336,#P346
  2947. ----------P040A043F--------------------------
  2948. PORT 040A-043F - Intel 82378ZB embedded DMA controller
  2949. Range:    relocatable via Relocation Base Address register (see #0871)
  2950. SeeAlso: PORT 0401h"EISA",#0860,#0871
  2951.  
  2952. 040A  R-  scatter/gather interrupt status (see #P339)
  2953. 040B  -W  DMA1 extended mode
  2954. 0410  -W  CH0 scatter/gather command (see #P340)
  2955. 0411  -W  CH1 scatter/gather command
  2956. 0412  -W  CH2 scatter/gather command
  2957. 0413  -W  CH3 scatter/gather command
  2958. 0414  -W  CH4 scatter/gather command
  2959. 0415  -W  CH5 scatter/gather command
  2960. 0416  -W  CH6 scatter/gather command
  2961. 0417  -W  CH7 scatter/gather command (see #P340)
  2962. 0418  R-  CH0 scatter/gather status (see #P341)
  2963. 0419  R-  CH1 scatter/gather status
  2964. 041A  R-  CH2 scatter/gather status
  2965. 041B  R-  CH3 scatter/gather status
  2966. 041C  R-  CH4 scatter/gather status
  2967. 041D  R-  CH5 scatter/gather status
  2968. 041E  R-  CH6 scatter/gather status
  2969. 041F  R-  CH7 scatter/gather status (see #P341)
  2970. 0420d RW  CH0 scatter/gather descriptor table address
  2971. 0424d RW  CH1 scatter/gather descriptor table address
  2972. 0428d RW  CH2 scatter/gather descriptor table address
  2973. 042Cd RW  CH3 scatter/gather descriptor table address
  2974. 0430d RW  CH4 scatter/gather descriptor table address
  2975. 0434d RW  CH5 scatter/gather descriptor table address
  2976. 0438d RW  CH6 scatter/gather descriptor table address
  2977. 043Cd RW  CH7 scatter/gather descriptor table address
  2978.  
  2979. (Table P339)
  2980. Call Intel 82378ZB Scatter/Gather Interrupt Status Register with:
  2981.  7    channel 7 has interrupt due to S/G transfer
  2982.  ...
  2983.  0    channel 0 has interrupt due to S/G transfer
  2984. SeeAlso: #P340,#P341
  2985.  
  2986. Bitfields for Intel 82378ZB Scatter/Gather Command Register:
  2987. Bit(s)    Description    (Table P340)
  2988.   7    select last-buffer termination type
  2989.     =0 assert IRQ13 on completion
  2990.     =1 assert EOP on completion
  2991.  6    enable bit 7 termination-type selection
  2992.  5-2    reserved (0)
  2993.  1-0    scatter-gather command
  2994.     00 none
  2995.     01 start S/G command
  2996.     10 stop S/G command
  2997.     11 reserved
  2998. SeeAlso: #P339,#P341,#0871
  2999.  
  3000. Bitfields for Intel 82378ZB Scatter/Gather Status Register:
  3001. Bit(s)    Description    (Table P341)
  3002.  7    no next link
  3003.  6    reserved
  3004.  5    issue IRQ13 instead of EOP at end of last buffer
  3005.  4    reserved
  3006.  3    scatter/gather Base Register status
  3007.     =1 buffer link has been loaded
  3008.     =0 empty
  3009.  2    scatter/gather Current Register status
  3010.     =1 buffer link has been loaded
  3011.     =0 empty
  3012.  1    reserved
  3013.  0    scatter/gather is active
  3014. SeeAlso: #P340
  3015. --------X-P040D040F--------------------------
  3016. PORT 040D-040F - EISA - Intel 82357
  3017.  
  3018. 040D  R-  chip stepping level
  3019. 040E  RW  test register 1
  3020. 040F  RW  test register 2
  3021. ----------P04610462--------------------------
  3022. PORT 0461-0462 - EISA NMI CONTROL
  3023.  
  3024. 0461  RW  Extended NMI status/control register (see #P342)
  3025. 0462  -W  Software NMI register. writing to this register causes an NMI    if
  3026.       NMIs are enabled
  3027.     bit 7 = 1  generates an NMI
  3028.  
  3029. Bitfields for EISA extended NMI status control register:
  3030. Bit(s)    Description    (Table P342)
  3031.  7  R-    NMI pending from fail-safe (watchdog) timer
  3032.  6  R-    NMI pending from bus timeout NMI status
  3033.  5  R-    NMI pending from I/O port status
  3034.  4  R-    busmaster preemption timeout if bit 6 set
  3035.  3  RW    bus timeout NMI enable
  3036.  2  RW    fail-safe (watchdog) NMI enable
  3037.  1  RW    NMI I/O port enable
  3038.  0  RW    RSTDRV. bus reset
  3039.     =0  NORMAL bus reset operation
  3040.     =1  reset bus asserted
  3041. --------X-P04640465--------------------------
  3042. PORT 0464-0465 - EISA BUS MASTER STATUS
  3043.  
  3044. 0464w R      bus master status latch register (slots 1-16)
  3045.     identifies the last bus master that had control of the bus (bit N =0 if
  3046.       slot N+1 had control last)
  3047. ----------P0481048B--------------------------
  3048. PORT 0481-048B - EISA DMA page registers
  3049. Note:    these registers are also supported on many non-EISA machines, e.g. by
  3050.       most machines using Intel PCI chipsets
  3051. SeeAlso: PORT 0401h-040Bh"EISA",PORT 04C6h-04CFh"EISA"
  3052.  
  3053. 0481  RW  DMA channel 2 address byte 3 (high)
  3054. 0482  RW  DMA channel 3 address byte 3 (high)
  3055. 0483  RW  DMA channel 1 address byte 3 (high)
  3056. 0487  RW  DMA channel 0 address byte 3 (high)
  3057. 0489  RW  DMA channel 6 address byte 3 (high)
  3058. 048A  RW  DMA channel 7 address byte 3 (high)
  3059. 048B  RW  DMA channel 5 address byte 3 (high)
  3060. ----------P04C604CF--------------------------
  3061. PORT 04C6-04CF - EISA DMA count registers
  3062. SeeAlso: PORT 0401h-040Bh"EISA",PORT 0481h-048Bh"EISA",PORT 04E0h-04FFh"EISA"
  3063.  
  3064. 04C6  RW  DMA channel 5 word count byte 2 (high)
  3065. 04CA  RW  DMA channel 6 word count byte 2 (high)
  3066. 04CE  RW  DMA channel 7 word count byte 2 (high)
  3067. --------X-P04D004D1--------------------------
  3068. PORT 04D0-04D1 - EISA IRQ control
  3069. Note:    these registers are also supported on many non-EISA machines, e.g. by
  3070.       most machines using Intel PCI chipsets
  3071. SeeAlso: PORT 04D4h-040Bh"EISA"
  3072.  
  3073. 04D0  -W  IRQ 0-7 interrupt edge/level registers (see #P343)
  3074. 04D1  -W  IRQ 8-15 interrupt edge/level registers (see #P344)
  3075.  
  3076. Bitfields for EISA IRQ 0-7 interrupt edge/level register:
  3077. Bit(s)    Description    (Table P343)
  3078.  7    IRQ 7 is level sensitive
  3079.  6    IRQ 6 is level sensitive
  3080.  5    IRQ 5 is level sensitive
  3081.  4    IRQ 4 is level sensitive
  3082.  3    IRQ 3 is level sensitive
  3083.  2-0    reserved
  3084. SeeAlso: #P344
  3085.  
  3086. Bitfields for EISA IRQ 8-15 interrupt edge/level register:
  3087. Bit(s)    Description    (Table P344)
  3088.  7    IRQ 15 is level sensitive
  3089.  6    IRQ 14 is level sensitive
  3090.  5    reserved (1)
  3091.  4    IRQ 12 is level sensitive
  3092.  3    IRQ 11 is level sensitive
  3093.  2    IRQ 10 is level sensitive
  3094.  1    IRQ 9  is level sensitive
  3095.  0    reserved
  3096. SeeAlso: #P343
  3097. ----------P04D404D6--------------------------
  3098. PORT 04D4-04D6 - EISA DMA control
  3099. Note:    PORT 04D6h is also supported by the Intel 82378ZB System I/O controller
  3100. SeeAlso: PORT 0401h-040Bh"EISA",PORT 04D0h-04D1h"EISA"
  3101.  
  3102. 04D4  R-  DMA chaining status
  3103. 04D4  -W  extended DMA chaining mode register, channels 4-7 (see #P345)
  3104. 04D6  -W  DMA extended mode register for channels 4-7 (see #P346)
  3105.     bit settings same as PORT 040Bh
  3106.  
  3107. Bitfields for EISA extended DMA chaining mode register (channels 4-7):
  3108. Bit(s)    Description    (Table P345)
  3109.  7-5    reserved (0)
  3110.  4    =0  generate IRQ 13
  3111.     =1  generate terminal count
  3112.  3    =0  do not start chaining
  3113.     =1  programming complete
  3114.  2    =0  disable buffer chaining mode (default)
  3115.     =1  enable buffer chaining mode
  3116.  1-0    DMA channel select
  3117. SeeAlso: #P336,#P346
  3118.  
  3119. Bitfields for EISA DMA extended mode register (channels 4-7):
  3120. Bit(s)    Description    (Table P346)
  3121.  7    =0  enable stop register
  3122.  6    =0  terminal count is an output for this channel (default)
  3123.  5-4    DMA cycle timing
  3124.     00 ISA-compatible (default)
  3125.     01 type A timing mode
  3126.     10 type B timing mode
  3127.     11 burst DMA mode
  3128.  3-2    Address mode
  3129.     00 8-bit I/O, count by bytes (default)
  3130.     01 16-bit I/O, count by words, address shifted
  3131.     10 32-bit I/O, count by bytes
  3132.     11 16-bit I/O, count by bytes
  3133.  1-0    DMA channel select
  3134. SeeAlso: #P338,#P345
  3135. ----------P04E004FF--------------------------
  3136. PORT 04E0-04FF - EISA DMA stop registers
  3137. SeeAlso: PORT 0481h-048Bh"EISA"
  3138.  
  3139. 04E0-04E2  RW    channel 0 stops if DMA transfer reaches specified address
  3140. 04E4-04E6  RW    channel 1
  3141. 04E8-04EA  RW    channel 2
  3142. 04EC-04EE  RW    channel 3
  3143. 04F4-04F6  RW    channel 5
  3144. 04F8-04FA  RW    channel 6
  3145. 04FC-04FE  RW    channel 7
  3146. ----------P05300533--------------------------
  3147. PORT 0530-0533 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  3148. Range:    dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  3149.       PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  3150. SeeAlso: PORT 0530h"Windows Sound System"
  3151.  
  3152. 0530  RW  address select (see #P347)
  3153. 0531  RW  data (selected by PORT 0530h)
  3154. 0532  RW  status
  3155. 0533  RW  PIO data
  3156. ----------P05300537--------------------------
  3157. PORT 0530-0537 - Windows Sound System (default address)
  3158. Range:    dipswitch selectable among PORT 0530h-0537h,PORT 0604h-060Bh,
  3159.       PORT 0E80h-0E87h, and PORT 0F40h-0F47h
  3160. Notes:    the Sound Galaxy NX16 sound cards contains a Crystal CS4231, and thus
  3161.       support the CODEC portion of the WSS on ports 0534h-0537h
  3162.       (or 0608h-060Bh, etc.)
  3163.     the AMD InterWave chip supports a superset of the WSS CS4231 Codec,
  3164.       though by default it is not placed at any of the addresses used by
  3165.       the WSS
  3166.  
  3167. 0534  ?W  register select (index) (see #P347)
  3168. 0535  RW  data register (selected by PORT 0534h)
  3169. 0536  R?  (CS4231A) status register
  3170. 0537  RW  (CS4231A) PIO data register
  3171.  
  3172. (Table P347)
  3173. Values for Windows Sound System CS4231 Codec register number:
  3174.  00h    Mixer: ADC volume (left)
  3175.  01h    Mixer: ADC volume (right)
  3176.  02h    Mixer: Line In volume (right) (see #P348)
  3177.  03h    Mixer: Line In volume (left) (see #P348)
  3178.  04h    Mixer: FM volume (right) (see #P348)
  3179.  05h    Mixer: FM volume (left) (see #P348)
  3180.  06h    Mixer: playback DAC volume (left)
  3181.  07h    Mixer: playback DAC volume (right)
  3182.  08h    playback data format
  3183.  09h    configuration register 1
  3184.  0Ah    external control
  3185.  0Bh    Codec status register 2
  3186.  0Ch    mode select
  3187.     bit 6: ???
  3188.  0Dh    loopback control
  3189.     (Sound Galaxy) microphone input enabled by bit 0 ???
  3190.  0Eh    playback count (high)
  3191.  0Fh    playback count (low)
  3192.  10h    configuration register 2
  3193.  11h    configuration register 3
  3194.  12h    Mixer: CD volume (right) (see #P348)
  3195.  13h    Mixer: CD volume (left) (see #P348)
  3196.  14h    timer (low)
  3197.  15h    timer (high)
  3198.  16h    Mixer: microphone input control (left)
  3199.  17h    Mixer: microphone input control (right)
  3200.  18h    Codec status register 3
  3201.  19h    Mixer: output attenuation (left)
  3202.  1Ah    mono input/output control
  3203.     (Sound Galaxy) SB volume (see #P349)
  3204.  1Bh    Mixer: output attenuation (right)
  3205.  1Ch    record data format
  3206.  1Dh    playback variable frequency
  3207.  1Eh    record count (high)
  3208.  1Fh    record count (low)
  3209.  48h    (Sound Galaxy) ???
  3210. Notes:    to enable the microphone input on the Sound Galaxy, ALL of the
  3211.       following registers must be set: 00h set to 80h, 01h set to 80h,
  3212.       07h to 00h, 0Dh to 01h, and 48h to 4Bh
  3213.     on the Sound Galaxy NX16, only bits 0-4 of the register number are
  3214.       fully decoded, so most registers above 1Fh are aliases of the
  3215.       first 32 registers
  3216.  
  3217. Bitfields for WSS mixer volume:
  3218. Bit(s)    Description    (Table P348)
  3219.  7    disable input source
  3220.  6-5    reserved???
  3221.  4-0    volume (00h = highest, 1Fh = lowest)
  3222. SeeAlso: #P347,#P349
  3223. Note:    the GW2000 GWBVOL.EXE only permits the setting of volume levels
  3224.       08h (reported as 16) to 18h (reported as 0, and sets bit 7 as well)
  3225.  
  3226. Bitfields for WSS mixer volume (SoundBlaster):
  3227. Bit(s)    Description    (Table P349)
  3228.  7    disable input source
  3229.  6-4    reserved???
  3230.  3-0    volume (00h = highest, 0Fh = lowest)
  3231. SeeAlso: #P347,#P348
  3232. ----------P0601------------------------------
  3233. PORT 0601 - Headland HL21, Acer M5105 chipsets - SYSTEM CONTROL
  3234.  
  3235. 0601  -W  system control (see #P350)
  3236. 0601  R-  status (see #P351)
  3237.  
  3238. Bitfields for Headland HL21/Acer M5105 system control register:
  3239. Bit(s)    Description    (Table P350)
  3240.  7    =1  power LED on
  3241.  6    =1  LCD backlight off
  3242.  5    ???
  3243.  4    ???
  3244.  3    ???
  3245.  2    =1  video chips disabled, screen blanked.
  3246.  1    ???
  3247.  0    =1  will lock up your machine!
  3248. SeeAlso: #P351
  3249.  
  3250. Bitfields for Headland HL21/Acer M5105 status register:
  3251. Bit(s)    Description    (Table P351)
  3252.  7    =0  if screen enabled always these values
  3253.  6    =0
  3254.  5    =0
  3255.  4    =0
  3256.  3    =0
  3257.  2    =1  (=0 at low power)
  3258.  1    =0  power OK
  3259.  0    =0
  3260. SeeAlso: #P350
  3261. ----------P06040607--------------------------
  3262. PORT 0604-0607 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  3263. Range:    dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  3264.       PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  3265. ----------P0604060B--------------------------
  3266. PORT 0604-060B - Windows Sound System
  3267. Range:    PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
  3268. SeeAlso: PORT 0530h"Sound System"
  3269. ----------P06200627--------------------------
  3270. PORT 0620-0627 - PC network (adapter 1)
  3271. 0628-062F - PC network (adapter 2)
  3272. ----------P0678067A--------------------------
  3273. PORT 0678-067A - Intel 82091AA - ECP-mode PARALLEL PORT
  3274. Range:    PORT 0678h or PORT 0378h, depending on the base address of the parallel
  3275.       port (0278h or 0378h)
  3276. SeeAlso: PORT 0278h,PORT 0778h,PORT 07BCh
  3277.  
  3278. 0278  RW  (when ECR bits 7-5=011) ECP Address/RLE FIFO (see #P660)
  3279.     (this is the same address normally used for parallel port data)
  3280. 0678  RW  (when ECR bits 7-5=010) standard parallel port data FIFO (see #P661)
  3281. 0678  RW  (when ECR bits 7-5=011) ECP data FIFO (see #P662)
  3282. 0678  RW  (when ECR bits 7-5=110) test FIFO (see #P663)
  3283. 0678  RW  (when ECR bits 7-5=111) ECP configuration A (see #P664)
  3284. 0679  RW  (when ECR bits 7-5=111) ECP configuration B (see #P665)
  3285. 067A  RW  extended control register (ECR) (see #P666)
  3286.  
  3287. Bitfields for ECP Address/RLE FIFO:
  3288. Bit(s)    Description    (Table P660)
  3289.  7    address/RLE-count select
  3290.     =0 RLE count
  3291.     =1 channel address
  3292.  6-0    channel address (bit 7 set)
  3293.     RLE count, less 1 (bit 7 clear)
  3294. Notes:    when using hardware RLE decompression, the associated data is written
  3295.       to the data FIFO (see #P662) after the count is set here
  3296.     an RLE count of 1 (two identical bytes) will cause unnecessary
  3297.       expansions
  3298.     the peripheral device performs the interpretation of this byte as
  3299.       address or RLE count; writing to this port simply causes the AUTOFD#
  3300.       line to be asserted to tell the peripheral that the byte is not data
  3301. SeeAlso: #P666,#P661
  3302.  
  3303. Bitfields for ECP Standard Parallel Port data FIFO:
  3304. Bit(s)    Description    (Table P661)
  3305.  7-0    standard parallel port data
  3306. Notes:    data written or DMAed to this port are buffered in the FIFO and
  3307.       transmitted to the peripheral using a standard ISA-compatible
  3308.       hardware handshake
  3309.     PORT 027Ah bit 5 must be clear to enable the forward transfer direction
  3310. SeeAlso: #P660,#P661,#P666
  3311.  
  3312. Bitfields for ECP data FIFO:
  3313. Bit(s)    Description    (Table P662)
  3314.  7-0    ECP-mode data
  3315. Notes:    data written or DMAed to this port are buffered in the FIFO and
  3316.       transmitted to the peripheral using an ECP hardware handshake;
  3317.       PORT 027Ah bit 5 must be clear to enable the forward transfer
  3318.       direction
  3319.     when PORT 027Ah bit 5 is set (reverse transfer), data is read from the
  3320.       peripheral and placed in the FIFO, from which it may be read by
  3321.       reading this port
  3322. SeeAlso: #P660,#P666,#P663
  3323.  
  3324. Bitfields for ECP test FIFO:
  3325. Bit(s)    Description    (Table P663)
  3326.  7-0    test FIFO data
  3327. Notes:    writes to this port write to the FIFO, reads from this port read from
  3328.       the FIFO, without actually transferring any data out the parallel
  3329.       port; FIFO overruns and underruns are ignored, simply reading/writing
  3330.       over the same slots again and again
  3331.     the ECR "full" and "empty" bits always keep track of the current state
  3332.       of the FIFO; the write threshold can be determined by filling the
  3333.       FIFO and then reading a byte at a time until a service interrupt is
  3334.       set in the ECR.  Similarly, the read threshold can be determined by
  3335.       emptying the FIFO, setting the direction bit in PORT 027Ah, and
  3336.       writing a byte at a time until a service interrupt is set.
  3337. SeeAlso: #P660,#P666,#P662
  3338.  
  3339. Bitfields for ECP configuration A:
  3340. Bit(s)    Description    (Table P664)
  3341.  7-4    (read-only) implementation identification
  3342.     bit 7: ISA-style interrupt
  3343.     bit 4: eight-bit implementation
  3344.  3-0    reserved
  3345. Note:    this register can only be accessed when the Extended Control
  3346.       Register bits 7-5 are set to 111
  3347. SeeAlso: #P666,#P665,#P660,#P662,#P663
  3348.  
  3349. Bitfields for ECP configuration B:
  3350. Bit(s)    Description    (Table P665)
  3351.  7    reserved (0)
  3352.  6    IRQ status (reflects actual value driven onto either IRQ5 or IRQ7; used
  3353.       to check for interrupt conflicts)
  3354.  5-0    reserved (0)
  3355. Notes:    this register can only be accessed when the Extended Control
  3356.       Register bits 7-5 are set to 111
  3357.     bit 4 of the parallel control port (027Ah/037Ah) must be cleared before
  3358.       bit 6 will show the interrupt status
  3359. SeeAlso: #P666,#P664
  3360.  
  3361. Bitfields for ECP Extended Control Register (ECR):
  3362. Bit(s)    Description    (Table P666)
  3363.  7-5    ECP mode
  3364.     000 ISA-compatible
  3365.     001 PS/2-compatible (bidirectional port)
  3366.     010 ISA-compatible FIFO
  3367.     011 ECP
  3368.     100 reserved
  3369.     101 reserved
  3370.     110 test
  3371.     111 configuration
  3372.  4    disable ERROR interrupts
  3373.  3    enable DMA
  3374.     when bit 3 set and bit 2 clear, an interrupt is generated on the DMA
  3375.       terminal-count condition; this bit must be cleared to reset the TC
  3376.       interrupt
  3377.  2    disable FIFO/TerminalCount service interrupts
  3378.  1    (read-only) FIFO is full
  3379.  0    (read-only) FIFO is empty
  3380. Notes:    if the port is currently in modes 000 or 001, it may be switched into
  3381.       any other mode; if it is in a mode other than 000 or 001, it must
  3382.       first be switched into either mode 000 or 001 before selecting a mode
  3383.       other than one of those two
  3384.     if currently in an extended forward mode (010-111 and direction bit
  3385.       clear), software should wait for the FIFO to clear before switching
  3386.       back to modes 000 or 001
  3387.     if a FIFO overrun or underrun occurs, BOTH bits 1 and 0 are set; to
  3388.       clear the FIFO error condition, switch the port to mode 000 or 001
  3389. SeeAlso: #P664,#P665,#P662
  3390. ----------P06800681--------------------------
  3391. PORT 0680-0681 - Microchannel POST Diagnostic (write only)
  3392.  
  3393. 0680  -W  Microchannel POST Diagnostic
  3394. 0681  -W  secondary MCA POST diagnostic
  3395. ----------P06A006A8--------------------------
  3396. PORT 06A0-06A8 - non-standard COM port addresses
  3397. Range:    selectable from 0280, 0288, 0290, 0298, 06A0, 06A8
  3398. Note:    V20-XT by German magazine c't
  3399. ----------P06A806AF--------------------------
  3400. PORT 06A8-06AF - non-standard COM port addresses
  3401. Range:    selectable from 0280, 0288, 0290, 0298, 06A0, 06A8
  3402. Note:    V20-XT by German magazine c't
  3403. ----------P06E206E3--------------------------
  3404. PORT 06E2-06E3 - data aquisition (adapter 1)
  3405. ----------P06E8------------------------------
  3406. PORT 06E8 - S3 86C928 video controller (ELSA Winner 1000)
  3407. ----------P06E806EF--------------------------
  3408. PORT 06E8-06EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - HORZ DISPLYD
  3409. SeeAlso: PORT 02E8h-02EFh,PORT 0AE8h,PORT 96E8h,PORT 9AE8h
  3410.  
  3411. 06E8w -W  CRT control: horizontal displayed
  3412. ----------P0746------------------------------
  3413. PORT 0746 - Gravis Ultra Sound by Advanced Gravis - BOARD VERSION / MIXER
  3414. SeeAlso: PORT 0240h-024Fh,PORT 0340h-034Fh
  3415.  
  3416. 0746  R-  board version (rev 3.7+)
  3417.         FFh      Pre 3.6 boards, ICS mixer NOT present
  3418.         05h      Rev 3.7 with ICS Mixer. Some R/L: flip problems.
  3419.         06h-09h      Revision 3.7 and above. ICS Mixer present
  3420.         0Ah-      UltraMax. CS4231 present, no ICS mixer
  3421. 0746  -W  Mixer Control Port
  3422. ----------P0678067A--------------------------
  3423. PORT 0778-077A - Intel 82091AA - ECP-mode PARALLEL PORT
  3424. Range:    PORT 0678h or PORT 0378h, depending on the base address of the parallel
  3425.       port (0278h or 0378h)
  3426. SeeAlso: PORT 0378h,PORT 0678h,PORT 07BCh
  3427.  
  3428. 0378  RW  (when ECR bits 7-5=011) ECP Address/RLE FIFO (see #P660)
  3429.     (this is the same address normally used for parallel port data)
  3430. 0778  RW  (when ECR bits 7-5=010) standard parallel port data FIFO (see #P661)
  3431. 0778  RW  (when ECR bits 7-5=011) ECP data FIFO (see #P662)
  3432. 0778  RW  (when ECR bits 7-5=110) test FIFO (see #P663)
  3433. 0778  RW  (when ECR bits 7-5=111) ECP configuration A (see #P664)
  3434. 0779  RW  (when ECR bits 7-5=111) ECP configuration B (see #P665)
  3435. 077A  RW  extended control register (ECR) (see #P666)
  3436. ----------P07900793--------------------------
  3437. PORT 0790-0793 - cluster (adapter 1)
  3438. ----------P0678067A--------------------------
  3439. PORT 07BC-07BE - Intel 82091AA - ECP-mode PARALLEL PORT
  3440. SeeAlso: PORT 03BCh,PORT 0678h,PORT 0778h
  3441.  
  3442. 03BC  RW  (when ECR bits 7-5=011) ECP Address/RLE FIFO (see #P660)
  3443.     (this is the same address normally used for parallel port data)
  3444. 07BC  RW  (when ECR bits 7-5=010) standard parallel port data FIFO (see #P661)
  3445. 07BC  RW  (when ECR bits 7-5=011) ECP data FIFO (see #P662)
  3446. 07BC  RW  (when ECR bits 7-5=110) test FIFO (see #P663)
  3447. 07BC  RW  (when ECR bits 7-5=111) ECP configuration A (see #P664)
  3448. 07BD  RW  (when ECR bits 7-5=111) ECP configuration B (see #P665)
  3449. 07BE  RW  extended control register (ECR) (see #P666)
  3450. ----------P080008FF--------------------------
  3451. PORT 0800-08FF - I/O port access registers for extended CMOS RAM or SRAM
  3452.         (256 bytes at a time)
  3453. Note:    sometimes plain text can be seen here
  3454. --------X-P080008FF--------------------------
  3455. PORT 0800-08FF - reserved for EISA system motherboard
  3456. ----------P0A200A23--------------------------
  3457. PORT 0A20-0A23 - Token Ring (adapter 1)
  3458. 0A24-0A27 - Token Ring (adapter 2)
  3459. ----------P0A79------------------------------
  3460. PORT 0A79 - Plug-and-Play - WRITE DATA PORT
  3461. Desc:    all data written to the Plug-and-Play configuration registers is
  3462.       written to this port, including the configuration byte which
  3463.       indicates the I/O port from which data is to be read when reading
  3464.       the configuration registers
  3465. SeeAlso: PORT 0279h
  3466.  
  3467. 0A79  -W  Plug-and-Play data writes
  3468. ----------P0AE20AE3--------------------------
  3469. PORT 0AE2-0AE3 - cluster (adapter 2)
  3470. ----------P0AE8------------------------------
  3471. PORT 0AE8 - S3 86C928 video controller (ELSA Winner 1000)
  3472. ----------P0AE80AEF--------------------------
  3473. PORT 0AE8-0AEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - HSYNC START
  3474.  
  3475. 0AE8w -W  CRT control: horizontal sync start
  3476. ----------P0B900B93--------------------------
  3477. PORT 0B90-0B93 - cluster (adapter 2)
  3478. ----------P0C00------------------------------
  3479. PORT 0C00 - EISA??? - PAGE REGISTER
  3480.  
  3481. 0C00  RW  page register to write to SRAM or I/O
  3482. --------X-P0C000CFF--------------------------
  3483. PORT 0C00-0CFF - reserved for EISA system motherboard
  3484. ----------P0C7C------------------------------
  3485. PORT 0C7C        bit 7-4 (Compaq)
  3486. --------X-P0C800C83--------------------------
  3487. PORT 0C80-0C83 - EISA system board ID registers
  3488.  
  3489. 0C80  R-  bit 7: unused (0)
  3490.       bits 6-2: manufacturer ID, first compressed ASCII char
  3491.       bits 1-0: manufacturer ID, second compressed ASCII char (high)
  3492. 0C81  R-  bits 7-5: manufacturer ID, second compressed ASCII char (low)
  3493.       bits 4-0: manufacturer ID, third compressed ASCII char
  3494. 0C82  R-  reserved for manufacturer's use
  3495. 0C83  R-  bits 7-3: reserved for manufacturer's use
  3496.       bits 2-0: EISA bus version
  3497. --------X-P0CF80CFF--------------------------
  3498. PORT 0CF8-0CFF - PCI Configuration Mechanism 1 - Configuration Registers
  3499. SeeAlso: PORT 0CF8h"Mechanism 2"
  3500.  
  3501. 0CF8d -W  configuration address port (see #P352)
  3502. 0CFCd RW  configuration data port (when PORT 0CF8h bit 31 is set)
  3503.  
  3504. Bitfields for PCI configuration address port:
  3505. Bit(s)    Description    (Table P352)
  3506.  1-0    reserved (00)
  3507.  7-2    configuration register number (see #0798)
  3508.  10-8    function
  3509.  15-11    device number
  3510.  23-16    bus number
  3511.  30-24    reserved (0)
  3512.  31    enable configuration space mapping
  3513. Note:    configuration registers are considered DWORDs, so the number in bits
  3514.       7-2 is the configuration space address shifted right two bits
  3515. SeeAlso: #P353
  3516. --------X-P0CF80CFA--------------------------
  3517. PORT 0CF8-0CFA - PCI Configuration Mechanism 2 - Configuration Registers
  3518. Notes:    this configuration mechanism is deprecated as of PCI version 2.1;
  3519.       only mechanism 1 should be used for new systems
  3520.     to access the configuration space, write the target bus number to
  3521.       the Forward Register, then write to the Configuration Space
  3522.       Enable register, and finally read or write the appropriate I/O
  3523.       port(s) in the range C000h to CFFFh (where Cxrrh accesses location
  3524.       'rr' in physical device 'x's configuration data)
  3525.     the Intel "Saturn" and "Neptune" chipsets use configuration mechanism 2
  3526. SeeAlso: PORT 0CF8h"Mechanism 1",PORT C000h"PCI Configuration",PORT 0CFBh
  3527.  
  3528. 0CF8  RW  Configuration Space Enable (CSE) (see #P353)
  3529. 0CFA  RW  Forward Register (selects target bus number)
  3530.  
  3531. Bitfields for PCI Configuration Space Enable:
  3532. Bit(s)    Description    (Table P353)
  3533.  0    Special Cycle Enable (SCE)
  3534.  3-1    target function number (PCI logical device within physical device)
  3535.  7-4    key (non-zero to allow configuration)
  3536. SeeAlso: #P352
  3537. ----------P0CF9------------------------------
  3538. PORT 0CF9 - Intel chipsets - TURBO/RESET CONTROL REGISTER
  3539. Notes:    this port can only be accessed via 8-bit IN or OUT instructions by
  3540.       the CPU
  3541.     supported by the Intel "Saturn" and "Neptune" (82434NX) chipsets,
  3542.       the Intel 82454KX/GX (450GX chipset), Intel 82420EX chipset, etc.
  3543. SeeAlso: PORT C051h,#0851,#0937
  3544.  
  3545. 0CF9  RW  reboot system, optionally selecting de-turbo mode (see #P354)
  3546.  
  3547. Bitfields for Intel 82420EX turbo/reset control register:
  3548. Bit(s)    Description    (Table P354)
  3549.  7-4    reserved (0)
  3550.  3    (450KX/GX only) enable CPU BIST on reset
  3551.  2    reset CPU
  3552.  1    reset mode
  3553.     0 soft reset
  3554.     1 hard reset
  3555.  0    deturbo mode
  3556. Note:    when resetting the CPU, two writes are required: the first sets the
  3557.       state of bit 1 while keeping bit 2 cleared, and the second sets
  3558.       bit 2; the reset occurs on bit 2's transition from 0 to 1.
  3559. SeeAlso: PORT C051h
  3560. ----------P0CFB------------------------------
  3561. PORT 0CFB - Intel 82434NX (Neptune) - PCI MECHANISM CONTROL REGISTER
  3562. Note:    not present on the 82434LX (Mercury), which supports only mechanism #2
  3563. SeeAlso: PORT 0CF8h
  3564.  
  3565. 0CFB  RW  specify which PCI access mechanism is to be enabled
  3566.  
  3567. Bitfields for Intel 82434NX PCI mechanism control register:
  3568. Bit(s)    Description    (Table P355)
  3569.  7-1    reserved
  3570.  0    PCI Configuration Access Mechanism Select
  3571.     =0 use PCI configuration access mechanism #2 (0CF8/0CFA) (default)
  3572.     =1 use PCI configuration access mechanism #1 (0CF8/0CFC)
  3573. --------s-P0E800E83--------------------------
  3574. PORT 0E80-0E83 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  3575. Range:    dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  3576.       PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  3577. --------s-P0E800E87--------------------------
  3578. PORT 0E80-0E87 - Windows Sound System
  3579. Range:    PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
  3580. SeeAlso: PORT 0530h"Sound System"
  3581. --------V-P0EE8------------------------------
  3582. PORT 0EE8 - S3 86C928 video controller (ELSA Winner 1000)
  3583. --------V-P0EE80EEF--------------------------
  3584. PORT 0EE8-0EEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - HSYNC WIDTH
  3585.  
  3586. 0EE8w -W  CRT control: horizontal sync width
  3587. --------s-P0F400F43--------------------------
  3588. PORT 0F40-0F43 - Gravis Ultra Sound Daughter Card by Advanced Gravis
  3589. Range:    dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
  3590.       PORT 0E80h-0E83h, and PORT 0F40h-0F43h
  3591. --------s-P0F400F47--------------------------
  3592. PORT 0F40-0F47 - Windows Sound System
  3593. Range:    PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
  3594. SeeAlso: PORT 0530h"Sound System"
  3595. --------s-P0F8D------------------------------
  3596. PORT 0F8D - OPTi 82C750 (Vendetta) - AUDIO MODULE BASE ADDRESS REGISTER
  3597. --------X-P100010FF--------------------------
  3598. PORT 1000-10FF - available for EISA slot 1
  3599. ----------P12E812EF--------------------------
  3600. PORT 12E8-12EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VERT TOTAL
  3601.  
  3602. 12E8w -W  CRT control: vertical total
  3603. --------V-P12EE------------------------------
  3604. PORT 12EE - ATI Mach32 - CONFIGURATION STATUS 0
  3605. SeeAlso: PORT 16EEh"Mach32",PORT 42EEh"Mach32",PORT 52EEh"Mach32"
  3606. ----------P13901393--------------------------
  3607. PORT 1390-1393 - cluster (adapter 3)
  3608. ----------P13C6------------------------------
  3609. PORT 13C6 - Compaq - ???
  3610. Note:    this port is read by the Compaq MS-DOS 4.0/5.0 CHARSET utility
  3611.  
  3612. 13C6  R?  Compaq video status??? (see #P384)
  3613.  
  3614. Bitfields for Compaq video status???:
  3615. Bit(s)    Description    (Table P384)
  3616.  7    ???
  3617.  6    flag
  3618.  5-3    ???
  3619.  2-0    status of display???
  3620. --------X-P140014FF--------------------------
  3621. PORT 1400-14FF - available for EISA slot 1
  3622. ----------P16E816EF--------------------------
  3623. PORT 16E8-16EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VERT DISPLYD
  3624.  
  3625. 16E8w -W  CRT control: vertical displayed
  3626. --------V-P16EE------------------------------
  3627. PORT 16EE - ATI Mach32 - CONFIGURATION STATUS 1
  3628. SeeAlso: PORT 12EEh"Mach32",PORT 42EEh"Mach32",PORT 52EEh"Mach32"
  3629. --------X-P180018FF--------------------------
  3630. PORT 1800-18FF - available for EISA slot 1
  3631. ----------P1AE81AEF--------------------------
  3632. PORT 1AE8-1AEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VSYNC START
  3633.  
  3634. 1AE8w -W  CRT control: vertical sync start
  3635. --------X-P1C001CFF--------------------------
  3636. PORT 1C00-1CFF - available for EISA slot 1
  3637. ----------P1C65------------------------------
  3638. PORT 1C65 - Compaq Contura Aero
  3639. SeeAlso: PORT 2065h
  3640.  
  3641. 1C65  R?  bit 6: operating on battery power
  3642. --------X-P1C801C8F--------------------------
  3643. PORT 1C80-1C8F - VESA XGA Video in EISA slot 1
  3644.  
  3645. 1C80-1C83  RW    EISA Video ID
  3646. 1C84  RW    EISA Video expansion board control (see #P356)
  3647. 1C85  RW    EISA Setup control
  3648. 1C88  RW    EISA Video Programmable Option Select 0
  3649. 1C89-1C8F  RW    EISA Video Programmable Option Select 1-7
  3650. --------X-P1C801C83--------------------------
  3651. PORT 1C80-1C83 - EISA board product ID (board in slot 1)
  3652.  
  3653. 1C80  R?  bit 7: unused (0)
  3654.       bits 6-2: manufacturer ID, first compressed ASCII char
  3655.       bits 1-0: manufacturer ID, second compressed ASCII char (high)
  3656. 1C81  R?  bits 7-5: manufacturer ID, second compressed ASCII char (low)
  3657.       bits 4-0: manufacturer ID, third compressed ASCII char
  3658. 1C82  R?  bits 7-4: first hex digit of product type
  3659.       bits 3-0: second hex digit of product type
  3660. 1C83  R?  bits 7-4: third hex digit of product type
  3661.       bits 3-0: product revision number (hex digit)
  3662. --------X-P1C84------------------------------
  3663. PORT 1C84 - EISA CONFIGURATION FLAGS (board in slot 1)
  3664.  
  3665. 1C84  RW  configuration flags (see #P356)
  3666.  
  3667. Bitfields for EISA Add-in Card configuration flags:
  3668. Bit(s)    Description    (Table P356)
  3669.  0    enable
  3670.  1    IOCHKERR (read-only) card is generating CHCHK#, causing an NMI
  3671.  2    IOCHKRST reset card
  3672.  7-3    card-specific
  3673. --------X-P1C85------------------------------
  3674. PORT 1C85 - EISA SETUP CONTROL (board in slot 1)
  3675. --------V-P1C85------------------------------
  3676. PORT 1C85 - Compaq Qvision EISA - Virtual Controller ID
  3677. --------X-P1C881C8F--------------------------
  3678. PORT 1C88-1C8F - EISA PROGRAMMABLE OPTION SELECT (board in slot 1)
  3679. --------V-P1EE81EEF--------------------------
  3680. PORT 1EE8-1EEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VSYNC WIDTH
  3681.  
  3682. 1EE8w -W  CRT control: vertical sync width
  3683. --------V-P1EEC------------------------------
  3684. PORT 1EEC - Mach64 - ???
  3685.  
  3686. 1EEC  RW  display power and other controls
  3687.     bits 3-2: DPMS power mode
  3688.         00 normal
  3689.         01 standby
  3690.         10 suspend
  3691.         11 off
  3692. --------X-P200020FF--------------------------
  3693. PORT 2000-20FF - available for EISA slot 2
  3694. ----------P2065------------------------------
  3695. PORT 2065 - Compaq Contura Aero
  3696. SeeAlso: PORT 1C65h"Compaq",PORT 2465h"Compaq"
  3697.  
  3698. 2065  -W  ??? (84h seen)
  3699. --------V-P2100------------------------------
  3700. PORT 2100 - XGA Video Operating Mode Register
  3701. Note:    this port is for the first XGA in the system; 2110-2170 are used for
  3702.       the second through eighth XGAs
  3703. --------V-P2101------------------------------
  3704. PORT 2101 - XGA Video Aperture Control
  3705. Note:    this port is for the first XGA in the system; 2111-2171 are used for
  3706.       the second through eighth XGAs
  3707. --------V-P21022103--------------------------
  3708. PORT 2102-2103 - XGA ???
  3709. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3710.       the second through eighth XGAs
  3711. --------V-P2104------------------------------
  3712. PORT 2104 - XGA Video Interrupt Enable
  3713. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3714.       the second through eighth XGAs
  3715. --------V-P2105------------------------------
  3716. PORT 2105 - XGA Video Interrupt Status
  3717. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3718.       the second through eighth XGAs
  3719. --------V-P2106------------------------------
  3720. PORT 2106 - XGA Video Virtual Memory Control
  3721. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3722.       the second through eighth XGAs
  3723. --------V-P2107------------------------------
  3724. PORT 2107 - XGA Video Virtual Memory Interrupt Status
  3725. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3726.       the second through eighth XGAs
  3727. --------V-P2108------------------------------
  3728. PORT 2108 - XGA Video Aperture Index
  3729. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3730.       the second through eighth XGAs
  3731. --------V-P2109------------------------------
  3732. PORT 2109 - XGA Video Memory Access Mode
  3733. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3734.       the second through eighth XGAs
  3735. --------V-P210A------------------------------
  3736. PORT 210A - XGA Video Index for Data
  3737. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3738.       the second through eighth XGAs
  3739. --------V-P210B------------------------------
  3740. PORT 210B - XGA Video Data (byte)
  3741. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3742.       the second through eighth XGAs
  3743. --------V-P210C210F--------------------------
  3744. PORT 210C-210F - XGA Video Data (word/dword)
  3745. Note:    this port is for the first XGA in the system; 211x-217x are used for
  3746.       the second through eighth XGAs
  3747.  
  3748. 210C  RW  byte data
  3749. 210Cw RW  word data
  3750. 210Cd RW  dword data
  3751. --------V-P2110211F--------------------------
  3752. PORT 2110-211F - IBM XGA (eXtended Graphics Adapter  8514/A) (second installed)
  3753. Notes:    see individual 210x entries above
  3754.     c't says default instance number is 6, i.e. addresses 216x
  3755. --------V-P2120212F--------------------------
  3756. PORT 2120-212F - IBM XGA (eXtended Graphics Adapter  8514/A) (third installed)
  3757. Notes:    see individual 210x entries above
  3758.     c't says default instance number is 6, i.e. addresses 216x
  3759. --------V-P2130213F--------------------------
  3760. PORT 2130-213F - IBM XGA (eXtended Graphics Adapter  8514/A) (fourth installed)
  3761. Notes:    see individual 210x entries above
  3762.     c't says default instance number is 6, i.e. addresses 216x
  3763. --------V-P2140214F--------------------------
  3764. PORT 2140-214F - IBM XGA (eXtended Graphics Adapter  8514/A) (fifth installed)
  3765. Notes:    see individual 210x entries above
  3766.     c't says default instance number is 6, i.e. addresses 216x
  3767. --------V-P2150215F--------------------------
  3768. PORT 2150-215F - IBM XGA (eXtended Graphics Adapter  8514/A) (sixth installed)
  3769. Notes:    see individual 210x entries above
  3770.     c't says default instance number is 6, i.e. addresses 216x
  3771. --------V-P2160216F--------------------------
  3772. PORT 2160-216F - IBM XGA (eXtended Graphics Adapter 8514/A) (seventh installed)
  3773. Notes:    see individual 210x entries above
  3774.     c't says default instance number is 6, i.e. addresses 216x
  3775. --------V-P2170217F--------------------------
  3776. PORT 2170-217F - IBM XGA (eXtended Graphics Adapter 8514/A) (eighth installed)
  3777. Notes:    see individual 210x entries above
  3778.     c't says default instance number is 6, i.e. addresses 216x
  3779. --------V-P217A217B--------------------------
  3780. PORT 217A-217B - ET4000/W32 CRTC-B/Sprite
  3781. Note:    Alternative addresses may depend on adapter manufacturer,
  3782.       Tseng claims 21xA with x=three address bits, selected by IOD2..0
  3783.       during power up reset.
  3784.  
  3785. 21xA  RW  ET4000/W32(i) CRTC-B/Sprite index register
  3786.     bit7-0: index
  3787. 21xB  RW  ET4000/W32(i) CRTC-B/Sprite data register (see #P357)
  3788.  
  3789. (Table P357)
  3790. Values for ET4000/W32(i) CRTC-B/Sprite data register index:
  3791.  E0h    CRTC-B / Sprite Horizontal Pixel Position, Low
  3792.        bit7-0: horizontal pixel position bit7-0
  3793.  E1h    CRTC-B / Sprite Horizontal Pixel Position, High
  3794.        bit7-4: reserved
  3795.        bit3-0: horizontal pixel position bit11-8
  3796.  E2h    CRTC-B Width Low / Sprite Horizontal Preset
  3797.        bit7-0: width of CRTC-B bit7-0
  3798.        bit5-0: horizontal preset for sprite
  3799.  E3h    CRTC-B Width High / Sprite Horizontal Preset
  3800.        bit7-4: reserved
  3801.        bit3-0: width of CRTC-B bit11-8
  3802.  E4h    CRTC-B / Sprite Vertical Pixel Position, Low
  3803.        bit7-0: vertical pixel position bit7-0
  3804.  E5h    CRTC-B / Sprite Vertical Pixel Position, High
  3805.        bit7-4: reserved
  3806.        bit3-0: vertical pixel position bit11-8
  3807.  E6h    CRTC-B Height Low / Sprite Vertical Preset
  3808.        bit7-0: height of CRTC-B bit7-0
  3809.        bit5-0: vertical preset for sprite
  3810.  E7h    CRTC-B Height High / Sprite Vertical Preset
  3811.        bit7-4: reserved
  3812.        bit3-0: height of CRTC-B bit11-8
  3813.  E8h    CRTC-B / Sprite Starting Address Low
  3814.        pointer to CRTC-B / sprite image in display memory.
  3815.        (maximum size of sprites 64x64x4=1KB with 4 colors:
  3816.         00b=color-0, 01b=color-255, 10b=transparent, 11b=reserved)
  3817.        bit7-0: startaddress bit7-0
  3818.  E9h    CRTC-B / Sprite Starting Address Middle
  3819.        bit7-0: startaddress bit15-8
  3820.  EAh    CRTC-B / Sprite Starting Address High
  3821.        bit7-4: reserved
  3822.        bit3-0: startaddress bit19-16
  3823.  EBh    CRTC-B / Sprite Row Offset Low
  3824.        bit7-0: offset bit7-0
  3825.  ECh    CRTC-B / Sprite Row Offset High
  3826.        bit7-4: revision ID (any ET4000/W32)
  3827.             0000b=W32         0100b-1111b reserved
  3828.             0001b=W32i
  3829.             0010b=W32p
  3830.             0011b=W32i, new
  3831.        bit3-0: offset bit11-8
  3832.  EDh    CRTC-B Pixel Panning
  3833.        bit7-3: reserved
  3834.        bit2-0: CRTC-B pixel panning
  3835.  EEh    CRTC-B Color-Depth-Register / Hardware-Zoom
  3836.        bit7-4: reserved (concerning databook ET4000/W32)
  3837.        bit7-6: vertical zoom (undocumented)
  3838.            (original ET4000/W32 ok, doesn't work properly
  3839.             with some ET4000/W32i)
  3840.             00b=zoomx1       10b=zoomx3
  3841.             01b=zoomx2       11b=zoomx4
  3842.        bit5-4: horizontal zoom (undocumented)
  3843.            (original ET4000/W32 ok, doesn't work properly
  3844.             with some ET4000/W32i)
  3845.             00b=zoomx1       10b=zoomx3
  3846.             01b=zoomx2       11b=zoomx4
  3847.        bit3-0: bit/pixel
  3848.             0000b=1       0011b=8
  3849.             0001b=2       0100b=16
  3850.             0010b=4
  3851.  EFh    CRTC-B / Sprite Control
  3852.        bit7-2: reserved
  3853.        bit1     : 1=2nd CRTC-B image overlays main CRTC-A image
  3854.            0=CRTC-B image at pin SP1/0
  3855.        bit0     : 1=enable CRTC-B
  3856.            0=enable sprite (see F7h)
  3857.  F7h    Image Port Control
  3858.        bit7     : 1=CRTC-B or sprite active
  3859.            0=CRTC-B and sprite not active
  3860.        bit6-0: reserved
  3861. ----------P22E822EF--------------------------
  3862. PORT 22E8-22EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - DISPLAY CTRL
  3863.  
  3864. 22E8w -W  CRT control: display control
  3865. ----------P23902393--------------------------
  3866. PORT 2390-2393 - cluster (adapter 4)
  3867. --------V-P23C023CF--------------------------
  3868. PORT 23C0-23CF - Compaq QVision - BitBLT engine
  3869. --------X-P240024FF--------------------------
  3870. PORT 2400-24FF - available for EISA slot 2
  3871. ----------P2465------------------------------
  3872. PORT 2465 - Compaq Contura Aero
  3873. SeeAlso: PORT 1C65h"Compaq",PORT 2065h"Compaq"
  3874.  
  3875. 2465  R-  current battery power level
  3876.         (166 fully-charged, 130 = LowBat1)
  3877. ----------P27C6------------------------------
  3878. PORT 27C6 - Compaq LTE Lite - LCD TIMEOUT
  3879.  
  3880. 27C6  RW  LCD timeout in minutes
  3881. --------X-P280028FF--------------------------
  3882. PORT 2800-28FF - available for EISA slot 2
  3883. --------V-P28E9------------------------------
  3884. PORT 28E9 - 8514/A - WD Escape Functions
  3885. --------V-P2C802C8F--------------------------
  3886. PORT 2C80-2C8F - VESA XGA Video in EISA slot 2
  3887. SeeAlso: PORT 1C80h-1C83h,PORT 1C88h-1C8Fh
  3888. --------X-P2C802C83--------------------------
  3889. PORT 2C80-2C83 - EISA board product ID (board in slot 2)
  3890. SeeAlso: PORT 1C80h-1C83h
  3891. --------X-P2C84------------------------------
  3892. PORT 2C84 - EISA CONFIGURATION FLAGS (board in slot 2)
  3893.  
  3894. 2C84  RW  configuration flags (see #P356)
  3895. --------X-P300030FF--------------------------
  3896. PORT 3000-30FF - available for EISA slot 3
  3897. --------S-P32203227--------------------------
  3898. PORT 3220-3227 - serial port 3, description same as 03F8
  3899. --------S-P3228322F--------------------------
  3900. PORT 3228-322F - serial port 4, description same as 03F8
  3901. --------V-P33C033CF--------------------------
  3902. PORT 33C0-33CF - Compaq QVision - BitBLT engine
  3903. --------X-P340034FF--------------------------
  3904. PORT 3400-34FF - available for EISA slot 3
  3905. --------d-P35103513--------------------------
  3906. PORT 3510-3513 - ESDI primary harddisk controller
  3907. Range:    PORT 3510h-3513h (primary) or PORT 3518h-351Bh (secondary)
  3908. SeeAlso: PORT 3518h,PORT 01F0h-01F7h
  3909.  
  3910. 3510w R-  status word
  3911. 3510w -W  command word
  3912. 3512  R-  basic status
  3913. 3512  -W  basic control
  3914. 3513  R-  interrupt status
  3915. 3513  -W  attention
  3916. --------d-P3518351B--------------------------
  3917. PORT 3518-351B - ESDI secondary harddisk controller
  3918. Range:    PORT 3510h-3513h (primary) or PORT 3518h-351Bh (secondary)
  3919. SeeAlso: PORT 3510h,PORT 01F0h-01F7h
  3920.  
  3921. 3518w R-  status word
  3922. 3518w -W  command word
  3923. 351A  R-  basis status
  3924. 351A  -W  basic control
  3925. 351B  R-  interrupt status
  3926. 351B  -W  attention
  3927. --------d-P3540354F--------------------------
  3928. PORT 3540-354F - IBM SCSI (Small Computer System Interface) adapter
  3929. --------d-P3550355F--------------------------
  3930. PORT 3550-355F - IBM SCSI (Small Computer System Interface) adapter
  3931. --------d-P3560356F--------------------------
  3932. PORT 3560-356F - IBM SCSI (Small Computer System Interface) adapter
  3933. --------d-P3570357F--------------------------
  3934. PORT 3570-357F - IBM SCSI (Small Computer System Interface) adapter
  3935. --------V-P36EE------------------------------
  3936. PORT 36EE - ATI Mach8/Mach32 - FIFO OPTION
  3937. SeeAlso: PORT 6AEEh,PORT 6EEEh,PORT 72EEh,PORT 76EEh,PORT 7AEEh,PORT 8EEEh
  3938.  
  3939. 36EE  -W  FIFO option
  3940.         bit 0: generate wait states if FIFO >= half full
  3941.             (0=only when FIFO full)
  3942.         bit 1: force 8-bit host data I/O
  3943. --------X-P380038FF--------------------------
  3944. PORT 3800-38FF - available for EISA slot 3
  3945. --------X-P3C003CFF--------------------------
  3946. PORT 3C00-3CFF - available for EISA slot 3
  3947. --------V-P3C803C8F--------------------------
  3948. PORT 3C80-3C8F - VESA XGA Video in EISA slot 3
  3949.  
  3950. 3C80-3C83  RW    EISA Video ID
  3951. 3C84  RW    EISA Video expansion board control
  3952. 3C85  RW    EISA Setup control
  3953. 3C88  RW    EISA Video Programmable Option Select 0
  3954. 3C89-3C8F  RW    EISA Video Programmable Option Select 1-7
  3955.  
  3956. SeeAlso: PORT 1C80h-1C8Fh"XGA",PORT 2C80h-2C8Fh"XGA",PORT 7C80h-7C8Fh"XGA"
  3957. --------X-P3C803C83--------------------------
  3958. PORT 3C80-3C83 - EISA board product ID (board in slot 3)
  3959. SeeAlso: PORT 1C80h-1C83h
  3960. --------X-P3C84------------------------------
  3961. PORT 3C84 - EISA CONFIGURATION FLAGS (board in slot 3)
  3962.  
  3963. 3C84  RW  configuration flags (see #P356)
  3964. --------X-P400040FF--------------------------
  3965. PORT 4000-40FF - available for EISA slot 4
  3966. ----------P42204227--------------------------
  3967. PORT 4220-4227 - serial port, description same as 03F8
  3968. ----------P4228422F--------------------------
  3969. PORT 4228-422F - serial port, description same as 03F8
  3970. ----------P42E042EF--------------------------
  3971. PORT 42E0-42EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  3972.  
  3973. 42E1  RW  GPIB (adapter 2)
  3974. --------V-P42E8------------------------------
  3975. PORT 42E8 - 8514/A and hardware-compatible video cards
  3976. Note:    supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  3977.  
  3978. 42E8w R-  Misc. control: Subsystem Status (see #P421)
  3979. 42E8w -W  Misc. control: Subsystem Control (see #P358)
  3980.  
  3981. Bitfields for 8514/A Subsystem Status register:
  3982. Bit(s)    Description    (Table P421)
  3983.  15-8    (8514/A) reserved
  3984.  13    (S3) ???
  3985.  12-8    (S3) ???
  3986.  7    pixel length (0 = four bits, 1 = eight bits)
  3987.  6-4    reserved
  3988.  3    FIFO empty (interrupt generated if enabled)
  3989.  2    FIFO overflow (interrupt generated if enabled)
  3990.  1    Graphics Engine busy (interrupt generated if enabled)
  3991.  0    vertical sync (interrupt generated if enabled)
  3992. SeeAlso: #P358
  3993.  
  3994. Bitfields for 8514/A Subsystem Control Register:
  3995. Bit(s)    Description    (Table P358)
  3996.  15-14    GP_RESET
  3997.       W    00 no change
  3998.     01 normal operation
  3999.     10 reset graphics processor and FIFO
  4000.     11 reserved
  4001.  13-12    reserved
  4002.  11   W    enable interrupt when graphics processor idle
  4003.  10   W    enable interrupt on invalid I/O (FIFO overlow)
  4004.  9    W    enable interrupt if inside scissors region
  4005.  8    W    enable vertical blanking interval interrupt
  4006.  6-4 R    monitor ID (8514/A)
  4007.  7-4    reserved (S3)
  4008.  3    acknowledge idle interrupt (and clear)
  4009.  2    acknowledge invalid I/O interrupt (and clear)
  4010.  1    acknowledge inside-scissors interrupt (and clear)
  4011.  0    acknowledge vertical blanking interrupt (and clear)
  4012. SeeAlso: #P421
  4013. --------V-P42EC------------------------------
  4014. PORT 42EC - ATI Mach64 - ???
  4015. SeeAlso: PORT 42EDh"Mach64"
  4016.  
  4017. 42EC  RW  ???
  4018.     bits 1-0: ???
  4019. --------V-P42ED------------------------------
  4020. PORT 42ED - ATI Mach64 - ???
  4021. SeeAlso: PORT 42ECh"Mach64",PORT 42EFh
  4022.  
  4023. 42ED  R?  ???
  4024. --------V-P42EE42EF--------------------------
  4025. PORT 42EE-42EF - ATI Mach32 - MEMORY BOUNDARY REGISTER
  4026. SeeAlso: PORT 5EEEh"Mach32"
  4027.  
  4028. 42EEw RW  memory boundary
  4029.     bits 3-0: VGA/8514 boundary in 256K units (VGA only below, 8514 above)
  4030.     bit 4: partition enable: VGA and 8514 drawing engines may only write
  4031.           within their respective partitions
  4032.     bits 15-5: reserved
  4033. --------V-P42EF------------------------------
  4034. PORT 42EF - ATI Mach64 - ???
  4035. SeeAlso: PORT 42EDh"Mach64"
  4036.  
  4037. 42EF  R?  ???
  4038. --------X-P440044FF--------------------------
  4039. PORT 4400-44FF - available for EISA slot 4
  4040. ----------P4F15------------------------------
  4041. PORT 4F15 - Tseng Labs ET6000 - Read EDID through Display Data Channel
  4042. --------V-P46E8------------------------------
  4043. PORT 46E8 - VGA - VIDEO ADAPTER ENABLE
  4044. Note:    IBM uses this port for adapter-card VGAs only, and PORT 03C3h for
  4045.       motherboard VGA only (see 03C3 for details)
  4046. SeeAlso: PORT 03C3h,PORT 46E8h"8514/A",#P414
  4047.  
  4048. 46E8  rW  Misc. control: enable flags / select ROM page (8514/A) (see #P359)
  4049.  
  4050. Bitfields for VGA miscellaneous control register:
  4051. Bit(s)    Description    (Table P359)
  4052.  7-5    unused or vendor-specific
  4053.  4    setup for POS registers (MCA)
  4054.  3    enable video I/O ports and video buffer
  4055.  2-0    unused or vendor-specific
  4056. --------V-P46E8------------------------------
  4057. PORT 46E8 - 8514/A and compatible (e.g. ATI Graphics Ultra) - ROM PAGE SELECT
  4058. Note:    this register is readable on the C&T 82c480 chipset
  4059. SeeAlso: PORT 46E8h"VGA"
  4060.  
  4061. 46E8w -W  ROM page select (see #P360)
  4062.  
  4063. Bitfields for 8514/A ROM page select register:
  4064. Bit(s)    Description    (Table P360)
  4065.  2-0    select which 4K page of 32K ROM to map at segment C700h
  4066.  3    enable VGA
  4067.  4    select VGA setup mode
  4068.  15-5    reserved (0)
  4069. --------V-P46EE------------------------------
  4070. PORT 46EE - ATI Mach32 - ???
  4071.  
  4072. 46EEw RW  ???
  4073. --------V-P46EF------------------------------
  4074. PORT 46EF - ATI Mach64 - ???
  4075. Note:    the Mach64 BIOS reads the value of this port and multiplies it by 100
  4076. SeeAlso: PORT 66ECh"Mach64"
  4077. --------X-P480048FF--------------------------
  4078. PORT 4800-48FF - available for EISA slot 4
  4079. --------V-P4AE84AE9--------------------------
  4080. PORT 4AE8-4AE9 - 8514/A and compatible - CRT CONTROL
  4081. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4082.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4083. SeeAlso: #P415
  4084.  
  4085. 4AE8w -W  CRT control: Advanced function control (see also #P361)
  4086.     (02h = VGA mode, 03h = 480-line mode, 07h = 768-line mode)
  4087.  
  4088. Bitfields for S3 8514/A-compatible Advanced Function Control register:
  4089. Bit(s)    Description    (Table P361)
  4090.  15-7    reserved
  4091.  6    (928 only) enable Write Posting
  4092.  5    (928+) enable memory-mapped I/O
  4093.  4    (928+) enable linear addressing (see also #P308)
  4094.  3    reserved
  4095.  2    (911-928) screen size (1 = 800x600 or 1024x768, 0=640x480)
  4096.     (Trio32/Trio64) enhanced modes pixel length (0 = 8+ bpp, 1 = 4 bpp)
  4097.  1    reserved (1)
  4098.  0    enable enhanced functions
  4099. Note:    bit 4 is ORed with CR58 bit 4; bit 5 is ORed with CR53 bit 4
  4100. --------V-P4AEE------------------------------
  4101. PORT 4AEE - ATI Mach32 - ???
  4102.  
  4103. 4AEEw RW  ???
  4104. --------X-P4C004CFF--------------------------
  4105. PORT 4C00-4CFF - available for EISA slot 4
  4106. --------X-P4C804C83--------------------------
  4107. PORT 4C80-4C83    EISA board product ID (board in slot 4)
  4108. SeeAlso: PORT 1C80h-1C83h
  4109. --------V-P4C804C8F--------------------------
  4110. PORT 4C80-4C8F - VESA XGA Video in EISA slot 4 (see 3C80-3C8F)
  4111. SeeAlso: PORT 1C80h-1C8Fh,PORT 6C80h-6C8Fh
  4112. --------X-P4C84------------------------------
  4113. PORT 4C84 - EISA CONFIGURATION FLAGS (board in slot 4)
  4114.  
  4115. 4C84  RW  configuration flags (see #P356)
  4116. --------X-P500050FF--------------------------
  4117. PORT 5000-50FF - available for EISA slot 5
  4118. --------S-P52205227--------------------------
  4119. PORT 5220-5227 - serial port, description same as 03F8
  4120. --------S-P5228522F--------------------------
  4121. PORT 5228-522F - serial port, description same as 03F8
  4122. --------V-P52E852E9--------------------------
  4123. PORT 52E8-52E9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 0
  4124. Note:    the 82c480 is an 8514/A-compatible video chipset
  4125. SeeAlso: PORT 56E8h"C&T",PORT 5AE8h"C&T",PORT 5EE8h"C&T"
  4126.  
  4127. 52E8w RW  Extended Configuration Register 0
  4128. --------V-P52EE52EF--------------------------
  4129. PORT 52EE-52EF - ATI Mach32 - SCRATCH REGISTER 0 (USED FOR ROM LOCATION)
  4130. Note:    ATI video BIOS sets this port according to the segment address of the
  4131.       BIOS if >= C000h, as ((seg-C000h) shr 7)
  4132. SeeAlso: PORT 56EEh"Mach32"
  4133.  
  4134. 52EEw RW  scratch register 0: Video ROM address
  4135. --------X-P540054FF--------------------------
  4136. PORT 5400-54FF - available for EISA slot 5
  4137. --------V-P56E856E9--------------------------
  4138. PORT 56E8-56E9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 1
  4139. Note:    the 82c480 is an 8514/A-compatible video chipset
  4140. SeeAlso: PORT 52E8h"C&T",PORT 5AE8h"C&T",PORT 5EE8h"C&T"
  4141.  
  4142. 56E8w RW  Extended Configuration Register 1
  4143. --------V-P56EE56EF--------------------------
  4144. PORT 56EE-56EF - ATI Mach32 - SCRATCH REGISTER 1
  4145. SeeAlso: PORT 52EEh"Mach32"
  4146.  
  4147. 56EEw RW  scratchpad
  4148. --------X-P580058FF--------------------------
  4149. PORT 5800-58FF - available for EISA slot 5
  4150. --------V-P5AE85AE9--------------------------
  4151. PORT 5AE8-5AE9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 2
  4152. Note:    the 82c480 is an 8514/A-compatible video chipset
  4153. SeeAlso: PORT 52E8h"C&T",PORT 56E8h"C&T",PORT 5EE8h"C&T"
  4154.  
  4155. 5AE8w RW  Extended Configuration Register 2
  4156. --------V-P5AEE------------------------------
  4157. PORT 5AEE - ATI Mach32 - ???
  4158.  
  4159. 5AEE  RW  ???
  4160. --------X-P5C005CFF--------------------------
  4161. PORT 5C00-5CFF - available for EISA slot 5
  4162. --------V-P5C805C8F--------------------------
  4163. PORT 5C80-5C8F - VESA XGA Video in EISA slot 5
  4164. SeeAlso: PORT 2C80h-2C8Fh,PORT 4C80h-4C8Fh,PORT 6C80h-6C8Fh
  4165.  
  4166. 5C80d RW  EISA Video ID
  4167. 5C84  RW  EISA Video expansion board control
  4168. 5C85  RW  EISA Setup control
  4169. 5C88  RW  EISA Video Programmable Option Select 0
  4170. 5C89  RW  EISA Video Programmable Option Select 1
  4171. 5C8A  RW  EISA Video Programmable Option Select 2
  4172. 5C8B  RW  EISA Video Programmable Option Select 3
  4173. 5C8C  RW  EISA Video Programmable Option Select 4
  4174. 5C8D  RW  EISA Video Programmable Option Select 5
  4175. 5C8E  RW  EISA Video Programmable Option Select 6
  4176. 5C8F  RW  EISA Video Programmable Option Select 7
  4177. --------X-P5C805C83--------------------------
  4178. PORT 5C80-5C83    EISA board product ID (board in slot 5)
  4179. SeeAlso: PORT 1C80h-1C83h
  4180. --------X-P5C84------------------------------
  4181. PORT 5C84 - EISA CONFIGURATION FLAGS (board in slot 5)
  4182.  
  4183. 5C84  RW  configuration flags (see #P356)
  4184. --------V-P5EE85EE9--------------------------
  4185. PORT 5EE8-5EE9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 3
  4186. Note:    the 82c480 is an 8514/A-compatible video chipset
  4187. SeeAlso: PORT 52E8h"C&T",PORT 56E8h"C&T",PORT 5AE8h"C&T"
  4188.  
  4189. 5EE8w RW  Extended Configuration Register 3
  4190. ----------P5EEE------------------------------
  4191. PORT 5EEE - ATI Mach32 - MEMORY APERTURE CONFIGURATION REGISTER
  4192. SeeAlso: PORT 42EEh"Mach32"
  4193.  
  4194. 5EEEw RW  Memory Aperture Configuration (see #P362)
  4195.  
  4196. Bitfields for ATI Mach32 Memory Aperture Configuration Register:
  4197. Bit(s)    Description    (Table P362)
  4198.  1-0    direct memory interface mapping
  4199.     00 disabled
  4200.     01 1M aperture (not on PCI)
  4201.     10 4M aperture
  4202.     11 reserved
  4203.  3-2    1M page select (not on PCI)
  4204.     00 page 0
  4205.     01 page 1
  4206.     10 page 2
  4207.     11 page 3
  4208.  11-8    (ISA) memory aperture location, 0-15 MB
  4209.  13-8    (EISA) memory aperture location, 0-63 MB
  4210.  14-8    (VLB) memory aperture location, 0-127 MB [*]
  4211.  15-4    (PCI) memory aperture location, 0-4095 MB
  4212.  13-8    (MCA 16-bit) memory aperture location, 0-63 MB
  4213.  14-8    (MCA 32-bit) memory aperture location, 0-127 MB
  4214. Note:    [*] if PORT 16EEh bit 3 is set and PORT FAEEh is non-zero, bits 15-4
  4215.       are used to specify an address from 0-4095 MB
  4216. --------X-P600060FF--------------------------
  4217. PORT 6000-60FF - available for EISA slot 6
  4218. ----------P62E062EF--------------------------
  4219. PORT 62E0-62EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  4220.  
  4221. 62E1  RW  GPIB (adapter 3)
  4222. --------V-P63C063CF--------------------------
  4223. PORT 63C0-63CF - Compaq QVision - BitBLT engine
  4224. --------X-P640064FF--------------------------
  4225. PORT 6400-64FF - available for EISA slot 6
  4226. --------V-P66EC------------------------------
  4227. PORT 66EC - ATI Mach64 - ???
  4228. SeeAlso: PORT 6AECh"Mach64"
  4229. --------X-P680068FF--------------------------
  4230. PORT 6800-68FF - available for EISA slot 6
  4231. --------V-P6AEC6AED--------------------------
  4232. PORT 6AEC-6AED - ATI Mach64 - ???
  4233. SeeAlso: PORT 66ECh"Mach64"
  4234. --------V-P6AEE------------------------------
  4235. PORT 6AEE - ATI Mach8/Mach32 - MAXIMUM WAIT STATES
  4236. SeeAlso: PORT 36EEh,PORT 6EEEh,PORT 76EEh,PORT 7AEEh,PORT 8EEEh
  4237.  
  4238. 6AEE  RW  maximum wait states (see #P363)
  4239.  
  4240. Bitfields for ATI Mach8/Mach32 wait state configuration:
  4241. Bit(s)    Description    (Table P363)
  4242.  10    leave alone ("PASSTHROUGH_OVERRIDE")
  4243.  9    enable for 16-bit I/O
  4244.  8    0=horizontal degree-mode line draws
  4245. --------X-P6C006CFF--------------------------
  4246. PORT 6C00-6CFF - available for EISA slot 6
  4247. --------X-P6C806C83--------------------------
  4248. PORT 6C80-6C83 - EISA board product ID (board in slot 6)
  4249. SeeAlso: PORT 1C80h-1C83h
  4250. --------V-P6C806C8F--------------------------
  4251. PORT 6C80-6C8F - VESA XGA Video in EISA slot 1
  4252. SeeAlso: PORT 1C80h-1C8Fh"XGA",PORT 2C80h-2C8Fh"XGA",PORT 5C80h-5C8Fh"XGA"
  4253.  
  4254. 6C80d RW  EISA Video ID (see PORT 1C80h-1C83h)
  4255. 6C84  RW  EISA Video expansion board control
  4256. 6C85  RW  EISA Setup control
  4257. 6C88  RW  EISA Video Programmable Option Select 0
  4258. 6C89  RW  EISA Video Programmable Option Select 1
  4259. 6C8A  RW  EISA Video Programmable Option Select 2
  4260. 6C8B  RW  EISA Video Programmable Option Select 3
  4261. 6C8C  RW  EISA Video Programmable Option Select 4
  4262. 6C8D  RW  EISA Video Programmable Option Select 5
  4263. 6C8E  RW  EISA Video Programmable Option Select 6
  4264. 6C8F  RW  EISA Video Programmable Option Select 7
  4265. --------X-P6C84------------------------------
  4266. PORT 6C84 - EISA CONFIGURATION FLAGS (board in slot 6)
  4267.  
  4268. 6C84  RW  configuration flags (see #P356)
  4269. --------V-P6EEC------------------------------
  4270. PORT 6EEC - ATI Mach64 - ???
  4271. SeeAlso: PORT 6AECh"Mach64"
  4272. --------V-P6EEE------------------------------
  4273. PORT 6EEE - ATI Mach8/Mach32 - ENGINE VIDEO BUFFER OFFSET LOW
  4274. SeeAlso: PORT 72EEh
  4275.  
  4276. 6AEEw -W  low 16 bits of video buffer starting offset
  4277. --------X-P700070FF--------------------------
  4278. PORT 7000-70FF - available for EISA slot 7
  4279. --------V-P72EC------------------------------
  4280. PORT 72EC - ATI Mach64 - ???
  4281. SeeAlso: PORT 66ECh"Mach64",PORT 72EFh"Mach64"
  4282. --------V-P72EE------------------------------
  4283. PORT 72EE - ATI Mach8/Mach32 - ENGINE VIDEO BUFFER OFFSET HIGH
  4284. SeeAlso: PORT 6EEEh
  4285.  
  4286. 72EE  -W  high bits of video buffer starting offset
  4287.         bits 1-0 for Mach-8
  4288.         bits 3-0 for Mach-32
  4289. --------V-P72EE------------------------------
  4290. PORT 72EE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (LEFT)
  4291. SeeAlso: PORT 76EEh"BOUNDS",PORT 7AEEh"BOUNDS",PORT 7EEEh"BOUNDS"
  4292.  
  4293. 72EEw R-  left edge of bounding box for points written via Line Draw register
  4294. --------V-P72EF------------------------------
  4295. PORT 72EF - ATI Mach64 - ???
  4296. SeeAlso: PORT 66ECh"Mach64",PORT 72ECh"Mach64"
  4297. --------X-P740074FF--------------------------
  4298. PORT 7400-74FF - available for EISA slot 7
  4299. --------V-P76EE------------------------------
  4300. PORT 76EE - ATI Mach8/Mach32 - ENGINE DISPLAY PITCH
  4301. SeeAlso: PORT 6AEEh,PORT 7AEEh
  4302.  
  4303. 76EE  -W  display pitch
  4304. --------V-P76EE------------------------------
  4305. PORT 76EE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (TOP)
  4306. SeeAlso: PORT 72EEh"BOUNDS",PORT 7AEEh"BOUNDS",PORT 7EEEh"BOUNDS"
  4307.  
  4308. 76EEw R-  top edge of bounding box for points written via Line Draw register
  4309. --------X-P780078FF--------------------------
  4310. PORT 7800-78FF - available for EISA slot 7
  4311. --------V-P7AEE------------------------------
  4312. PORT 7AEE - ATI Mach8/Mach32 - EXTENDED GRAPHICS ENGINE CONGIFURATION
  4313. SeeAlso: PORT 8EEEh
  4314.  
  4315. 7AEEw -W  extended graphics engine configuration (see #P364)
  4316.  
  4317. Bitfields for Mach8/Mach32 extended graphics engine configuration:
  4318. Bit(s)    Description    (Table P364)
  4319.  15    drawing pixel size to be written next (68800-6 only)
  4320.  14    enable 8-bit DAC (Mach-32 only)
  4321.  13-12    DAC address inputs RS(3:2) control (Mach-32 only)
  4322.  11    display pixel size to be written next (68800-6 only)
  4323.  10    24-bit color order (Mach-32 only)
  4324.     0 = RGB
  4325.     1 = BGR
  4326.  9    24-bit color configuration: pixels use 4 bytes instead of three
  4327.  8    DAC processes four pixels in parallel (Mach-32 only)
  4328.  7-6    16-bits-per-color word format (Mach-32 only)
  4329.     00 RGB(5,5,5)
  4330.     01 RGB(5,6,5)
  4331.     10 RGB(6,5,5)
  4332.     11 RGB(6,6,4)
  4333.  5-4    number of bits per pixel (Mach-32 only)
  4334.     00 four
  4335.     01 eight
  4336.     10 sixteen
  4337.     11 twenty-four
  4338.  3    report monitor alias instead of actual monitor
  4339.  2-0    alternate monitor ID (alias)
  4340. --------V-P7AEE------------------------------
  4341. PORT 7AEE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (RIGHT)
  4342. SeeAlso: PORT 72EEh"BOUNDS",PORT 76EEh"BOUNDS",PORT 7EEEh"BOUNDS"
  4343.  
  4344. 7AEEw R-  right edge of bounding box for points written via Line Draw register
  4345. --------X-P7C007CFF--------------------------
  4346. PORT 7C00-7CFF - available for EISA slot 7
  4347. --------X-P7C807C83--------------------------
  4348. PORT 7C80-7C83 - EISA board product ID (board in slot 7)
  4349. SeeAlso: PORT 1C80h-1C83h
  4350. --------V-P7C807C8F--------------------------
  4351. PORT 7C80-7C8F - VESA XGA Video in EISA slot 7
  4352. SeeAlso: PORT 1C80h-1C8Fh,PORT 6C80h-6C8Fh
  4353.  
  4354. 7C80-7C83  RW    EISA Video ID
  4355. 7C84  RW    EISA Video expansion board control
  4356. 7C85  RW    EISA Setup control
  4357. 7C88  RW    EISA Video Programmable Option Select 0
  4358. 7C89-7C8F  RW    EISA Video Programmable Option Select 1-7
  4359. --------X-P7C84------------------------------
  4360. PORT 7C84 - EISA CONFIGURATION FLAGS (board in slot 7)
  4361.  
  4362. 7C84  RW  configuration flags (see #P356)
  4363. --------V-P7EEE------------------------------
  4364. PORT 7EEE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (RIGHT)
  4365. SeeAlso: PORT 72EEh"BOUNDS",PORT 76EEh"BOUNDS",PORT 7AEEh"BOUNDS"
  4366.  
  4367. 7EEEw R-  right edge of bounding box for points written via Line Draw register
  4368. --------X-P800080FF--------------------------
  4369. PORT 8000-80FF - available for EISA slot 8
  4370. ----------P82E082EF--------------------------
  4371. PORT 82E0-82EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  4372.  
  4373. 82E1  RW  GPIB (adapter 4)
  4374. --------V-P82E882E9--------------------------
  4375. PORT 82E8-82E9 - 8514/A and compatible - CURRENT Y POSITION
  4376. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4377.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4378. SeeAlso: PORT 86E8h,PORT 82EAh
  4379.  
  4380. 82E8w -W  drawing control: current Y position
  4381. --------V-P82EA82EB--------------------------
  4382. PORT 82EA-82EB - S3 Trio64 - CURRENT Y POSITION 2
  4383. SeeAlso: PORT 82E8h
  4384.  
  4385. 82EAw      drawing control: current Y position 2
  4386. --------S-P82F882FF--------------------------
  4387. PORT 82F8-82FF - serial port, description same as 03F8
  4388. --------V-P83C083CF--------------------------
  4389. PORT 83C0-83CF - Compaq QVision - Line Draw Engine
  4390. --------V-P83C4------------------------------
  4391. PORT 83C4 - Compaq Qvision EISA - Virtual Controller Select
  4392. --------V-P83C683C9--------------------------
  4393. PORT 83C6-83C9 - Compaq Qvision EISA - DAC color registers
  4394. SeeAlso: PORT 03C6h
  4395. --------V-P83C683C9--------------------------
  4396. PORT 83C6-83C9 - Chips&Technologies 64200 (Wingine) - DAC color registers
  4397. SeeAlso: PORT 03C6h
  4398.  
  4399. 83C6  RW  color palette pixel mask
  4400. 83C7  R-  color palette state
  4401. 83C7  -W  color palette read-mode index
  4402. 83C8  RW  color palette write-mode index
  4403. 83C9  RW  color palette data (three bytes)
  4404. --------S-P83F883FF--------------------------
  4405. PORT 83F8-83FF - serial port, description same as 03F8
  4406. --------X-P840084FF--------------------------
  4407. PORT 8400-84FF - available for EISA slot 8
  4408. --------V-P86E886E9--------------------------
  4409. PORT 86E8-86E9 - 8514/A and compatible - CURRENT X POSITION
  4410. Desc:    define the column at which the first pixel of a line, rectangle, etc.
  4411.       will be drawn; (Trio64) define the column at which the first of two
  4412.       edges for a polygon or trapezoid will begin
  4413. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4414.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4415. SeeAlso: PORT 82E8h,PORT 8AE8h,86EAh
  4416.  
  4417. 86E8w -W  drawing control: current X position (bits 11-0)
  4418. --------V-P86EA86EB--------------------------
  4419. PORT 86EA-86EB - S3 Trio64 - CURRENT X POSITION 2
  4420. Desc:    define the column at which the second of two edges for a polygon or
  4421.       trapezoid will begin
  4422. SeeAlso: PORT 86E8h
  4423.  
  4424. 86EAw RW  drawing control: current X position 2 (bits 11-0)
  4425. --------X-P880088FF--------------------------
  4426. PORT 8800-88FF - available for EISA slot 8
  4427. --------V-P8AE88AE9--------------------------
  4428. PORT 8AE8-8AE9 - 8514/A and compatible - DESTINATION Y POSITION
  4429. Desc:    define the top row of the destination for a BLT, the axial step
  4430.       constant for a line, or the ending row of a line segment in a
  4431.       polyline; (Trio64) define the ending row of the first edge drawn
  4432.       for a polygon or trapezoid
  4433. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4434.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4435. SeeAlso: PORT 82E8h,PORT 86E8h
  4436.  
  4437. 8AE8w -W  drawing control: destination Y position / axial step constant
  4438.       (see #P424)
  4439. Note:    this port may be read on S3 chipsets
  4440.  
  4441. Bitfields for 8514/A destination Y position / axial step constant register:
  4442. Bit(s)    Description    (Table P424)
  4443.  11-0    destination Y position
  4444.  13-0    axial step constant for line drawing
  4445.  15-14    reserved
  4446. --------V-P8AEA8AEB--------------------------
  4447. PORT 8AEA-8AEB - S3 Trio64 - DESTINATION Y COORD 2 / AXIAL STEP CONSTANT 2
  4448. Desc:    define the row at which the second of two edges for a polygon or
  4449.       trapezoid will end, or the axial step constant for the second of
  4450.       two edges for a Bresenham trapezoid
  4451. SeeAlso: PORT 8AE8h
  4452.  
  4453. 8AEAw RW  drawing control: destination Y position 2 / axial step constant 2
  4454.       (see #P424)
  4455. --------X-P8C008CFF--------------------------
  4456. PORT 8C00-8CFF - available for EISA slot 8
  4457. --------X-P8C808C83--------------------------
  4458. PORT 8C80-8C83 - EISA board product ID (board in slot 8)
  4459. SeeAlso: PORT 1C80h-1C83h
  4460. --------X-P8C84------------------------------
  4461. PORT 8C84 - EISA CONFIGURATION FLAGS (board in slot 8)
  4462.  
  4463. 8C84  RW  configuration flags (see #P356)
  4464. --------V-P8EE88EEF--------------------------
  4465. PORT 8EE8-8EE9 - 8514/A and compatible - DESTINATION X POSITION
  4466. Desc:    define the left column of the destination for a BLT, the diagonal step
  4467.       constant for a line, or the ending column of a line segment in a
  4468.       polyline; (Trio64) define the ending column of the first edge drawn
  4469.       for a polygon or trapezoid
  4470. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4471.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4472. SeeAlso: PORT DAEEh"Mach32",PORT 8EEAh
  4473.  
  4474. 8EE8w -W  drawing control: destination X position / axial step constant
  4475.       (see #P424)
  4476. --------V-P8EEA8EEB--------------------------
  4477. PORT 8EEA-8EEB - S3 Trio64 - DESTINATION X COORD 2 / AXIAL STEP CONSTANT 2
  4478. Desc:    define the column at which the second of two edges for a polygon or
  4479.       trapezoid will end, or the axial step constant for the second of
  4480.       two edges for a Bresenham trapezoid
  4481. SeeAlso: PORT 8EE8h
  4482.  
  4483. 8EEAw RW  drawing control: destination X position 2 / diagonal step constant 2
  4484.       (see #P424)
  4485. --------V-P8EEE------------------------------
  4486. PORT 8EEE - ATI Mach32 - READ EXTENDED GRAPHICS CONFIGURATION
  4487. SeeAlso: PORT 72EEh
  4488.  
  4489. 8EEE  R-  read extended graphics configuration (see #P364)
  4490. --------X-P900090FF--------------------------
  4491. PORT 9000-90FF - available for EISA slot 9
  4492. --------V-P92E892EF--------------------------
  4493. PORT 92E8-92E9 - 8514/A and compatible - BRESENHAM ERROR TERM
  4494. Desc:    specify the initial error term for drawing a line using the Bresenham
  4495.       algorithm
  4496. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4497.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4498.     the error term is 2*min(|dx|,|dy|) - max(|dx|,|dy|) - 1 [startX < endX]
  4499.     or 2*min(|dx|,|dy|) - max(|dx|,|dy|) [startX >= endX]
  4500. SeeAlso: PORT 92EAh
  4501.  
  4502. 92E8w -W  drawing control: Bresenham error term (bits 13-0)
  4503. --------V-P92EA92EB--------------------------
  4504. PORT 92EA-92EB - S3 Trio64 - LINE ERROR TERM 2
  4505. Desc:    specify the initial error term for the second edge of a Bresenham
  4506.       trapezoid
  4507. SeeAlso: PORT 92E8h
  4508.  
  4509. 92EAw RW  drawing control: Bresenham error term 2 (bits 13-0)
  4510. --------X-P940094FF--------------------------
  4511. PORT 9400-94FF - available for EISA slot 9
  4512. --------V-P96E896E9--------------------------
  4513. PORT 96E8-96E9 - 8514/A and compatible - MAJOR AXIS PIXEL COUNT
  4514. Desc:    specify the pixel length of the longest axis of a line, or the width
  4515.       of a rectangle, BLT, or image transfer; (Trio64) specify the major
  4516.       axis length of the first edge of a Bresenham trapezoid
  4517. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4518.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4519.     the value programmed into this register is one less than the desired
  4520.       width or major-axis length
  4521. SeeAlso: PORT 96EAh
  4522.  
  4523. 96E8w R-  enter WD Enhanced Mode
  4524. 96E8w -W  drawing control: major axis pixel count (bits 11-0)
  4525. --------V-P96EA96EB--------------------------
  4526. PORT 96EA-96EB - S3 Trio64 - MAJOR AXIS PIXEL COUNT 2
  4527. Desc:    specify the major axis length of the second edge for a Bresenham
  4528.       trapezoid
  4529. Note:    the value programmed into this register is one less than the desired
  4530.       width or major-axis length
  4531. SeeAlso: PORT 96E8h
  4532.  
  4533. 96EAw RW  drawing control: major axis pixel count 2 (bits 11-0)
  4534. --------X-P980098FF--------------------------
  4535. PORT 9800-98FF - available for EISA slot 9
  4536. --------V-P9AE89AE9--------------------------
  4537. PORT 9AE8-9AE9 - 8514/A and compatible - GRAPHICS PROCESSOR STATUS / COMMAND
  4538. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4539.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4540. SeeAlso: PORT 9AEAh
  4541.  
  4542. 9AE8w R-  drawing control: graphic processor status (see #P365)
  4543. 9AE8w -W  drawing control: command register (see #P366)
  4544.  
  4545. Bitfields for 8514/A graphic processor status:
  4546. Bit(s)    Description    (Table P365)
  4547.  15-10    (8514/A) reserved
  4548.  15    (S3 Trio64 only) queue status flags 9
  4549.  14-11    (S3 Trio64 only) queue status flags 10-13
  4550.  10    (S3 Trio64 only) all FIFO slots are empty
  4551.  9    hardware busy
  4552.  8    (8514/A) data ready
  4553.     (S3 Trio64) reserved
  4554.  7    queue status flag 1
  4555.  6-0    queue status flags 2-8 (0=empty, 1=filled)
  4556.     (each bit represents a position in queue)
  4557. Note:    queue status flag N is cleared whenever at least N slots are available
  4558.       in the FIFO; at any given time, the CPU may write only as many values
  4559.       to the FIFO as there are slots available
  4560. SeeAlso: #P366
  4561.  
  4562. Bitfields for 8514/A command register :
  4563. Bit(s)    Description    (Table P366)
  4564.  15-13    command (see #P425)
  4565.  12    byte sequence (0=high byte first, 1=low byte first)
  4566.  11-10    (8514/A) reserved
  4567.  11    (S3 Trio) high bit of command (see #P425)
  4568.  10    (S3 Trio) enable 32-bit write access
  4569.  9    enable 16-bit write access (16BIT)
  4570.  8    0=use 8514/A data, 1=pixel data trans reg (PCDATA) (see PORT E2E8h)
  4571.  7    0=draw vector above, 1=draw vector below (INC_Y)
  4572.  6    0=x is maj. axis, 1=y is maj. axis (YMAJAXIS)
  4573.  5    0=draw vector left, 1=draw vector right (INC_X)
  4574.     (bits 7-5 are the drawing direction in 45-degree increments
  4575.       counterclockwise from the X axis when bit 3 is set)
  4576.  4    0=move only, 1=draw and move (DRAW)
  4577.  3    0=Bresenham line, 1=direct vector (LINETYPE)
  4578.  2    0=draw last pixel, 1=don't draw last pixel (LASTPIX)
  4579.  1    0=single pixel, 1=4pixel (PLANAR)
  4580.  0    0=read data, 1=write data (RD/WR) (must be 1 on S3 Trio)
  4581. SeeAlso: #P365,#P426
  4582.  
  4583. (Table P425)
  4584. Values for 8514/A command:
  4585.  000    no operation (used to force synchronization with graphics processor,
  4586.       or to set up short stroke vector drawing without writing any pixels)
  4587.  001    draw vector
  4588.  010    fast rectangle fill
  4589.  011    (8514/A) rectangle fill vertical #1
  4590.     (S3 Trio64) polygon fill solid
  4591.  100    (8514/A) rectangle fill vertical #2 (4 pixels)
  4592.     (S3 Trio64) 4-point trapezoid fill solid
  4593.  101    (8514/A) draw vector, 1 pixel/scanline
  4594.     (S3 Trio64) Bresenham trapezoid fill solid
  4595.  110    copy rectangle
  4596.  111    (8514/A) reserved
  4597.     (S3 Trio64) patterned BLT
  4598. ---S3 Trio64---
  4599.  1001    polyline / 2-point line
  4600.  1011    polygon fill pattern
  4601.  1100    4-point trapezoid fill pattern
  4602.  1101    Bresenham trapezoid fill pattern
  4603. SeeAlso: #P366
  4604. --------V-P9AEA9AEB--------------------------
  4605. PORT 9AEA-9AEB - S3 Trio64 - DRAWING COMMAND 2
  4606. Desc:    specify the drawing direction for the second edge of a Bresenham
  4607.       trapezoid
  4608. SeeAlso: PORT 9AE8h
  4609.  
  4610. 9AEAw -W  drawing command 2 (see #P426)
  4611.  
  4612. Bitfields for S3 Trio64 Drawing Command 2 register:
  4613. Bit(s)    Description    (Table P426)
  4614.  15-8    reserved
  4615.  7-5    drawing direction
  4616.      7    0=draw vector above, 1=draw vector below (INC_Y)
  4617.      6    0=x is maj. axis, 1=y is maj. axis (YMAJAXIS)
  4618.      5    0=draw vector left, 1=draw vector right (INC_X)
  4619.  4-0    reserved
  4620. SeeAlso: #P366
  4621. --------V-P9AEE------------------------------
  4622. PORT 9AEE - ATI Mach8/Mach32 - LINEDRAW INDEX REGISTER
  4623. SeeAlso: PORT FEEEh
  4624.  
  4625. 9AEE  -W  linedraw index register (specifies interpretation of PORT FEEEh)
  4626.       (see #P367)
  4627.  
  4628. (Table P367)
  4629. Values for ATI Mach8/Mach32 Linedraw Index Register:
  4630.  00h    set current X
  4631.  01h    set current Y
  4632.  02h    set Line End X
  4633.  03h    set Line End Y, draw line, and reset register to 02h
  4634.  04h    set current X (perform moves instead of draws)
  4635.  05h    set current Y and reset register to 04h
  4636. --------X-P9C009CFF--------------------------
  4637. PORT 9C00-9CFF - available for EISA slot 9
  4638. --------X-P9C809C83--------------------------
  4639. PORT 9C80-9C83 - EISA board product ID (board in slot 9)
  4640. SeeAlso: PORT 1C80h-1C83h
  4641. --------X-P9C84------------------------------
  4642. PORT 9C84 - EISA CONFIGURATION FLAGS (board in slot 9)
  4643.  
  4644. 9C84  RW  configuration flags (see #P356)
  4645. --------V-P9EE8------------------------------
  4646. PORT 9EE8-9EE9 - 8514/A and compatible - SHORT STROKE VECTORS
  4647. Desc:    specify two short-stroke vectors to be drawn one after the other
  4648. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4649.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4650.     bit 12 of the command register (see PORT 9AE8h,#P366) specifies which
  4651.       vector is drawn first
  4652.  
  4653. 9EE8w -W  short line vector transfer (see #P427)
  4654.  
  4655. Bitfields for 8514/A short-stroke vector:
  4656. Bit(s)    Description    (Table P427)
  4657.  15-13    second vector: drawing direction
  4658.  12    second vector: draw/move
  4659.  11-0    second vector: length in pixels (less 1)
  4660.  7-5    first vector: drawing direction
  4661.     000  zero degrees = right
  4662.     001  45 degress = up and right
  4663.     010  90 degrees = up
  4664.     ...
  4665.     111 315 degrees = down and right
  4666.  4    first vector: draw/move (=0 move only, =1 draw and move)
  4667.  3-0    first vector: length in pixels (less 1)
  4668. --------S-PA220------------------------------
  4669. PORT A220 - soundblaster support in AMI Hi-Flex BIOS  ????
  4670. ----------PA2E0A2EF--------------------------
  4671. PORT A2E0-A2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  4672.  
  4673. A2E1  RW  GPIB (adapter 5)
  4674. --------V-PA2E8A2EF--------------------------
  4675. PORT A2E8-A2EB - 8514/A and compatible - BACKGROUND COLOR
  4676. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4677.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4678. SeeAlso: PORT A6E8h
  4679.  
  4680. A2E8w -W  drawing control: background color
  4681. A2E8d RW  (S3) drawing control: 32bpp background color
  4682. --------V-PA2EEA2EF--------------------------
  4683. PORT A2EE-A2EF - ATI Mach8/Mach32 - LINE DRAW OPTIONS
  4684. SeeAlso: PORT 8EEEh,PORT CEEEh
  4685.  
  4686. A2EEw RW  line drawing options (see #P368)
  4687.  
  4688. Bitfields for ATI Mach8/Mach32 line drawing options:
  4689. Bit(s)    Description    (Table P368)
  4690.  10-9    clipping mode
  4691.     00 disable clip exception
  4692.     01 stroked plain lines
  4693.     10 polygon boundary lines
  4694.     11 patterned lines
  4695.  8    reset all Bounds Accumulator registers
  4696.  7-5    OCTANT: direction for BitBlts or lines
  4697.  3    direction specification
  4698.     0 = Bresenham/Octant
  4699.         bit 7: increment Y
  4700.         bit 6: Y is major axis instead of X
  4701.         bit 5: increment X
  4702.     1 = line-length and degrees
  4703.         OCTANT field species N*45 degrees
  4704.  2    do NOT draw last pixel of a line
  4705.  1    polyline draw
  4706. --------V-PA6E8A6EF--------------------------
  4707. PORT A6E8-A6EB - 8514/A and compatible - FOREGROUND COLOR
  4708. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4709.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4710. SeeAlso: PORT A2E8h,PORT AAE8h,PORT AEE8h
  4711.  
  4712. A6E8w -W  drawing control: foreground color
  4713. A6E8d RW  (S3) drawing control: foreground color for 32bpp modes
  4714. --------V-PAAE8AAEF--------------------------
  4715. PORT AAE8-AAEB - 8514/A and compatible - WRITE MASK
  4716. Desc:    specify which bit planes are updates when a pixel is written
  4717. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4718.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4719. SeeAlso: PORT A6E8h,PORT AEE8h
  4720.  
  4721. AAE8w -W  drawing control: write mask
  4722. AAE8d RW  (S3) drawing control: write mask for 32bpp modes
  4723. --------V-PAEE8AEEF--------------------------
  4724. PORT AEE8-AEEB - 8514/A and compatible - READ MASK
  4725. Desc:    specify which bit planes are used as a data source
  4726. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4727.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4728. SeeAlso: PORT AAE8h,PORT B2E8h
  4729.  
  4730. AEE8w -W  drawing control: read mask
  4731. AEE8d RW  (S3) drawing control: read mask for 32bpp modes
  4732. --------V-PAFFF------------------------------
  4733. PORT AFFF - VIDEO REGISTER
  4734.  
  4735. AFFF  RW  plane 0-3 system latch (video register)
  4736. --------S-PB220B227--------------------------
  4737. PORT B220-B227 - serial port, description same as 03F8
  4738. --------S-PB228B22F--------------------------
  4739. PORT B228-B22F - serial port, description same as 03F8
  4740. --------V-PB2E8B2EF--------------------------
  4741. PORT B2E8-B2EB - 8514/A and compatible - COLOR COMPARE
  4742. Notes:    supported by ATI Graphics Ultra
  4743.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4744. SeeAlso: PORT B6E8h,PORT BAE8h,PORT BEE8h
  4745.  
  4746. B2E8w -W  drawing control: color compare
  4747. B2E8d RW  (S3) drawing control: color compare for 32bpp modes
  4748. --------V-PB2EE------------------------------
  4749. PORT B2EE - ATI Mach32 - ???
  4750.  
  4751. B2EEw RW  ???
  4752. --------V-PB6E8B6EF--------------------------
  4753. PORT B6E8-B6E9 - 8514/A and compatible - BACKGROUND MIX
  4754. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4755.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4756. SeeAlso: PORT BAE8h,PORT BEE8h,PORT B2E8h
  4757.  
  4758. B6E8w -W  drawing control: background mix (see #P423)
  4759. Note:    this register may be read on S3 chipsets
  4760. --------V-PB6EE------------------------------
  4761. PORT B6EE - ATI Mach32 - ???
  4762.  
  4763. B6EEw RW  ???
  4764. --------V-PBAE8BAEF--------------------------
  4765. PORT BAE8-BAE9 - 8514/A and compatible - FOREGROUND MIX
  4766. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4767.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4768. SeeAlso: PORT B6E8h
  4769.  
  4770. BAE8w -W  drawing control: foreground mix (see #P423)
  4771. Note:    this register may be read on S3 chipsets
  4772.  
  4773. Bitfields for 8514/A color mix register:
  4774. Bit(s)    Description    (Table P423)
  4775.  15-7    reserved
  4776.  6-5    color source
  4777.     00 background color
  4778.     01 foreground color
  4779.     10 CPU data
  4780.     11 display memory
  4781.  4    reserved
  4782.  3-0    mix type
  4783.     0000 negate current color
  4784.     0001 logical zero
  4785.     0010 logical one
  4786.     0011 leave unchanged
  4787.     0100 negate new color
  4788.     0101 current XOR new
  4789.     0110 negate (current XOR new)
  4790.     0111 new color
  4791.     1000 (NOT current) OR (NOT new)
  4792.     1001 current OR (NOT new)
  4793.     1010 (NOT current) OR new
  4794.     1011 current OR new
  4795.     1100 current AND new
  4796.     1101 (NOT current) AND new
  4797.     1110 current AND (NOT new)
  4798.     1111 (NOT current) AND (NOT new)
  4799. --------V-PBAEE------------------------------
  4800. PORT BAEE - ATI Mach32 - ???
  4801.  
  4802. BAEEw RW  ???
  4803. --------V-PBEE8BEEF--------------------------
  4804. PORT BEE8-BEE9 - 8514/A and compatible - MULTIFUNCTION CONTROL
  4805. Notes:    supported by ATI Mach8 and Mach32 chipsets
  4806.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  4807.     writes to the registers accessed via this port are pipelined; a NOP
  4808.       command (see PORT 9AE8h) is required to ensure correct read-back
  4809.       immediately after a write
  4810.  
  4811. BEE8w -W  drawing control: multi-function control (see #P422)
  4812. BEE8w R-  (S3) value of register specified by current value of multi-function
  4813.       read select register (index 0Fh bits 3-0) (see #P422)
  4814.  
  4815. (Table P369)
  4816. Values for index into 8514/A multi-function drawing control registers:
  4817.  00h RW minor axis pixel count
  4818.  01h RW top scissors
  4819.  02h RW left scissors
  4820.  03h RW bottom scissors
  4821.  04h RW right scissors
  4822.  05h -W memory control register
  4823.  08h -W fixed pattern low
  4824.  09h -W fixed pattern high
  4825.  0Ah RW data manipulation control
  4826. ---S3 chipsets---
  4827.  0Dh RW (S3 864/964) miscellaneous 2
  4828.  0Eh RW (S3 801+) miscellaneous
  4829.  0Fh -W (S3 801/805/928) read register select (see #P370)
  4830. SeeAlso: #P422
  4831.  
  4832. Bitfields for 8514/A Multi-Function Control registers:
  4833. Bit(s)    Description    (Table P422)
  4834.  15-12    register index (see #P369)
  4835. ---register 00h: minor axis pixel count---
  4836.  11-0    rectangle height - 1
  4837. ---register 01h: top scissors---
  4838.  11-0    top edge of clipping box
  4839. ---register 02h: left scissors---
  4840.  11-0    left edge of clipping box
  4841. ---register 03h: bottom scissors---
  4842.  11-0    bottom edge of clipping box
  4843. ---register 04h: right scissors---
  4844.  11-0    right edge of clipping box
  4845. ---register 05h: memory control---
  4846.  ???
  4847. ---register 08h: fixed pattern low---
  4848.  11-8    (S3 Trio32/64) reserved
  4849.  7-6    mix register
  4850.     00 always select Foreground Mix register
  4851.     01 reserved
  4852.     10 mix register selected by CPU data
  4853.     11 mix register selected by display memory value
  4854.  5-0    (S3 Trio32/64) reserved
  4855. ---register 09h: fixed pattern high---
  4856.  ???
  4857. ---register 0Ah: data manipulation control---
  4858.  ???
  4859. ---register 0Dh: miscellaneous 2---
  4860.  11-7    reserved
  4861.  6-4    source base address
  4862.     000 in first meg of display memory
  4863.     001 in second meg
  4864.     010 in third meg
  4865.     011 in fourth meg
  4866.  3    reserved
  4867.  2-0    destination base address (settings as for bits 6-4)
  4868. ---register 0Eh: miscellaneous---
  4869.  11-10    reserved (0)
  4870.  9    select 32-bit command registers; disable byte and word writes to regs
  4871.     (see PORT A2E8h,PORT A6E8h,PORT AAE8h,PORT B2E8h)
  4872.  8    enable color comparison
  4873.  7    don't update bitmap if source color differs from Color Compare register
  4874.       (see PORT B2E8h)
  4875.  6    slow Graphics Engine read/modify/write cycle (adds one wait state)
  4876.  5    clipping direction
  4877.     =0 draw only inside clip rectangle
  4878.     =1 draw only outside clip rectangle
  4879.  4    select upper 16 bits of 32-bit registers in 32 bpp graphics mode
  4880.  3-2    source base address, bits 21-20
  4881.  1-0    destination base address, bits 21-20
  4882.     Note:    these base addresses are ignored if the corresponding base
  4883.           address in register 0Dh is nonzero
  4884. ---register 0Fh: multifunction read select---
  4885.  11-4    reserved
  4886.  3-0    (S3)    read select (see #P370)
  4887.  2-0    (8514/A) read select (see #P370)
  4888.  
  4889. (Table P370)
  4890. Values for S3 multifunction read select register:
  4891.  00h    PORT BEE8h register 00h
  4892.  01h    PORT BEE8h register 01h
  4893.  02h    PORT BEE8h register 02h
  4894.  03h    PORT BEE8h register 03h
  4895.  04h    PORT BEE8h register 04h
  4896.  05h    PORT BEE8h register 0Ah
  4897.  06h    PORT BEE8h register 0Eh
  4898.  07h    PORT 9AE8h (bits 11-0 only)
  4899. ---S3 864/964 only---
  4900.  08h    PORT 42E8h (bits 11-0 only)
  4901.  09h    PORT 46E8h
  4902.  0Ah    PORT BEE8h register 0Dh
  4903. SeeAlso: #P369,#P422
  4904. --------X-PC000CFFF--------------------------
  4905. PORT C000-CFFF - PCI Configuration Mechanism 2 - CONFIGURATION SPACE
  4906. Note:    to access the configuration space, write the target bus number to
  4907.       PORT 0CFAh, then write to the Configuration Space Enable register
  4908.       (PORT 0CF8h), and finally read or write the appropriate I/O
  4909.       port(s) in the range C000h to CFFFh (where Cxrrh accesses location
  4910.       'rr' in physical device 'x's configuration data)
  4911. SeeAlso: PORT 0CF8h"Mechanism 2",PORT 0CFAh"Mechanism 2"
  4912. SeeAlso: #0798 at INT 1A/AX=B10Ah
  4913. --------d-PC100C1FF--------------------------
  4914. PORT C100-C1FF - Intel Pentium mboard - PCTech RZ1000 EIDE controller
  4915. Desc:    the PCI configuration registers for the EIDE controller are visible
  4916.       on these ports when the PCI configuration space has been opened via
  4917.       ports 0CF8h and 0CFAh
  4918. SeeAlso: PORT 03F0h"RZ1000",PORT 0CF8h,#0798 at INT 1A/AX=B10Ah
  4919. ----------PC200C204--------------------------
  4920. PORT C200-C204 - Intel Pentium mboard ("Neptune" chipset)
  4921. Desc:    the PCI configuration registers for the motherboard chipset are visible
  4922.       on these ports when the PCI configuration space has been opened via
  4923.       ports 0CF8h and 0CFAh
  4924. SeeAlso: #0798 at INT 1A/AX=B10Ah
  4925. --------S-PC220C227--------------------------
  4926. PORT C220-C227 - serial port, description same as 03F8
  4927. --------S-PC228C22F--------------------------
  4928. PORT C228-C22F - serial port, description same as 03F8
  4929. ----------PC244------------------------------
  4930. PORT C244 - Intel Pentium mboard ("Neptune" chipset)
  4931. ----------PC2E0C2EF--------------------------
  4932. PORT C2E0-C2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  4933.  
  4934. C2E1  RW  GPIB (adapter 6)
  4935. --------V-PC2EE------------------------------
  4936. PORT C2EE - ATI Mach32 - ???
  4937.  
  4938. C2EEw RW  ???
  4939. --------V-PC6EE------------------------------
  4940. PORT C6EE - ATI Mach32 - SHORT-STROKE VECTOR
  4941.  
  4942. C6EEw -W  short-stroke vector
  4943. --------V-PCAEE------------------------------
  4944. PORT CAEE - ATI Mach32 - ???
  4945.  
  4946. CAEEw RW  ???
  4947. ----------PCEEE------------------------------
  4948. PORT CEEE - ATI Mach8/Mach32 - DATAPATH CONFIGURATION
  4949. SeeAlso: PORT 8EEEh
  4950.  
  4951. CEEEw -W  datapath configuration (see #P371)
  4952.  
  4953. Bitfields for ATI Mach8/Mach32 datapath configuration:
  4954. Bit(s)    Description    (Table P371)
  4955.  15-13    foreground color source
  4956.     000 background color reg
  4957.     001 foreground color reg
  4958.     010 pixel transfer reg
  4959.     011 VRAM BitBlt source
  4960.     101 color pattern shift register
  4961.  12    least-significant byte first
  4962.  9    data width is 16 bits instead of 8 bits
  4963.  8-7    background color source
  4964.     00 background color reg
  4965.     01 foreground color reg
  4966.     10 pixel transfer reg
  4967.     11 VRAM BitBlt source
  4968.  6-5    monochrome data source
  4969.     00 always one
  4970.     01 mono pattern register
  4971.     10 pixel transfer register
  4972.     11 VRAM BitBlt source
  4973.  4    enable drawing
  4974.  2    read color data instead of monochrome data
  4975.  1    enable polygon fill BitBlt
  4976.  0    write data to drawing trajectory instead of reading from trajectory
  4977. --------S-PD220D227--------------------------
  4978. PORT D220-D227 - serial port, description same as 03F8
  4979. SeeAlso: PORT 03F8h,PORT D228h
  4980. --------S-PD228D22F--------------------------
  4981. PORT D228-D22F - serial port, description same as 03F8
  4982. SeeAlso: PORT 03F8h,PORT D220h
  4983. --------V-PD2EE------------------------------
  4984. PORT D2EE - ATI Mach32 - ???
  4985.  
  4986. D2EEw RW  ???
  4987. --------V-PDAEEDAEF--------------------------
  4988. PORT DAEE-DAEF - ATI Mach8/Mach32 - SCISSORS REGION (LEFT)
  4989. SeeAlso: PORT 8EE8h,PORT DEEEh"SCISSORS",PORT E2EEh"SCISSORS"
  4990. SeeAlso: PORT E6EEh"SCISSORS"
  4991.  
  4992. DAEEw -W  left edge of "scissors" drawing area (bits 11-0)
  4993. --------V-PDEEEDEEF--------------------------
  4994. PORT DEEE-DEEF - ATI Mach8/Mach32 - SCISSORS REGION (TOP)
  4995. SeeAlso: PORT DAEEh"SCISSORS",PORT E2EEh"SCISSORS",PORT E6EEh"SCISSORS"
  4996.  
  4997. DEEEw -W  top edge of "scissors" drawing area (bits 11-0)
  4998. ----------PE2E0E2EF--------------------------
  4999. PORT E2E0-E2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
  5000.  
  5001. E2E1  RW  GPIB (adapter 7)
  5002. --------V-PE2E8E2E9--------------------------
  5003. PORT E2E8-E2E9 - 8514/A and compatible - PIXEL DATA TRANSFER
  5004. Desc:    all graphics data to be processed by the Graphics Engine is sent
  5005.       through this port
  5006. Notes:    supported by ATI Graphics Ultra
  5007.     supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
  5008.  
  5009. E2E8w -W  drawing control: pixel data transfer
  5010. E2EAw rW  drawing control: pixel data transfer (S3 801+) for 32-bit transfers
  5011. --------V-PE2EEE2EF--------------------------
  5012. PORT E2EE-E2EF - ATI Mach8/Mach32 - SCISSORS REGION (BOTTOM)
  5013. SeeAlso: PORT DAEEh"SCISSORS",PORT DEEEh"SCISSORS",PORT E6EEh"SCISSORS"
  5014.  
  5015. E2EEw -W  bottom edge of "scissors" drawing area (bits 11-0)
  5016. --------V-PE6EEE6EF--------------------------
  5017. PORT E6EE-E6EF - ATI Mach8/Mach32 - SCISSORS REGION (RIGHT)
  5018. SeeAlso: PORT DAEEh"SCISSORS",PORT DEEEh"SCISSORS",PORT E2EEh"SCISSORS"
  5019.  
  5020. E6EEw -W  right edge of "scissors" drawing area (bits 11-0)
  5021. --------V-PEAE8EAEB--------------------------
  5022. PORT EAE8-EAEB - S3 Trio64 - PATTERN
  5023. Desc:    define the position of the top-left corner of an 8x8 pixel pattern
  5024.       stored in off-screen memory which is to be used for patterned fill
  5025.       commands (trapezoid, polygon, etc.)
  5026.  
  5027. EAE8w RW  pattern Y coordinate (bits 11-0)
  5028. EAEAw RW  pattern X coordinate (bits 11-0)
  5029. --------V-PFAEE------------------------------
  5030. PORT FAEE - ATI Mach32 - CHIP IDENTIFICATION REGISTER
  5031. SeeAlso: PORT 56EEh"Mach32",PORT 5EEEh"Mach32"
  5032. --------V-PFEEEFEEF--------------------------
  5033. PORT FEEE-FEEF - ATI Mach8/Mach32 - DIRECT LINE DRAW REGISTER
  5034. SeeAlso: PORT 9AEEh
  5035.  
  5036. FEEEw -W  direct line-draw register
  5037. --------d-Pxxxx------------------------------
  5038. PORT xxxx - Future Domain TMC-3260 PCI SCSI adapter
  5039. Range:    anywhere on 8 byte boundary???
  5040. Note:    Future Domain TMC-3260 PCI SCSI adapter is based upon Future Domain
  5041.       TMC-36C70 SCSI controller which is a PCI version of the TMC-18C30
  5042.       ISA SCSI controller
  5043. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  5044. --------d-Pxxxx------------------------------
  5045. PORT xxxx - AMD Am53C974A PC-SCSI II SCSI adapter
  5046. Range:    anywhere, on a 128-port boundary
  5047. SeeAlso: #0823
  5048.  
  5049. +000  R-  current transfer count register (low)
  5050. +000  -W  start transfer count register (low)
  5051. +004  R-  current transfer count register (middle)
  5052. +004  -W  start transfer count register (middle)
  5053. +008  RW  SCSI FIFO register
  5054. +00C  RW  SCSI command register
  5055. +010  R-  SCSI status register
  5056. +010  -W  destination ID
  5057. +014  R-  interrupt status
  5058. +014  -W  SCSI timeout
  5059. +018  R-  internal state
  5060. +018  -W  synchronous transfer period
  5061. +01C  R-  current FIFO/internal state
  5062. +01C  -W  synchronous offset
  5063. +020  RW  control register 1
  5064. +024  -W  clock factor
  5065. +028  -W  reserved
  5066. +02C  RW  control register 2
  5067. +030  RW  control register 3
  5068. +034  RW  control register 4
  5069. +038  R-  current transfer count register (high) / ID code
  5070. +038  -W  start current transfer count (high)
  5071. +03C      reserved
  5072. +040  RW  DMA command
  5073. +044d RW  DMA starting transfer count (bits 23-0)
  5074. +048d RW  DMA starting physical address
  5075. +04C  R      DMA working byte counter
  5076. +050d R      DMA working address counter
  5077. +054  R      DMA status register
  5078. +058d RW  DMA starting memory descriptor list address
  5079. +05Cd R      DMA working memory descriptor list counter
  5080. +070d Rw  SCSI bus and control (bits 25-24 and 21-0)
  5081. Notes:    the SCSI registers are mapped on DWORD boundaries, even though for most
  5082.       only the least-significant byte is used
  5083.     see "Am53C974A PCscsi(tm) II Technical Manual, Revision 1.0"
  5084.       (file 19113A.PDF) for further details, as well as (file 19084A.PDF)
  5085. --------d-Pxxxx------------------------------
  5086. PORT xxxx - Adaptec AHA-2920 PCI SCSI adapter
  5087. Range:    anywhere on 8 byte boundary???
  5088. Note:    Adaptec AHA-2920 PCI SCSI adapter is based upon Future Domain TMC-36C70
  5089.       SCSI controller which is a PCI version of Future Domain TMC-18C30 ISA
  5090.       SCSI controller
  5091. SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
  5092. --------p-Pxxxx------------------------------
  5093. PORT xxxx - AMD-645 - Power Management Registers
  5094. Range:    on any 256-byte boundary
  5095. SeeAlso: #0848
  5096.  
  5097. +000w RC  power management status (see #P428)
  5098. +002w RW  power management enable (see #P429)
  5099. +004w RW  power management control (see #P430)
  5100. +006      unused???
  5101. +008d RW  power management timer (24 or 32 bits)
  5102. +00C      unused???
  5103. +010d RW  processor power management control (see #P431)
  5104. +014  R-  "P_LVL2" processor level 2 -- reading switches to C2 power state
  5105. +015  R-  "P_LVL3" processor level 3 -- reading switches to C3 power state
  5106. +016      unused???
  5107. +020w RC  general purpose status (see #P432)
  5108. +022w RW  general purpose SCI enable (see #P433)
  5109. +024w RW  general purpose SMI enable (see #P434)
  5110. +026w RW  power supply control (see #P435)
  5111. +028w RC  global power management status (see #P436)
  5112. +02Aw RW  global power management enable (see #P437)
  5113. +02Cw RW  global power management control (see #P438)
  5114. +02E      unused???
  5115. +02F  RW  SMI command
  5116.     writing this port sets the SW_SMI_STS bit (see #P436,#P437)
  5117. +030d RC  primary activity detection status (see #P439)
  5118. +034d RW  primary activity detection enable (see #P440)
  5119. +038d RW  general purpose timer reload enable (see #P441)
  5120. +03C      unused???
  5121. +040  RW  control of general-purpose I/O direction (see #P442)
  5122. +041      ???
  5123. +042  RW  output value for GPIO port (see #P443)
  5124. +043  RW  ???
  5125. +044  RW  input value for GPIO port (see #P444)
  5126. +045  RW  ???
  5127. +046w RW  output value for general-purpose output port
  5128. +048w RW  input value for general-purpose input port
  5129.  
  5130. Bitfields for AMD-645 Power Management Control Status:
  5131. Bit(s)    Description    (Table P428)
  5132.  15    wakeup request -- system will transition from suspend to normal working
  5133.  14-12    reserved (0)
  5134.  11    power button override (set when PWRBTN# asserted for more than 4 sec)
  5135.     system will transition into "soft off" power state
  5136.  10    RTC alarm occurred
  5137.  9    reserved (0)
  5138.  8    "PB_STS" power button -- PWRBTN# asserted (but for less than 4 sec)
  5139.  7-6    reserved (0)
  5140.  5    "GBL_STS" Global Status
  5141.     set by hardware when "BIOS_RLS" set; "BIOS_RLS" cleared by hardware
  5142.       when this bit cleared
  5143.  4    system bus requested by any bus master
  5144.  3-1    reserved (0)
  5145.  0    ACPI timer carried into highest bit
  5146. Note:    all bits are write-clear: write a 1 bit to acknowledge the
  5147.       status and clear that bit
  5148. SeeAlso: #P429,MEM xxxxh:xxx0h"ACPI"
  5149.  
  5150. Bitfields for AMD-645 Power Management Enable register:
  5151. Bit(s)    Description    (Table P429)
  5152.  15-11    reserved (0)
  5153.  10    enable SCI/SMI on RTC alarm
  5154.  9    reserved (0)
  5155.  8    enable SCI/SMI when PB_STS set (see #P428 bit 8)
  5156.  7-6    reserved
  5157.  5    enable SCI/SMI when GBL_STS set (see #P428 bit 5)
  5158.  4-1    reserved
  5159.  0    enable SCI/SMI when ACPI timer carries
  5160. SeeAlso: #P428,#P430,MEM xxxxh:xxx0h"ACPI"
  5161.  
  5162. Bitfields for AMD-645 Power Management Control register:
  5163. Bit(s)    Description    (Table P430)
  5164.  15-14    reserved (0)
  5165.  13    (write) force transition into sleep state (bits 12-10) when set
  5166.     (read) always 0
  5167.  12-10    sleep type
  5168.     000 "soft off" (suspend-to-disk)
  5169.     010 power-on suspend
  5170.     0x1 reserved
  5171.     1xx reserved
  5172.  9-3    reserved
  5173.  2    "GLB_RLS" release SCI/SMI lock
  5174.     when set, BIOS_STS bit set by hardware; when BIOS_STS cleared,
  5175.       hardware clears this bit
  5176.  1    enable transition from suspend to normal working state on bus master
  5177.       request
  5178.  0    power management event interrupt type
  5179.     0 generate SMI
  5180.     1 generate SCI
  5181. SeeAlso: #P428,#P429
  5182.  
  5183. Bitfields for AMD-645 Processor Power Management Control register:
  5184. Bit(s)    Description    (Table P431)
  5185.  31-5    reserved (0)
  5186.  4    enable clock throttling
  5187.     0 = suspend processor on reading P_LVL2 port at offset 14h
  5188.     1 = throttle clock by modulating STPCLK# on reading P_LVL2
  5189.  3-1    throttling duty cycle (proportion of time STPCLK# is asserted)
  5190.     000 reserved
  5191.     001 0 - 1/8
  5192.     010 1/8 - 2/8
  5193.     ...
  5194.     111 6/8 - 7/8
  5195.  0    reserved (0)
  5196. SeeAlso: #P430,#P431
  5197.  
  5198. Bitfields for AMD-645 General Purpose Status register:
  5199. Bit(s)    Description    (Table P432)
  5200.  15-10    reserved (0)
  5201.  9    "USB_STS"    USB peripheral generated resume event
  5202.  8    "RI_STS"    ring detected (RI# asserted)
  5203.  7    "EXT7_STS"    EXTSMI7# pin toggled
  5204.  6-0    "EXT?_STS"    EXTSMI6# - EXTSMI0# pins toggled
  5205. SeeAlso: #P430,#P433
  5206.  
  5207. Bitfields for AMD-645 General Purpose SCI Enable register:
  5208. Bit(s)    Description    (Table P433)
  5209.  15-10    reserved (0)
  5210.  9    enable SCI when USB_STS bit becomes set
  5211.  8    enable SCI when RI_STS bit becomes set
  5212.  7-0    enable SCI when EXT?_STS bit becomes set
  5213. SeeAlso: #P432,#P434
  5214.  
  5215. Bitfields for AMD-645 General Purpose SMI Enable register:
  5216. Bit(s)    Description    (Table P434)
  5217.  15-10    reserved (0)
  5218.  9    enable SMI when USB_STS bit becomes set
  5219.  8    enable SMI when RI_STS bit becomes set
  5220.  7-0    enable SMI when EXT?_STS bit becomes set
  5221. SeeAlso: #P432,#P433,#P435
  5222.  
  5223. Bitfields for AMD-645 Power Supply Control register:
  5224. Bit(s)    Description    (Table P435)
  5225.  15-11    reserved (0)
  5226.  10    enable setting of RI_STS bit to turn on power
  5227.  9    set PB_STS bit to resume from suspend
  5228.  8    set RTC_STS bit to resume from suspend on RTC alarm
  5229.  7-1    reserved (0)
  5230.  0    enable setting of EXT0_STS bit to resume from suspend
  5231. SeeAlso: #P432,#P436,#P437
  5232.  
  5233. Bitfields for AMD-645 PM Global Status register:
  5234. Bit(s)    Description    (Table P436)
  5235.  15-7    reserved (0)
  5236.  6    "SW_SMI_STS" SMI_CMD port has been written
  5237.  5    "BIOS_STS" set whenever GLB_RLS bit is set; GLB_RLS is cleared when
  5238.       this bit is cleared
  5239.  4    legacy USB event occurred
  5240.  3    GP1 timer timed out
  5241.  2    GP0 timer timed out
  5242.  1    secondary event timer timed out
  5243.  0    "PACT_STS" an enabled primary system activity has occurred (see #P440)
  5244. Note:    this register is write-clear: writing a 1 to a bit clears that bit
  5245. SeeAlso: #P435
  5246.  
  5247. Bitfields for AMD-645 PM Global Enable register:
  5248. Bit(s)    Description    (Table P437)
  5249.  15-7    reserved (0)
  5250.  6    enable SMI when SMI_CMD port is written
  5251.  5    enable SMI when BIOS_STS bit set (see #P436)
  5252.  4    enable SMI on legacy USB events
  5253.  3    enable SMI when GP1 timer times out
  5254.  2    enable SMI when GP0 timer times out
  5255.  1    enable SMI when secondary event timer times out
  5256.  0    enable SMI on occurrence of any primary activity
  5257. SeeAlso: #P435,#P436,#P438
  5258.  
  5259. Bitfields for AMD-645 PM Global Control ("GLB_CTL") register:
  5260. Bit(s)    Description    (Table P438)
  5261.  15-9    reserved
  5262.  8    SMI is active
  5263.  7-5    reserved
  5264.  4    SMI lock enabled (write-clear)
  5265.     (must be cleared before bit 8 can be cleared and the next SMI allowed)
  5266.  3    reserved
  5267.  2    type of power button triggering
  5268.     0 generate SCI/SMI on PWRBTN# asserted
  5269.     1 generate SCI/SMI when PWRBTN# becomes deasserted
  5270.     (must be clear to comply with ACPI v0.9, but setting it avoids the
  5271.       situation where holding the power button for four seconds first wakes
  5272.       the system and then puts it into the soft-off state)
  5273.  1    "BIOS_RLS" used by legacy software to release the SCI/SMI lock; when
  5274.       set, the GBL_STS bit is set by hardware; when GBL_STS is cleared,
  5275.       this bit is cleared by hardware
  5276.  0    enable SMI generation
  5277. SeeAlso: #P435,#P436,#P437,MEM xxxxh:xxx0h"ACPI"
  5278.  
  5279. Bitfields for AMD-645 PM Primary Activity Detect Status register:
  5280. Bit(s)    Description    (Table P439)
  5281.  31-8    reserved (0)
  5282.  7    keyboard controller accessed via PORT 0060h
  5283.  6    serial port accessed (via PORT 03F8h-03FFh, 02F8h-02FFh, 03E8h-03EFh,
  5284.       or PORT 02E8h-02EFh)
  5285.  5    parallel port accessed (via PORT 0278h-027Fh or PORT 0378h-037Fh)
  5286.  4    video controller accessed
  5287.  3    IDE or Floppy controller accessed
  5288.  2    reserved (0)
  5289.  1    a primary interrupt occurred (see #0848 [offset 44h])
  5290.  0    ISA busmaster or DMA activity occurred
  5291. Note:    this register is write-clear: write a 1 to a bit to clear it
  5292. SeeAlso: #P440,#P438
  5293.  
  5294. Bitfields for AMD-645 PM Primary Activity Detect Enable register:
  5295. Bit(s)    Description    (Table P440)
  5296.  31-8    reserved (0)
  5297. ---set PACT_STS (see #P436) whenever:
  5298.  7    keyboard controller is accessed via PORT 0060h
  5299.  6    serial port is accessed (via PORT 03F8h-03FFh, 02F8h-02FFh,
  5300.       PORT 03E8h-03EFh, or PORT 02E8h-02EFh)
  5301.  5    parallel port is accessed (via PORT 0278h-027Fh or PORT 0378h-037Fh)
  5302.  4    video controller is accessed
  5303.  3    IDE or Floppy controller is accessed
  5304.  2    reserved (0)
  5305.  1    a primary interrupt occurrs (see #0848 [offset 44h])
  5306.  0    ISA busmaster or DMA activity occurrs
  5307. SeeAlso: #P439,#P438
  5308.  
  5309. Bitfields for AMD-645 GP Timer Reload Enable register:
  5310. Bit(s)    Description    (Table P441)
  5311.  31-8    reserved (0)
  5312.  7    reload GP1 whenever keyboard controller is accessed
  5313.  6    reload GP1 whenever a serial port is accessed
  5314.  5    reserved (0)
  5315.  4    reload GP1 whenever video controller is accessed
  5316.  3    reload GP1 whenever IDE or floppy controller is accessed
  5317.  2-1    reserved (0)
  5318.  0    reload GP0 whenever a primary activity is detected
  5319. SeeAlso: #P440,#P439
  5320.  
  5321. Bitfields for AMD-645 GPIO Direction Control register:
  5322. Bit(s)    Description    (Table P442)
  5323.  7-5    reserved (0)
  5324.  4    direction of GPIO4 (0 = input, 1 = output)
  5325.     this bit sets Pin136, which is always output if configured as GPO_WE#
  5326.  3    direction of GPIO3 (0 = input, 1 = output)
  5327.     this bit sets Pin92, which is always an output if configured as GPI_RE#
  5328.  2    direction of GPIO2/I2CD1 (0 = input, 1 = output)
  5329.  1    direction of GPIO1/I2CD2 (0 = input, 1 = output)
  5330.  0    direction of GPIO0 (0 = input, 1 = output)
  5331. SeeAlso: #P440,#P443
  5332.  
  5333. Bitfields for AMD-645 GPIO Port Output Value register:
  5334. Bit(s)    Description    (Table P443)
  5335.  7-5    reserved
  5336.  4    value for GPIO4 pin (ignored if pin configured as GPO_WE#)
  5337.  3    value for GPIO3 pin (ignored if pin configured as GPI_RE#)
  5338.  2    value for GPIO2/I2CD1 pin
  5339.  1    value for GPIO1/I2CD2 pin
  5340.  0    value for GPIO0 pin
  5341. Note:    while these bits can be read back, they only indicate the values which
  5342.       are driven onto the pins if configured for output; to read the actual
  5343.       input values, use the "input value" register at offset 44h
  5344.       (see #P444)
  5345. SeeAlso: #P444
  5346.  
  5347. Bitfields for GPIO Port Input Value (EXTSMI_VAL) register:
  5348. Bit(s)    Description    (Table P444)
  5349.  7    (if GPIO3 set to input) current EXTSMI7# on XD7 (Pin122)
  5350.  6    (if GPIO3 set to input) current EXTSMI6# on XD6 (Pin121)
  5351.  5    (if GPIO3 set to input) current EXTSMI5# on XD5 (Pin119)
  5352.  4    (if GPIO4 set to input) current EXTSMI4# on XD4 (Pin118)
  5353.     (if GPIO4 set to output) current EXTSMI4# on GPIO4 (Pin136)
  5354.  3    (if GPIO3 set to input) current EXTSMI3# on XD3 (Pin117)
  5355.     (if GPIO3 set to output) current EXTSMI3# on GPIO3 (Pin92)
  5356.  2    GPIO2 input value
  5357.  1    GPIO1 input value
  5358.  0    GPIO0 input value
  5359. SeeAlso: #P443
  5360. --------X-Pxxxx------------------------------
  5361. PORT xxxx - AMD-645 - USB
  5362. SeeAlso: #0847 at INT 1A/AX=B10Ah/SF=1106h
  5363. Note:    further details are supposedly in the UHCI v1.1 standard
  5364.  
  5365. +000w ?W  USB command
  5366. +002w R?  USB status
  5367. +004w ?W  USB interrupt enable
  5368. +006w ??  frame number
  5369. +008d ??  frame list base address
  5370. +00C  ??  Start of Frame Modify
  5371. +00D    unused???
  5372. +010w RW  Port 1 Status/Control
  5373. +012w RW  Port 2 Status/Control
  5374. --------d-Pxxxx------------------------------
  5375. PORT xxxx - Intel 82371 - Bus Master IDE Registers
  5376.  
  5377. +000  RW  command register, primary channel (see #P372)
  5378. +002  Rw  status register, primary channel (see #P373)
  5379. +004d RW  IDE descriptor table pointer, primary channel (see #P374)
  5380. +008  RW  command register, secondary channel (see #P372)
  5381. +00A  Rw  status register, secondary channel (see #P373)
  5382. +00Cd RW  IDE descriptor table pointer, secondary channel (see #P374)
  5383.  
  5384. Bitfields for Intel 82371 Bus Master IDE command register:
  5385. Bit(s)    Description    (Table P372)
  5386.  7-4    reserved
  5387.  3    bus master read/write control
  5388.     =0 read
  5389.     =1 write
  5390.  2-1    reserved
  5391.  0    start/stop bus master
  5392.     =1 start
  5393.     =0 stop
  5394. SeeAlso: #P373,#P374
  5395.  
  5396. Bitfields for Intel 82371 Bus Master IDE status register:
  5397. Bit(s)    Description    (Table P373)
  5398.  7    reserved (0)
  5399.  6    drive 1 is DMA-capable
  5400.  5    drive 0 is DMA_capable
  5401.  4-3    reserved
  5402.  2    IDE interrupt pending
  5403.     write 1 to this bit to clear it
  5404.  1    IDE DMA error
  5405.     write 1 to this bit to clear it
  5406.  0    bus master IDE active (read-only)
  5407. SeeAlso: #P372,#P374
  5408.  
  5409. Bitfields for Intel 82371 Bus Master IDE descriptor table pointer register:
  5410. Bit(s)    Description    (Table P374)
  5411.  31-2    descriptor table base address bits 31-2
  5412.  1-0    reserved
  5413. Note:    the descriptor table must not cross a 4K boundary
  5414. SeeAlso: #P372,#P373
  5415. ----------Pxxxx------------------------------
  5416. PORT xxxx - Intel 82371SB - USB Host I/O Registers
  5417. InstallCheck: see #0913 at INT 1A/AX=B10Ah
  5418. SeeAlso: #0913
  5419.  
  5420. +000w RW  USB command register (see #P375)
  5421. +002w Rw  USB status (see #P376)
  5422. +004w RW  USB interrupt enable (see #P377)
  5423. +006w RW  Frame Number (see #P378)
  5424. +008d RW  Frame List Base Address
  5425.        (bits 11-0 must be written as zeros)
  5426. +00C  RW  Start of Frame Modify (see #P379)
  5427. +010w RW  port 1 status/control (see #P380)
  5428. +012w RW  port 2 status/control (see #P380)
  5429.  
  5430. Bitfields for Intel 82371SB USB command register:
  5431. Bit(s)    Description    (Table P375)
  5432.  15-8    reserved
  5433.  7    maximum packet size (0=32 bytes, 1=64 bytes)
  5434.  6    Host Controller has been configured (set by software)
  5435.  5    software debug mode
  5436.  4    force global resume
  5437.  3    enter global suspend mode
  5438.  2    global reset
  5439.  1    host controller reset
  5440.  0    run/stop schedule (0=stop, 1=run)
  5441. SeeAlso: #P376
  5442.  
  5443. Bitfields for Intel 82371SB USB status register:
  5444. Bit(s)    Description    (Table P376)
  5445.  15-6    reserved
  5446.  5    host controller halted
  5447.  4    host controller process error
  5448.  3    PCI bus error
  5449.  2    resume received
  5450.  1    USB error interrupt
  5451.  0    USB interrupt
  5452. Note:    to clear a bit in this register, write a 1 to it
  5453. SeeAlso: #P375
  5454.  
  5455. Bitfields for Intel 82371SB USB interrupt enable register:
  5456. Bit(s)    Description    (Table P377)
  5457.  15-4    reserved
  5458.  3    enable short packet interrupts
  5459.  2    enable Interrupt On Complete
  5460.  1    enable Resume
  5461.  0    enable Timeout/CRC
  5462. SeeAlso: #P376,#P378
  5463.  
  5464. Bitfields for Intel 82371SB Frame Number register:
  5465. Bit(s)    Description    (Table P378)
  5466.  15-11    reserved
  5467.  10-0    Frame List Current Index/Frame Number
  5468.     incremented at end of each time frame (~1ms)
  5469. Note:    only WORD writes are allowed to this register
  5470. SeeAlso: #P375,#P377
  5471.  
  5472. Bitfields for Intel 82371SB Start of Frame Modify register:
  5473. Bit(s)    Description    (Table P379)
  5474.  7    reserved
  5475.  6-0    SOF timing value (default 64)
  5476. Note:    SOF cycle time equals 11936+timing value
  5477. SeeAlso: #P375
  5478.  
  5479. Bitfields for Intel 82371SB Port 1/2 status/control register:
  5480. Bit(s)    Description    (Table P380)
  5481.  15-13    reserved (0)
  5482.  12    suspend port
  5483.  11-10    reserved
  5484.  9    port in Reset State
  5485.  8    low-speed device is attached (read-only)
  5486.  7    reserved (1)
  5487.  6    resume detected (read-only)
  5488.  5-4    line status (read-only)
  5489.     bit 4: D+ signal line
  5490.     bit 5: D- signal line
  5491.  3    port enabled/disabled status has changed
  5492.     write 1 to this bit to clear it
  5493.  2    port is enabled
  5494.  1    connect status has changed
  5495.     write 1 to this bit to clear it
  5496.  0    current connect status (read-only)
  5497. Note:    only WORD writes are permitted to this register
  5498. SeeAlso: #P375
  5499. --------!---CREDITS--------------------------
  5500. Wim Osterholt        <wim@djo.wtm.tudelft.nl>        Original File
  5501. Chuck Proctor        <71534.2302@CompuServe.COM>
  5502. Richard W. Watson    <73042.1420@CompuServe.COM>
  5503. Matthias Paul        <mpaul@ibh.rwth-aachen.de>
  5504. Serguei Shtyliov    <serge.fido@coudert.msk.ru>        Xirlink XL-22x
  5505. Serguei Shtyliov    <serge.fido@coudert.msk.ru>        TMC-16x0 SCSI
  5506. Serguei Shtyliov    <serge.fido@coudert.msk.ru>        AHA-154x SCSI
  5507.                                 MPU-401 MIDI
  5508.  
  5509. Some of the information in this list was extracted from Frank van Gilluwe's
  5510. _The_Undocumented_PC_, a must-have book for anyone programming down to the
  5511. "bare metal" of a PC.
  5512.  
  5513. Some of the information in this list from the shareware version of Dave
  5514. Williams' DOSREF, v3.0.
  5515.  
  5516. 8514/A hardware ports found in FractInt v18.0 source file FR8514A.ASM
  5517.  
  5518. Compaq QVision info from the _COMPAQ_QVision_Graphics_System_Technical_
  5519. _Reference_Guide_, second edition (October 1993).  Compaq part number
  5520. 073A/0693.  Much more to come!
  5521.  
  5522. AMI keyboard controller PORT 0064h commands from the American Megatrends, Inc.
  5523. _Version_KF_and_KH_Keyboard_Controller_BIOS_Reference_, available on the
  5524. AMI BBS and american.megatrends.com as KFKHMAN.ZIP.
  5525.  
  5526. Various chipset infos from "Het BIOS Boekje" 2nd edition, by Alle Metzlar,
  5527. ISBN 90-72260-59-7 (1995).
  5528.  
  5529. ATA-3 info from "AT Attachment-3 Interface (ATA-3) Revision 1", dated
  5530. April 21, 1995.
  5531.  
  5532. Some additional EISA info from _EISA_System_Architecture_ (second edition),
  5533. by MindShare, Inc. (Addison-Wesley 1995, ISBN 0-201-40995-X).
  5534.  
  5535. AMI BIOS diagnostics codes (port 0080h) from file CHECKPTS on AMI BBS.
  5536.  
  5537. Some S3 and additional ATI Mach8/Mach32 info from Richard F. Ferraro's
  5538. _Programmer's_Guide_to_the_EGA,_VGA,_and_Super_VGA_Cards_, third edition.
  5539.  
  5540. PCnet-ISA info from _Am79C960_PCnet-ISA(tm)_Technical_Manual_, May 1992,
  5541. available from www.amd.com as 16850B.PDF; additional details from file
  5542. 16907B.PDF.
  5543.  
  5544. PCnet-SCSI info from _Am79C974 PCnet(tm)-SCSI_Combination_Ethernet_and_SCSI_
  5545. _Controller_for_PCI_Systems_, available from www.amd.com as 18681B.PDF.
  5546.  
  5547. PCnet-FAST info from _Am79C971 PCnet(tm)-FAST_Single-Chip_Full-Duplex_10/100_
  5548. _Mbps_Ethernet_Controller_for_PCI_Local_Bus_, available from www.amd.com as
  5549. 20550B.PDF.
  5550.  
  5551. S.M.A.R.T. information from _Self-Monitoring,_Analysis,_and_Reporting_
  5552. _Technology_(S.M.A.R.T.)_(SFF-8035i)_, Revision 2.0, April 1, 1996.
  5553. Available as 8035r2_0.PDF from fission.dt.wdc.com/pub/standards/SFF/.
  5554.  
  5555. A variety of ports from Frank van Giluwe's _The_Undocumented_PC_, second
  5556. edition.
  5557.  
  5558. [many more sources listed in BIBLIO.LST]
  5559. --------!---Admin----------------------------
  5560. Highest Table Number = P669
  5561. --------!---FILELIST-------------------------
  5562. Please redistribute all of the files comprising the interrupt list (listed at
  5563. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  5564. quartet of archives named INTER57A through INTER57D (preferably the original
  5565. authenticated PKZIP archives), and the utility and hypertext programs in a trio
  5566. of additional archives called INTER57E.ZIP to INTER57G.ZIP.
  5567.  
  5568. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998 Ralf Brown
  5569. --------!---CONTACT_INFO---------------------
  5570. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  5571. UUCP: {uunet,harvard}!pobox.com!ralf
  5572. FIDO: Ralf Brown 1:129/26.1
  5573.     or post a message to me in the DR_DEBUG echo (I probably won't see it
  5574.     unless you address it to me)
  5575. CIS:  >INTERNET:ralf@pobox.com
  5576.