<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=HIP</id>
	<title>HIP - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=HIP"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=HIP&amp;action=history"/>
	<updated>2026-10-02T15:24:20Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=HIP&amp;diff=2333&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=HIP&amp;diff=2333&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Hip 16k-tro.png]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Co to jest HIP ? ==&lt;br /&gt;
&lt;br /&gt;
HIP jest metodą wyświetlania obrazków na małym Atari. HIP to skrót od &amp;quot;HARD-Interlacing-Picture&amp;quot; i został wymyślony przez członków grupy [[HARD]] Software z Węgier w czerwcu 1996 r. Umożliwia on wyświetlenie obrazka w rozdzielczości 160×240 [[Piksel|pikseli]] w 30 odcieniach, prawie bez żadnego migania (zależy to od konkretnego obrazka, którego używasz). &amp;quot;HARD&amp;quot; nie oznacza &amp;quot;ostrego&amp;quot; albo &amp;quot;wielkiego&amp;quot; migotania obrazu, lecz chodzi tu o nazwę grupy, która wymyśliła ten tryb.&lt;br /&gt;
&lt;br /&gt;
== Historia HIPa według [[Heaven|Heavena]]/[[Taquart]] ==&lt;br /&gt;
&lt;br /&gt;
Tamás Bene i ja prowadziliśmy &amp;quot;konwersacje internetowe&amp;quot; przez ostatnie kilka miesięcy i rozmawialiśmy o starszych demach i efektach w nich używanych. W pewnym momencie zaczęliśmy rozmawiać o demie &amp;quot;Visdom II&amp;quot; JAComo Leopardiego, gdzie JAC zdołał wyświetlić 16 kolorów/odcieni w rozdzielczości [[Graphics 15]], która oznaczała 160×200 pikseli. Rozmawialiśmy także o demie [[UNITY]], gdzie grupa [[Our 5oft]] przełączała trzy tryby graficzne w jednej linii ekranowej: [[Graphics 8]], [[Graphics 9]] i coś podobnego do Graphics 15, wykorzystując do tego zmienianie rejestru [[Rejestry GTIA#GTIACTL|GPRIOR]] ($D01B) w przerwaniu DLI.&lt;br /&gt;
&lt;br /&gt;
Jak myślisz, co się stanie, jeśli wpiszesz #$00 w ten rejestr (GPRIOR) na początku wyświetlania linii ekranowej, odczekasz trochę czasu (procesora). przełączysz wyświetlanie na Graphics 9 przez wpisanie #$40 do GPRIOR i po krótkiej chwili, w 1/3 ostatniej części tejże samej linii ekranowej przywrócisz z powrotem tryb 8, wpisując do GPRIOR ponownie wartość #$00??? Co pokaże [[GTIA]]? Nie, nie grafikę 8 (lub [[Graphics 0]]) jak normalnie - GTIA wyświetli coś podobnego do trybu 15!!!&lt;br /&gt;
&lt;br /&gt;
Tamás opowiedział mi trochę historii o sesjach kodowania do dema [[Joyride]], w których brał udział ostatniego lata (1995) i stwierdził, że razem z resztą HARD&amp;#039;u odkryli jeszcze jakiś dodatkowy błąd w procedurze plazmy, lecz on dokończył ten efekt i zapomniał o wykrytym błędzie, aż do naszej rozmowy o błędach układu GTIA.&lt;br /&gt;
&lt;br /&gt;
Tak więc zaczęliśmy teraz rozmawiać o znanych błędach w GTIA. Następnego dnia Tamás był zdenerwowany, gdyż stwierdził, że odkrył nowy &amp;quot;bug&amp;quot; i odtworzył stary błąd w plaźmie z &amp;quot;Joyride&amp;quot;. Odkrył on, że niektóre linie ekranowe (&amp;quot;scanlines&amp;quot;) były przesunięte o pół(!) piksela trybu 9, gdy zaczynał się scroller i oni (HARD) nie poprawili tego błędu w plaźmie. Jednak po odtworzeniu tego błędu Tamás przekonał się, iż powodem błędu nie był scroller. Błąd tkwił w specjalnej procedurze [[ANTIC Display List|Display-Listy]].&lt;br /&gt;
&lt;br /&gt;
== Techniczne informacje o HIP ==&lt;br /&gt;
&lt;br /&gt;
Podstawowym założeniem jest, że wszystkie linie trybu [[Graphics 10]] są przesunięte o połowę piksela (albo o tzw. [[Cykl koloru|cykl koloru]]) w prawo w stosunku do pikseli trybu 9. Nikt jednak nawet nie próbował połączyć trybu 9 z 10. Wszyscy łączyli tryb 9 (16 odcieni) z trybem 11 (16 kolorów), aby wyświetlić 256 różnych kolorów (tak jak to widać w np. [[APAC View]]). Lecz wtedy rozdzielczość wynosiła wciąż 80×200 pikseli.&lt;br /&gt;
&lt;br /&gt;
Tutaj znajduje się wytłumaczenie podstawowego pomysłu.&lt;br /&gt;
&lt;br /&gt;
Oto kombinacje, które są potrzebne do łączenia linii trybu grafiki 9 z 10, w celu wyświetlenia pożądanego koloru HIP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GR10: 000 000 000 222 222 222 222 444 444&lt;br /&gt;
GR09: 000 111 222 111 222 333 444 333 444&lt;br /&gt;
HIP : 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0&lt;br /&gt;
&lt;br /&gt;
GR10: 444 444 666 666 666 666 888 888 888&lt;br /&gt;
GR09: 555 666 555 666 777 888 777 888 999&lt;br /&gt;
HIP : 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5&lt;br /&gt;
&lt;br /&gt;
GR10: 888 aaa aaa aaa aaa ccc ccc ccc ccc&lt;br /&gt;
GR09: aaa 999 aaa bbb ccc bbb ccc ddd eee&lt;br /&gt;
HIP : 9.0 9.5 a.0 a.5 b.0 b.5 c.0 c.5 d.0&lt;br /&gt;
&lt;br /&gt;
GR10: eee eee eee&lt;br /&gt;
GR09: ddd eee fff&lt;br /&gt;
HIP : d.5 e.0 e.5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OK. Tutaj istnieje 30 możliwości odcieni. Nasze oczy &amp;quot;uśredniają&amp;quot; dwie wartości jasności dzięki wzajemnym przełączaniu dwóch linii (w trybach 9 i 10) podczas każdego przerwania VBI. Dlatego troszkę to miga.&lt;br /&gt;
&lt;br /&gt;
Ale w trybie 10 możliwe jest wybranie każdego z rejestrów kolorów (704-712), więc w procedurze wyświetlania obrazu w HIP, jak i w procedurze DLI, rejestry muszą być ustawione w prawidłowy sposób!&lt;br /&gt;
&lt;br /&gt;
Dlatego, jeśli patrzysz w powyższą tabelę, zauważ, że tamte liczby oznaczają wartości jasności w Atari! Na przykład jeśli chcemy wyświetlić kolor HIP o wartości 6.5, musimy wtedy ustawić linii trybu graficznego 9 wartość 7 (w Basicu przez komendy: &amp;lt;code&amp;gt;COLOR 7&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PLOT x,y&amp;lt;/code&amp;gt;). Natomiast dla linii trybu 10 jest wartość 6, ale byłoby niewłaściwie ustawiać piksel kolorem 6, ponieważ mamy właśnie 8 rejestrów koloru w trybie 10. Co powiecie na ustawienie rejestrów koloru w następujący sposób:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;704 = 0&lt;br /&gt;
705 = 0&lt;br /&gt;
706 = 2&lt;br /&gt;
707 = 4&lt;br /&gt;
708 = 6&lt;br /&gt;
709 = 8&lt;br /&gt;
710 = 10&lt;br /&gt;
711 = 12&lt;br /&gt;
712 = 14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli chcemy jasność 6, musimy ustawić piksel kolorem 4: plot x,y! W Graphics 10 wartość piksela wybiera rejestr koloru! Pusty/czarny piksel nie jest ustawiany kolorem 0!&lt;br /&gt;
&lt;br /&gt;
Kolor 0 &amp;quot;każe&amp;quot; GTIA postawić piksel z kolorze, który jest zdefiniowany przez rejestr koloru 704!!! Jeżeli więc wstawisz 0 do rejestru 704, będzie tam widoczny czarny piksel.&lt;br /&gt;
&lt;br /&gt;
W trybie 9 nie możemy wstawić 14 do rejestru 712, ponieważ tu rejestr 712 definiuje podstawowy kolor. Dlatego jeśli chcemy 30 odcieni szarości, musimy wstawić tam wartość 0, lecz wtedy w trybie 10 musi być 14 w tym rejestrze.&lt;br /&gt;
&lt;br /&gt;
Rozwiązaniem jest specjalne przerwanie [[DLI]] i Display Lista.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 1. vbi 2. vbi&lt;br /&gt;
&lt;br /&gt;
 DList1  DList2&lt;br /&gt;
&lt;br /&gt;
 gr9 (0) gr10(0) dli-bit ustawiony&lt;br /&gt;
 gr10(1) gr9 (1)&lt;br /&gt;
 gr9 (2) gr10(2) dli-bit ustawiony&lt;br /&gt;
 gr10(3) gr9 (3)&lt;br /&gt;
 gr9 (4) gr10(4) dli-bit ustawiony&lt;br /&gt;
 ...     ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(x) jest numerem linii ekranowej w każdej (z dwóch) pamięci obrazu.&lt;br /&gt;
&lt;br /&gt;
Gdy zapętlimy to, to stworzymy interlace pomiędzy tymi dwoma pamięciami ekranowymi (w trybach 9 i 10) i zrobimy tym sposobem tryb HIP; lecz musimy ustawić prawidłowe wartości w rejestrze COLBAK $d01a (712, zobacz powyżej).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. vbi       2. vbi&lt;br /&gt;
&lt;br /&gt;
DLI1          DLI2&lt;br /&gt;
&lt;br /&gt;
pha           pha&lt;br /&gt;
lda #$40      lda #$80 ; przełączenie na&lt;br /&gt;
                       ; odpow. tryb Graphics&lt;br /&gt;
                       ; (Graphics #9, Graphics #10)&lt;br /&gt;
sta wsync     sta wsync&lt;br /&gt;
sta gtiamode  sta gtiamode&lt;br /&gt;
lda #0        lda #14&lt;br /&gt;
                       ; ustawienie odpow.&lt;br /&gt;
                       ; koloru tła&lt;br /&gt;
sta $d01a     sta $d01a&lt;br /&gt;
lda #$80      lda #$40 ; przełączenie na&lt;br /&gt;
                       ; kolejny tryb Graphics&lt;br /&gt;
                       ; (zobacz DispList)&lt;br /&gt;
&lt;br /&gt;
sta wsync     sta wsync&lt;br /&gt;
sta gtiamode  sta gtiamode&lt;br /&gt;
lda #14       lda #0&lt;br /&gt;
                       ; i nie zapomnij o&lt;br /&gt;
                       ; kolorze tła !&lt;br /&gt;
sta d01a      sta $d01a&lt;br /&gt;
pla           pla&lt;br /&gt;
rti           rti&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To jest technika, lecz jest &amp;quot;duży&amp;quot; problem z konwertowaniem obrazków. W trybie 9/10 każdy piksel jest wielki na 4 &amp;quot;bity&amp;quot; lub tzw. &amp;quot;nibble&amp;quot;, a piksel w HIP ma 2 &amp;quot;bity&amp;quot; (nakładane na siebie bity).&lt;br /&gt;
&lt;br /&gt;
Tutaj jest przykład:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;gr.10: ..00002222...&lt;br /&gt;
gr.9 :   000022224444...&lt;br /&gt;
HIP  : ..00112233..&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pamiętaj: GTIA przesuwa linie trybu 10 o pół piksla w trybie 9/10!&lt;br /&gt;
&lt;br /&gt;
Tak więc będziemy zawsze sprawdzać jedną połówkę wartości piksela aż do kolejnego piksela w trybie HIP. I to jest trudność, bo kolorów w HIP nie można ustawiać oddzielnie. Istnieją ograniczenia takie, jak to główne:&lt;br /&gt;
&lt;br /&gt;
* dwa następujące po sobie piksele w HIP nie powinny mieć różnicy między ich jasnością większej od 2, ponieważ wtedy nie moglibyśmy ustawić prawidłowych wartości i piksel w HIP zacznie migać.&lt;br /&gt;
&lt;br /&gt;
Najlepszą metodą (używania trybu HIP) jest wykorzystywanie jako źródła digitalizowanych obrazków z &amp;#039;wygładzoną&amp;#039; jasnością do konwersji na format HIP, albo przekonwertowanie jakiś raytrace&amp;#039;owanych obrazków.&lt;br /&gt;
&lt;br /&gt;
Spróbuj zakodować odpowiedni algorytm optymalizacji dla konwersji na HIP.&lt;br /&gt;
&lt;br /&gt;
== Konwertery ==&lt;br /&gt;
&lt;br /&gt;
Są one dostępne dla następujących systemów:&lt;br /&gt;
&lt;br /&gt;
* Unix - kodowany przez Tamása Benego z HARD&lt;br /&gt;
* PC - kodowany przez Tamása Benego z HARD&lt;br /&gt;
* Amiga - kodowany i przerobiony przez [[Heaven|Heavena]]/[[Taquart]]&lt;br /&gt;
* XL - moje algorytmy, napisane przez Heavena/Taquart&lt;br /&gt;
&lt;br /&gt;
Do konwertowania potrzebujesz:&lt;br /&gt;
&lt;br /&gt;
* jeden z powyższych konwerterów&lt;br /&gt;
* program graficzny, w którym można tworzyć obrazki w PRAWDZIWEJ skali szarości i 64 kolorach, w rozdzielczości 320×200 pikseli (myślę, że nowa wersja konwertera &amp;quot;bmp2hip&amp;quot; na PC będzie mogła &amp;#039;obrabiać&amp;#039; większe rozdzielczości i więcej kolorów).&lt;br /&gt;
* obrazek 320×200×64 musi być zapisany w formacie Windows-BMP&lt;br /&gt;
* program przenoszący dane na [[XL]]/[[XE]]&lt;br /&gt;
* procedurę wyświetlającą tryb HIP na XL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CrEdItS:&lt;br /&gt;
- tekst: Heaven&lt;br /&gt;
- algorytmy: Sanyi i Tamás z HARD Soft&lt;br /&gt;
- procedura wyświetlania trybu HIP: Tamás z HARD Soft&lt;br /&gt;
- inspiracja: JAC!&lt;br /&gt;
- tłumaczenie z angielskiego wraz z dostosowaniem tekstu do EED: Dracon of TQA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Formaty plików]]&lt;br /&gt;
[[Kategoria:Tryby graficzne]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>