diff --git a/006.simple_blit/bin/blit.adf b/006.simple_blit/bin/blit.adf index 18bbfb2..af3b8dc 100644 Binary files a/006.simple_blit/bin/blit.adf and b/006.simple_blit/bin/blit.adf differ diff --git a/006.simple_blit/blit.s b/006.simple_blit/blit.s index b6cb08a..343bb25 100644 --- a/006.simple_blit/blit.s +++ b/006.simple_blit/blit.s @@ -110,10 +110,38 @@ TC_XPOS equ 16 TC_YPOS equ 16 TC_XPOS_BYTES equ (TC_XPOS)/8 +;; BLTCON? configuration + +;; http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node011C.html +;; blitter logic function minterm truth table +;; fill in D column for desired function +;; A B C D +;; - - - - +;; 0 0 0 0 +;; 0 0 1 0 +;; 0 1 0 0 +;; 0 1 1 0 +;; 1 0 0 1 +;; 1 0 1 1 +;; 1 1 0 1 +;; 1 1 1 1 +;; +;; then read D column from bottom up = 1111000 = $f0 +;; this is used in the LF? bits +BLIT_LF_MINTERM equ $f0 +BLIT_A_SOURCE_SHIFT equ 0 +BLIT_DEST equ $100 +BLIT_SRCC equ $200 +BLIT_SRCB equ $400 +BLIT_SRCA equ $800 +BLIT_ASHIFTSHIFT equ 12 ;Bit index of ASH? bits +BLIT_BLTCON1 equ 0 ;BSH?=0, DOFF=0, EFE=0, IFE=0, FCI=0, DESC=0, LINE=0 + doblit: movem.l d0-a6,-(sp) bsr blitWait - move.l #$09f00000,BLTCON0(a6) ;A->D copy, no shifts, ascending mode + move.w #(BLIT_SRCA|BLIT_DEST|BLIT_LF_MINTERM|BLIT_A_SOURCE_SHIFT<