Player/Missile Graphics

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 10:47, 21 wrz 2005
0xF (Dyskusja | wkład)
(pozycję się zapisuje, a nie odczytuje; kolizje są innymi rejestrami, tylko pod tym samym adresem)
← Previous diff
Wersja z dnia 10:52, 21 wrz 2005
0xF (Dyskusja | wkład)
(to nie jest tryb pracy; jak się tłumaczy feature?)
Next diff →
Linia 1: Linia 1:
== Charakterystyka == == 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". Właściwość układu GTIA polegająca na nakładaniu na ekran obiektów niezależnych od zwykłej zawartości ("tła"). 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). 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).
Linia 7: Linia 7:
== Kolory == == Kolory ==
-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), wyjątkiem jest sytuacja, kiedy łączymy pociski w celu otrzymania gracza nr 4 - w tym przypadku gracz ten otrzymuje kolor z rejestru [[Rejestry GTIA#COLPF3|COLPF3 ($D019)]].+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). Wyjątkiem jest sytuacja, kiedy łączymy pociski w celu otrzymania piątego gracza - w tym przypadku gracz ten otrzymuje kolor z rejestru [[Rejestry GTIA#COLPF3|COLPF3 ($D019)]].
-Kolory ustalamy wpisując odpowiednie wartości do rejestrów COLPM0-COLPM1 ($d012-$d015).+Kolory ustalamy wpisując odpowiednie wartości do rejestrów COLPM0-COLPM3 ($d012-$d015).
== Pozycjonowanie == == Pozycjonowanie ==
Linia 19: Linia 19:
== Wykrywanie kolizji == == 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 rejestry tylko do odczytu:+Komputery z serii 400/800/XL/XE posiadają również sprzętową możliwość sprawdzania kolizji duszków (pocisków) z tłem, jak i z innymi duszkami (pociskami). Służą do tego rejestry tylko do odczytu:
M0PF-M3PF ($d000-$d003) Kolizja pocisku z tłem. Wartości odczytujemy z poniższego schematu: M0PF-M3PF ($d000-$d003) Kolizja pocisku z tłem. Wartości odczytujemy z poniższego schematu:
Linia 51: Linia 51:
== Rozmiar == == Rozmiar ==
-Matryca duszków ma 8 punktów szerokości, pocisków 2 punkty. Duszki oraz pociski mogą być sprzętowo rozszerzane za pomocą przeznaczonych do tego celu rejestrów. Możliwe są: szerokość pojedyncza, podwójna i poczwórna. Uzyskuje się je ustawiając odpowiednie kombinacje bitów:+Matryca duszków ma 8 punktów szerokości, pocisków 2 punkty. Duszki oraz pociski mogą być sprzętowo rozszerzane za pomocą przeznaczonych do tego celu rejestrów. Możliwe są: szerokość pojedyncza, podwójna i poczwórna. Uzyskuje się je ustawiając odpowiednie kombinacje bitów w rejestrach SIZEP0-SIZEP3:
- +
<pre> <pre>

Wersja z dnia 10:52, 21 wrz 2005

Spis treści

Charakterystyka

Player and Missile Graphics - "grafika graczy i pocisków". Właściwość układu GTIA polegająca na nakładaniu na ekran obiektów niezależnych od zwykłej zawartości ("tła"). 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).

Kolory

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). Wyjątkiem jest sytuacja, kiedy łączymy pociski w celu otrzymania piątego gracza - w tym przypadku gracz ten otrzymuje kolor z rejestru COLPF3 ($D019).

Kolory ustalamy wpisując odpowiednie wartości do rejestrów COLPM0-COLPM3 ($d012-$d015).

Pozycjonowanie

Pozycję poziomą duszków kontroluje się wpisując jego położenie do rejestrów HPOSP0-HPOSP3 ($d000-$d003). Podobnie zmienia się pozycję poziomą pocisków - należy wpisywać pożądane wartości do rejestrów HPOSM0-HPOSM3 ($d004-$d007). Są to rejestry tylko do zapisu.

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ść sprawdzania kolizji duszków (pocisków) z tłem, jak i z innymi duszkami (pociskami). Służą do tego rejestry tylko 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

Matryca duszków ma 8 punktów szerokości, pocisków 2 punkty. Duszki oraz pociski mogą być sprzętowo rozszerzane za pomocą przeznaczonych do tego celu rejestrów. Możliwe są: szerokość pojedyncza, podwójna i poczwórna. Uzyskuje się je ustawiając odpowiednie kombinacje bitów w rejestrach SIZEP0-SIZEP3:

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

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

Bity                        Szerokość:
                 pojedyncza   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
Personal tools