kategorie: ANSI C, Asembler
[#91] Re: Kilka technik dla Amiga OS

@Hexmage960, post #90

Hej,

Niedawno wspominałem o technice optymalizacyjnej, która odciąża procesor graficzny, tzw. WriteMask.

Przygotowałem artykuł opisujący pokrótce tę technikę.

https://coreprogramming.pl/Tech/WriteMask.html

Może to być w znakomity sposób wykorzystywane przy rysowaniu - najczęściej mapy złożonej z kafelków, w okienka i warstwy Amigowe. Zarówno systemowo, jak i z wykorzystaniem koprocesora graficznego bezpośrednio.

Dzięki tej technice, nawet wielokolorowe gry z dużym polem gry mogą być bardzo wydajne.

Mam nadzieję, że artykuł się przyda. Jeżeli ktoś ma pytania, proszę śmiało zadawać. Postaram się pomóc.

Pozdrawiam.
5
[#92] Re: Kilka technik dla Amiga OS

@Hexmage960, post #91

Przygotowałem demonstrację jednej z moich technik - przesuwania wielokolorowej mapy.

Załączyłem nie swoją, bardzo atrakcyjną grafiką - żeby lepiej zobrazować efekt (może tam być dowolna inna grafika, np. z kafelków).

Pod tym linkiem możecie obejrzeć całą demonstrację w działaniu. Program pochodzi z prawdziwej Amigi 1200 z AGA (film z emulatora):

https://youtu.be/zo6NweK6TRs

Poniżej zrzut ekranu:

Do czego to służy? Jest to silniczek wielofunkcyjny, można oprzeć na nim różne gry.

Serdecznie pozdrawiam.



Ostatnia aktualizacja: 13.03.2026 06:00:05 przez Hexmage960
[#93] Re: Kilka technik dla Amiga OS

@Hexmage960, post #92

A jak to działa na prawdziwej Amidze 1200 ? Jaki procek ?

Emulator ma jednak duży "zapas mocy"
[#94] Re: Kilka technik dla Amiga OS

@Norbert, post #93

Testowałem z CPU 68030 oraz pamięcią FAST pod WinUAE (reszta ustawień standardowa). Podobnie na Amidze, tylko że tam z kartą Blizzard 1230-IV/50MHz.

Odczucie prędkości jest bardzo podobne, ale zazwyczaj na Amidze działa to troszkę szybciej.

Ostatnia aktualizacja: 13.03.2026 11:02:24 przez Hexmage960
[#95] Re: Kilka technik dla Amiga OS

@Hexmage960, post #94


Odczucie prędkości jest bardzo podobne, ale zazwyczaj na Amidze działa to troszkę szybciej.

Na Amidze szybciej ( w porównaniu do emulatora)? Ciekawe.
[#96] Re: Kilka technik dla Amiga OS

@Hexmage960, post #94

Emulator nie będzie dokładnie emulować 030 50MHz. Z cycle exact faktycznie emulacja może być wolniejsza jeśli nie ustawiałeś dokładnie 50MHz taktowania.

Ale faktycznie działa ładnie i myślę że na 020 14MHz również by dał radę.
[#97] Re: Kilka technik dla Amiga OS

@tukinem, post #96

@Norbert
@Tukinem

Tak, od dawna rzeczy co sprawdzam na Amidze i emulatorze wydają się działać troszkę sprawniej na Amidze 1200 z Blizzardem 1230-IV. Ale różnica nie jest duża.

Być może to zasługa natywnego sprzętu bądź tej karty Blizzard.

Pod emulatorem jest takie ustawienie "CPU Frequency" i tam jest 8x (~28MHz) lub 16x (~56MHz).

Co do 68020/14MHz to demko powinno działać tak samo dobrze, bo korzystam z koprocesora graficznego.

Udało mi się zrobić kilka małych usprawnień do kodu dema i dodać kilka nowych funkcji.
1
[#98] Re: Kilka technik dla Amiga OS

@Hexmage960, post #97

Z radością zawiadamiam, że przygotowałem nową wersję biblioteki GameX v1.2, ułatwiającą tworzenie gier pod system Amigi.

Są nowe funkcje do rysowania pod systemem, korzystające z koprocesora graficznego - kafelki i Boby w dowolne okna.

Funkcje do odrysowania tła Bobów odbywa się po kafelkach.

Do tego funkcja do alokacji kolorów ekranowych.

Załączone jest nowe demo, gdzie możemy sterować animowanym statkiem na tle scenerii. Wpisuje się to w mój ulubiony nurt animowanych okienek.

Do pobrania tutaj: https://coreprogramming.pl/GameX/GameX_v1.2.lha i niedługo też z Aminetu.

Pakiet rozwijam na bieżąco. Demko będzie rozszerzane. Grafika jest póki co symboliczna, choć prezentuje się nie najgorzej.

Serdecznie pozdrawiam.

P.S. Parę dni temu wrzuciłem na Aminet aktualizacje moich starych pakietów (sprzed roku 2012), by zaktualizować dane kontaktowe.



Ostatnia aktualizacja: 29.07.2026 11:03:34 przez Hexmage960
4
[#99] Re: Kilka technik dla Amiga OS

@Hexmage960, post #98

Dodałem do kodu (plik Draw.c) planowane funkcje pracujące na liście Bobów (obiektów animowanych) - dzięki temu można wygodnie dodawać je do listy.

Na tej bazie można w łatwy sposób dodawać więcej animowanych obiektów.

Ponadto wprowadziłem parę poprawek i usprawnień.

Celem pracy jest uzupełnienie demka by miało to kształt prostej, przykładowej gry korzystającej z biblioteki.

Udało mi się też dodać do grafiki tła więcej detali, a proszę pamiętać, że i to ćwiczę.

Jako, że sam programuję i rysuję, to siłą rzeczy jest ciut trudniej.

Ta gra to ma być rozszerzenie mojej niedawnej strzelanki - kilka obrazków tła (lokacji) oraz kilka postaci przeciwników. Już teraz jest to osiągalne, bo niezbędny system działa.

Grafikiem nie jestem (choć marzy mi się rysować lepiej) - więc opracowanie grafiki należy w moim przypadku do najżmudniejszych zadań. Szczególnie trudno jest mi zachować jakość.

Potrafię jednak w jakimś stopniu programować silnik, czego efektem ta biblioteka. Można na jej bazie stworzyć bardzo ciekawe i zaawansowane produkcje z małymi wymaganiami.

Każda opinia i uwaga co do biblioteki (i postępów w grafice) jest mile widziana.

Tymczasem ja postaram się uzupełnić prezentowane demko biblioteki - przykładową grę - o brakujące elementy.

Pozdrawiam.

1
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