HomeLine-AFilled polygonText block transfer

6.12 Bit block transfer

Name: »Bit block transfer«
Line-A Nummer: $A007
Binding: Bindings für bit_blt
Beschreibung: Diese Line-A Funktion kopiert zwischen einem rechteckigen Quell- und Zielbereich. Dabei kann der Quellbereich zusätzlich mit einem Raster verknüpft werden. Quelle und Ziel können durch eine von 16 möglichen logischen Operationen verknüpft werden. Diese Funktion dient auch als Basis für die Line-A Funktionen Text block transfer und Copy raster form.

Für die Parameter muß eine Struktur des Typs BITBLT ausgefüllt und in Register A6 übergeben werden.

Folgende logische Verknüpfungen stehen zur Verfügung:

Operation Funktion
0 D' = 0 Ziel ist Hintergrundfarbe
1 D' = S & D
2 D' = S &  D
3 D' = S
4 D' =  S & D
5 D' = D
6 D' = S ^ D
7 D' = S | D
8 D' =  (S | D)
9 D' =  (S ^ D)
10 D' =  D
11 D' = S |  D
12 D' =  S
13 D' =  S | D
14 D' =   (S & D)
15 D' = 1 Ziel ist Vordergrundfarbe


D' ist das Ziel (Destination) nach der Verknüpfung, S und D sind Quelle (Source) und Ziel (Destination) vor der Verküpfung. & ist die logische UND (AND) Verknüpfung, | ODER (OR), ^ Exklusiv ODER (XOR) und   die Invertierung.
Ergebnis: Die Funktion liefert keinen Returnwert.
Verfügbar: Alle TOS-Versionen.
Querverweis: Binding   Text block transfer   Copy raster form

6.12.1 Bindings für bit_blt

Pure-C: void bit_blt(BITBLT *bitblt);
Assembler:
movem.l   D0-D2/A0-A2,-(A7)  ; Register retten
move.l    bitblt,A6          ; Adresse BITBLT Struktur
dc.w      $A007              ; Line-A Opcode
movem.l   (A7)+,D0-D2/A0-A2  ; Register restaurieren

HomeLine-AFilled polygonText block transfer