ILC
From Atariki
Wersja z dnia 21:21, 14 sie 2024 Mono (Dyskusja | wkład) (organizacja wyświetlania linii w ramkach) ← Previous diff |
Wersja z dnia 15:41, 16 sie 2024 Mono (Dyskusja | wkład) (długość pliku i format niestandardowy, rozszerzenia) Next diff → |
||
Linia 1: | Linia 1: | ||
+ | == Format standardowy == | ||
+ | |||
Format pliku generowany przez [[APAC View]]. Podobny do [[APC (format pliku)|APC]], tylko o dwukrotnie większej rozdzielczości (80x192), czyli zarówno linia jasności ([[Graphics 9]]) jak i koloru ([[Graphics 11]]) jest [[interlace|interlace'owana]]. Użyty m.in. w grze [[Sexy Six]]. | Format pliku generowany przez [[APAC View]]. Podobny do [[APC (format pliku)|APC]], tylko o dwukrotnie większej rozdzielczości (80x192), czyli zarówno linia jasności ([[Graphics 9]]) jak i koloru ([[Graphics 11]]) jest [[interlace|interlace'owana]]. Użyty m.in. w grze [[Sexy Six]]. | ||
Linia 19: | Linia 21: | ||
</table> | </table> | ||
- | Spotykane są też rozszerzenia [[PZM]] oraz [[AP3]] dla tego formatu. | + | Standardowa długość pliku ILC to $3C00 (15360) bajtów. |
+ | |||
+ | '''UWAGA!''' Często spotyka się też pliki o dwa bajty dłuższe (15362) - wygląda na to, że są bez znaczenia dla wyświetlanego obrazu. | ||
+ | |||
+ | Spotykane są też rozszerzenia: | ||
+ | * [[PZM]] i [[AP3]] tworzone przez program "Pryzm", | ||
+ | * [[DGI]] i [[DGP]] tworzone przez program "Digi Paint", | ||
+ | * [[ESC]] tworzone przez program "Escal Paint" będący sukcesorem "Digi Paint". | ||
+ | |||
+ | == Format niestandardowy == | ||
+ | |||
+ | Niekiedy tymi rozszerzeniami opatrywane są pliki będące zgranymi bezpośrednio fragmentami pamięci z danymi obrazu przygotowanymi dla [[ANTIC]]-a. Taki plik jest wtedy dłuższy o 2 strony. | ||
+ | |||
+ | Z czego biorą się te dwie strony? | ||
+ | |||
+ | Pojedynczy ekran trybu GTIA o rozdzielczości 80×192 pikseli zajmuje 40*192=7680 ($1E00) bajtów. | ||
+ | Pamiętając o tym, że licznik pamięci ekranu pozwala poruszać się bez przeładowania (rozkazem LMS) maksymalnie w obszarze 4 KB ($1000 bajtów) należy taki ekran podzielić na dwie części, na przykład po 96 linii co zajmuje 40*96=3840 ($0F00) bajtów. | ||
+ | Przykładowo więc pierwszy blok umieszcza się w pamięci począwszy od adresu $4100 i rozciąga się on aż do $4FFF, a drugi od $5000 aż do $5EFF. | ||
+ | Pierwszy blok drugiego ekranu można umieścić zatem w $6100..$6FFF, a drugi w $7000..$7EFF. | ||
+ | Jak widać między ekranami zostaje wtedy luka dwóch stron pamięci w $5F00..$60FF - jest ona zgrywana do pliku, ale nie zawiera żadnych znaczących danych i powinna być zignorowana. | ||
+ | |||
+ | $4000..$40FF wolny RAM | ||
+ | $4100..$4FFF blok 96 linii 1 ekranu z luminancją | ||
+ | $5000..$5EFF blok 96 linii 2 ekranu z luminancją | ||
+ | $5F00..$60FF wolny RAM | ||
+ | $6100..$6FFF blok 96 linii 1 ekranu z chrominancją | ||
+ | $7000..$7EFF blok 96 linii 2 ekranu z chrominancją | ||
+ | $7F00..$7FFF wolny RAM | ||
+ | |||
+ | Taki plik ma wtedy ten nieużywany blok umieszczony między obrazami, a więc jego format wygląda tak: | ||
+ | |||
+ | <table border=1> | ||
+ | <tr><td>offset</td><td>długość</td><td>opis</td></tr> | ||
+ | <tr><td>$0000</td><td>$0028</td><td>linia 0 (linia skanningowa 0 ramki parzystej) obrazu w trybie [[Graphics 9]]</td></tr> | ||
+ | <tr><td>$0028</td><td>$0028</td><td>linia 1 (linia skanningowa 1 ramki nieparzystej) obrazu w trybie [[Graphics 9]]</td></tr> | ||
+ | <tr><td>$0050</td><td>$0028</td><td>linia 2 (linia skanningowa 2 ramki parzystej) obrazu w trybie [[Graphics 9]]</td></tr> | ||
+ | <tr><td>$0078</td><td>$0028</td><td>linia 3 (linia skanningowa 3 ramki nieparzystej) obrazu w trybie [[Graphics 9]]</td></tr> | ||
+ | <tr><td>...</td><td>...</td><td>kolejne linie</td></tr> | ||
+ | <tr><td>$1DB0</td><td>$0028</td><td>linia 190 (linia skanningowa 190 ramki parzystej) obrazu w trybie [[Graphics 9]]</td></tr> | ||
+ | <tr><td>$1DD8</td><td>$0028</td><td>linia 191 (linia skanningowa 191 ramki nieparzystej) obrazu w trybie [[Graphics 9]]</td></tr> | ||
+ | <tr><td>$1E00</td><td>$0200</td><td>pusty blok nieużywanych danych</td></tr> | ||
+ | <tr><td>$2000</td><td>$0028</td><td>linia 0 (linia skanningowa 0 ramki nieparzystej) obrazu w trybie [[Graphics 11]]</td></tr> | ||
+ | <tr><td>$2028</td><td>$0028</td><td>linia 1 (linia skanningowa 1 ramki parzystej) obrazu w trybie [[Graphics 11]]</td></tr> | ||
+ | <tr><td>$2050</td><td>$0028</td><td>linia 2 (linia skanningowa 2 ramki nieparzystej) obrazu w trybie [[Graphics 11]]</td></tr> | ||
+ | <tr><td>$2078</td><td>$0028</td><td>linia 3 (linia skanningowa 3 ramki parzystej) obrazu w trybie [[Graphics 11]]</td></tr> | ||
+ | <tr><td>...</td><td>...</td><td>kolejne linie</td></tr> | ||
+ | <tr><td>$3DB0</td><td>$0028</td><td>linia 190 (linia skanningowa 190 ramki nieparzystej) obrazu w trybie [[Graphics 11]]</td></tr> | ||
+ | <tr><td>$3DD8</td><td>$0028</td><td>linia 191 (linia skanningowa 191 ramki parzystej) obrazu w trybie [[Graphics 11]]</td></tr> | ||
+ | </table> | ||
+ | |||
+ | a sam plik ma długość $3E00 (15872) bajtów. | ||
[[Kategoria:Formaty plików]] | [[Kategoria:Formaty plików]] | ||
[[Kategoria: Tryby graficzne]] | [[Kategoria: Tryby graficzne]] |
Wersja z dnia 15:41, 16 sie 2024
Format standardowy
Format pliku generowany przez APAC View. Podobny do APC, tylko o dwukrotnie większej rozdzielczości (80x192), czyli zarówno linia jasności (Graphics 9) jak i koloru (Graphics 11) jest interlace'owana. Użyty m.in. w grze Sexy Six.
offset | długość | opis |
$0000 | $0028 | linia 0 (linia skanningowa 0 ramki parzystej) obrazu w trybie Graphics 9 |
$0028 | $0028 | linia 1 (linia skanningowa 1 ramki nieparzystej) obrazu w trybie Graphics 9 |
$0050 | $0028 | linia 2 (linia skanningowa 2 ramki parzystej) obrazu w trybie Graphics 9 |
$0078 | $0028 | linia 3 (linia skanningowa 3 ramki nieparzystej) obrazu w trybie Graphics 9 |
... | ... | kolejne linie |
$1DB0 | $0028 | linia 190 (linia skanningowa 190 ramki parzystej) obrazu w trybie Graphics 9 |
$1DD8 | $0028 | linia 191 (linia skanningowa 191 ramki nieparzystej) obrazu w trybie Graphics 9 |
$1E00 | $0028 | linia 0 (linia skanningowa 0 ramki nieparzystej) obrazu w trybie Graphics 11 |
$1E28 | $0028 | linia 1 (linia skanningowa 1 ramki parzystej) obrazu w trybie Graphics 11 |
$1E50 | $0028 | linia 2 (linia skanningowa 2 ramki nieparzystej) obrazu w trybie Graphics 11 |
$1E78 | $0028 | linia 3 (linia skanningowa 3 ramki parzystej) obrazu w trybie Graphics 11 |
... | ... | kolejne linie |
$3BB0 | $0028 | linia 190 (linia skanningowa 190 ramki nieparzystej) obrazu w trybie Graphics 11 |
$3BD8 | $0028 | linia 191 (linia skanningowa 191 ramki parzystej) obrazu w trybie Graphics 11 |
Standardowa długość pliku ILC to $3C00 (15360) bajtów.
UWAGA! Często spotyka się też pliki o dwa bajty dłuższe (15362) - wygląda na to, że są bez znaczenia dla wyświetlanego obrazu.
Spotykane są też rozszerzenia:
- PZM i AP3 tworzone przez program "Pryzm",
- DGI i DGP tworzone przez program "Digi Paint",
- ESC tworzone przez program "Escal Paint" będący sukcesorem "Digi Paint".
Format niestandardowy
Niekiedy tymi rozszerzeniami opatrywane są pliki będące zgranymi bezpośrednio fragmentami pamięci z danymi obrazu przygotowanymi dla ANTIC-a. Taki plik jest wtedy dłuższy o 2 strony.
Z czego biorą się te dwie strony?
Pojedynczy ekran trybu GTIA o rozdzielczości 80×192 pikseli zajmuje 40*192=7680 ($1E00) bajtów. Pamiętając o tym, że licznik pamięci ekranu pozwala poruszać się bez przeładowania (rozkazem LMS) maksymalnie w obszarze 4 KB ($1000 bajtów) należy taki ekran podzielić na dwie części, na przykład po 96 linii co zajmuje 40*96=3840 ($0F00) bajtów. Przykładowo więc pierwszy blok umieszcza się w pamięci począwszy od adresu $4100 i rozciąga się on aż do $4FFF, a drugi od $5000 aż do $5EFF. Pierwszy blok drugiego ekranu można umieścić zatem w $6100..$6FFF, a drugi w $7000..$7EFF. Jak widać między ekranami zostaje wtedy luka dwóch stron pamięci w $5F00..$60FF - jest ona zgrywana do pliku, ale nie zawiera żadnych znaczących danych i powinna być zignorowana.
$4000..$40FF wolny RAM $4100..$4FFF blok 96 linii 1 ekranu z luminancją $5000..$5EFF blok 96 linii 2 ekranu z luminancją $5F00..$60FF wolny RAM $6100..$6FFF blok 96 linii 1 ekranu z chrominancją $7000..$7EFF blok 96 linii 2 ekranu z chrominancją $7F00..$7FFF wolny RAM
Taki plik ma wtedy ten nieużywany blok umieszczony między obrazami, a więc jego format wygląda tak:
offset | długość | opis |
$0000 | $0028 | linia 0 (linia skanningowa 0 ramki parzystej) obrazu w trybie Graphics 9 |
$0028 | $0028 | linia 1 (linia skanningowa 1 ramki nieparzystej) obrazu w trybie Graphics 9 |
$0050 | $0028 | linia 2 (linia skanningowa 2 ramki parzystej) obrazu w trybie Graphics 9 |
$0078 | $0028 | linia 3 (linia skanningowa 3 ramki nieparzystej) obrazu w trybie Graphics 9 |
... | ... | kolejne linie |
$1DB0 | $0028 | linia 190 (linia skanningowa 190 ramki parzystej) obrazu w trybie Graphics 9 |
$1DD8 | $0028 | linia 191 (linia skanningowa 191 ramki nieparzystej) obrazu w trybie Graphics 9 |
$1E00 | $0200 | pusty blok nieużywanych danych |
$2000 | $0028 | linia 0 (linia skanningowa 0 ramki nieparzystej) obrazu w trybie Graphics 11 |
$2028 | $0028 | linia 1 (linia skanningowa 1 ramki parzystej) obrazu w trybie Graphics 11 |
$2050 | $0028 | linia 2 (linia skanningowa 2 ramki nieparzystej) obrazu w trybie Graphics 11 |
$2078 | $0028 | linia 3 (linia skanningowa 3 ramki parzystej) obrazu w trybie Graphics 11 |
... | ... | kolejne linie |
$3DB0 | $0028 | linia 190 (linia skanningowa 190 ramki nieparzystej) obrazu w trybie Graphics 11 |
$3DD8 | $0028 | linia 191 (linia skanningowa 191 ramki parzystej) obrazu w trybie Graphics 11 |
a sam plik ma długość $3E00 (15872) bajtów.