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.