Generator znaków

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 10:54, 14 maj 2022
Mono (Dyskusja | wkład)
(tryb ANTIC 3)
← Previous diff
Wersja z dnia 11:01, 14 maj 2022
Mono (Dyskusja | wkład)
(wyliczenia)
Next diff →
Linia 3: Linia 3:
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 [[Kody ekranowe|kodów ekranowych]], a nie wg [[ATASCII|kodów ATASCII]]. 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 [[Kody ekranowe|kodów ekranowych]], a nie wg [[ATASCII|kodów ATASCII]].
-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 pojedynczy bit odpowiada pojedynczemu pikselowi znaku,+1. 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 18: Linia 18:
bajt linia 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:+2. 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 +* 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 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel
Linia 35: Linia 35:
bajt linia 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 +* 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 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel
Linia 50: Linia 50:
bajt linia bajt linia
-* w trybach [[Graphics 12|12]] i [[Graphics 13|13]] OS para bitów odpowiada pojedynczemu pikselowi znaku,+3. W trybach [[Graphics 12|12]] i [[Graphics 13|13]] OS para bitów odpowiada pojedynczemu pikselowi znaku.
76 54 32 10 para bitów 0 1 2 3 piksel 76 54 32 10 para bitów 0 1 2 3 piksel
Linia 63: Linia 63:
bajt linia bajt linia
-* po włączeniu trybu GTIA w [[Rejestry GTIA#GTIACTL|rejestrze GTIACTL]] (dane obrazu interpretowane są wtedy analogicznie, jak w trybach graficznych [[Graphics 9|9]], [[Graphics 10|10]] i [[Graphics 11|11]] OS) nibble odpowiada pojedynczemu pikselowi znaku.+4. Po włączeniu trybu GTIA w [[Rejestry GTIA#GTIACTL|rejestrze GTIACTL]] (dane obrazu interpretowane są wtedy analogicznie, jak w trybach graficznych [[Graphics 9|9]], [[Graphics 10|10]] i [[Graphics 11|11]] OS) nibble odpowiada pojedynczemu pikselowi znaku.
7654 3210 nibble 0 1 piksel 7654 3210 nibble 0 1 piksel

Wersja z dnia 11:01, 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).

1. W trybach 0, 1 i 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
 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

2. 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

3. W trybach 12 i 13 OS para bitów odpowiada pojedynczemu pikselowi znaku.

    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                       

4. 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).

Linki

Personal tools