Generator znaków

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
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):

  • 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
  • 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
  • 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                       
  • 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