Player/Missile Graphics: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Nie podano opisu zmian
Linia 1: Linia 1:
== Charakterystyka ==
Player and Missile Graphics - "grafika graczy i pocisków". Rodzaj sprzętowego trybu pracy układów wizyjnych ATARI, polegający na możliwości nałożenia na ekran obiektów niezależnych od zawartości pamięci graficznej. Generowane w ten sposób ruchome obiekty znane są na innych platformach sprzętowych pod nazwą "duszków" (ang. sprites).
Player and Missile Graphics - "grafika graczy i pocisków". Rodzaj sprzętowego trybu pracy układów wizyjnych ATARI, polegający na możliwości nałożenia na ekran obiektów niezależnych od zawartości pamięci graficznej. Generowane w ten sposób ruchome obiekty znane są na innych platformach sprzętowych pod nazwą "duszków" (ang. sprites).


{{stub}}
W 8-bitowych komputerach Atari możliwe jest uzyskanie czterech niezależnych duszków i czterech pocisków (lub pięciu duszków - piątego uzyskujemy przez połączenie czterech pocisków). Jeden duszek może mieć dowolny, wybrany z palety, kolor - pocisk ma zawsze ten sam kolor co odpowiadający mu duszek (np. jeśli duszek nr 3 ma kolor $0A pocisk ma również kolor $0A). Matryca duszków ma 8 punktów szerokości (wysokość nieograniczona), pocisków 2 punkty (wysokość dowolna).
 
== Pozycjonowanie ==
 
Pozycję pionową duszków kontroluje się wpisując jego położenie do rejestrów HPOSP0-HPOSP3 ($d000-$d003), możliwe są wartości od $00 do $E3, ale duszek będzie widoczny na ekranie w zakresie wartości $30-$d0. Podobnie zmienia się pozycję poziomą pocisków - należy wpisywać pożądane wartości do rejestrów HPOSM0-HPOSM3 ($d004-$d007). W przypadkach kontrolowania pozycji są to rejestry tylko do odczytu.
 
Niestety nie ma rejestrów określających pozycję pionową - kontroluje się ją zmieniając położenie duszków (pocisków) w obszarze [[PMBASE]].
 
== Wykrywanie kolizji ==
 
Komputery z serii 400/800/XL/XE posiadają również sprzętową możliwość kontrolowania kolizji duszków (pocisków) z tłem, jak i z innymi duszkami (pociskami). Służą do tego te same rejestry co powyżej - tym razem w trybie do odczytu:
 
M0PF-M3PF ($d000-$d003) Kolizja pocisku z tłem. Wartości odczytujemy z poniższego schematu:
 
<pre>
          Bit    7    6    5    4    3      2    1    0
Rejestr koloru    ...nieużywane....    3      2    1    0
</pre>
 
P0PF-P1PF ($d004-$d007) Kolizja duszka z tłem:
 
<pre>
          Bit    7    6    5    4    3      2    1    0
Rejestr koloru    ....nieużywane...    3      2    1    0
</pre>
 
M0PL-M3PL ($d008-$d00b) Kolizja pocisku z duszkiem (nie ma rejestrów służących do wykrywania kolizji pocisku z pociskiem):
 
<pre>
  Bit    7    6    5    4    3      2    1    0
Duszek    ...nieużywane....    3      2    1    0
</pre>
 
P0PL-P3PL ($d00c-$d00f) Kolizja duszka z duszkiem:
 
<pre>
  Bit    7    6    5    4    3      2    1    0
Duszek    ...nieużywane....    3      2    1    0
</pre>
 
== Rozmiar ==
 
Duszki oraz pociski mogą być sprzętowo rozszerzane w pionie za pomocą przeznaczonych do tego celu rejestrów. Możliwe są: szerokość pojedyńcza, podwójna i poczwórna. Uzyskuje się je ustawiając odpowiednie kombinacje bitów:
 
 
<pre>
Bit          7  6  5  4  3  2  1  0
Szerokość:  ...nieużywane...  0  0  pojedyńcza (8 cykli koloru)
                              0  1  podwójna  (16 cykli koloru)
                              1  0  pojedyńcza
                              1  1  poczwórna (32 cykle koloru)
</pre>
 
Dla ustalenie szerokości dla wszystkich pocisków używa się rejestru SIZEM ($d00c):
 
<pre>
Bity                        Szerokość:
                pojedyńcza  podwójna  poczwórna
7 i 6: pocisk 3      0,128        64      192
5 i 4: pocisk 2      0, 32        16        48
3 i 2: pocisk l      0,  8          4        12
1 i 0: pocisk 0      0,  2          1        3
</pre>
 
[[Kategoria:Glosariusz]]
[[Kategoria:Glosariusz]]

Wersja z 19 wrz 2005, 10:58

Charakterystyka

Player and Missile Graphics - "grafika graczy i pocisków". Rodzaj sprzętowego trybu pracy układów wizyjnych ATARI, polegający na możliwości nałożenia na ekran obiektów niezależnych od zawartości pamięci graficznej. Generowane w ten sposób ruchome obiekty znane są na innych platformach sprzętowych pod nazwą "duszków" (ang. sprites).

W 8-bitowych komputerach Atari możliwe jest uzyskanie czterech niezależnych duszków i czterech pocisków (lub pięciu duszków - piątego uzyskujemy przez połączenie czterech pocisków). Jeden duszek może mieć dowolny, wybrany z palety, kolor - pocisk ma zawsze ten sam kolor co odpowiadający mu duszek (np. jeśli duszek nr 3 ma kolor $0A pocisk ma również kolor $0A). Matryca duszków ma 8 punktów szerokości (wysokość nieograniczona), pocisków 2 punkty (wysokość dowolna).

Pozycjonowanie

Pozycję pionową duszków kontroluje się wpisując jego położenie do rejestrów HPOSP0-HPOSP3 ($d000-$d003), możliwe są wartości od $00 do $E3, ale duszek będzie widoczny na ekranie w zakresie wartości $30-$d0. Podobnie zmienia się pozycję poziomą pocisków - należy wpisywać pożądane wartości do rejestrów HPOSM0-HPOSM3 ($d004-$d007). W przypadkach kontrolowania pozycji są to rejestry tylko do odczytu.

Niestety nie ma rejestrów określających pozycję pionową - kontroluje się ją zmieniając położenie duszków (pocisków) w obszarze PMBASE.

Wykrywanie kolizji

Komputery z serii 400/800/XL/XE posiadają również sprzętową możliwość kontrolowania kolizji duszków (pocisków) z tłem, jak i z innymi duszkami (pociskami). Służą do tego te same rejestry co powyżej - tym razem w trybie do odczytu:

M0PF-M3PF ($d000-$d003) Kolizja pocisku z tłem. Wartości odczytujemy z poniższego schematu:

           Bit     7    6    5    4     3      2     1     0
Rejestr koloru    ...nieużywane....     3      2     1     0

P0PF-P1PF ($d004-$d007) Kolizja duszka z tłem:

           Bit     7    6    5    4     3      2     1     0
Rejestr koloru    ....nieużywane...     3      2     1     0

M0PL-M3PL ($d008-$d00b) Kolizja pocisku z duszkiem (nie ma rejestrów służących do wykrywania kolizji pocisku z pociskiem):

   Bit     7    6    5    4     3      2     1     0
Duszek    ...nieużywane....     3      2     1     0

P0PL-P3PL ($d00c-$d00f) Kolizja duszka z duszkiem:

   Bit     7    6    5    4     3      2     1     0
Duszek    ...nieużywane....     3      2     1     0

Rozmiar

Duszki oraz pociski mogą być sprzętowo rozszerzane w pionie za pomocą przeznaczonych do tego celu rejestrów. Możliwe są: szerokość pojedyńcza, podwójna i poczwórna. Uzyskuje się je ustawiając odpowiednie kombinacje bitów:


Bit          7  6  5  4  3  2  1  0
Szerokość:   ...nieużywane...  0  0  pojedyńcza (8 cykli koloru)
                               0  1  podwójna   (16 cykli koloru)
                               1  0  pojedyńcza
                               1  1  poczwórna (32 cykle koloru)

Dla ustalenie szerokości dla wszystkich pocisków używa się rejestru SIZEM ($d00c):

Bity                        Szerokość:
                 pojedyńcza   podwójna   poczwórna
7 i 6: pocisk 3       0,128         64       192
5 i 4: pocisk 2       0, 32         16        48
3 i 2: pocisk l       0,  8          4        12
1 i 0: pocisk 0       0,  2          1         3