Co do przebiegów to robię inicjalizację i cztery:
- Inicjalizacja ładuje maski do Halftone.
- Pierwszy przebieg generuje maskę dla lewej strony linii na podstawie leftMask oraz Halftone.
- Drugi przebieg generuje maskę dla prawej strony linii na podstawie rightMask oraz NOT Halftone.
- Trzeci przebieg generuje adres pamięci dla lewej strony linii - (leftMask >>1) AND $7FF8
- Czwarty przebieg generuje adres pamięci dla prawej strony linii - (rightMask >>1) AND $7FF8
Dzięki temu mogłem skrócić "poly_fill_line" do:
.poly_fill_line:
movem.w (A0)+,D0-D3 ; D0 - left; D1 - right; D2 - left mask; D3 - right mask
movea.l a5,a4
lea logLine(a5),a5 ;next y offset line
lea (a4,d0.w),a4 ;add line x offset
sub.w d0,d1 ;line width
asr.w #3,D1
bgt.s .multi_wordsTo uwolniło mi parę rejestrów które mogłem wykorzystać do programowania BLiTTERa.
---Edycja---
ok, gotowe. udało mi się z deka wygładzić kod.
wieczorem może uda mi się uzupełnić brakujący kod dla blitMode (nowa procedura sblit3).


