Komentowana treść: Nowa, szybka konwersja chunky-to-planar
[#1] Re: Nowa, szybka konwersja chunky-to-planar
To kiedy będzie można pograć w Doom na A500?
[#2] Re: Nowa, szybka konwersja chunky-to-planar

@Leon, post #1

Co to właściwie znaczy „autor zastrzega sobie prawo do kodu”? Jakie prawo i na jakiej licencji ten kod upublicznił?
[#3] Re: Nowa, szybka konwersja chunky-to-planar
[#4] Re: Nowa, szybka konwersja chunky-to-planar

@Krashan, post #2

A to można sobie tak coś na słowo zastrzec?
W procedurze ani słowa na jakiej licencji jet ten kod.
[#5] Re: Nowa, szybka konwersja chunky-to-planar

@Krashan, post #2

Po angielsku "Copyrights". Prawo do używania tego kodu we własnych programach należy uzyskać ode mnie jako autora.

https://pl.wikipedia.org/wiki/Prawo_autorskie

Ale oczywiście "po koleżeńsku" można się również dogadać.
[#6] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #5

Robert masz może skompilowane demo z tą procedurą?
Chciałbym zobaczyć jak szybko to działa w praktyce.
[#7] Re: Nowa, szybka konwersja chunky-to-planar

@Leon, post #4

Na mój gust skoro nie ma, to znaczy się, że nie możesz jej wykorzystać, chyba, że dostaniesz osobne zezwolenie. To tak jak kiedyś było przed czasami "otwartych licencji". Tu chyba zastrzegać jak jakiegoś wynalazku nie trzeba, bo to pod prawa autorskie podchodzi jak np. napisanie książki. No, ale ja się nie znam, tak gdybam.
[#8] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #5

[#9] Re: Nowa, szybka konwersja chunky-to-planar

@Leon, post #6

Podrzucę Ci demo na dniach, jak ułożę jakieś sensownie wyglądające. Wczoraj testowałem tą procedurę na Blizzardzie 1230/50MHz. Jest OK :)
[#10] Re: Nowa, szybka konwersja chunky-to-planar

@] SKOLMAN_MWS ˇ agrEssOr [, post #8

Obejrzę w wolnej chwili.
[#11] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #9

Dzięki wielkie, chętnie przetestuję.
[#12] Re: Nowa, szybka konwersja chunky-to-planar
Jeśli czegoś nie da się zrobić, to musi przyjśc taki co o tym nie wie i to zrobi.
A większośc tylko baja co cy było gdyby...
[#13] Re: Nowa, szybka konwersja chunky-to-planar
A mozna by bylo zrobic jakis test porownawczy? Bardzo by mnie interesowalo jak wypada ta procedura np w porownaniu z Kalmsowa.
[#14] Re: Nowa, szybka konwersja chunky-to-planar
To kiedy konwersja Wolfensteina 3D na A500 z 1MB ?
[#15] Re: Nowa, szybka konwersja chunky-to-planar

@Phibrizzo, post #13

na 100% wypada gorzej. zapomnij.

a bardziej merytorycznie:
- konwertuje na raz tylko 32piksele + nie ma opisanego interfejsu. trzeba by przerobic na wieksza petle, dodac opis, ze tablica z adresami bitplanow jest w rejestrze a1.
- nie wymaga bitmapy typu interleaved przez co ma koszmarnie rozwiazany zapis do bitplanow (adczyt adresu, zapis pod adres i inkrementacja, uaktualnienie adresu. i tak 8 razy)
- na 060 dodatkowo spowalnia brak sparowania instrukcji
- wymaga 'poprzestawianych' danych wejsciowych co utrudnia stosowanie
- zapisy do pamieci chip sa realizowane nieoptymalnie. powinna byc jak najwieksza przerwa pomiedzy zapisami

Na 68000 po c2p po prostu musi byc realizowany poprzez polaczenie cpu i blittera. proponuje lekture http://ada.untergrund.net/?p=boardthread&id=217 albo opis ze zrodel gry ktora jakos ostatnio pojawila sie na PPA.

Ostatnia aktualizacja: 14.11.2015 14:25:05 przez kiero
[#16] Re: Nowa, szybka konwersja chunky-to-planar

@kiero, post #15

czyli wolfsteina na A500 jednak nie bedzie?
[#17] Re: Nowa, szybka konwersja chunky-to-planar

@selur, post #16

Na pewno nie uzywajac tego kodu.
[#18] Re: Nowa, szybka konwersja chunky-to-planar

@kiero, post #15

nie ma opisanego interfejsu. trzeba by przerobic na wieksza petle, dodac opis, ze tablica z adresami bitplanow jest w rejestrze a1.

Zapomniałem podać parametry procedury:
A0 - adres bufora chunky
A1 - 8 adresów planów
A2 - adres końca danych chunky

Również nie napisałem, że wszystkie rejestry trzeba zachować przed wejściem do procedury i odzyskać po wyjściu z procedury.

Dla mnie OK, że podałeś minusy - zawsze procedurę można poprawiać. Przykładowo support dla bitmapy interleaved. Moim zdaniem najlepiej najpierw porobić testy, a potem poprawiać.

Porady Twoje Kiero przyjmuję bardzo pozytywnie. Podobnie przyjąłbym porady samego Kalmsa. Wszak jestem dopiero początkującym koderem. Przyznam, że bycie na scenie było moim marzeniem, którego nie dało się zrealizować.

Nie wiem jak moja procedura wypada na tle obecnych, ale mam nadzieję, że należy do tych szybszych. Porobię bardziej szczegółowe testy.
[#19] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #18

Czyli z dużej chmury... Ech...
[#20] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #18

Cała heca z tym niusem jest taka, że
jestem dopiero początkującym koderem

ale
mam nadzieję, że należy do tych szybszych

co jest wątpliwe.

Jak chcesz się sprawdzić z najlepszymi to dopisz swoją procedurę do tego.
[#21] Re: Nowa, szybka konwersja chunky-to-planar

@cholok, post #20

Zastanawiam się jaką wagę ma to, że procedura konwersji c2p pracuje bez zaglądania do pamięci, jaką to, że zapis do pamięci CHIP powinien być robiony z większymi odstępami (zależy od procesora), a jaki to, że bitmapa ma być interleaved. Przecież jeszcze nic nie jest przesądzone.

Myślę, że moja procedura jest całkiem szybka (wiem z dotychczasowych testów), może różnie sobie radzić w różnych środowiskach. Jestem początkujący - jako publikujący swoje dokonania. Jakieś tam z asemblerem doświadczenie mam.

W ocenie szybkości c2p jest zatem wiele czynników. Być może moja procedura rzuci jakieś tam światło na możliwości optymalizacyjne. Ja w każdym razie cieszę się, że taką procedurę udało mi się opracować.

Ostatnia aktualizacja: 14.11.2015 15:25:00 przez Hexmage960
[#22] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #21

A jak jest z tymi osławnonymi "prawami do kodu"? Podobnie jak Krashan, interesuje mnie to.

O jakie prawo chodzi i o jakie zastrzeżenie??

EDIT - niedoczytałem.

Po angielsku "Copyrights". Prawo do używania tego kodu we własnych programach należy uzyskać ode mnie jako autora.

https://pl.wikipedia.org/wiki/Prawo_autorskie

Ale oczywiście "po koleżeńsku" można się również dogadać.


Czyli kod jest chroniony. Otwarte źródła bez licencji open source np. wyglądają co najmniej dziwnie...

Co do prawa używania kodu (licencja), to jakie są warunki jeśli można wiedzieć? Jak rozumiem, komercyjne, skoro to jest chronione.

Ostatnia aktualizacja: 14.11.2015 15:21:19 przez DiskDoctor
[#23] Re: Nowa, szybka konwersja chunky-to-planar

@DiskDoctor, post #22

Być może nie dodałem do kodu warunków licencyjnych, ale zaznaczam, że kod jest objęty prawami autorskimi. Nie można kopiować tego kodu bez zezwolenia.
[#24] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #21

Sorry, ale raczej bedzie dosc wolna. Najwolniejszy na prawdziwej Amidze jest zapis do chipu, dlatego tyle kombinacji z odpowiednim wyborem miejsca zapisu do chipu. Co do samego kodu to uzywanie and.l #xxxxxxxx,Dx jest wolniejsze niz and.l Dy,Dx. No ale mozesz sam porobic testy szybkosciowe swojej procedury zarowno przy zapisie do fastu jak i do chipu, i porownac wyniki z tymi z watku na EAB.

Ostatnia aktualizacja: 14.11.2015 15:28:57 przez Don_Adan
[#25] Re: Nowa, szybka konwersja chunky-to-planar

@Don_Adan, post #24

Dziękuję. Akurat danych natychmiastowych nie umieściłem w rejestrach danych bo używam wszystkich 8. Tak jak napisałem, poczekajmy na wyniki testów.
[#26] Re: Nowa, szybka konwersja chunky-to-planar

@selur, post #16

Dobra procedura też wszystkiego nie załatwi. Jeżeli Robert stworzy edytor dzięki któremu będzie można budować poziomy 3D to na pewno znajdzie się duża grupa osób chętnych do pomocy przy tworzeniu poziomów czy oprawy audio wizualnej. Także Robert masz mój miecz. OK

Ps. I nie słuchaj tych malkontentów, scenowcy przez 20 lat naklepali miliony linijek kodu a jakoś nie przełożyło się to na ilość wydanych gier na Amigę. Także nie patrz się na innych i realizuj swoje pomysły i marzenia.
[#27] Re: Nowa, szybka konwersja chunky-to-planar

@Leon, post #26

Stawiam na współpracę. Chętnie przyjmę jak i ofiaruję pomoc przy twórczości na ile potrafię. Mam nadzieję, że moja procedura dobrze się sprawuje, będzie służyć jako podstawa do tworzenia gier, które najlepiej działają na pikselach chunky. Uważam, że konstruktywna krytyka jest zawsze pomocna, ktoś przecież może dzięki temu stworzyć jeszcze lepszą procedurę! Bez stresu i mobilizacji nie byłoby postępu. A w tej dziedzinie wydaje się, że dużo już dokonano.
[#28] Re: Nowa, szybka konwersja chunky-to-planar

@Hexmage960, post #25

Wszystkie dobre procedury uzywaja wszystkich rejestrow, a przynajmniej powinny.
Twoja wersja:
move.l d0,d4
andi.l #$f0f0f0f0,d4 ; d4 = plany 4-7 grupa 0
eor.l d4,d0 ; d0 = plany 0-3 grupa 0

move.l d1,d5
andi.l #$f0f0f0f0,d5 ; d5 = plany 4-7 grupa 4
eor.l d5,d1 ; d1 = plany 0-3 grupa 4

move.l d2,d6
andi.l #$f0f0f0f0,d6 ; d6 = plany 4-7 grupa 2
eor.l d6,d2 ; d2 = plany 0-3 grupa 2

move.l d3,d7
andi.l #$f0f0f0f0,d7 ; d7 = plany 4-7 grupa 6
eor.l d7,d3 ; d3 = plany 0-3 grupa 6

prosta optymalizacja
move.l #$f0f0f0f0,d7
move.l d0,d4
and.l d7,d4 ; d4 = plany 4-7 grupa 0
eor.l d4,d0 ; d0 = plany 0-3 grupa 0

move.l d1,d5
and.l d7,d5 ; d5 = plany 4-7 grupa 4
eor.l d5,d1 ; d1 = plany 0-3 grupa 4

move.l d2,d6
and.l d7,d6 ; d6 = plany 4-7 grupa 2
eor.l d6,d2 ; d2 = plany 0-3 grupa 2

and.l d3,d7 ; d7 = plany 4-7 grupa 6
eor.l d7,d3 ; d3 = plany 0-3 grupa 6
[#29] Re: Nowa, szybka konwersja chunky-to-planar

@Don_Adan, post #28

Dziękuję jeszcze raz za świetny przykład, jak można moją procedurę jeszcze ulepszyć! Widać rękę mistrza.
[#30] Re: Nowa, szybka konwersja chunky-to-planar

@Don_Adan, post #28

Po dodaniu tej optymalizacji bardzo dramatycznie spadnie liczba taktów na piksel. Procedury z płyty CD Euroscene 1 mają gdzieś tak z 67 taktów na piksel, ale tworzą 16 pikseli, zapisuję bajtami do CHIP i używają dodatkowej pamięci.

Moja procedura ma (póki co) 47 taktów (bez podanych przez Was optymalizacji), jak podane w newsie.

Jak dodam jeszcze propozycję Kiero odnośnie bitmap interleaved to zrobi się jeszcze ciekawiej. :)

Ostatnia aktualizacja: 14.11.2015 16:08:28 przez Hexmage960
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