CIRRUS.DOC.TXT

  Cirrus Logic  CL-GD 500/600

    CL-GD 510/520
    CL-GD 610/620


  3C4h index  6  (W):
  bit 0-7  Writing ("Eagle ID" rol 4) will disable extensions.
           "Eagle ID" will enable.
           Reading will return 0 if last write was to disable,
           1 if it was to enable

  3C4h index 80h (R/W): Miscellaneous Control 1

  3C4h index 81h (R/W): Graphics Position 1

  3C4h index 82h (R/W): Graphics Position 2

  3C4h index 83h (R/W): Attribute Controller Index

  3C4h index 84h (R/W): Write Control

  3C4h index 85h (R/W): Timing Control

  3C4h index 86h (R/W): Bandwidth Control

  3C4h index 87h (R/W): Miscellaneous Control 2

  3C4h index 88h (R/W): Horizontal Sync skew

  3C4h index 89h (R/W): CGA, HGC Font Control

  3C4h index 8Ah (R/W): Reserved

  3C4h index 8Bh (R/W): Screen B preset row scan

  3C4h index 8Ch (R/W): Screen B start address high

  3C4h index 8Dh (R/W): Screen B start address low

  3C4h index 8Eh (R): Version Code

  3C4h index 8Fh (R): Version Code

  3C4h index 90h (R/W): Vertical Retrace Start

  3C4h index 91h (R/W): Vertical Retrace End

  3C4h index 92h (R/W): Lightpen High

  3C4h index 93h (R/W): Lightpen Low

  3C4h index 94h (R/W): Pointer Pattern Address High

  3C4h index 95h (R/W): Cursor Height Adjust

  3C4h index 96h (R/W): Caret Width

  3C4h index 97h (R/W): Caret Height

  3C4h index 98h (R/W): Caret Horizontal Position High

  3C4h index 99h (R/W): Caret Horizontal Position Low

  3C4h index 9Ah (R/W): Caret Vertical Position High

  3C4h index 9Bh (R/W): Caret Vertical Position Low

  3C4h index 9Ch (R/W): Pointer Horizontal Position High

  3C4h index 9Dh (R/W): Pointer Horizontal Position Low

  3C4h index 9Eh (R/W): Pointer Vertical Position High

  3C4h index 9Fh (R/W): Pointer Vertical Position Low

  3C4h index A0h (R/W): Graphics Controller Memory Latch 0

  3C4h index A1h (R/W): Graphics Controller Memory Latch 1

  3C4h index A2h (R/W): Graphics Controller Memory Latch 2

  3C4h index A3h (R/W): Graphics Controller Memory Latch 3

  3C4h index A4h (R/W): Clock Select

  3C4h index A5h (R/W): Cursor (Caret and pointer) Attribute

  3C4h index A6h (R/W): Internal Switch Source

  3C4h index A7h (R/W): Status Switch Control

  3C4h index A8h (R/W): NMI Mask 1

  3C4h index A9h (R/W): NMI Mask 2

  3C4h index AAh (R/W): Reserved

  3C4h index ABh (R):   NMI Status 1

  3C4h index ACh (R):   NMI Status 2

  3C4h index ADh (R/W): 256 Color mode Page Control

  3C4h index AEh (R):   NMI data cache (Four 24 bit words

  3C4h index AFh (R/W): Active Adapter State

  3C4h index B0h..BFh (R/W): Scratch Registers

  3C4h index C0h..FFh (R/W): Reserved

  3d4h index  Ch (R/W): Screen A start address Hi
  Must be cleared before the Eagle ID Register (3d4h indec 1Fh) can be read.

  3d4h index 1Fh (R):  Eagle ID register
  bit 0-7  Eagle ID.  Used for test of 3C4h index 6.
           ECh for CL-GD 510/520, CAh for 610/620. EAh for Video7 boards.


  Memory locations:

  $C000:$6  2 bytes  'CL'  if Cirrus Bios



  ID Cirrus VGA:

  port[$3d4]:=12;
  old:=port[$3D5];
  port[$3d5]:=0;
  port[$3d4]:=$1f;
  eagle:=port[$3d5];
  outw[$3c4]:=((eagle shl 4)+(eagle shr 4)) shl 8+6;
  if port[$3c5]=0 then
  begin
    port[$3c5]:=eagle;
    if port[$3c5]=1 then CIRRUS
  end;
  portw[$3d4]:=old shl 8+12;


  Video Modes:

  15h T  132   25   2 (8x14)
  16h T  132   44   2 (8x8)
  18h T  132   30   2 (8x)
  1Eh T  132   25  16 (8x8)
  1Fh T  132   25  16 (8x14)
  20h T  132   44  16 (8x8)
  22h T  132   30  16 (8x)
  31h T  100   37   2
  40h G  720  540  16 planar
  50h G  640  400 256 packed
  51h G  512  480 256 packed    Note: not supported in all Bios'es
  63h G  720  540  16 planar
  64h G  800  600  16 planar
  6Ah G  800  600  16 planar


  Modes for the GD 5320:

  61h G  640  400  16 planar
  62h G  640  450  16 planar
  70h G  360  480 256 packed
  71h G  528  400 256 packed
  72h G  528  480 256 packed
  74h G  320  240 256 packed
  75h G  640  400 256 packed 

  Mode 50h and 51h use a special system where four pixels are stored at the
  same byte address in plane 0,1,2 and 3 respectively.