Tomasz "TDC" Cieślewicz podczas październikowego wyjazdu na
Poznań Game Arena zaprezentował nam na swoim notebooku kilka ze
swoich nigdy nie publikowanych atarowskich programów ze starych
czasów, w większości gier. Na moją prośbę obiecał je sukcesywnie
prezentować i mamy pierwszy z nich - edytor znaków dla Atari
Help Me. TDC program podesłał już w listopadzie zeszłego
roku, więc jego publikację można uznać za likwidację jednej z moich
tradycyjnych, nieustających zaległości w prezentacji nadsyłanych
materiałów :). Oddaję głos Tomkowi, który opowie o kulisach
powstania programu i jego obsłudze:
Historia powstania
"Help Me" to wewnętrzny program, który powstał na potrzeby Atari
Studio Mirage, nigdy nie miał się pojawić na zewnątrz firmy. Był
wykorzystywany przy produkcji wielu programów, które powstawały w
naszym teamie. Ja wykorzystywałem go nagminnie przy pracy nad moimi
programami, które społeczność AtariOnline.pl będzie kolejno
poznawać. Wydaje mi się, że był on potem jeszcze w starych czasach
rozdawany przez Mirage w ramach wspomagania twórców gier, którzy
się zgłaszali do współpracy.

W Mirage początkowo nie mieliśmy żadnego programu do edycji znaków,
a dostępne wtedy programy graficzne nie miały takiej
funkcjonalności. Dlatego potrzebowaliśmy "szybkiej pomocy" i stąd
dziwna, jak na edytor znaków, nazwa programu. "Help Me" był
przygotowany przede wszystkim do rysowania fontów w trybie GR.0,
jednak wiele w nim nie natworzyliśmy, ponieważ niedługo po jego
powstaniu do Mirage zajrzał jakiś atarowiec, który zostawił nam
całą dyskietkę różnych czcionek właśnie w tym trybie (do dziś
powinienem gdzieś mieć tę dyskietkę). Na szczęście okazało się, że
program może być równie przydatny w trybie GR.12, w którym
tworzyliśmy wiele programów. Tu program ten był wprost niezbędny, a
ja z niego korzystam nawet dziś.
Opis programu
"Help Me" napisany jest w "Action!", umożliwia edycję znaków w
trybach tekstowych GR0, GR.1, GR.2, GR.12 i GR.13. Program
udostępnia ponad 50 funkcji przypisanych do klawiszy. Ma możliwość
ustawienia wszystkich rejestrów kolorów, tak aby odpowiadały
ustawieniom wielokolorowych trybów we własnych programach. Po
uruchomieniu automatycznie odczytuje z pliku i zapisuje po wyjściu
z programu do pliku - ustawienia wszystkich rejestrów kolorów
wykorzystywanych w trybach tekstowych. Jeśli plik nie istnieje to
ustawiane są domyślne kolory (odcienie szarości). Jeśli plik z
zapisem kolorów nie istnieje to jest on automatycznie tworzony
podczas wyjścia z programu. Znaki 3 i 4 w trybie GR.12 i GR.13 mają
włączony bit atrybutu, co umożliwia ustawienie i podgląd znaku z
dodatkowym 5 kolorem.
Umożliwia edytowanie znaków 8x8 i innych oraz ich podgląd we
wszystkich trybach tekstowych małego Atari. Jest możliwość podglądu
grupy kolejnych znaków w definiowanych prostokątach (budowania
prostokątnych kształtów z większej ilości znaków). To rzadko
spotykaną funkcja, która przydaje się do tworzenia logosów,
obiektów w demkach i grach.
W programie jest przeznaczone miejsce na "help" z opisem klawiszy.
Miało to umożliwić użytkownikowi sprawdzenie, jaka funkcja kryje
się pod danym klawiszem, ale ostatecznie nie zrealizowałem tego
pomysłu. Na szczęście znalazłem papierową wersję opisu funkcji
programu, dzięki czemu dało się odtworzyć informacje o funkcjach
edytora. Pozostałe moje programy nie posiadają żadnych napisów czy
helpów i po latach sam mam problem jak z nich korzystać.

Opis ekranu edytora
1. Z lewej strony znajduje się pole edycji aktualnego znaku
(wybór klawiszami 1-2 lub 3-4). W programie steruje się kursorem za
pomocą klawiszy strzałek (z Controlem lub bez) oraz dżojstikiem
podłączonym do pierwszego portu.
2. W centrum ekranu znajdują się:
- prosty "help";
- pole nazwy pliku (na początku programu widoczna jest tam nazwa
"HELPME.CCF", jest to pozostałość po automatycznym wczytaniu po
uruchomieniu programu tego właśnie pliku, który przechowuje
ustawienia kolorów. W tym samym polu wprowadzamy nazwę plików w
operacjach zapisu i odczytu plików;
- wiersz z komunikatami programu (informujących na przykład o
trwaniu jakiejś funkcji, jej efektów, itp.);
- poniżej trzy pola, w których widać a) pole komunikatu, w którym
program informuje jaki klawisz należy teraz nacisnąć, aby
potwierdzić daną operację. Znak "?" oznacza dowolny klawisz, b)
reprezentacja aktualnie edytowanego znaku w trybie GR.0. Znak jest
przedstawiony normalnie oraz w negatywie, c) numer aktualnie
edytowanego znaku (zapis dziesiętny).
3. Po prawej stronie znajdują się 4 znaki ułożone w kwadrat
"AB" i "CD". Jest to pole, w którym można oglądać więcej znaków
ułożonych w prostokąty stanowiące większą całość. Tu także jest
możliwość oglądania znaków w negatywie (klawisze 5-6 oraz z
Shiftem, 7-8 i 9-0). Miejsce to dalej nazywane jest
"prostokątem".
4. Na dole ekranu znajdują reprezentacje aktualnie
edytowanego znaku w pozostałych trybach tekstowych małego Atari.
Automatycznie wyświetlane są też następne w kolejności znaki,
dzięki temu, jeśli składają się one w całość, to można zobaczyć
pełny efekt (podobnie linie kolejnych trybów tekstowych stykają
się, aby umożliwić podgląd znaków, które mają się stykać.
Opis funkcji (klawisz + opis):
z - czyszczenie znaku (wymaga potwierdzenia tym samym
klawiszem), funkcja odwracalna
Shift+z - czyszczenie wszystkich znaków, funkcja
nieodwracalna
f - zamalowanie całego znaku
q - zapisanie zestawu znaków do pliku
w - odczytanie zestawu znaków z pliku
Shift+q lub
Control+q lub
Shift+Control+q -
zapisanie ustawień kolorów do pliku o wybranej nazwie
Shift+w lub
Control+w lub
Shift+Control+w -
odczytanie pliku z kolorami
Dodatkowo w pliku "HM_KOLOR.KOL" znajdują się zapisane domyślne
kolory z programu. Jeśli w nazwie pliku nie poda się np. "D:" lub
"Dx:" to program automatycznie doda "D:"
1,
2 wybór znaku do edycji
3,
4 przesuwa w zestawie znaków o +10 i -10
5,
6 budowanie prostokątów ze znaków
Shift+5,
Shift+6 odejmowanie znaków z prostokąta po
"x" i po "y"
strzałki - ruch kursora
spacja - wstawia/usuwa punkt
m - aktualny znak do bufora (schowka)
Shift+m - kasowanie bufora
n - wstawienie znaku z bufora do aktualnego znaku
e - skopiowanie danego znaku z pamięci ROM
Shift+e - skopiowanie wszystkich znaków z ROM, funkcja
nieodwracalna
r - sterowanie prostokątem: przełącza między trybami z
"synchronizacją" i bez. W trybie z synchronizacją prostokąta,
zmiana aktualnego znaku (1, 2, 3, 4) zmienia równocześnie pierwszy
znak, z którego zbudowany jest prostokąt
7,
8 - przesuwanie o jeden znak w prostokącie
9,
0 - przesuwanie o 10
o - odbicie w poziomie pojedynczego znaku
Shiftem+o - odbicie znaku w pionie
p - odwracanie znaków (zmienia tryb wyświetlania znaków, nie
modyfikuje samych znaków)
g,
h,
j,
k,
l - ustalanie
kolorów znaków (wartość zwiększana o 2, zmiana wartości o 2
powoduje zmianę koloru co 1, bo małe Atari ma w trybach tekstowych
128 kolorów, a nie 256)
Każdy klawisz opowiada za inny rejestr w pamięci, odpowiedzialny za
konkretny typ koloru:
- klawisz g - pierwszy kolor (kolor zwykłych znaków w trybie GR.1
i GR.2)
- klawisz h - drugi kolor jest kolorem znaków w trybie GR.0
(czyli podstawowej pracy edytora)
- klawisz j - trzeci kolor jest kolorem tła znaków w trybie
tekstowym GR.0
- klawisz k - tak zwany piąty kolor - kolor wykorzystywany w
trybach GR.12 i GR.13
- klawisz l - czwarty kolor, czyli kolor ramki obrazu i tła
znaków w trybach GR.1 i GR.2
g,
h,
j,
k,
l z Shiftem (wartość
rejestru zmniejszana o 2)
g,
h,
j,
k,
l z Control -
zwiększanie wartości kolejnych rejestrów kolorów o 16 (czyli zmiana
koloru, odcień pozostaje ten sam)
Control+Shift+g,h oraz
n,
m, "
,"
zmniejszanie -"- o 16
c - przywrócenie domyślnych wartości wszystkich rejestrów
kolorów
i - odtworzenie znaku przed edycją - Undo (działa tylko w
ramach pracy nad pojedynczym znakiem, czyli pomiędzy przejściami 1,
2, 3, 4)
Shift+Delete - zapamiętanie wiersza
Backspace - wstawienie zapamiętanego wiersza
u - wypełnia linijkę losowymi wartościami
Shift+u - wypełnia cały znak wartościami losowymi
t - przesuwanie do góry zawartości znaku (niewidoczna
zawartość znaku jest pamiętana, do czasu przejścia do edycji innego
znaku)
y - przesuwanie do dołu zawartości znaku (niewidoczna
zawartość znaku jest pamiętana, do czasu przejścia do edycji innego
znaku)
x - przełączanie między trybami: cały ekran w nowym foncie
lub tylko dół ekranu. Tryb całego ekranu jest wyłączany na czas
operacji na plikach.
Inverse - universe video dla aktualnego znaku
Esc - zapisanie ustawień kolorów i opuszczenie programu
Jeśli pod danym klawiszem nie ma przypisanej żadnej funkcji lub nie
jest ona dostępna w danej chwili to włącza się brzęczyk.
tak wyglądało w Mirage projektowanie
znaków
przed programem "Help Me" :)
"Do sterowania parametrami prostokątów służą klawisze:
powiększanie o 1 to klawisze 5 i 6, natomiast z Shiftem pomniejsza
się prostokąt po "x" i "y". Klawiszami 7-8 oraz 9-0 przesuwamy
znaki, z których składa się prostokąt (o ile nie jest włączony tryb
tzw. "synchronizacji" - klawiszem r). Przesuwanie znaków umożliwia
podgląd wszystkich wybranych w trybie negatywu.
Możliwe jest funkcjonowanie w dwóch trybach ustawiania pierwszego
znaku, od którego zaczynane jest budowanie prostokąta. Po
uruchomieniu programu znak edytowany nie ma związku ze znakami z
jakich składa się prostokąt, jednak naciśnięcie klawisza r powoduje
włączenie tzw. trybu synchronizacji prostokąta. W tym trybie
nieaktywne są klawisze od 5 do 9 i 0, a pierwszym znakiem w
prostokącie zawsze jest znak jaki aktualnie edytujemy (sterowanie
klawiszami 1-4)."
Tyle komentarza od TDC, program do ściągnięcia z
katalogu użytków.