Dodajem knjige
This commit is contained in:
@@ -0,0 +1,322 @@
|
||||
IBM Color Graphics Adapter (CGA)
|
||||
|
||||
The original CGA was built with discrete logic around an MC6845 display
|
||||
controller.
|
||||
|
||||
On the original CGA and some clones accessing the video memory during the
|
||||
active display time caused the display controller to miss some pixels (seen as
|
||||
"snow"), which is the reason many programs only accesses video memory during
|
||||
vertical or horizontal retrace. This is fixed in some clones and in EGA/VGA
|
||||
adapters.
|
||||
|
||||
Basic features:
|
||||
80x25 text modes in 16colors
|
||||
320x200 4color graphics modes
|
||||
640x200 2 color graphics mode
|
||||
TTL video interface (Red, Green, Blue and Intensity)
|
||||
16KB Video RAM and 2KB ROM for 8x8 font.
|
||||
|
||||
|
||||
Clones:
|
||||
Commodore AGA:
|
||||
Combines CGA, MDA, Hercules and Plantronics support in one chip.
|
||||
Chips & Tech 82c425:
|
||||
Supports both CRT and LCD displays. Greyscale on LCD, supports two softfonts
|
||||
(up to 8x16 pixels) allowing 512 characters on screen. No Snow.
|
||||
Chips & Tech 82c426:
|
||||
Same as 82c425, but also supports Sleep mode, AT&T 400 line Graphics Mode,
|
||||
Color LCDs and upto 32KB video memory.
|
||||
|
||||
|
||||
3D4h (W): Index register.
|
||||
The value written to this register selects which of the data
|
||||
registers will be accessed at 3D5h.
|
||||
|
||||
3D4h index 00h (W): Horizontal Total Register
|
||||
Bit 0-7 Number of characters (-1) in a scan line incl. retrace.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 01h (W): Horizontal Displayed Register
|
||||
Bit 0-7 Number of characters (-1) displayed during a scan line.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 02h (W): Horizontal Sync Position Register
|
||||
Bit 0-7 Number of characters displayed before Horizontal Sync pulse starts.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 03h (W): Horizontal Sync Width Register
|
||||
Bit 0-7 Number of character clocks during a Horizontal Sync pulse.
|
||||
Note: this register is ignored on the CT82c425/6.
|
||||
|
||||
3D4h index 04h (W): Vertical Total Register
|
||||
Bit 0-6 Number of character rows in a frame. This is adjusted by the number
|
||||
of scanlines in a character (index 9) and the Vertical Adjust (index
|
||||
5).
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 05h (W): Vertical Total Adjust Register
|
||||
Bit 0-3 Number of scanlines added to the Vertical Total time.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 06h (W): Vertical Displayed Register
|
||||
Bit 0-6 Number of character rows displayed per frame.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 07h (W): Vertical SyncPosition Register
|
||||
Bit 0-6 Number of character rows displayed before the Vertical Sync pulse
|
||||
starts.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 08h (W): Interlace Mode Register
|
||||
Note: this register is ignored on the CT82c425/6 and F8680.
|
||||
|
||||
3D4h index 09h (W): Maximum Scan Line Register
|
||||
Bit 0-3 Number of scanlines (-1) in a character row.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 0Ah (W): Cursor Start Register
|
||||
Bit 0-4 The scanline (starting from 0) within the character where the
|
||||
cursor starts.
|
||||
5-6 Cursor Attributes:
|
||||
0,2: Cursor is blinking at the blink rate.
|
||||
1: Cursor is turned off.
|
||||
3: Cursor is blinking at half the blink rate.
|
||||
The default blink rate is 1/16 of the frame rate (8 frames on, 8
|
||||
off).
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 0Bh (W): Cursor End Register
|
||||
Bit 0-4 The scanline (starting from 0) within the character where the
|
||||
cursor ends. If the start position (index 0Ah) is larger than this
|
||||
value, no cursor is shown.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 0Ch (W): Start Address High Register
|
||||
Bit 0-5 The upper 6 bits of the address of the start of the display.
|
||||
The lower 8 bits are in index 0Dh.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 0Dh (W): Start Address Low Register
|
||||
Bit 0-7 The lower 8 bits of the address of the start of the display.
|
||||
The upper 6 bits are in index 0Ch.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 0Eh (W): Cursor Location High Register
|
||||
Bit 0-5 The upper 6 bits of the address of the start of the cursor.
|
||||
The lower 8 bits are in index 0Fh.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 0Fh (W): Cursor Location Low Register
|
||||
Bit 0-7 The lower 8 bits of the address of the start of the cursor.
|
||||
The upper 6 bits are in index 0Eh.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 10h (W): Light Pen High Register
|
||||
Bit 0-5 The upper 6 bits of the latched address of the lightpen strobe.
|
||||
The lower 8 bits are in index 11h.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index 11h (W): Light Pen Low Register
|
||||
Bit 0-7 The lower 8 bits of the latched address of the lightpen strobe.
|
||||
The upper 6 bits are in index 10h.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D4h index D3h (R/W): Grey-level Control Register #1 (CT82c426 only)
|
||||
bit 0-7 GC10-17. Parameter for the Monochrome Alternate GrayScale algorithm.
|
||||
Recommended value is 43h. Bit 3 should be 0.
|
||||
|
||||
3D4h index D4h (R/W): Grey-level Control Register #2 (CT82c426 only)
|
||||
bit 0-7 GC20-27. Parameter for the Monochrome Alternate GrayScale algorithm.
|
||||
Recommended value is E6h. Bits 3 and 7 should be 0.
|
||||
|
||||
3D4h index D5h (R/W): General-Purpose Register (CT82c426 only)
|
||||
bit 0 General Purpose I/O bit 1. Data to/from the GPIO1 pin.
|
||||
1 General Purpose I/O 1 Three State Control.
|
||||
If set the GPIO1 pin is three-stated and can be used as an input.
|
||||
If clear the pin is an output.
|
||||
2 General Purpose I/O 1 Mux Control.
|
||||
If set the GPIO1 pin is fed with the data in bit 0, if clear with the
|
||||
Display Enable bit (3DAh bit 0).
|
||||
4 General Purpose I/O bit 2. Data to/from the GPIO2 pin.
|
||||
5 General Purpose I/O 2 Three State Control.
|
||||
If set the GPIO2 pin is three-stated and can be used as an input.
|
||||
If clear the pin is an output.
|
||||
6 General Purpose I/O 2 Mux Control.
|
||||
If set the GPIO2 pin is fed with the data in bit 4, if clear with the
|
||||
ROMCS/ signal
|
||||
|
||||
3D4h index D6h (R/W): Sleep Register (CT82c426 only)
|
||||
bit 0 Sleep Mode Software Enable. If a 1 is written to this bit, the 82c426
|
||||
enters sleep mode when the current display fetch completes.
|
||||
In sleep mode video memory can not be accessed and the SLEEP pin is
|
||||
driven high. If a 0 is written normal operation resumes.
|
||||
1 (R) Sleep Mode Output. Reflects the state of the SLEEP output pin.
|
||||
1 if the 82c426 is in sleep mode or if the Video Enable bit is 0.
|
||||
|
||||
3D4h index D7h (R/W): Panel Size Register (CT82c426 only)
|
||||
bit 0-7 Size of the upper panel (if a two panel system) in scanlines (-1).
|
||||
|
||||
3D4h index D8h (R/W): Panel Configuration Register (CT82c426 only)
|
||||
bit 0-2 LCD Mode. Panel type:
|
||||
0: Single Panel, Single Drive
|
||||
1: Dual-Panel, Single Drive
|
||||
2: Dual-Panel, Dual Drive
|
||||
3: Single Panel, 12bit color
|
||||
4: Single Panel, 4bit color
|
||||
3 Alternate FLM. If clear the FLM (First Line Marker) is generated as
|
||||
in the 82c425: Rising before the LP of the first line and falling
|
||||
after it. If set FLM rises when the last LP of the frame falls, and
|
||||
falls with the falling edge of the first LP of the frame.
|
||||
4 Scan-Doubling Enabled. If set and bit 5 is 0, the scanlines are
|
||||
doubled.
|
||||
5 AT&T Mode Enabled. If set the AT&T Mode register (3DEh) is enabled.
|
||||
If clear the AT&T register is inaccessible.
|
||||
6-7 Memory Configuration 0-1.
|
||||
0: 3 8Kx8 SRAM or 2 8Kx8 SRAM and 1 8Kx8 ROM.
|
||||
1: 1 32Kx8 SRAM
|
||||
2: 1 16Kx8 SRAM and 1 8Kx8 SRAM/ROM
|
||||
3: 1 32Kx8 SRAM and 1 8Kx8 SRAM/ROM
|
||||
|
||||
3D4h index D9h (R/W): AC Control Register (CT82c425/6 only)
|
||||
Bit 0-4 The number of LCD Latch Pulses (-1) for which the AC signal is on
|
||||
and off (50% duty cycle)
|
||||
7 If set the programmable AC signal is enabled. If clear, the AC signal
|
||||
remains ON for one frame and OFF for the next.
|
||||
|
||||
3D4h index DAh (R/W): Threshold Register (CT82c425/6 only)
|
||||
Bit 0-3 Threshold Value.
|
||||
4 Saturation. If set the shifts in fore- and background colors by
|
||||
SMARTMAP is limited to the saturation points, if clear the
|
||||
colormapping will be modulo 16
|
||||
5 Four Grey Scale Bit. If set 4 grey scales is selected, if clear 8
|
||||
grey scales is selected for text modes.
|
||||
6 (82c426 only) Alternate Graylevel Algorithm.
|
||||
|
||||
3D4h index DBh (R/W): Shift Parameter Register (CT82c425/6 only)
|
||||
Bit 0-3 Foreground Shift. The amount of shift for ForeGround colors in the
|
||||
text grey scale scheme.
|
||||
4-7 Background Shift.
|
||||
|
||||
3D4h index DCh (R/W): Horizontal Sync Width Register (CT82c425/6 only)
|
||||
Bit 0-7 Number of Dot clocks in the HSYNC pulse.
|
||||
|
||||
3D4h index DDh (R/W): Vertical Sync Width Register (CT82c425/6 only)
|
||||
Bit 0-3 Vertical Sync Width in scanlines (-1).
|
||||
4-7 Blink rate of characters. The character will be on for (value+1)
|
||||
frames and off for the same number of frames.
|
||||
The cursor blink rate is twice the character blink rate.
|
||||
|
||||
3D4h index DEh (R/W): Shift Parameter Register (CT82c425/6 only)
|
||||
Bit 0-4 (82c425 only) ECLK. The number of output clock pulses (-1) per pulse
|
||||
of the ENABLE CLOCK for the LCD panel
|
||||
0-3 (82c426 only) (R) Silicon Revision.
|
||||
5 CLK SEL. 0 selects the CLK1 input as the master clock source, 1
|
||||
selects the CLK2 input.
|
||||
6-7 CCLK DIV 0-1. Determines the panel shift clock (PCLK) and pixel
|
||||
clock.
|
||||
Value: Pixel freq: PCLK (LCD):
|
||||
0 CLKIN CLKIN/4
|
||||
1 CLKIN/2 CLKIN/8
|
||||
2 CLKIN/3 CLKIN/12
|
||||
3 CLKIN/4 CLKIN/16
|
||||
|
||||
3D4h index DFh (R/W): Function Control Register (CT82c425/6 only)
|
||||
Bit 0 Decode Enable. If clear all accesses to the video memory and the 3Dxh
|
||||
registers will be disabled, except for writes to this bit.
|
||||
When set the memory and registers are accessible.
|
||||
1 Font Enable. If set the font memory can be accessed at B8000h-B9FFFh.
|
||||
If clear the font memory is inaccessible.
|
||||
2 Font Select. If set the font at B9000h is selected, if clear the font
|
||||
at B8000h is the default.
|
||||
3 If set the CRT output is selected, if clear the LCD.
|
||||
4 (LCD only) Status Control. Controls the behavior of the Display
|
||||
Enable bit (3DAh bit 0) and Vertical Sync bit (3DAh bit 3).
|
||||
If clear, the Display Enable bit toggles every 16 character clocks,
|
||||
and the Vertical Sync bit is active during the first scanline.
|
||||
If set the Display Enable bit is active during the first 16 character
|
||||
clocks of each scanline, and from row 22 till the end of the panel in
|
||||
text modes (row 85 in graphics modes). The Vertical Sync bit is
|
||||
active through all scanlines of row 24 in textmodes (row 93 - 96 incl
|
||||
in graphics modes).
|
||||
5 (LCD only) Enable Control.
|
||||
6 If set bit 3 of the attribute byte selects the font, rather than
|
||||
intensity.
|
||||
7 If set the video outputs are inverted.
|
||||
|
||||
3D8h (W): Mode Control register
|
||||
bit 0 80x25 Alpha mode if set, 40x25 else
|
||||
1 Graphics mode if set, alpha else.
|
||||
2 BW mode if set, color else
|
||||
3 Video Enable. Enable video signal if set
|
||||
4 640x200 Graphics mode if set, 320x200 else
|
||||
5 if set bit 7 of the attribute controls background, else blink
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3D9h (W): Color Select register
|
||||
The function of this register depends on the active mode.
|
||||
Text modes: 320x200 modes: 640x200 mode:
|
||||
Bit 0 Blue border Blue background Blue ForeGround
|
||||
1 Green border Green background Green ForeGround
|
||||
2 Red border Red background Red ForeGround
|
||||
3 Bright border Bright background Bright ForeGround
|
||||
4 Backgr. color Alt. intens. colors Alt. intens colors
|
||||
5 No func. Selects palette
|
||||
Palette 0 is Green, red and brown,
|
||||
Palette 1 is Cyan, magenta and white.
|
||||
Note: this register is Read/Write on the CT82c425/6.
|
||||
|
||||
3DAh (R): Status register
|
||||
bit 0 Display Enable. If set Horizontal or Vertical Retrace is active and
|
||||
the video memory may be accessed by the PC.
|
||||
1 Lightpen trigger has occurred if set
|
||||
2 Lightpen switch is off if set
|
||||
3 Vertical Sync. Vertical retrace active if set.
|
||||
Video RAM can be accessed for the next 1.25 ms.
|
||||
Note: The CT82c425/6 modifies bits 0 and 3 for LCD panels. See 3D4h index DFh.
|
||||
|
||||
3DBh (R/W) Clear Light Pen Strobe
|
||||
Reading or writing this register clears the lightpen strobe. This can happen
|
||||
before or after the lightpen position is read from 3D4h index 10h-11h.
|
||||
|
||||
3DCh (R/W): Set Light Pen Strobe
|
||||
Reading or writing this register sets the lightpen strobe, causing the
|
||||
lightpen position to be latched to 3D4h index 10h-11h.
|
||||
The strobe must be cleared by accessing register 3DBh.
|
||||
|
||||
3DDh (W): (AGA - Plantronics)
|
||||
bit 4 Set for 320x200 16color mode, clear for all other (16color?) modes
|
||||
5 Set for 640x200 4color mode, clear for all other (4color?) modes
|
||||
6 If set plane0 is at BC000h-BFFFFh and plane1 at B8000h-BBFFFh,
|
||||
if clear plane0 is at B8000h-BBFFFh and plane1 at BC000h-BFFFFh,
|
||||
7 Set for 640x200 16color mode, clear for all other (16color?) modes.
|
||||
|
||||
3DEh (R/W): AT&T Mode Register (CT82c426 only)
|
||||
bit 0 AT&T Mode. Only effective if 3D4h index D8h bit 5 is set.
|
||||
If clear text modes are displayed as 16line characters and graphics
|
||||
modes are displayed 200 line scandoubled resolution.
|
||||
If set text modes are displayed with 16line characters and graphics
|
||||
modes are displayed as true 400 line modes.
|
||||
3 Page Select. If set display memory is in the 16KB starting from
|
||||
BC000h, if clear in the 16KB starting at B8000h. If there is less
|
||||
than 32KB of video memory this has no effect.
|
||||
6 Enable Underline. If set bit 0 of the attribute byte selects
|
||||
underline (as in the MDA), if clear it selects blue ForeGround.
|
||||
Note: this register is only accessible if 3D4h index D8h bit 5 is set.
|
||||
|
||||
3DFh (W): (AGA - Plantronics)
|
||||
bit 3 132column monochrome text mode
|
||||
4 132column color text mode (3D8h bit 0 must be set)
|
||||
5 Set emulation mode in lieu of DIP switch
|
||||
6 Set monochrome mode in lieu of DIP switch
|
||||
7 Set color mode in lieu of DIP switch
|
||||
|
||||
|
||||
Video Modes:
|
||||
|
||||
00h T 40 25 2 (8x8)
|
||||
01h T 40 25 2 (8x8)
|
||||
02h T 80 25 16 (8x8)
|
||||
03h T 80 25 16 (8x8)
|
||||
04h G 320 200 4
|
||||
05h G 320 200 4
|
||||
06h G 640 200 2
|
||||
Reference in New Issue
Block a user