Edytor znaków "Help Me" by Kaz 2010-01-05 03:46:50

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ę:

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:

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.
Kaz 2010-01-05 21:04:31

Pierwszy artek z cyklu wspominek TDC o starych czasach dotyczyl Benka i jego grafik: http://tiny.pl/hmm37

MaW 2010-01-05 21:06:18

Akurat siedzimy z Sukkorem nad sprzętem i cieszymy się, że jako pierwsi możemy podziwiać nowy wpis - pozdrowienia z "minisztabiku" - S & M

Kaz 2010-01-05 21:22:49

He he - a co robicie na tym sztabiku?

Mariusz 2010-01-05 21:51:47

Witam, wiem że to chyba nie odpowiednie miejsce na takie pytanie no ale może mi ktoś odpowie ? :)
Kto mołgby mi zrobić sio2sd do atari ? i ile to kosztuje ?
oraz rozszerzenie pamięci do 320 kb ? i ile to kosztuje ?
Swego czasu widziałem sio2sd na allegro ale już nie ma :(

tdc 2010-01-05 21:54:36

Kaz odnośnie wstępu to nic nie szkodzi, wszyscy wiemy ile czasu zajmuje przygotowywanie tekstów, zdjęć itp. Dlatego doceniamy Twoją pracę, zgodnie z tym co pisałem w poście "Rok 2009 za nami".

MaW: no to fajnie ;) My też musimy w wawie rozpocząć dobrze nowy rok i zrobić sobie sztabik.

Mariusz 2010-01-05 21:55:25

PS. Dlaczego sprzedaje sie sio2sd bez obudowy, tylko płytka ? przecież to bez sensu troche, koło atari leży wtedy kawałek płytki drukowanej .
No i to że w każdej chwili może sie urwać kabelek albo ta kiepska obsługa przycisków, (są za małe)
To poprostu powinno być sprzedawane w jakiejś obudowie chyba ???

demien 2010-01-05 22:00:49

czy ktoś może mi pomóc i napisać co to za gra, proszę:

http://www.voila.pl/462/2yfwk

Mariusz 2010-01-05 22:02:15

Nie ma sprawy to jest Starquake

Kaz 2010-01-05 22:11:02

Demien - Starquake:
http://atari.fandal.cz/detail.php?files_id=3148

Mariusz - a probowales sie dogadac ze sprzedawca interfejsu, zeby zrobil Ci obudowe? O ile wiem, niektorzy takie sprzedaja, na przyklad Lotharek. Miejsce na takie ogloszenia jest w dziale Stragan (na pasku po prawej stronie). Znajdziesz tam tez nie tylko Lotharka, ale i Pigule, ktory tez SIO2SD robi.

Mariusz 2010-01-05 22:23:36

Dziękuje Kaz , już zadałem odpowiednie pytanie w dziale stragan i czekam. Pozdrawiam.

MaW 2010-01-05 22:28:32

Kaz: akurat pastwiliśmy się nad makowymi "zwłokami". Trochę pogadaliśmy o sprzęcie nowym i starym, a chwilę potem podpiąłem dwa dżoje do mojej klawy bezprzewodowej i pykaliśmy na emulcu aż do dziesiątej. Pozdrowienia dla Sukkora - mam nadzieję, że na następnym śląskim sztabiku pojawimy się obaj :-).

Kaz 2010-01-05 22:40:13

Mariusz - najlepiej skrobnij do podanych osob (Lotharek, Pigula). Tak bedzie szybciej i pewniej niz czekanie, az oni sie zglosza do Ciebie. Adresy znajdziesz w ich ogloszeniach.

immolator 2010-01-05 23:22:30

Różne tematy się pod tym wpisem pojawiły, przepraszam za swój nie w temacie ;-) -

@MaW: możesz podać nazwy tych pecetowych joyów, których używasz pod emulatorem? Dzięki.

Sukkor_benoth 2010-01-05 23:25:14

Nie mogłeś Kaz napisać o 2 minuty później ???? ;)
A programik wygląda jakoś znajomo.... (Deja Vu ?)

tdc 2010-01-06 00:31:44

Sukkor_benoth: wg mojej wiedzy program nigdy nie wyszedł poza Mirage, więc nie sądzę abyś go widział na śląsku.

Mariusz 2010-01-06 00:40:50

Kolego Kaz, jest jeden problem nie posiadam adresu e-mail do kolgi Lotharka :(

Mariusz 2010-01-06 00:44:56

PS. Również do Piguły przydał by sie e-mail

Kaz 2010-01-06 01:36:15

Moze napisalem niezbyt wyraznie, wiec jeszcze raz: w dziale "Stragan" (pasek po prawej stronie) masz oferty sprzedazy roznych osob, w tym Lotharka i Piguly. Tam znajdziesz namiary na nich, w tym adresy email.

MaW 2010-01-06 09:10:51

immolator: :D - te joye to dwa SV-127 lub inne quickshoty, które akurat nie były pod ręką (jeden jeszcze w pudełku, jakby zaraz po rozpakowaniu - żal mi go ruszać :-) ).

Mariusz 2010-01-06 09:51:16

Dział stragan znalazłem już dawno bo napisałem tam moje zapytanie nie zauważyłem tylko adresu e-mail który tam faktycznie jest ale bardzo słabo widoczny, powinien być pogrubiony czy coś.
Nie patrzyłem zbyt dokładnie dlatego może nie zauważyłem z początku.
Dzięki Kaz i sorki za zamieszanie. Pozdrawiam.

immolator 2010-01-06 14:06:29

@MaW: czyli przez jakąś przelotkę? Bo pisałeś, że pogrywaliście pod emulcem.

Kaz 2010-01-06 14:13:38

Mariusz - nic nie szkodzi, nie zauwazac - ludzka rzecz :D. Dodam tylko jeszcze, ze oczywiscie Pigula i Lotharek to nie jedynie elektronicy, ktorzy moga wykonac SIO2SD, mozna probowac jeszcze uderzac do innych, ale akurat Ci w miare regularnie sprzedawali/sprzedaja taki sprzet.

MaW 2010-01-06 14:43:09

immolator: tak, za pomocą starego gniazda LPT (wyrwałem środkowe piny i zostawiłem 9 z lewej i 9 z prawej - 2 dżoje) podłączyłem się do linii sygnałowych z folii klawiatury.

Sukkor_benoth 2010-01-06 20:16:14

TDC - dlatego napisałem deja vu.

Pigula 2010-01-06 22:50:26

Mariusz - interfejs sprzedawany jest bez obudowy z kilku powodów:

Po pierwsze brak uniwersalnej obudowy, która ma wycięty otwór pod tego rodzaju wyświetlacz LCD czyli trzeba uciekać się do zwykłych uniwersalnych a w tym wypadku jest to zadanie bardzo czasochłonne i wymaga dużo samozaparcia oraz zdolności, które posiada np. Bewu. Ja nie mam tyle wolnego czasu - próbowałem robić kilka razy obudowy efekt był tragiczny, dlatego sam się tego nie podejmę - nawet mój własny leży sobie grzecznie goły na obudowie.

Kaz 2010-01-07 01:19:38

Rozwiazaniem jest dedykowana forma - ale to tez koszty. Gdyby byla taka jak BeWu zrobil (a'la seria XE) to pewnie byloby troche chetnych i moze rozlozylyby sie sensownie na glowe.

Tdc 2010-01-07 05:25:31

Sukkor_benoth: Spoko, mi z kolei chodzi o to, że ja jestem na 99% pewien, że program nie wyszedł, więc jeśli ktoś faktycznie by go znalazł na swojej dyskietce to byłaby to dla mnie niezła ciekawostka ;)

Tdc 2010-01-07 05:30:56

no i może udałoby się wtedy namierzyć jakiś wspólnych znajomych z tamtych czasów za pośrednictwem których program dotarł do kogoś.