!!!!!!! Pożyczone Litery czytelnia Try2emu

Pożyczone Litery

 

Wiele gier zadziwia nas swoim wymyślnym liternictwem. Czcionka pogrubiona, pochyła, „komputerowa”, gotyk lub cyrylica, umieszczone na ekranie sprawiają, że strona graficzna programu zyskuje bardzo wiele w oczach użytkownika.

 

Jak zapewne wiadomo większości posiadaczy ZX SPECTRUM, cały zestaw znaków (96 liter) tego komputera można zastąpić nowym zestawem, zaprojektowanym przez użytkownika. Litery jakie widzimy na ekranie zaraz po włączeniu komputera, są pobierane z generatora znaków, który znajduje się pod adresem 15616 i zajmuje 768 bajtów (96 * 8 bajtów). Adres pierwszej komórki generatora obliczany jest przez komputer na podstawie zawartości zmiennej systemowej CHARS (komórki o adresach 23606 i 23607), wg wzoru:

ADRES = (PEEK 23607)*256 + (PEEK 23606) + 256

Zmieniając więc zawartość zmiennej, zmieniamy zarazem adres, spod którego pobierane są kształty znaków. Oczywiście nie wystarczy zmienić samego adresu, należy jeszcze pod nim umieścić dane o kształcie nowego zestawu liter. O tym, ze projektowanie liter to długa i żmudna praca, nie trzeba chyba nikogo przekonywać i właśnie dlatego proponuję ułatwienie tego zadania przez wyciągnięcie interesującego kroju pisma z gotowych programów, aby móc go wykorzystać do własnych celów. Sposób jest prosty. Najpierw jednak należy wpisać i zapamiętać na taśmie zamieszczony obok program CZCIONKA.

  • Do pamięci komputera wczytujemy za pomocą programu COPY-COPY segment gry, który jest „podejrzany” o to, że zawiera zapis kształtów liter (zwykle jest to najdłuższy segment);
  • Po wczytaniu segmentu wychodzimy z COPY-COPY do BASIC-a (klawisz Y). Wczytana część ciągle pozostaie w pamięci.
  • Wczytujemy z magnetofonu i uruchamiamy program CZCIONKA.

Na górze ekranu pojawi się okienko pokazujące zestaw liter z aktualnego generatora znaków (na który wskazuje zmienna CHARS). Prawie zawsze będą to jakieś przypadkowe kształty. Oto opis obsługi programu:

  • klawisz 1 — zmniejsza zawartość komórki 23607 o 1 (czyli adres generatora znaków zmniejsza się o 256)
  • klawisz 2 — zwiększa zawartość komórki 23607 o 1
  • klawisz 3 — zmnieisza zawartość komórki 23606 o 8 (adres generatora zmniejsza się o 8)
  • klawisz 4 — zwiększa zawartość komórki 23606 o 8
  • klawisz 8 — zmienia działanie klawiszy 3 i 4 w ten sposób, ze zmniejszają lub zwiększaią one adres generatora o 1, Ponowne naciśnięcie klawisza przywraca stan poprzedni,
  • klawisz 9 — uruchamia „automatyczne przeszukiwanie”, tzn. program działa tak, jakby cały czas wciśnięty był klawisz 2. Ponowne wciśnięcie przywraca stan normalny,
  • klawisz 0 — wyjście z programu (przywraca normalne litery). Nie należy używać BREAK.

Po każdym naciśnięciu klawiszy 1, 2, 3, 4, w okienku na górze ekranu pokazuje się aktualny zestaw znaków (na który wskazują komórki 23606 i 23607). Niżej podana jest informacja, czy automatyczne przeszukiwanie jest włączone (jeśli tak to A= 1) i o tym jak działają klawisze 3 i 4 (jeśli P=1 to zmniejszają lub zwiększają o 8, jeśli P = 0 to o 1).

Gdy w okienku zaczną się pokazywać jakieś sensowne kształty, wówczas należy odpowiednimi klawiszami dopasować znak odpowiadający literze A do migającego kwadracika w okienku (najpierw klawiszami 3 i 4 przy P=1, potem przy P=0). Potem należy zanotować format instrukcji SAVE, podany najniżej na ekranie, a następnie wyjść z programu (klawisz 0), aby zapisać zestaw znaków na taśmie wykorzystując wcześniei zanotowaną instrukcję SAVE.

Ilekroć będziemy chcieli użyć wybranego kroju czcionki w swoim programie będziemy musieli wczytać ją instrukcją:

LOAD „” CODE x, gdzie x to adres pamięci, pod którym chcemy umieścić generator znaków. Aby zamienić standardowy zestaw znaków na nowy należy jeszcze wpisać instrukcje:

POKE 23607,INT(x/256)-1: POKE 23606, 256*INT(x/256)

Teraz wszystkie napisy, jakie będą się pokazywać na ekranie (nawet listing programu), będą napisane nową czcionką.

Michał Szuniewicz