Dzisiaj kolejny odcinek o naszych programikach na duże i małe
Atari. Przypominam, że chodzi o grupę
Rohar, którą
tworzyliśmy we dwóch z
Zygą, a która to grupa właściwie
nigdy publicznie nie zaistniała. Z tamtych czasów pozostało nam
masę niedokończonych projektów i biorąc pod uwagę nasze zdolności
do teorytyzowania oraz wrodzone lenistwo, aż dziw bierze, że
jakiekolwiek prace zostały ukończone. Jedną z nich jest program,
który mam przyjemność dzisiaj przedstawić. Ukrywa się on pod
jednocześnie tajemniczą i wszystko mówiącą nazwą
JoySTick.
winietka w programie JoySTick
Zacznijmy od kulisów powstania tego programu. Jak wszystkim wiadomo
;), ja i Zyga zakończylismy w 1996 roku pisanie ostatniej,
działającej wersji
AFTER-a (3.5). Program był na tyle szybki
i bezbłędny, że to chyba było główną przyczyną najpierw
spowolnienia, a potem zatrzymania prac nad wersją 4.0 tego w sumie
sympatycznego programu do komunikacji między małym i dużym Atari.
Skoro działa dobrze, to po co tracić czas na zrobienie jeszcze
lepszego? I lenistwo wzięło górę... Nie oznacza to jednak, że
przestaliśmy się bawić naszym systemem. Zaczęliśmy szukać pomysłów
na inne wykorzystanie interfejsu. Co można zrobić z kabelkiem,
który w Atari ST podpięty jest do w pełni sterowanego portu
drukarki, a z drugiej strony biernie obsługuje dwa joysticki małego
Atari? Tak, tak, tak! Można wykorzystać "dużego" jako
superjoystick, który steruje małym Atari! Zamiast podpinać do
malucha joysticki, podpinamy ST/STE i... możemy ładować przez
interfejs gry, uruchamiać je, a potem sterować grami za pomocą
urządzeń dostępnych dla ST: klawiatury, myszki, joysticka, joypada,
itd. No i możemy wszystkie nasze ruchy tym "symulowanym"
joystickiem nagrać, a potem odtworzyć! Oczami wyobraźni
widzieliśmy, jak gramy w Zybexa, zapisujemy wszystkie ruchy w
trakcie gry do pliku, a potem z tego pliku prezentujemy kolegom
przejście Zybexa na żywo, bez kiwnięcia palcem! Z tej właśnie wizji
narodził się poniższy program dla Atari ST/STE:
.png)
JoySTick w całej okazałości
Od początku do końca był to program rozpowszechniany jako freeware
- można go do woli kopiować, rozpowszechniać, brać za niego kasę w
dowolnych ilościach, poprawiać co się da. Jedyne co nie wolno, to
podszywać się pod autorów :) (kto by zresztą chciał? takie
lamerstwo... napisane w GFA Basic 3.5). Oryginalnie menu programu
było pisane w języku angielskim, podobnie jak instrukcja obsługi.
Kiedy jednak dzisiaj otworzyłem plik dokumentacji, podłamałem się
poziomem tego angielskiego. Niby dopiero wtedy zaczynaliśmy się
uczyć, ale takich "kfiatków" to już dawno nie widziałem. Z tego
względu pozwoliłem sobie na przetłumaczenie na język ojczysty tego
"wykwitu geniuszu ludzkiego" i bardzo proszę o NIE czytanie
dokumentacji oryginalnej (którą, jeśli załączę, to tylko ze względu
na wartość historyczną). Oto instrukcja do wersji 1.2 programu
JoySTick:
Podłącz swoje Atari ST/STE do Atari XL/XE używając interfejsu
AFTER (po szczegóły sięgnij do dokumentacji AFTER-a). Jeżeli w
ogóle nie posiadasz tego interfejsu, możesz go wykonać we własnym
zakresie. Jest tani i łatwy w konstrukcji, wymaga jedynie
podstawowych umiejętności lutowniczych. Na XL/XE uruchom program o
nazwie AFTER1.INI (późniejszej transmisji plików towarzyszyć będą
paski na ekranie) lub AFTER3.INI (transmisja z normalnym ekranem).
Następnie uruchom program JoySTick na ST/STE. Teraz możesz używać
swojego 16-bitowego Atari jako superjoystick dla małego Atari.
Dostępne opcje:
- EXIT - wyjście z programu (pierwsza ikona w lewym,
górnym rogu);
- CONTROLLER - wybór kontrolera, jaki będzie podpięty
do ST/STE. Domyślnie jest to joystick w porcie 1, ale można używać
też myszy w porcie 0, klawiatury (klawisze kursora lub klawiatury
numerycznej), joypada STE/Falcon w dodatkowym porcie. Klawiatura i
joypad na razie są nieobsługiwane;
- AUTOFIRE - ustawienie przycisku autofire. Możliwe
stany: wyłączony, strzelanie 50 razy na ramkę, 25 razy na ramkę, 10
razy na ramkę, 5 razy na ramkę;
- VIEWER - zmiana rodzaju wyświetlacza znajdującego się
w górnej, prawej części ekranu. Domyślnie jest tam symboliczny
rysunek joysticka z kierunkami i przyciskiem fire. Po przełączeniu
pokazuje się tracker – jeszcze nie dostępny, następnie – tabela ze
statystykami użycia joysticka, jako ostatni –
equalizer;
- LOAD GAME - załadowanie pliku wykonywalnego dla
małego Atari do pamięci ST/STE. Bufor na plik maksymalnej wielkości
190 KB. Jeżeli coś znajduje się w tym buforze, na czerwono będzie
się świecić mała kontrolka obok napisu LOAD GAME;
- SEND GAME - możliwość wysłania pliku (gry, dema,
użytku) do małego Atari za pomocą interfejsu AFTER. Plik trzymany
jest w buforze, do momentu uruchomienia na małym Atari pliku
AFTER1.INI lub AFTER3.INI. Kiedy transmisja jest w toku, mruga mała
kontrolka obok napisu SEND GAME. Koniec transmisji sygnalizowany
jest dźwiękiem, żeby wiadomo było, że plik został wczytany i się
inicjuje (albo i nie) na XL/XE. Wprowdziliśmy to dlatego, że czasem
nie było wiadomo, czy skończyło się już przesyłanie danych czy po
prostu coś się zwiesiło. Uwaga! Około 10 procent gier i demosów nie
uruchamia się po załadowaniu do pamięci malucha (Dlaczego? Cóż,
wiele powodów...). Ponadto bezsensowne jest uruchamianie w ten
sposób programów DOS-owych. Większość uda się odpalić (około 80%),
ale bez DOS-a nie będzie możliwy np. zapis czy odczyt danych z
dyskietki;
- PLAY - można grać sobie na małym Atari po
skonfigurowaniu nawet najdziwniejszego urządzenia (na przykład:
myszki z autofirem);
- STOP - klawiszem spacji można zatrzymać transmisję i
sterowanie joystickami;
- REC - zapisuje wszystkie ruchy joysticka (kierunki
oraz fire). Próbkowane to jest do bufora 190 KB w tempie raz na
ramkę. Kiedy nagrane dane znajdują się w buforze, świeci się mała
lampka koło napisu LOAD DATA;
- REP - odtworzenie wszystkich wykonanych ruchów
"joystickiem". Niestety, nie działa to całkowicie poprawnie (z
bliżej nieznanych powodów co jakiś czas gubiona była ramka) i miało
być poprawione w następnej wersji;
- SAVE DATA - zapis bufora z ruchami joysticka (aby
zachować dla przyjaciół, rodziny, potomków...);
- LOAD DATA - załadowanie zapisanych danych (od
przyjaciół, rodziny, przodków...);
- dwa pola, pierwsze z literą T (TIME)- wyświetla czas
nagrywania stanów superjoysticka, a drugie, z literką L
(LENGTH) długość pliku z danymi w bajtach.
I to tyle historii o superjoysticku do małego Atari. Nie udało nam
się, mimo długich godzin ślęczenia nad programem na ST, znaleźć
przyczyny gubienia ramek. Zapał opadł i program pozostał w tej
wersji w której jest obecnie... Plik programu
tutaj. Jeżeli kiedyś odnajdę pliki
źródłowe, to również je udostępnię.