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
Interesting links: