📄 8514.txt
字号:
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -