Saint Group Selector historia powstania i sposób dziaîania Na dysku(ach) z Fat Agnusem powinien znajdowaç się w katalogu Selector_Section programik o nazwie Saint.Selector. Co to w ogóle jest ? Byç moţe niektórzy z was widzieli program Program Selector (znajomo brzmi, nieprawdaţ) autorstwa Nico Francois (tego od Power Packera). Ja równieţ go widziaîem i zapragnćîem stworzyç coő podobnego. No cóţ, efekt moţecie podziwiaç (?) sami. Jak to dziaîa? Zadaniem Selectora jest umoţliwienie uruchamiania programów przez zwykîy wybór (kilknięcie klawiszem) myszki. Jest na tyle uniwersalny, ţe moţe zostaç zainstalowany na dowolnym dysku. W tym celu musisz skopiowaç: C:Run C:Saint.Selector (ale to akurat nie musi byç tutaj) S:SELECTOR.PROGRAMS Selector moţe zostaç uruchomiony tylko z okienka CLI w następujćcy sposób: Saint.Selector [-h] [-n] [-#], gdzie opcje w nawiasach kwadratowych oznaczajć: -h - kolejne pozycje z pliku SELECTOR.PROGRAMS sć wyőwietlane wiersz po wierszu. -n - wymuszenie uţywania rozmiarów okna jak w NTSC. -# - liczba wyőwietlanych kolumn gadgetów, dopuszczalne wartoőci od 1 do 4. Ten parametr MUSI byç ostatni. Standardowo na ekranie pojawia się 5 kolumn po 14 wierszy w PAL'u lub 5 po 10 w NTSC, wyőwietlanych kolumnami. W pliku tekstowym SELECTOR.PROGRAMS powinien znajdowaç się spis programów, które będć uruchamiane. Format jest następujćcy: Pierwsza linijka: Nazwa dysku np. Util Pack #122393849837 nie musi to byç faktyczna nazwa dyskietki, na ekranie będzie wycentrowana. Druga linijka : Nazwa programu ten napis ukaţe sie na ekranie Trzecia linijka : Program do uruchomienia czyli co tak naprawdę ma zostaç uruchomione. Moţesz umieőciç tutaj kilka nazw programów rozdzielonych őrednikiem. Jasne? Czwarta linijka : Nazwa programu Pićta linijka : Program do uruchomienia itd. Poniţej znajduje się przykîad takiego pliku (Parametry --> -1) Dysk dla zawzietych pisarzy. Edytor tekstow @ CygnusEd v2.12 #ced Dla kogo ma byc tekst ? @ Do Fat Agnusa Setmap Fatek;ff >NIL: cygnus2.font Do Imazine Setmap Imazine;ff >Nil: imatpz.font Umilajace pisanie moduly @ Almost z gry Bluess Brothers player -p5 df0:modules/mod.1 Ride In The Rain player -p5 df0:modules/mod.2 Moongazer player -p5 df0:modules/mod.3 Trouble Vision player -p5 df0:modules/mod.4 Troche pomocnych programow @ PPMore c:PPMore Noise Player, wersja 4.0 *player -r 'Nazwa Dysku' moţe mieç maksymalnie 80 znaków. 'Nazwa Programu' moţe mieç maksymalnie w zaleţnoőci od liczby uţywanych kolumn: dla 1 kolumny - 60 znaków. dla 2 kolumn - 39 znaków. dla 3 kolumn - 25 znaków. dla 4 kolumn - 19 znaków. dla 5 kolumn - 15 znaków. 'Program do uruchomienia' moţe mieç maksymalnie 108 znaków. Jeőli coő będzie za dîugie, to zostanie bezlitoőnie ucięte. Jak programy sć uruchamiane ? Wystarczy kliknćç myszkć na odpowiednim gadget'cie i juţ. W lewym górnym rogu znajduje sie gadget Exec-Run-Launch. Kiedy jest ustawiony na: 1) Exec - program jest uruchamiany, a ekran Selectora znika, by pojawiç się po zakończeniu dziaîania wybranego programu. Chyba, ţe ten program, tak jak CED, zakîada swój wîasny task. Wtedy oczywiőcie ekran pojawi się szybciej. 2) Run - program jest uruchamiany na osobnym tasku (przy pomocy programu Run, dlatego musi on byç w katalogu C:) i okno Selectora wraca natychmiast. 3) Launch - program jest uruchamiany, a Selector kończy swojć dziaîalnoőç. Gadget moţe byç przeîćczany po kliknięciu na nim lewym klawiszem myszki lub po naciőnięciu klawisza "Strzaîka w Prawo". W prawym górnym rogu znajdujć się dwa niewidoczne gadget'y OKNO NA WIERZCH i OKNO POD SPĹD (strasznie to gîupio brzmi po polsku). Poniţej widaç informacje o iloőci wolnej pamięci. Jest ona na bieţćco modyfikowana. W drugiej linijce okreőlajćcej dany wpis (kaţdy wpis zajmuje dwie linijki w pliku SELECTOR.PROGRAMS np. wpis pierwszy - linijkę drugć i trzecić) pierwszy znak moţe mieç specjalne znaczenie: @ - Pierwsza linijka wpisu jest komentarzem i klikanie na tym gadget'cie nie uruchamia ţadnego programu, a napis się tam pojawi w innym kolorze. * - Uruchom przez Run, czyli program jest uruchamiany w identyczny sposób jak po ustawieniu gadget'u Exec-Run-Launch na Run, nawet wówczas, gdy sam gadget pokazuje Exec. # - Uruchom i zakończ pracę, nawet wówczas, gdy gadget Exec-Run-Launch jest ustawiony na Exec lub Run. < - Zmień listę rozkazów, przydatne jako rodzaj podkatalogu (Program jest tu zgodny z Program Selector'em Nico Francios, oprócz jednego wyjćtku. W pierwowzorze jest jeszcze znak '!', który zmienia znak zachęty w oknie CLI) Pozostawienie dwóch pustych linii stworzy 'dziurę' między uţywanymi gadgetami (nieuţywane gadgety sć za biaîa siateczkć i wîaőnie taki gadget się pojawi). Ach, biaîa siateczka... Oczywiőcie będzie ona biaîa, kiedy kolory będć takie, jakie sć uţywane w KS 2.0x Po naciőnięciu klawisza "Help", Selector probuje wczytaç plik SELECTOR.PROGRAMS jeszcze raz. Przyda Ci się to wtedy, gdy wczytasz innć listę. W ogóle, jeőli wczytywanie nowej listy programów nie zakończy się sukcesem, Selector wyőwietli starć listę. Z Selectora moţna wyjőç po naciőnięciu klawisza ESCape lub po naciőnięciu prawego klawisza myszki (zamiast duţego okna, pojawi się maîe, moţesz je zamknćç, tak jak w Workbenchu, ponowne kliknięcie prawym przyciskiem wyőwietli duţe okno z gadgetami). Przy uţyciu ESCape wyőwietla się jeszcze proőba o potwiedzenie. Jak z tego widaç, Saint Group Selector zostaî stworzony na wzór i podobieństwo Program Selector'a, ale z pewnymi poprawkami. Jak on powstaî ? No cóţ: Dzień pierwszy: Dowiedziaîem się , ţe jadę do Francji na winobranie. Z rozpaczy piszę program w Kick Pascalu. Dzień drugi-pićty: Program dziaîa, ale jest trochę dîugi (ok 20K), logo dogrywa się z dysku (Kick Pascal padaî jak mucha, gdy próbowaîem logo doîćczyç do programu űródîowego). Dzień szósty: Kumpel pomógî mi doîćczyç wreszcie to logo, Kick Pascal kompiluje, ale juţ nic więcej nie chce robiç, program ma dîugoőç ok. 30K (Logo ma tylko ok 2.5K). Dzień siódmy: Zapada decyzja, piszę toto w assemblerze, biorę od kumpla ksićţkę z rozkazami assemblera (jeszcze nigdy nie pisaîem programu w assemblerze), AsmOne i zabieram się do roboty. Odpowiednie gazety o bibliotece intuition mam jeszcze z etapu Pascala. Dzień ósmy i dziewićty: Trę oczy i siedzę nad tym caîe dnie i dojeţdţam tylko do poîowy. Zresztć tej îatwiejszej. Zostawiam űródîówkę kumplowi i jadę do Francji (Jezuuuuuuuuuuu, dlaczego wîaőnie jaaaaaaaa ?????) Po powrocie z robót (przymusowych): Kumpel oczywiőcie nic nie zrobiî (nie byîo mnie dwa tygodnie). Biorę to co zostawiîem i kończę w trzy dni. Po trzech dniach: Uruchamiam program i on oczywiőcie nie dziaîa. Dzięki opcji DEBUG (AsmOne!!!) wyîapuję wszystkie (prawie) 'pluskwy'. Niektóre sć bardzo őmieszne, oto przykîad dla wtajemniczonych: Move.l Mode(PC),d1 a powinno byç Move.b, i to teţ wystarczyîo, ţeby coő padîo. Po jakimő czasie: Inny kolega radzi mi, ţeby Selector wczytywaî listę rozkazów przez bibliotekę powerpacker. W efekcie Selector nie dziaîa na póî mega. Ten sam czîowiek daje mi procedurę zakîadajćcć task (tak jak CED). Doîćczam jć do programu, ale ni cholery nie mogę pojćç, co ona robi. Po miesićcu: Wywaliîem procedurę zakîadajćcć task, bo ma jakieő bîędy, a ja nie wiem jakie, oraz biblioteke powerpackera, bo wreszcie wiem jak dowiedzieç się jakć dîugoőç ma plik na dysku, nie bawićc się w sprawdzanie wszystkich plików w danym katalogu (z tego powodu korzystaîem z tej nieszczesnej biblioteki). Informację tę zdobyîem őledzćc co robi procedura ppLoadData z biblioteki powerpacker. Jest to tak proste, ţe aţ őmieszne, ţe sam na to nie wpadîem. Oprócz tego stwierdziîem, ţe przydaîoby się jeszcze parę opcji i ţrę się z tym do teraz. Po ni(e)jakim czasie: Selector potrafi rozpoznaç i zmieniaç liczbę wyőwietlanych kolumn i skróciî się jeszcze trochę. Zostaîy usunięte stare bîędy a nowe dodane. Wynik: Selector jest cztery razy krótszy po spakowaniu od wersji pascalowskiej (oczywiőcie teţ spakowanej) i dwa razy krótszy od Program Selectora, który teţ jest spakowany. Ma teraz ponad 4Kb. Nie jest to chyba zîy wynik, co ? Bilbo.