Dodajem knjige
This commit is contained in:
@@ -0,0 +1,658 @@
|
||||
IBM 8514/A
|
||||
|
||||
8514/A clones:
|
||||
|
||||
ATI 38800-1 (MACH 8), 68800 (MACH 32)
|
||||
Chips&Tech 82c480
|
||||
Paradise WD95c00/01
|
||||
|
||||
|
||||
0102h (R/W): Setup Control Register
|
||||
bit 0 If set the adapter is enabled, if clear the card is
|
||||
invisible to the system.
|
||||
1-7 Reserved(0)
|
||||
|
||||
02E8h W(R): Display Status Register
|
||||
bit 0 SENSE is the result of a wired-OR of 3 comparators, one
|
||||
for each of the RGB video signal.
|
||||
By programming the RAMDAC for various values
|
||||
and patterns and then reading the SENSE, the monitor type
|
||||
(color, monochrome or none) can be determined.
|
||||
1 VBLANK. Vertical Blank State
|
||||
If Vertical Blank is active this bit is set.
|
||||
2 HORTOG. Horizontal Toggle
|
||||
This bit toggles every time a HSYNC pulse starts
|
||||
3-15 Reserved(0)
|
||||
|
||||
02E8h W(W): Horizontal Total Register (H_TOTAL)
|
||||
bits 0-8 Horizontal Total defines the total horizontal scan line width
|
||||
including the display, blank and sync times.
|
||||
All horizontal timings are in "double nuggets"
|
||||
(8 or 10 pixels depending on the state of MEM_CNTL[0]).
|
||||
The actual value is one larger than this register.
|
||||
9-15 Reserved(0)
|
||||
Note: this register is written at 02E8 and read at 26E8h.
|
||||
|
||||
02EAh (R/W): DAC Mask Register (DAC_MASK)
|
||||
bits 0-7 DAC mask. This value is anded to the pixel data before going
|
||||
to the DAC. Set to 0FFh for normal operation.
|
||||
Note: In VGA pass through mode writes to the VGA palette address 03C6h
|
||||
will go to this address to allow the 8514/A to mirror palette changes.
|
||||
|
||||
02EBh (R/W): DAC Read Index Register (DAC_R_INDEX)
|
||||
bits 0-7 DAC Read Index. Indicates which of the 256 palette entries
|
||||
will be read by the current sequence of I/O read operations
|
||||
to the DAC_DATA (02EDh) register.
|
||||
Note: In VGA pass through mode writes to the VGA palette address 03C7h
|
||||
will go to this address to allow the 8514/A to mirror palette changes.
|
||||
|
||||
02ECh (R/W): DAC Write Index Register (DAC_W_INDEX)
|
||||
bits 0-7 DAC Write Index. Indicates which of the 256 palette entries
|
||||
will be written by the current sequence of I/O write operations
|
||||
to the DAC_DATA (02EDh) register.
|
||||
Note: In VGA pass through mode writes to the VGA palette address 03C8h
|
||||
will go to this address to allow the 8514/A to mirror palette changes.
|
||||
|
||||
02EDh (R/W): DAC DATA Register (DAC_DATA)
|
||||
bits 0-7 DAC Data.
|
||||
Note: In VGA pass through mode writes to the VGA palette address 03C9h
|
||||
will go to this address to allow the 8514/A to mirror palette changes.
|
||||
|
||||
06E8h W(W): Horizontal Displayed Register (H_DISP)
|
||||
bits 0-7 Number of "double nuggets"-1 displayed in a scan line.
|
||||
8-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
0AE8h W(W): Horizontal Sync Start Register (H_Sync_STRT)
|
||||
bits 0-7 Hsync starts at (H_SYNC_STRT +1) double nugget periods.
|
||||
8-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
0EE8h W(W): Horizontal Sync Width Register (H_SYNC_WID)
|
||||
bits 0-4 Width of the Horizontal Sync pulse in "double nuggets".
|
||||
5 Horizontal Sync Polarity (HSYNCPOL).
|
||||
If set the Horizontal Sync Pulse is Negative, else Positive.
|
||||
6-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
12E8h W(W): Vertical Total Register (V_TOTAL)
|
||||
bits 0-2 Vertical Total Adjust (VTADJ).
|
||||
3-11 Vertical Total Base (VTB).
|
||||
The Vertical Total is calculated as:
|
||||
Vertical Total = (Scan Modulos * VTB)+VTADJ+1
|
||||
Where the Scan Modulos is found from the DBLSCAN and
|
||||
MEMCFG bits of the DISP_CNTL register (22E8h).
|
||||
|
||||
DBLSCAN: MEMCFG: Scan Modulos:
|
||||
0 0 0 2
|
||||
0 0 1 4
|
||||
0 1 0 6
|
||||
0 1 1 8
|
||||
1 0 0 4
|
||||
1 0 1 8
|
||||
1 1 0 12
|
||||
1 1 1 16
|
||||
12-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
16E8h W(W): Vertical Displayed Register (V_DISP)
|
||||
bits 0-2 Vertical Displayed Adjust (VDADJ)
|
||||
3-11 Vertical Displayed Base (VDB)
|
||||
The Vertical Displayed is calculated as:
|
||||
Vertical Displayed = (Scan Modulos * VDB)+VDADJ+1
|
||||
Where the Scan Modulos is the same as for
|
||||
Vertical Total in 12E8h.
|
||||
12-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
1AE8h W(W): Vertical Sync Start Register (V_SYNC_STRT)
|
||||
bits 0-2 Vertical Sync Start Adjust (VSADJ)
|
||||
3-11 Vertical Sync Start Base (VSB)
|
||||
The Vertical Sync Start is calculated as:
|
||||
Vertical Sync Start = (Scan Modulos * VSB)+VSADJ+1
|
||||
Where the Scan Modulos is the same as for
|
||||
Vertical Total in 12E8h.
|
||||
12-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
1EE8h W(W): Vertical Sync Width Register (V_SYNC_WID)
|
||||
bits 0-4 Number of scanlines in the Vertical Sync pulse.
|
||||
5 Vertical Sync Polarity (VSYNCPOL).
|
||||
If set the Vertical Sync pulse is Negative, else Positive.
|
||||
6-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
22E8h W(W): Display Control Register (DISP_CNTL)
|
||||
bit 0 Odd Bank Enable (ODDBNKENAB).
|
||||
If set use Horizontally Interleaved banks.
|
||||
(Normal 8514/A mode).
|
||||
1-2 Memory Configuration (MEMCFG).
|
||||
0 NCLK (PS8 Mode)
|
||||
1 NCLK/2 (Normal 8514/A Mode)
|
||||
2 NCLK/3
|
||||
3 NCLK/4
|
||||
3 (Double Scan) DBLSCAN. If set doublescan is enabled.
|
||||
4 INTERLACE. Interlace if set.
|
||||
5-6 Display Enable (DISPEN)
|
||||
0 = No effect
|
||||
1 = Enable Hsync, Vsync, Blank, data transfer cycles
|
||||
and refresh cycles.
|
||||
2,3 = Disable Hsync, Vsync, Blank, data transfer cycles
|
||||
and refresh cycles.
|
||||
7-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
26E8h W(R): Horizontal Total Register (H_TOTAL)
|
||||
Note: this register is written at 02E8 and read at 26E8h.
|
||||
|
||||
2EE8h W(R): Subsystem Control Register (SUBSYS_CNTL)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is written to 42E8h and read from 2EE8h.
|
||||
|
||||
42E8h W(R): Subsystem Status Register (SUBSYS_STAT)
|
||||
bit 0-3 Interrupt requests. These bits show the state of internal interrupt
|
||||
requests. An interrupt will only occur if the corresponding bit(s)
|
||||
in SUBSYS_CNTL is set. Interrupts can only be reset by writing a 1
|
||||
to the corresponding Interrupt Clear bit in SUBSYS_CNTL.
|
||||
Bit 0: VBLNKFLG
|
||||
1: PICKFLAG
|
||||
2: INVALIDIO
|
||||
3: GPIDLE
|
||||
4-6 MONITORID.
|
||||
1: IBM 8507 (1024x768) Monochrome
|
||||
2: IBM 8514 (1024x768) Color
|
||||
5: IBM 8503 (640x480) Monochrome
|
||||
6: IBM 8512/13 (640x480) Color
|
||||
7 8PLANE.
|
||||
(CT82c480) This bit is latched on reset from pin P4D7.
|
||||
8-11 CHIP_REV. Chip revision number.
|
||||
12-15 (CT82c480) CHIP_ID. 0=CT 82c480.
|
||||
|
||||
42E8h W(W): Subsystem Control Register (SUBSYS_CNTL)
|
||||
bit 0-3 Interrupt Reset. Write 1 to a bit to reset the interrupt.
|
||||
Bit 0 RVBLNKFLG Write 1 to reset Vertical Blank interrupt.
|
||||
1 RPICKFLAG Write 1 to reset PICK interrupt.
|
||||
2 RINVALIDIO Write 1 to reset Queue Overflow/Data
|
||||
Underflow interrupt.
|
||||
3 RGPIDLE Write 1 to reset GPIDLE interrupt.
|
||||
4-7 Reserved(0)
|
||||
8 IBLNKFLG. If set Vertical Blank Interrupts are enabled.
|
||||
9 IPICKFLAG. If set PICK Interrupts are enabled.
|
||||
10 IINVALIDIO. If set Queue Overflow/Data Underflow Interrupts are
|
||||
enabled.
|
||||
11 IGPIDLE. If set Graphics Engine Idle Interrupts are enabled.
|
||||
12-13 CHPTEST. Used for chip testing.
|
||||
14-15 Graphics Processor Control (GPCTRL).
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is written to 42E8h and read from 2EE8h.
|
||||
|
||||
46E8h W(W): ROM Page Select Register (ROM_PAGE_SEL)
|
||||
bit 0-2 Maps a 4KB page of the onboard 32K ROM to address C7000h-C7FFFh.
|
||||
3 VGA Enable. If set enables the VGA
|
||||
This bit is not implemented in the 8514/A, but in the VGA
|
||||
controller.
|
||||
4 VGA Setup. If set the VGA is in Setup mode.
|
||||
This bit is not implemented in the 8514/A, but in the VGA
|
||||
controller.
|
||||
5-15 Reserved(0)
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
4AE8h W(W): Advanced Function Control Register (ADVFUNC_CNTL)
|
||||
bit 0 DISABPASSTHRU. If clear the VGA video is passed through the
|
||||
8514/A RAMDAC, if set the 8514/A video is passed to the 8514/A
|
||||
RAMDAC.
|
||||
1 RSDV0. Reserved bit 0 = 1.
|
||||
2 Clock Select (CLKSEL).
|
||||
If set a clock of 44.900MHz is used (1024x768 interlaced)
|
||||
if clear a clock of 25.175MHz is used (640x480).
|
||||
The CT82c480 supports 8 clock frequencies through the
|
||||
Extended Configuration Register EC3 (5EE8h).
|
||||
3 RSDV1. Reserved bit 1 =0.
|
||||
4-15 Reserved(0).
|
||||
Note: In the 8514/A this register is Writeonly,
|
||||
In the Chips&Tech 82c480 it is Read/Write.
|
||||
|
||||
52E8h W(R/W): Extended Configuration Register (EC0) (CT82c480 only)
|
||||
bit 0-15 Reserved.
|
||||
|
||||
56E8h W(R/W): Extended Configuration Register (EC1) (CT82c480 only)
|
||||
bit 0-15 Reserved.
|
||||
|
||||
5AE8h W(R/W): Extended Configuration Register (EC2) (CT82c480 only)
|
||||
bit 0-2 Reserved(1)
|
||||
3-4 ROMBASE. Latched on reset from P4D3-4.
|
||||
Determines start address of ROM:
|
||||
8K ROM 32K ROM
|
||||
MC ISA MC ISA MC =Micro Channel
|
||||
0 0C8000 C6000 0D0000 D0000
|
||||
1 0D8000 D8000 0D8000 D8000
|
||||
2 0C0000 C0000 0C0000 C0000
|
||||
3 0C6000 C8000 0C8000 C8000
|
||||
5 ROMSIZE. Latched on reset from P4D5.
|
||||
If set the ROM is 8K, if clear the ROM is 32K.
|
||||
6 ROMPAGING. Latched from P4D6 on reset.
|
||||
If set the ROMPG pins are outputs, if clear they are inputs.
|
||||
7 8 Bit planes (8BP).
|
||||
8-9 BANKS. Number of VRAM banks.
|
||||
0=1 bank, 1=2 banks, 2=3 banks, 3=4 banks.
|
||||
10 If set 256Kx4 VRAMs are used, if clear 64Kx4 VRAMs.
|
||||
Sampled from MA8 on reset.
|
||||
11 5-Pixel Nuggets (5PN). Latched from WE4/ on reset.
|
||||
Determines whether there are 4 or 5 pixels to a nugget.
|
||||
12 Reserved(0)
|
||||
13 8-bit DAC Control (8BITDAC). If set the RAMDAC is 8bit rather than
|
||||
6bit. On reset the 8BITDAC pin is sampled, then the pin turns into
|
||||
an output driven by this bit. This can be used to switch a DAC with
|
||||
6/8bit ability like an IMSG178 or BT478 between 6 and 8 bits.
|
||||
14-15 Reserved(0)
|
||||
|
||||
5EE8h W(R/W): Extended Configuration Register (EC3) (CT82c480 only)
|
||||
bit 0-3 Selects which registers will be read from BEE8h.
|
||||
4 Alternate High Register Select (AHRS). If set writes to video
|
||||
timing registers will go to the Alternate-High register set.
|
||||
5 Alternate Low Register Select (ALRS). If set writes to video timing
|
||||
registers will go to the Alternate-Low register set.
|
||||
6 Alternate High Register Enable (AHRE). If set enables the Alternate
|
||||
High-resolution video timing register set.
|
||||
7 Alternate Low Register Enable (ALRE). If set enables the Alternate
|
||||
Low-resolution video timing register set.
|
||||
8-10 Clock Select 0-2 (CLKSEL0-2). The CT82c480 maintains 3 different
|
||||
clock select register sets. On set each for Alternate High,
|
||||
Alternate Low and normal video.
|
||||
11 Reserved(0)
|
||||
12 OVERRIDE. If set the normal video register set is used.
|
||||
If clear the AHRE and ALRE determines the video register set used.
|
||||
This bit is reset on any write to the ADVFUNC_CTRL register (4AE8h)
|
||||
13-15 Reserved(0)
|
||||
Note: Writes to this register should be 8-bit.
|
||||
|
||||
82E8h W(R/W): Current Y Position Register (CUR_Y)
|
||||
bit 0-11 Y Position. Y co-ordinate of current position in pixels.
|
||||
12-15 Reserved(0)
|
||||
|
||||
86E8h W(R/W): Current X Position Register (CUR_X)
|
||||
bit 0-11 X Position. X co-ordinate of current position in pixels.
|
||||
12-15 Reserved(0).
|
||||
Note: In 5PN mode bits 11, 1 and 0 are remainder bits, bits 2-10 are the
|
||||
current X position modulo 5.
|
||||
|
||||
8AE8h W(R/W): Destination Y Position & Axial Step Constant Register
|
||||
(DESTY_AXSTP)
|
||||
bit 0-11 During BITBLT operations this is the Y co-ordinate of the
|
||||
destination in pixels. During Line Drawing, this is the Bresenham
|
||||
constant 2*dminor. (dminor is the length of the line projected
|
||||
onto the minor or dependent axis).
|
||||
12 AXSTPSIGN. Sign bit for Axial Step Constant.
|
||||
Should be 0 during BITBLT operations.
|
||||
13-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only. In the CT82c480
|
||||
it is read/writable
|
||||
|
||||
8EE8h W(R/W): Destination X Position & Diagonal Step Constant Register
|
||||
(DESTX_DISTP)
|
||||
bit 0-11 During BITBLT operations this is the X co-ordinate of the
|
||||
destination in pixels.
|
||||
During Line Drawing this is the Bresenham constant 2*dminor-
|
||||
2*dmajor. (dminor is the length of the line projected onto
|
||||
the minor or dependent axis, dmajor is the length of the
|
||||
line projected onto the major or independent axis)
|
||||
12 DGSTPSIGN. Sign bit for Diagonal Step Constant
|
||||
(Should be set to 0 for BITBLT operations).
|
||||
13-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only. In the CT82c480
|
||||
it is read/writable
|
||||
|
||||
92E8h W(R/W): Error Term Register (ERR_TERM).
|
||||
bit 0-12 Initial Error Term. This register is programmed to the Bresenham
|
||||
initial error term before a line drawing command is issued.
|
||||
13-15 Reserved. These bits are read/writable but have no function.
|
||||
|
||||
96E8h W(R/W): Major Axis Pixel Count & Rectangle Width Register
|
||||
(MAJ_AXIS_PCNT)
|
||||
bit 0-10 For BITBLT and rectangle commands this is the width of the area.
|
||||
For Line Drawing this is the Bresenham constant dmajor.
|
||||
Must be positive.
|
||||
11-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
9AE8h W(R): Graphics Processor Status Register (GP_STAT)
|
||||
bit 0-7 Queue State.
|
||||
00h = 8 words available - queue is empty
|
||||
01h = 7 words available
|
||||
03h = 6 words available
|
||||
07h = 5 words available
|
||||
0Fh = 4 words available
|
||||
1Fh = 3 words available
|
||||
3Fh = 2 words available
|
||||
7Fh = 1 word available
|
||||
FFh = 0 words available - queue is full
|
||||
8 DATARDY. If set data is ready to be read from
|
||||
the PIX_TRANS register (E2E8h).
|
||||
9 Graphics Processor Busy (GPBUSY)
|
||||
If set the Graphics Processor is busy.
|
||||
10-15 Reserved(0)
|
||||
|
||||
9AE8h W(W): Command Register (CMD)
|
||||
bit 0 WRTDATA. If set VRAM write operations are enabled. If clear
|
||||
operations execute normally but no writes to memory is performed.
|
||||
1 PLANAR defines the orientation of the display bitmap.
|
||||
0=Through plane mode, 1=Across plane mode.
|
||||
2 If set the last pixel of a line command (CMD_LINE, SSV or LINEAF)
|
||||
is not drawn. This is used for mixes such as XOR where drawing the
|
||||
same pixel twice would give the wrong color.
|
||||
For rectangle commands the effect is different depending on the
|
||||
INC_X and INC_Y fields:
|
||||
CMD_RECT
|
||||
If INC_X is set then the rightmost column is not drawn,
|
||||
if clear the leftmost column is not drawn.
|
||||
CMD_RECTV1
|
||||
If INC_Y is set the bottom row is not drawn,
|
||||
if clear the top row is not drawn.
|
||||
CMD_RECTV2
|
||||
No effect
|
||||
CMD_BITBLT
|
||||
If INC_X set the rightmost column is not drawn,
|
||||
if clear the leftmost column is not drawn.
|
||||
3 LINETYPE.
|
||||
0: Bresenham line drawing
|
||||
CMD_LINE draws a line using the Bresenham algorithm as
|
||||
specified in the DESTY_AXSTP (8AE8h), DESTX_DIASTP (8EE8h),
|
||||
ERR_TERM (92E8h) and MAJ_AXIS_PCNT (96E8h) registers
|
||||
1: Vector line draws.
|
||||
CMD_NOP allows drawing of Short Stroke Vectors (SSVs) by
|
||||
writing to the Short Stroke register (9EE8h).
|
||||
CMD_LINE draws a vector of length MAJ_AXIS_PCNT (96E8h)
|
||||
in the direction specified by LINEDIR (bits 5-7).
|
||||
4 DRAW. If clear the current position is moved, but no pixels
|
||||
are modified. This bit should be set when attempting read or
|
||||
write of bitmap data.
|
||||
5-7 LINEDIR. When a line draw command (CMD_LINE) with LINETYPE=1
|
||||
is issued, these bits define the direction of the line
|
||||
counter clockwise relative to the positive X-axis.
|
||||
0 = 000 degrees
|
||||
1 = 045 degrees
|
||||
2 = 090 degrees
|
||||
3 = 135 degrees
|
||||
4 = 180 degrees
|
||||
5 = 225 degrees
|
||||
6 = 270 degrees
|
||||
7 = 315 degrees
|
||||
5 INC_X. This bit together with INC_Y determines which quadrant
|
||||
the slope of a line lies within. They also determine the
|
||||
orientation of rectangle draw commands.
|
||||
If set lines are drawn in the positive X direction (left to right).
|
||||
6 YMAJAXIS. For Bresenham line drawing commands this bit determines
|
||||
which axis is the independent or major axis. INC_X and INC_Y
|
||||
determines which quadrant the slope falls within. This bit further
|
||||
defines the slope to within an octant.
|
||||
If set Y is the major (independent) axis.
|
||||
7 INC_Y. This bit together with INC_X determines which quadrant
|
||||
the slope of a line lies within. They also determine the
|
||||
orientation of rectangle draw commands.
|
||||
If set lines are drawn in the positive Y direction (down).
|
||||
8 (Pixel Data Enable) PCDATA.
|
||||
If set the drawing engine waits for read/write of the PIX_TRANS
|
||||
register (E2E8h) for each pixel during a draw operation.
|
||||
9 16BIT. If set the PIX_TRANS register (E2E8h) is processed
|
||||
internally as two bytes in the order specified by BYTSEQ.
|
||||
If clear all accesses are 8bit.
|
||||
10-11 Reserved(0)
|
||||
12 Byte Sequence (BYTSEQ). Affects both reads and writes of
|
||||
SHORT_STROKE (9EE8h) and PIX_TRANS (E2E8h) when 16bit=1.
|
||||
If set take low byte first, if clear take high byte first.
|
||||
13-15 Draw Command:
|
||||
0 = CMD_NOP. (Should be used for Short Stroke Vectors).
|
||||
1 = CMD_LINE
|
||||
2 = CMD_RECT (Fill rectangle in X direction)
|
||||
3 = CMD_RECTV1 (Fill rectangle in Y direction)
|
||||
4 = CMD_RECTV2 (Fast filled Y direction rectangle)
|
||||
5 = CMD_LINEAF (Outline)
|
||||
6 = CMD_BITBLT (Copy rectangle)
|
||||
7 = illegal
|
||||
|
||||
9EE8h W(R/W): Short Stroke Vector Transfer Register (SHORT_STROKE)
|
||||
bit 0-3 Length of vector projected onto the major axis.
|
||||
This is also the number of pixels drawn.
|
||||
4 Must be set for pixels to be written.
|
||||
5-7 VECDIR. The angle measured counter-clockwise from horizontal
|
||||
right) at which the line is drawn,
|
||||
0 = 000 degrees
|
||||
1 = 045 degrees
|
||||
2 = 090 degrees
|
||||
3 = 135 degrees
|
||||
4 = 180 degrees
|
||||
5 = 225 degrees
|
||||
6 = 270 degrees
|
||||
7 = 315 degrees
|
||||
8-15 The lower 8 bits are duplicated in the upper 8 bits so two
|
||||
short stroke vectors can be drawn with one command.
|
||||
Note: The upper byte must be written for the SSV command to be executed.
|
||||
Thus if a byte is written to 9EE8h another byte must be written to
|
||||
9EE9h before execution starts. A single 16bit write will do.
|
||||
If only one SSV is desired the other byte can be set to 0.
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
A2E8h W(W): Background Color Register (BKGD_COLOR)
|
||||
bit 0-7 Background Color. This is the color used for writing pixels
|
||||
where the Foreground Color Mix is selected and FSS=0, or the
|
||||
Background Color Mix is selected and BSS=0.
|
||||
8-15 Reserved(0)
|
||||
Note: During drawing commands reading this register is equivalent to
|
||||
reading the PIX_TRANS register (E2E8h).
|
||||
This register is writable when GPBUSY=DATARDY=0 or when PCDATA=0.
|
||||
Otherwise during drawing commands with PCDATA=1 a write to A2E8h
|
||||
functions as a write to the PIX_TRANS register.
|
||||
|
||||
A6E8h W(W): Foreground Color Register (FRGD_COLOR)
|
||||
bit 0-7 Foreground Color. This is the color used for writing pixels
|
||||
where the Foreground Color Mix is selected and FSS=1, or the
|
||||
Background Color Mix is selected and BSS=1.
|
||||
8-15 Reserved(0)
|
||||
Note: During drawing commands reading this register is equivalent to
|
||||
reading the PIX_TRANS register (E2E8h).
|
||||
This register is writable when GPBUSY=DATARDY=0 or when PCDATA=0.
|
||||
Otherwise during drawing commands with PCDATA=1 a write to A6E8h
|
||||
functions as a write to the PIX_TRANS register.
|
||||
|
||||
AAE8h W(R/W): Write Mask Register (WRT_MASK)
|
||||
bit 0-7 Writemask. A plane can only be modified if the corresponding
|
||||
bit is set.
|
||||
8-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
AEE8h W(R/W): Read Mask Register (RD_MASK)
|
||||
bit 0-7 Read Mask affects the following commands: CMD_RECT, CMD_BITBLT
|
||||
and reading data in Across Plane Mode.
|
||||
Each bit set prevents the plane from being read.
|
||||
8-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
B2E8h W(R/W): Color Compare Register (COLOR_CMP)
|
||||
bit 0-7 This is an 8 bit color which is compared to the destination
|
||||
data during BitBlts. The arithmetic comparison to be used
|
||||
(<,>,=,true,false, etc..) is specified by the COLCMPO bits
|
||||
of the PIX_CNTL register.
|
||||
If the result of the comparison is true, the destination data
|
||||
is left unchanged.
|
||||
8-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
B6E8h W(R/W): Background Mix Register (BKGD_MIX)
|
||||
bit 0-4 Background MIX (BACKMIX).
|
||||
00 not DST
|
||||
01 0 (false)
|
||||
02 1 (true)
|
||||
03 2 DST
|
||||
04 not SRC
|
||||
05 SRC xor DST
|
||||
06 not (SRC xor DST)
|
||||
07 SRC
|
||||
08 not (SRC and DST)
|
||||
09 (not SRC) or DST
|
||||
0A SRC or (not DST)
|
||||
0B SRC or DST
|
||||
0C SRC and DST
|
||||
0D SRC and (not DST)
|
||||
0E (not SRC) and DST
|
||||
0F not (SRC or DST)
|
||||
10 min(SRC,DST)
|
||||
11 DST-SRC with underflow
|
||||
12 SRC-DST with underflow
|
||||
13 SRC+DST with overflow
|
||||
14 max(SRC,DST)
|
||||
15 (DST-SRC)/2 with underflow
|
||||
16 (SRC-DST)/2 with underflow
|
||||
17 (SRC+DST)/2 with overflow
|
||||
18 DST-SRC with saturate
|
||||
19 DST-SRC with saturate
|
||||
1A SRC-DST with saturate
|
||||
1B SRC+DST with saturate
|
||||
1C (DST-SRC)/2 with saturate
|
||||
1D (DST-SRC)/2 with saturate
|
||||
1E (SRC-DST)/2 with saturate
|
||||
1F (SRC+DST)/2 with saturate
|
||||
DST is always the destination bitmap, bit SRC has four
|
||||
possible sources selected by the BSS bits.
|
||||
5-6 Background Source Select (BSS)
|
||||
0 BSS is Background Color
|
||||
1 BSS is Foreground Color
|
||||
2 BSS is Pixel Data from the PIX_TRANS register (E2E8h)
|
||||
3 BSS is Bitmap Data (Source data from display buffer).
|
||||
7-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
BAE8h W(R/W): Foreground Mix Register (FRGD_MIX)
|
||||
bit 0-4 Foreground MIX (FOREMIX).
|
||||
Same as BACKMIX in B6E8h.
|
||||
5-6 Foreground Source Select (FSS)
|
||||
0 FSS is Background Color
|
||||
1 FSS is Foreground Color
|
||||
2 FSS is Pixel Data from the PIX_TRANS register (E2E8h)
|
||||
3 FSS is Bitmap Data (Source data from display buffer).
|
||||
7-15 Reserved(0)
|
||||
Note: In the original IBM 8514/A this register is Write only.
|
||||
In the CT82c480 it is read/writable
|
||||
|
||||
BEE8h W(W): Multifunction Control Register (MULTIFUNC_CTRL)
|
||||
bit 0-11 Data.
|
||||
12-15 INDEX. indicates which Multifunction register
|
||||
will be written with the data in bits 0-11.
|
||||
Note: Several registers are placed at BEE8h. When BEE8 is written
|
||||
the bits 12-15 selects the specific register to receive the write.
|
||||
Note: In the original IBM 8514/A these registers are write-only.
|
||||
The CT 82c480 allows reading the registers by writing the index
|
||||
to bits 0-3 of the Extended Configuration Register 3 (5EE8h)
|
||||
and then reading BEE8h. Bits 12-15 read are not valid.
|
||||
|
||||
BEE8h index 00h W(W): Minor Axis Pixel Count Register (MIN_AXIS_PCNT).
|
||||
bit 0-10 Height of BITBLT or rectangle command.
|
||||
Actual height is one larger.
|
||||
11 Reserved(0)
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 01h W(W): Top Scissors Register (SCISSORS_T).
|
||||
bit 0-11 Minimum Y co-ordinate value for the scissors rectangle.
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 02h W(W): Left Scissors Registers (SCISSORS_L).
|
||||
bit 0-11 Minimum X co-ordinate value for the scissors rectangle.
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 03h W(W): Bottom Scissors Register (SCISSORS_B).
|
||||
bit 0-11 Maximum Y co-ordinate value for the scissors rectangle.
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 04h W(W): Right Scissors Register (SCISSORS_R).
|
||||
bit 0-11 Maximum X co-ordinate value for the scissors rectangle.
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 05h W(W): Memory Control Register (MEM_CNTL).
|
||||
bit 0-1 HORCFG. Xco-ordinate divider.
|
||||
0=4, 1=5, 2=8 and 3=10.
|
||||
Bit 0 is set if using 5-pixel operations
|
||||
and bit 1 is set if the VRAMs are interleaved horizontally.
|
||||
2-3 VRTCFG. VRAM banks.
|
||||
If using 256KBit banks 0=2 banks and 1=4banks.
|
||||
If using 1MBit banks 1=1 Bank, 2=2 banks and 3=4 banks.
|
||||
4 BUFSWP. Used to select planes when in Pseudo 8-plane mode.
|
||||
If set buffer 1 (upper 4 planes) is selected.
|
||||
If clear buffer 0 (lower 4 planes) is selected.
|
||||
5-11 Reserved(0)
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 08h W(W): Fixed Pattern Low Register (PATTERN_L).
|
||||
bit 0-4 Mask low is used to select the mix on a pixel by pixel basis.
|
||||
If MIXSEL=01 then test pattern registers are used to select
|
||||
ForeGround or background mix. Mask Low applies to even numbered
|
||||
nuggets (0 is leftmost on the screen).
|
||||
A 0 selects BACKMIX and a 1 selects FOREMIX.
|
||||
Bit 4 is pixel 0 and bit 0 is pixel 4 (if in 5PN mode).
|
||||
5-11 Reserved(0)
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 09h W(W): Fixed Pattern High Register (PATTERN_H).
|
||||
bit 0-4 Mask low is used to select the mix on a pixel by pixel basis.
|
||||
If MIXSEL=01 then test pattern registers are used to select
|
||||
ForeGround or background mix. Mask High applies to odd numbered
|
||||
nuggets (0 is leftmost on the screen).
|
||||
A 0 selects BACKMIX and a 1 selects FOREMIX.
|
||||
Bit 4 is pixel 0 and bit 0 is pixel 4 (if in 5PN mode).
|
||||
5-11 Reserved(0)
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
BEE8h index 0Ah W(W): Pixel Control Register (PIX_CNTL).
|
||||
BIT 0 Intra-Nugget Alignment (INA5PN).
|
||||
If set BitBlt data in the internal data buffer is aligned on
|
||||
Modulos 5 basis rather than Modulos 4.
|
||||
1-2 PLANEMODE.
|
||||
0 Normal Operation
|
||||
1 Indeterminate
|
||||
2 Fill area using RD_MASK as boundary mask.
|
||||
Does not fill second edge of boundary;
|
||||
Plane Mask is a mixture of RD_MASK and WRT_MASK.
|
||||
3 Fill area using WRT_MASK as boundary mask.
|
||||
Does fill second edge of boundary;
|
||||
Plane Mask is WRT_MASK (although RD_MASK must be
|
||||
non-zero for correct operation).
|
||||
3-5 Color Comparison operation (COLCMPOP).
|
||||
Determines the comparison performed on each pixel.
|
||||
0 False (always write DST)
|
||||
1 true (never write DST)
|
||||
2 DST >= COLOR_CMP
|
||||
3 DST < COLOR_CMP
|
||||
4 DST <> COLOR_CMP
|
||||
5 DST = COLOR_CMP
|
||||
6 DST <= COLOR_CMP
|
||||
7 DST > COLOR_CMP
|
||||
6-7 Mix Select (MIXSEL).
|
||||
0 FOREMIX is always used.
|
||||
1 PATTERN_L,PATTERN_H select mix.
|
||||
2 Data from PIX_TRANS selects the mix (1=FOREMIX).
|
||||
3 SRC selects mix (used for transparency during BITBLT).
|
||||
8-11 Reserved(0)
|
||||
Note: See note above on reading BEE8h.
|
||||
|
||||
E2E8h W(R/W): Pixel Data Transfer Register (PIX_TRANS)
|
||||
bit 0-15 Data can be read from or written to the display buffer.
|
||||
In through plane mode (PLANAR=0), bits 0-7 and 8-15 map onto
|
||||
bit planes 0-7 of an individual pixel.
|
||||
In across plane mode (PLANAR=1) bits 0-4 and 8-12 map onto pixels
|
||||
0-4 within a nugget (1 bit per pixel).
|
||||
Note: The original IBM 8514/A should always be accessed with 16bit read/writes
|
||||
Note: The original IBM 8514/A can also access this register at A2E8h and A6E8h
|
||||
during drawing commands.
|
||||
Reference in New Issue
Block a user