|
|
BLTCON0
These two control registers are used together to control blitter
operations. There are 2 basic modes, are and line, which are
selected by bit 0 of BLTCON1, as show below.
+--------------------------+---------------------------+
| AREA MODE ("normal") | LINE MODE (line draw) |
+------+---------+---------+------+---------+----------+
| BIT# | BLTCON0 | BLTCON1 | BIT# | BLTCON0 | BLTCON1 |
+------+---------+---------+------+---------+----------+
| 15 | ASH3 | BSH3 | 15 | ASH3 | BSH3 |
| 14 | ASH2 | BSH2 | 14 | ASH2 | BSH2 |
| 13 | ASH1 | BSH1 | 13 | ASH1 | BSH1 |
| 12 | ASA0 | BSH0 | 12 | ASH0 | BSH0 |
| 11 | USEA | 0 | 11 | 1 | 0 |
| 10 | USEB | 0 | 10 | 0 | 0 |
| 09 | USEC | 0 | 09 | 1 | 0 |
| 08 | USED | 0 | 08 | 1 | 0 |
| 07 | LF7(ABC)| DOFF | 07 | LF7(ABC)| DPFF |
| 06 | LF6(ABc)| 0 | 06 | LF6(ABc)| SIGN |
| 05 | LF5(AbC)| 0 | 05 | LF5(AbC)| OVF |
| 04 | LF4(Abc)| EFE | 04 | LF4(Abc)| SUD |
| 03 | LF3(aBC)| IFE | 03 | LF3(aBC)| SUL |
| 02 | LF2(aBc)| FCI | 02 | LF2(aBc)| AUL |
| 01 | LF1(abC)| DESC | 01 | LF1(abC)| SING |
| 00 | LF0(abc)| LINE(=0)| 00 | LF0(abc)| LINE(=1) |
+------+---------+---------+------+---------+----------+
ASH 3-0 Shift value of A source
BSH 3-0 Shift value of B source
USEA Mode control bit to use source A
USEB Mode control bit to use source B
USEC Mode control bit to use source C
USED Mode control bit to use destination D
LF 7-0 Logic function minterm select lines
EFE Exclusive fill enable
IFE Inclusive fill enable
FCI Fill carry input
DESC Descending (decreasing address) control bit
LINE Line mode control bit (set to 0 on normal mode)
DOFF Disables the D output- for external ALUs
The cycle occurs normally, but the data
bus is tristate (hires chips only)
LINE DRAW LINE MODE (line draw)
LINE DRAW
LINE DRAW BIT# BLTCON0 BLTCON1
LINE DRAW
LINE DRAW 15 START3 TEXTURE3
LINE DRAW 14 START2 TEXTURE2
LINE DRAW 13 STARTl TEXTURE1
LINE DRAW 12 START0 TEXTURE0
LINE DRAW 11 1 0
LINE DRAW 10 0 0
LINE DRAW 09 1 0
LINE DRAW 08 1 0
LINE DRAW 07 LF7 0
LINE DRAW 06 LF6 SIGN
LINE DRAW 05 LF5 0 (Reserved)
LINE DRAW 04 LF4 SUD
LINE DRAW 03 LF3 SUL
LINE DRAW 02 LF2 AUL
LINE DRAW 01 LF1 SING
LINE DRAW 00 LF0 LINE(=1)
LINE DRAW
LINE DRAW START 3-0 Starting point of line
LINE DRAW (0 thru 15 hex)
LINE DRAW LF7-0 Logic function minterm
LINE DRAW select lines should be preloaded
LINE DRAW with 4A to select the equation
LINE DRAW D=(AC+ABC). Since A contains a
LINE DRAW single bit true (8000), most bits
LINE DRAW will pass the C field unchanged
LINE DRAW (not A and C), hut one bit will
LINE DRAW invert the C field and combine it
LINE DRAW with texture (A and B and not C).
LINE DRAW The A bit is automatically moved
LINE DRAW across the word by the hardware.
LINE DRAW
LINE DRAW LINE Line mode control bit (set to 1)
LINE DRAW SIGN Sign flag
LINE DRAW 0 Reserved for new mode
LINE DRAW SING Single bit per horizontal line for
LINE DRAW use with subsequent area fill
LINE DRAW SUD Sometimes up or down (=AUD*)
LINE DRAW SUL Sometimes up or left
LINE DRAW AUL Always up or left
LINE DRAW The 3 bits above select the octant
LINE DRAW for line drawing:
LINE DRAW OCT SUD SUL AUL
LINE DRAW
LINE DRAW 0 1 1 0
LINE DRAW 1 0 0 1
LINE DRAW 2 0 1 1
LINE DRAW 3 1 1 1
LINE DRAW 4 1 0 1
LINE DRAW 5 0 1 0
LINE DRAW 6 0 0 0
LINE DRAW 7 1 0 0
LINE DRAW The "B" source is used for
LINE DRAW texturing the drawn lines.
SEE ALSO: Blitter programming
|