[#151] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #150


Ad 1. Nie, to byl test FAST-CHIP.


Jak będziesz testował sprawdź proszę wyniki procedury tylko w fast. Interesuje mnie sama wydajność CPU :)
[#152] Re: W temacie mojej procedury konwersji c2p

@mschulz, post #149

Mam nadzieje ze wszystko dobrze postestowalem. Wyniki sa nastepujace:

FAST-CHIP 2560x1024 -> ok 3.19 FPS (na wieksza rozdzialke zabraklo pamieci)
FAST-FAST 3200x3200 -> ok 1.94 FPS
[#153] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #152

FAST-FAST 3200x3200 -> ok 1.94 FPS


Dzieki. O to mi wlasnie chodzilo. Ja mam na RasPi3 1.645 FPS przy bitmapie 25600x4800, co daje mniej wiecej 10-krotnosc predkosci 68060 :) 68060@670MHz :)
[#154] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #145

Troszkę spóźniona procedura C2P dla 8 bitplanów.

Wyszło mi 108 instrukcji dominujących (wszystkich instrukcji pętli) dla konwersji 16 pikseli. Czyli 6,75 instrukcji na piksel.

Procedura jest bardzo elegancka, szczególnie użycie rejestrów adresowych. Wszystkie maski są cały czas w rejestrach i ładowane tylko raz przed pętlą konwersji.

Procedura oczekuje nast. parametrów w rejestrach:
A0 - adres początku bufora chunky.
A5 - adres końca bufora chunky
A6 - adres tablicy adresów 8 bitplanów

Procedura nadpisuje wejściowe dane chunky.

Uwaga: jest to wersja robocza, nietestowane, ale nie powinno mieć dużych błędów. Na pewno konwertuje prawidłowo.

Tutaj kod procedury:
http://coreprogramming.pl/c2p/c2p-zliczenie.txt

Jeśli chcesz, Phibrizzo, to możesz sprawdzić tę procedurę.

W każdym razie tyle mogę w tej chwili wrzucać. Jeszcze nie mogę transferować danych z mojej Amigi, dopóki nie kupię tej stacji dyskietek na USB.

W wolnej chwili sam zrobię test i może wreszcie usystematyzuję te testy. Liczę na dobre wyniki.

Ostatnia aktualizacja: 12.05.2019 23:12:30 przez Hexmage960
[#155] Re: W temacie mojej procedury konwersji c2p

@Hexmage960, post #154

Gotowi?

Oto napisana przeze mnie przejrzysta i szybka procedura chunky-2-planar, która pobiera dane chunky z rejestrów D0-D3 (lub pamięci), konwertuje w 92 instrukcjach procesora i zwraca w rejestrach D0-D3.

Konwersja zajmuje zatem 5,75 instrukcji na piksel (w ośmiu bitplanach).

Procedura ma służyć jako baza konwersji chunky-2-planar. Wykonuje swoje zadanie poprawnie i szybko. Jest wygodna w obsłudze - można ją dowolnie opakować (może służyć jako makro, lub podprocedura!).

http://coreprogramming.pl/c2p/WPA8-zliczenie.txt

W następnej kolejności chciałbym zrobić właśnie to opakowanie, by osiągnąć funkcjonalność zbliżoną do WritePixelLine8() i WritePixelArray8().

Chciałbym po prostu mieć pod ręką wygodną procedurę WritePixelArray8(), bo będzie bardzo przydatna, gdy będę chciał rysować na ekranie sekwencję wybranych pikseli.

Ostatnia aktualizacja: 17.05.2019 12:21:31 przez Hexmage960
[#156] Re: W temacie mojej procedury konwersji c2p

@Hexmage960, post #154

Jeśli chcesz, Phibrizzo, to możesz sprawdzić tę procedurę.

Sprawdzilem.
O ile procedura i zrodla w C skompilowaly sie bezbledenie, o tyle program sie wywalil.
Nie wiem, cos zrobilem zle?
[#157] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #156

Więc po kolei: co zrobiłeś z moją procedurą? W jaki sposób ją uruchamiałeś i próbowałeś testować?
[#158] Re: W temacie mojej procedury konwersji c2p

@Hexmage960, post #157

A możecie zrobić z tej procedury jakieś exe, które coś pokaże na ekranie? bo temat się ciągnie i ciągnie, a tu tylko mamy jakieś suche dane
[#159] Re: W temacie mojej procedury konwersji c2p

@Hexmage960, post #157

1. Usunalem numeracje i dodalem naglowek: link.
2. Skompilowalem za pomoca PhxAss.
3. Storzylem odpowiedniego inkluda: link
4. Wykozystalem funkcje w programie:
HexWPA2(pixels, pixels + PIXELS, si->bm);
[#160] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #159

A, to teraz jasne. Ta procedura przyjmuje zupełnie inne parametry. Przepraszam, bo chyba wprowadziłem w błąd pisząc, że to "wersja 8-bitplanowa".

@MCCnex
Przygotuję coś działającego, obiecuję - ale obecnie mam mało czasu na Amigowe sprawy.

Ostatnia aktualizacja: 19.05.2019 20:16:06 przez Hexmage960
[#161] Re: W temacie mojej procedury konwersji c2p

@mccnex, post #158

Jak zadziala na 8 bitplanach to pokaze jakis przyklad.
[#162] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #161

Najlepiej przetestuj moją nowszą procedurę (z postu #155).

Tutaj pobierzesz wersję pozbawioną numeracji.

http://coreprogramming.pl/c2p/WPA8.txt

Jest to zupełnie goła procedura chunky-2-planar bez zapisywania danych do pamięci (zwraca w rejestrach).

P.S. Więc tamtą wcześniejszą procedurę testowałem na Amidze i prędkość była przyzwoita. Jakieś 17 FPS na ekranie 320x200 (razem z wypełnianiem tablicy 64000 pikseli).

P.S.2. Nowszą procedurę opakuję jak zapowiadałem, ale mam teraz naprawdę sporo roboty ze studiami, bo czerwiec tuż tuż i licencjat.

Ostatnia aktualizacja: 19.05.2019 20:32:42 przez Hexmage960
[#163] Re: W temacie mojej procedury konwersji c2p

@Hexmage960, post #162

Jesli nie bedzie to samodzielna procedura robiaca wszystko od A do B to tego nie uzyje.
[#164] Re: W temacie mojej procedury konwersji c2p

@Phibrizzo, post #163

Ona konwertuje dane chunky do danych planarnych. Jest to zatem kompletna konwersja c2p.

Przyjmuje dane w D0-D3 (16 pikseli) i zwraca dane planarne w D0-D3 (odpowiednie bitplany są w poszczególnych 16-bitowych słowach).

Trzeba ją oczywiście opakować, ale w tej formie masz gotową procedurę lub makro realizujące c2p.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem