[#161]
Re: Nowa, szybka konwersja chunky-to-planar
Hejka, opracowałem nową, zgrabną i przejrzystą procedurę konwersji chunky-to-planar. Zajęło mi to kilka dobrych dni.
Konwertuje liniowe 32 piksele 1:1 używając tylko i wyłącznie rejestrów procesora (również wszystkie maski)! Brak pośrednich buforów.
Jeszcze gruntownie nie testowałem prędkości, ale na pewno jest poprawna (sprawdzałem pod Asm-One). Wygląda jednak na to, że jest szybka.
![](/images/forum/emoticons/icon_smile.gif)
Zawsze można też zrobić szybszą wersję na pikselach 2:1.
Nota: Procedura może być używana do prostej konwersji 32 pikseli w rejestrach, lub w pętli. W przypadku pętli do dyspozycji pozostaje jeden wolny rejestr - A6, pod który można podpiąć dowolne dane/adresy itp. oraz stos - A7, gdzie można np. odkładać rejestry.
Na końcu pętli są wolne dwa rejestry danych: D0 i D1.
Wynik obliczeń jest w tych rejestrach:
A2: plan 0
A0: plan 1
A3: plan 2
A1: plan 3
D2: plan 4
D4: plan 5
D5: plan 6
D3: plan 7
Rozlokowaniem uzyskanych danych mógłby zajmować się np. Blitter, ale też procesor.
Oto kod źródłowy. Postaram się za jakiś czas porobić gruntowne testy (teraz jestem zajęty).
![](/images/forum/emoticons/icon_wink.gif)
Kod jest freeware, proszę używać tylko w całości i nadmienić autora.
Jeśli ktoś dysponuje teraz jakimś testem, proszę śmiało go zrobić.
http://coreprogramming.pl/chunky/c2p.txt
Ostatnia aktualizacja: 15.09.2017 09:39:37 przez Hexmage960