Żeby zakończyć cykl wypełnianych trójkątów :P ,na koniec 2-4 bitplanowy triangle filler. Ilość bitplanów reguluję się stałą "planes" na początku programu. Sprawdziły się przypuszczenia, że 4 bitplany na blitterze będą szybsze od tych na motoroli (ale różnica nie powala). Samo wypełnianie pojedynczych planów jest NAPRAWDĘ szybkie, szkoda że sporo czasu traci się na przygotowanie blittera do pracy. :( Żeby sprawdzić czas w ramce, naciskamy tradycyjnie Ctrl.

Post's attachments

btri4p.zip 6.11 kb, liczba pobrań: 4 (od 2015-03-05) 

Tylko zalogowani mogą pobierać załączniki.

2

A nie możesz tego na jakiegoś githuba wrzucać? Mnie by było łatwiej.

What can be asserted without proof can be dismissed without proof.

3

albo przynajmniej na dhs.nu

4

Fajny kod, może da się jeszcze jakoś zoptymalizować.

Miałbym jedną prośbę aby dodać "endif" w pliku ste_blit.s w MACRO "sblit        macro".
Teraz za każdym razem gdy kompiluję Twoje testy muszę robić to ręcznie :)

Atari: V4sa TT030 Falcon030 MegaST MegaSTe 1040STe 520STm 800XL 65XE Jaguar Lynx I/II 7800 Portfolio / VME: ATW800/2 Mach64 Mach32 ET4000 CrazyDots PAMNet / SM146 SC1435 SM124 / Antonia2 ATSpeedC16 TF536 PAK68/3
Megafile30 Atari1050 DDDHDD XCA12 SF314 / AVGCART SUBCART SidecarTridge ACSI2STM FujiNet LynxMultiCard SkunkBoard CosmosEx SatanDisk UltraSatan USBFloppyDriveEmulator SDrive SIO2PC Eiffel
http://260ste.atari.org

Możemy spróbować kod jeszcze trochę zoptymalizować, a później można spróbować wrzucić go gdzieś dalej. ENDC - dodałem. Co ciekawe, kompilowało mi się bez zakończenia kompilacji warunkowej... Dziwne.

Można zamienić tablicę masek/offsetów na tablicę masek/offsetów lewą i tablicę masek/offsetów prawą. Wtedy zamiast dwóch lsl.w #3,d0 i lsl.w #3,d1 będą podwójne dodawania add.w d0,d0; add.w d0,d0 i add.w d1,d1; add.w d1,d1. To da oszczędności 12 cykli na linię wypełniającą. Jak będę miał chwilę czasu, zrobię odpowiednie zmiany.

Hmmm. Mam pomysł, jak uszczknąć około 10-15% czasu ramki :D (o ile oczywiście da się to zrealizować), ale wymaga to sporej zmiany w kodzie. Może kiedyś przysiądę i zrobimy najszybsze wypełnianie 4 bitplanowego trójkąta na STeku :P