BINDDRIVERS - Rozkaz ten może być użyty wyłącznie w sekwencji startowej i tylko raz. Powoduje dołączenie do systemu sterowników urządzeń zewnętrznych, które znajdują się w ROM-ie lub w katalogu Expansion (na przykład samo konfigurujące się rozszerzenie pamięci czy twardy dysk).
BINDDRIVERS (przyłącz sterowniki)
Tak jak to zostało napisane powyżej. Rozkaz ten może być użyty wyłącznie w sekwencji startowej i tylko raz. Powoduje dołączenie do systemu sterowników urządzeń zewnętrznych, które znajdują się aktualnie w ROM-ie lub w katalogu Expansion (na przykład samo konfigurujące się rozszerzenie pamięci czy twardy dysk). Jeśli masz nie rozszerzoną Amigę lub hardware, który nie wymaga plików konfigurujących (innymi słowy, jeśli szuflada Expansion jest pusta), możesz spokojnie usunąć rozkaz BindDrivers zarówno z sekwencji startowej jak i z katalogu C: W przeciwnym razie Twój dysk będzie się uruchamiał o kilka sekund dłużej, gdyż BindDrivers będzie się starał znaleźć coś, czego nie ma. W systemie 1.2 BindDrivers nie widzi FFS. UWAGA: Jeśli chcesz, aby sterowniki dołączone do sprzętu zostały przyłączone przez BindDrivers, nie możesz usunąć ani biblioteki icon.library, ani ikon, jakie mają te sterowniki.
BINDMONITOR (przyłącz monitor)
Rozkaz ten występuje wyłącznie w systemie 2.0. Składnia (dla systemu 2.0): BINDMONITOR [monitorid=] >Mode ID< [MONITORNAME=] >Mode< gdzie: Mode ID - to adres trybu graficznego Amigi (patrz niżej); Mode - nazwa nadana monitorowi (dowolna nazwa zgodna ze standardem nazw Amiga DOS). Wzorzec MONITORID/A, MONITORNAME/A Rozkaz pozwala na uzyskanie dostępu do różnych trybów graficznych amigi, które przenosi Twój monitor.
Adresy trybów graficznych:
| 0x08000 | hires | |
| 0x08004 | hires | (interlace) |
| 0x08020 | super-hires | |
| 0x08024 | super-hires | (interlace) |
| 0x19000 | hires | (NTSC) |
| 0x19004 | hires | (interlace, NTSC) |
| 0x19020 | super-hires | (NTSC) |
| 0x19024 | super-hires | (interlace, NTSC) |
| 0x29000 | hires | (PAL) |
| 0x29004 | hires | (interlace, PAL) |
| 0x29024 | super-hires | (interlace, PAL) |
| 0x39000 | hires | (VGA) |
| 0x39004 | lores | (VGA) |
| 0x39005 | lores | (interlace, VGA) |
| 0x39024 | productivity | |
| 0x39025 | productivity | (interlace) |
| 0x41000 | A2024 | (10 Mhz) |
| 0x49000 | A2024 | (15 Mhz) |
przy okazji podaję też adresy trybów graficznych dla kości AGA (nie wiadomo, kiedy to się może przydać). Nie należy ich jednak stosować w rozkazie BindMonitor, ale przy innych okazjach (co będzie omówione dalej).
| 0x00000 | lores | |
| 0x00004 | hires | (interlace, PAL) |
| 0x00080 | EHB | |
| 0x00400 | DualPlayField | |
| 0x00400 | DualPlayField | |
| 0x00800 | HAM | |
| 0x11000 | lores | (NTSC) |
| 0x21000 | lores | (PAL) |
| 0x31000 | MultiScan | |
| 0x61000 | EURO72 | |
| 0x71000 | EURO36 | |
| 0x81000 | SUPER72 | |
| 0x91000 | DblNTSC | |
| 0xA1000 | DblPAL |
Przykład : BINDMONITOR 0x9024 PAL SUREHAJRES_W_INTERLEJSIE
pozwoli na oglądanie obrazków super-hires interlace, a jednocześnie nada mu nazwę PAL:SUPERHAJRES_W_INTERLEJSIE
BLANKIER ("ściemniacz" ekranu)
Rozkaz ten nie występuje w systemach 1.2 i 1.3. Składnia dla systemu 2.0 :
BLANKER [sec= >n<] [hot= >hname<] [display= >n1<] [priority= >n2<] [CycleColors] [Animation]
Gdzie: n - liczba sekund, po jakich ma nastąpić uaktywnienie rozkazu; hname - kombinacja klawiszy (tzw. hot-key), która włącza rozkaz wówczas, gdy nie jest on dostępny za pomocą myszki albo "dobieranie" się do niego za pomocą myszki trwało by zbyt długo; n1 - numer nadany monitorowi innemu niż "firmowy" Commodore, a przyłączonemu w sposób programowy; n2 - priorytet Blankiera wśród innych programów typu Commodity.
Wzorzec (dla systemu 2.0) : SECONDS/K/N, SECONDS/K/N, CX_POPKEY/K, CX_POPUP/K, CX_PRIORITY/K/N
Wzorzec (dla systemu 2.1) : SECONDS/K/N, CX_POPKEY/K, CX_POPUP/K, CX_PRIORITY/K/N, CYCLECOLORS/S, ANIMATION/S
Wzorzec (dla systemu 3.0 i 3.1) : DONOTWAIT/A, SECONDS/K/N, CX_POPKEY/K, CX_POPUP/K, CX_PRIORITY/K/N, CYCLECOLORS/S, ANIMATION/S
Tego rozkazu trudno szukać w katalogu C: jest to bowiem kolejna procedurka Commodity znajdująca się na dysku EXTRAS w katalogu Tools/Commodity. Powoduje ona "zasłonięcie" aktualnego ekranu przez "ściemniacz", którego parametrami steruje użytkownik, podając czas, po jakim ekran ma zostać zasłonięty. Czas ten liczy się od ostatniego naciśnięcia klawisza na klawiaturze, myszce lub innym urządzeniu wprowadzającym (jak choćby joystick). Maksymalny czas, jaki możemy ustawić, to 9999 sekund, minimalny - 0. Od systemu 2.1 w górę mamy także możliwość ustawienia innych cech ekranu "zasłaniającego", takich jak wprowadzenie ciekawych i dość szybkich animacji czy "kołysania kolorów" albo wszystkich tych parametrów jednocześnie.
Do czego może służyć taki Blankier? Dość ciekawym zastosowaniem jest technika telewizyjna, gdy na obraz wideo, wprowadzony do Amigi genlockiem, nałożymy na przykład animację Blankiera z jednoczesnym "migotaniem kolorów". Rozdziawianie gęby u wszystkich pecetowców murowane. W zależności od ustawienia parametrów ekranu:
- stanie się on czarny (w systemie 2.0 lub jeśli wyłączymy opcję animacji i kołysania kolorów w pozostałych systemach);
- zacznie się mienić kolorami (przy włączonej opcji CYCLE COLORS);
- pojawi się animacja (przy włączonej opcji ANIMATION);
- pojawi się animacja mieniąca się kolorami (przy skorzystaniu z CYCLE COLORS i ANIMATION jednocześnie).
Blankier można uruchomić klikając na jego ikonę - nic nie stoi jednak na przeszkodzie, aby wywoływać go za pomocą rozkazu z poziomu CLI lub Shell (należy jednak, podobnie jak inne Commodiry, uruchamiać Blankier za pomocą RUN). Jeśli chcesz umieścić go w sekwencji startowej, wówczas należy skierować go do NIL, choćby w poniższy sposób :
RUN >NIL: BLANKER CX_POPUP=NO
A co to jest ten tajemniczy parametr CX_POPUP na końcu ? Mnie kojarzy się on zawsze, nie wiadomo czemu, ze starym i głupawym filmikiem rysunkowym o marynarzu Popeye, który uwielbiał szpinak. Żarty na bok. Parametr ten uniemożliwia (przy podaniu =NO) wyświetlenie ekranu początkowego Blankera - tego, na którym też można ustawić parametry, a który przecież nie zawsze jest potrzebny. Drugi parametr CX_POPKEY określa tak zwany "hot-key", czyli kombinację klawiszy, jaka spowoduje natychmiastowe uruchomienie Blankera. Możemy tu (po znaku równości) wpisać nazwę następujących klawiszy : [Shift], [Ctrl], [Alt] lub nazwy klawiszy funkcyjnych (na przykład [F2] czy [F7] itp). Domyślnie jest tu ustawiona kombinacja [Ctrl] [Alt] [B]. CX_PRIORITY określa natomiast priorytet, jaki nadajemy Blankerowi pośród pozostałych procedur typu Commodity (z poziomu Workbench ustawia się to procedurą Exchange). Domyślnie jest tu ustawione 0. Możemy nadać mu wyższy priorytet, jednak radziłbym z tym uważać, bo na przykład priorytet =2 przy jednoczesnym ustawieniu "hot-key", powiedzmy jako [Shift] [F2], odetnie nas od klawisza [F2] jako takiego.
Parametr DONOTWAIT należy ustawiać głównie przy umieszczaniu Blankera w sekwencji startowej, i to tylko wówczas, jeśli w tejże sekwencji wcześniej ładujemy i rozpoczynamy jakiś proces, który długo się uruchamia. Jeśli teraz zastosujemy przy Blankerze DONOTWAIT, będzie on ładowany równolegle w czasie uruchamiania się tego poprzedniego programu.
Przykład :
BLANKER seconds=120 CX_POPKEY=SHIFT CONTROL ANIMATION=YES
spowoduje, że jeśli przez dwie minuty nie będziemy ruszać Amigi, pojawi się na ekranie animacja Blankera (jednak bez "kołysania kolorów"), a ponownie będziemy mogli uruchomić Blanker naciskając jednocześnie klawisze [Shift] i [Ctrl]. (W wypadku naciśnięcia tych klawiszy Blanker zadziała od razu - niezależnie od tego, jaki czas ustawiliśmy parametrem SECONDS).
Animacja Blankera ma zmienni szybkość, która dodatkowo zależy od tego, jaki masz procesor w Amidze. Przy karcie z procesorem MC68030 jest już tak szybka, że niektóre jej szczegóły zaczynają umykać uwadze.
UWAGA: Podobnie jak przy wszystkich innych rozkazach typu Commodity - złe wpisanie parametru (na przykład SECONDS=123456789) nie spowoduje wygenerowania komunikatu o błędzie. Jeśli nie jesteś pewien, czy wszystko wpisałeś prawidłowo, możesz sprawdzić w tym wypadku jedynie rozkazem STSTUS
BREAK (przerwij)
Składnia dla wszystkich systemów : BREAK [PROCESS=] >pr< [ALL | C | D | E | F]
Gdzie : >pr< - nazwa procesu; ALL - powoduje działanie rozkazu na wszystkich poziomach; C - tylko na poziomie C; D - tylko na poziomie D itd.
Wzorzec (dla wszystkich systemów) :
BREAK PROCES/A, ALL/S, C/S, D/S, E/S, F/S
Polecenie powoduje przerwanie wykonywania określonego procesu. Ktoś mógłby zapytać: po co korzystać z takiego rozkazu, skoro można użyć kombinacji klawiszy [Ctrl] + [C] lub [Ctrl] + [D]. A jednak ten rozkaz jest bardzo potrzebny. Dlaczego? Wspomniana wyżej kombinacja klawiszy przerywa jedynie procedury uruchomione z konsoli interaktywnej (CON:). Jeśli rozkaz jest uruchomiony rozkazem RUN, wówczas zostanie otwarte nowe okno i opisany sposób nie może być zastosowany do przerywa. W takim wypadku pomoże jedynie BREAK.
Parametr pr - określa numer procesu, jaki ma być przerwany, i musi występować w rozkazie BREAK. W jaki sposób stosować ten rozkaz w skryptach? Najprościej podglądnąć sekwencję startową Workbencha 1.3, gdzie za pomocą tego rozkazu możliwe jest uruchomienie skryptu StartUp_II z jednoczesnym wykonywaniem pierwszego.
Przykład. Jeśli uruchomimy Amigę 1200 i otworzymy okno Shell-a, wówczas mamy uruchomione trzy procesy :
2 - ConClip;
3 - Workbench;
4 - ten, w którym się aktualnie znajdujemy.
Jeśli z jakichś względów przeszkadza nam ConClip, wówczas wystarczy go przerwać przez wpisanie :
BREAK 2 ALL
Procesu 2 i ConClip-a już nie ma.
Marek Pampuch
Magazyn Amiga, Czerwiec 1994r.