Cirrus Logic CL-GD 500/600 CL-GD 510/520 CL-GD 610/620 CL-GD 5422 Upto 1MB, 1024x768x256. Very different from 5/6xx series This is sometimes called AVGA3 any relation to AcuMos ?? 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 index 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. GD5422 series: 3C4h index 6 (R/W) bit 0-7 Writing 12h to this register seems to enable extensions. Unlike earlier Cirrus Chips the value can be read from the register. 3C4h index 7 (R/W): bit 0-2 Memory mode. 1=256 colors, 3=15/16 bit RGB, 5=24bit RGB 3C4h index 8 (R/W): 3C4h index 9 (R/W): bit 2-4 Monitor type. 0=Std VGA 3C4h index 0Ah (R/W): 3C4h index 0Bh (R/W): 3C4h index 0Ch (R/W): 3C4h index 0Dh (R/W): 3C4h index 0Eh (R/W): 3C4h index 0Fh (R/W): bit 3-4 Video memory. 0=256K, 1=512K, 2=1MB. 5 Set if 256 or more colors ? 3C4h index 10h (R/W): 3C4h index 11h (R/W): 3C4h index 12h (R/W): 3C4h index 13h (R/W): 3C4h index 18h (R/W): 3C4h index 19h (R/W): 3C4h index 1Ah (R/W): 3C4h index 1Bh (R/W): 3C4h index 1Ch (R/W): 3C4h index 1Dh (R/W): 3C4h index 1Eh (R/W): 3CEh index 09h (R/W): bit 0-7 4K Primary bank number. 3CEh index 0Ah (R/W): bit 0-7 4K bank number (How do you enable this second bank register, and how does it work ?). 3CEh index 0Bh (R/W): 3CEh index 10h (R/W): 3CEh index 11h (R/W): 3CEh index 12h (R/W): 3d4h index 19h (R/W): 3d4h index 1Ah (R/W): bit 0 Set if an interlaced mode. 3d4h index 1Bh (R/W): bit 0 Display Start Address bit 16. Bit 0-15 are in 3d4h index Ch-Dh. 2 Display Start Address bit 17 4 Bit 8 of the CRTC Offset register (3d4h index 13h) ?. 3d4h index 27h (R): Chip ID bit 0-7 8Ah (type2), 8Ch-8Fh (type3), 90h-93h (type5) or 94h-97h (type4). Memory locations: $C000:$6 2 bytes 'CL' if Cirrus Bios ID Cirrus VGA: old:=rdinx(base,12); outp(base+1,0); eagle:=rdinx(base,$1f); wrinx($3c4,6,(eagle shl 4)+(eagle shr 4)); if inp($3c5)=0 then begin outp($3c5,eagle); if inp($3c5)=1 then case eagle of $EC:Cirrus 510/520; $CA:Cirrus 610/620; $EA:Cirrus Video7 OEM; end; end; wrinx(base,12,old); 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. Modes for the GD 5422: 14h T 132 25 16 (8x16) 54h T 132 43 16 (8x8) 55h T 132 25 16 (8x14) 58h G 800 600 16 planar 5Ch G 800 600 256 packed 5Dh G 1024 768 16 planar 5Fh G 640 480 256 packed 60h G 1024 768 256 packed 64h G 640 480 64K Sierra 16bit 65h G 800 600 64K Sierra 16bit 66h G 640 480 32K Sierra 15bit 67h G 800 600 32K Sierra 15bit 6Ah G 800 600 16 planar 6Ch G 1280 1024 16 planar 6Fh G 320 200 64K Sierra 16bit 70h G 320 200 16M RGB 71h G 640 480 16M RG