Generator znaków
From Atariki
(Różnice między wersjami)
| Wersja z dnia 14:21, 9 wrz 2011 Mono (Dyskusja | wkład) (linki do kodow) ← Previous diff |
Wersja z dnia 10:54, 14 maj 2022 Mono (Dyskusja | wkład) (tryb ANTIC 3) Next diff → |
||
| Linia 5: | Linia 5: | ||
| Sposób interpretacji piksela zależy od [[ANTIC Display List#Tryby znakowe|trybu znakowego]], w którym font zostanie użyty (liczby hex 0..F oznaczają indeks koloru piksela): | Sposób interpretacji piksela zależy od [[ANTIC Display List#Tryby znakowe|trybu znakowego]], w którym font zostanie użyty (liczby hex 0..F oznaczają indeks koloru piksela): | ||
| - | * w trybach [[Graphics 0|0]], [[Graphics 1|1]] i [[Graphics 2|2]] OS oraz [[ANTIC Display List#Tryby znakowe|3 ANTICa]] pojedynczy bit odpowiada pojedynczemu pikselowi znaku, | + | * w trybach [[Graphics 0|0]], [[Graphics 1|1]] i [[Graphics 2|2]] OS pojedynczy bit odpowiada pojedynczemu pikselowi znaku, |
| 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel | 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel | ||
| Linia 16: | Linia 16: | ||
| 6 . o o . . o o . 6 0 1 1 0 0 1 1 0 | 6 . o o . . o o . 6 0 1 1 0 0 1 1 0 | ||
| 7 . . . . . . . . 7 0 0 0 0 0 0 0 0 | 7 . . . . . . . . 7 0 0 0 0 0 0 0 0 | ||
| + | bajt linia | ||
| + | |||
| + | * w trybach [[ANTIC Display List#Tryby znakowe|3 ANTICa]] pojedynczy bit, analogicznie jak dla trybów 0, 1 i 2 OS, odpowiada pojedynczemu pikselowi znaku, ale jako że wiersz w tym trybie zajmuje 10 linii skanningowych, a definicja znaku ciągle składa się z 8 bajtów, to ANTIC generując wiersz dostawia dodatkowo 2 puste linie: | ||
| + | |||
| + | ** dla znaków $00-$5F na dole wiersza | ||
| + | |||
| + | 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel | ||
| + | 0 . . . . . . . . 0 0 0 0 0 0 0 0 0 | ||
| + | 1 . . . o o . . . 1 0 0 0 1 1 0 0 0 | ||
| + | 2 . . o o o o . . 2 0 0 1 1 1 1 0 0 | ||
| + | 3 . o o . . o o . 3 0 1 1 0 0 1 1 0 | ||
| + | 4 . o o . . o o . 4 0 1 1 0 0 1 1 0 | ||
| + | 5 . o o o o o o . 5 0 1 1 1 1 1 1 0 | ||
| + | 6 . o o . . o o . 6 0 1 1 0 0 1 1 0 | ||
| + | 7 . . . . . . . . 7 0 0 0 0 0 0 0 0 | ||
| + | 8 0 0 0 0 0 0 0 0 | ||
| + | 9 0 0 0 0 0 0 0 0 | ||
| + | bajt linia | ||
| + | |||
| + | ** dla znaków $60-$7F na górze wiersza, przy czym znak rysowany jest od drugiego bajtu definicji, a na dole dostawiane są linie według bajtów 0 i 1 | ||
| + | |||
| + | 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel | ||
| + | 0 0 0 0 0 0 0 0 0 | ||
| + | 1 0 0 0 0 0 0 0 0 | ||
| + | 2 . o o . . o o . 2 0 1 1 0 0 1 1 0 | ||
| + | 3 . o o . . o o . 3 0 1 1 0 0 1 1 0 | ||
| + | 4 . o o . . o o . 4 0 1 1 0 0 1 1 0 | ||
| + | 5 . o o . . o o . 5 0 1 1 0 0 1 1 0 | ||
| + | 6 . o o . . o o . 6 0 1 1 0 0 1 1 0 | ||
| + | 7 . . o o o o o . 7 0 0 1 1 1 1 1 0 | ||
| + | 0 . . . . o o . . 8 0 0 0 0 1 1 0 0 | ||
| + | 1 . o o o o . . . 9 0 1 1 1 1 0 0 0 | ||
| bajt linia | bajt linia | ||
Wersja z dnia 10:54, 14 maj 2022
Zestaw definicji czcionek wyświetlanych przez ANTIC w trybach znakowych.
Każdy znak zdefiniowany jest za pomocą 8 następujących po sobie bajtów i definiuje kolejne linie znaku (licząc od góry). Znaki w zestawie uporządkowane są według kodów ekranowych, a nie wg kodów ATASCII.
Sposób interpretacji piksela zależy od trybu znakowego, w którym font zostanie użyty (liczby hex 0..F oznaczają indeks koloru piksela):
7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel 0 . . . . . . . . 0 0 0 0 0 0 0 0 0 1 . . . o o . . . 1 0 0 0 1 1 0 0 0 2 . . o o o o . . 2 0 0 1 1 1 1 0 0 3 . o o . . o o . 3 0 1 1 0 0 1 1 0 4 . o o . . o o . 4 0 1 1 0 0 1 1 0 5 . o o o o o o . 5 0 1 1 1 1 1 1 0 6 . o o . . o o . 6 0 1 1 0 0 1 1 0 7 . . . . . . . . 7 0 0 0 0 0 0 0 0 bajt linia
- w trybach 3 ANTICa pojedynczy bit, analogicznie jak dla trybów 0, 1 i 2 OS, odpowiada pojedynczemu pikselowi znaku, ale jako że wiersz w tym trybie zajmuje 10 linii skanningowych, a definicja znaku ciągle składa się z 8 bajtów, to ANTIC generując wiersz dostawia dodatkowo 2 puste linie:
- dla znaków $00-$5F na dole wiersza
7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel
0 . . . . . . . . 0 0 0 0 0 0 0 0 0
1 . . . o o . . . 1 0 0 0 1 1 0 0 0
2 . . o o o o . . 2 0 0 1 1 1 1 0 0
3 . o o . . o o . 3 0 1 1 0 0 1 1 0
4 . o o . . o o . 4 0 1 1 0 0 1 1 0
5 . o o o o o o . 5 0 1 1 1 1 1 1 0
6 . o o . . o o . 6 0 1 1 0 0 1 1 0
7 . . . . . . . . 7 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0
bajt linia
- dla znaków $60-$7F na górze wiersza, przy czym znak rysowany jest od drugiego bajtu definicji, a na dole dostawiane są linie według bajtów 0 i 1
7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel
0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0
2 . o o . . o o . 2 0 1 1 0 0 1 1 0
3 . o o . . o o . 3 0 1 1 0 0 1 1 0
4 . o o . . o o . 4 0 1 1 0 0 1 1 0
5 . o o . . o o . 5 0 1 1 0 0 1 1 0
6 . o o . . o o . 6 0 1 1 0 0 1 1 0
7 . . o o o o o . 7 0 0 1 1 1 1 1 0
0 . . . . o o . . 8 0 0 0 0 1 1 0 0
1 . o o o o . . . 9 0 1 1 1 1 0 0 0
bajt linia
76 54 32 10 para bitów 0 1 2 3 piksel 0 .. .. .. .. 0 0 0 0 0 1 .. .o o. .. 1 0 1 2 0 2 .. oo oo .. 2 0 3 3 0 3 .o o. .o o. 3 1 2 1 2 4 .o o. .o o. 4 1 2 1 2 5 .o oo oo o. 5 1 3 3 2 6 .o o. .o o. 6 1 2 1 2 7 .. .. .. .. 7 0 0 0 0 bajt linia
- po włączeniu trybu GTIA w rejestrze GTIACTL (dane obrazu interpretowane są wtedy analogicznie, jak w trybach graficznych 9, 10 i 11 OS) nibble odpowiada pojedynczemu pikselowi znaku.
7654 3210 nibble 0 1 piksel 0 .... .... 0 0 0 1 ...o o... 1 1 8 2 ..oo oo.. 2 3 C 3 .oo. .oo. 3 6 6 4 .oo. .oo. 4 6 6 5 .ooo ooo. 5 7 E 6 .oo. .oo. 6 6 6 7 .... .... 7 0 0 bajt linia
Pełny zestaw znaków dla trybów 0, 12 i 13 OS oraz 3 ANTICa zawiera definicję 128 znaków i liczy sobie 1024 bajty (128 znaków po 8 bajtów), natomiast dla trybów 1 i 2 OS zawiera definicje 64 znaków i zajmuje 512 bajtów (64 znaki po 8 bajtów).
