Tajemnice ATARI

ATARI SuperKey

    Gdy kilka lat temu po raz pierwszy zetknąłem się z komputerami typu PC, miałem okazję przyjrzeć się przeznaczonym dla nich programom. Chyba najbardziej z nich spodobały mi się produkty znanej firmy Borland, a przede wszystkim bardzo użyteczny SuperKey. Zainspirowany nim, napisałem podobny program dla małego ATARI.

    ATARI SuperKey jest programem, który umożliwia zastąpienie skomplikowanych ciągów naciśnięć klawiszy wygodnymi, a co ważniejsze - o wiele krótszymi, komendami wybranymi przez użytkownika. SuperKey przejmuje przerwanie klawiatury i pozwala na stworzenie własnej tablicy, która analizowana jest każdorazowo podczas wciśnięcia klawisza.

    Po załadowaniu SuperKey przedstawia się, jednocześnie informując o ważnych kombinacjach klawiszy, których użycie pozwoli nam na dostęp do możliwości ATARI SuperKeya.

    Od tej pory opisywany program wiedzie spokojne życie w jakimś kąciku pamięci, kontrolując wszystkie operacje wykonywane przez użytkownika na klawiaturze. Reakcję SuperKeya powoduje dopiero jedna z dwóch kombinacji klawiszy:

• Shift Control Slash, która wywołuje procedurę definiowania klawisza (uwaga: Slash to po prostu ukośna kreska "/" umieszczona na jednym klawiszu ze znakiem zapytania"?"),
• Shift Control RETURN, która wywołuje główne menu SuperKeya. Jednoczesne wciśnięcie klawiszy Shift Control Slash powoduje włączenie trybu definiowania klawiatury. W dodatkowym wierszu na górze ekranu pojawia się napis
Key to define:
oznaczający, że SuperKey oczekuje na podanie klawisza lub kombinacji klawiszy, której użytkownik pragnie nadać specyficzne znaczenie. Wystarczy jedynie te klawisze wcisnąć, aby program rozpoczął rejestrację ich znaczenia. Wyłączenie trybu definiowania klawiatury uzyskujemy przy pomocy tej samej kombinacji klawiszy.

    Prześledźmy całą rzecz na przykładzie. Jedną z najczęściej używanych komend Command Processora jest DIR, czyli polecenie wyświetlenia na ekranie zawartości dyskietki. Przy pomocy SuperKeya można spowodować, że wykaz programów będzie się pojawiał po naciśnięciu np. klawiszy Control D - użytkownik nie będzie zmuszony do wpisywania całego polecenia i potwierdzania go klawiszem RETURN. Aby to zrobić należy wcisnąć klawisze Shift Control Slash, a następnie Control D. Od tej chwili SuperKey rozpocznie rejestrowanie definicji ostatniej kombinacji klawiszy, nie przerywając pracy programu nadrzędnego, czyli w omawianym przykładzie - Command Processora. Wystarczy wpisać komendę DIR i nacisnąć RETURN. Definiowanie kończy się w momencie kolejnego wciśnięcia Shift Control Slash. Od tej chwili kombinacja Control D zamiast jednego ze znaków semigraficznych będzie powodować wypisanie DIR i potwierdzenie tego polecenia klawiszem RETURN. Oczywiście może się zdarzyć, że użytkownik będzie potrzebował właśnie tego znaczka - w takim przypadku należy nacisnąć najpierw ESC, a dopiero później Control D. Ta zasada dotyczy wszystkich zdefiniowanych przy pomocy SuperKeya klawiszy oraz samego klawisza ESC, który uzyskuje się dopiero po jego dwukrotnym naciśnięciu.

    Układ klawiatury komputera różni się dość znacznie od układu klawiatury maszyny do pisania. Większość spośród tych ostatnich pracuje w tzw. standardzie QWERTZ - w stosunku do klawiatur komputerowych zamienione miejscami są litery Z i Y. Osoby przyzwyczajone do maszyn do pisania mogą "przysposobić" klawiatury swoich komputerów w prosty sposób. Wystarczy tylko przy pomocy SuperKeya zdefiniować "Z" jako klawisze ESC i "Y", zaś "Y" jako ciąg ESC i "Z" i sprawa załatwiona. Po co klawisze ESC w definicji? Gdyby nie one, to np. "Z" zostałoby zdefiniowane jako "Y", które wcześniej zdefiniowano jako "Z", które... ESC natomiast zmusza SuperKeya do używania "oryginalnego" klawisza, a nie definicji, która się pod nim kryje.

    Może się zdarzyć, że użytkownik zechce zmienić definicję klawisza, któremu już wcześniej zostało nadane określone znaczenie. W takiej sytuacji SuperKey zapyta
Already defined! Redefine?
    Naciśnięcie w odpowiedzi "y" spowoduje wymazanie dotychczasowej definicji i rozpoczęcie rejestracji od nowa, zaś każdy inny klawisz wymusi zaniechanie definiowania.

    Drugą aktywną kombinacją klawiszy jest Shift Control RETURN. Powoduje ona wywołanie głównego menu programu ATARI SuperKey. W dodatkowym wierszu na górze ekranu pojawia się napis:
Load, Save, Clear, Uninstall?
    Przy pomocy pierwszych liter prezentowanych opcji, użytkownik może wybrać jedną z możliwości:

   L - Load. Odczyt zapisanej wcześniej tablicy definicji klawiszy. Jeśli w pamięci komputera znajduje się niepusta, stworzona przez nas tablica definicji, to program zapyta wcześniej
Are you sure?
pozwalając na rezygnację z tej opcji przy pomocy dowolnego klawisza oprócz "y", który zawsze oznacza potwierdzenie wybranej opcji. Jeśli użytkownik decyduje ale na odczyt, to program wypisuje komunikat
Filename:
prosząc o podanie nazwy pliku do odczytu. I tutaj istnieje jeszcze możliwość rezygnacji z tej operacji - można jej zaniechać przy pomocy klawisza ESC. Normalnie kończymy wpisywanie nazwy pliku przy pomocy klawisza RETURN.
Uwaga 1: podczas podawania nazwy nie wpisujemy rozszerzenia, ponieważ program sam dodaje rozszerzenie ASK.
Uwaga 2: błędy transmisji sygnalizowane są brzęczykiem.

   S - Save. Zapis utworzonej tablicy definicji klawiszy. SuperKey pyta o podanie nazwy, pod którą ma zostać zapisana tablica (patrz: Uwaga 1 i 2 powyżej).

   C - Clear. Wymazanie utworzonej tablicy definicji klawiszy. I w tym przypadku program prosi o potwierdzenie decyzji, jeśli w pamięci znajduje się niepusta tablica, utworzona przez użytkownika.

   U - Uninstall. Usunięcie SuperKeya z pamięci komputera. Także poprzedzone prośbą o potwierdzenie wyboru. Usunięcie programu jest możliwe tylko wtedy, gdy w pamięci nie ma programu rezydentnego załadowanego po SuperKeyu.
1000 REM *--------------------------*
1002 REM : ATARI SuperKey ver 1.0   :
1004 REM :  by Hedges               :
1006 REM : (c) 1992 Tajemnice ATARI :
1008 REM *--------------------------*
1010 DATA ffff00901298a9608d0090a201
1020 DATA bd0f979d1e97b50c9d4690bd01
1030 DATA 97950ca9009d6898ca10e82048
1040 DATA 90a200a90b9d4203ad03979d44
1050 DATA 03ad04979d4503a95c9d4803a9
1060 DATA 009d49032056e46c0a00204590
1070 DATA ade702cdff96ade802ed0097b0
1080 DATA 0ba201bdff969de702ca10f7a9
1090 DATA 00a2039d6498ca10faa201bd08
1100 DATA 029d0c91ca10f778ad05978d08
1110 DATA 02ad06978d090258604ccd934c
1120 DATA 14924ccf922c649830677076ad
1130 DATA 09d2c91cd008ad649849088d64
1140 DATA 98ad09d2c9ccd010ad64982908
1150 DATA d009ad64982920d002f0cac9e6
1160 DATA d010ad64982908d009ad649829
1170 DATA 20d0bef0b9ad64982920f012ad
1180 DATA 09d2cd6798d007ad64982908f0
1190 DATA 1520a492ad64982908d00dad09
1200 DATA d2200e91b0142021916840ad09
1210 DATA d2c91cf008ad649829f78d6498
1220 DATA 4c0b91a200ec6998f00bdd6a99
1230 DATA f004e8e8d0f28a186048a201bd
1240 DATA 28029d5d98bd1a029d5f98ca10
1250 DATA f1ad649809808d6498ad649829
1260 DATA fb8d649868aabd6b998d6598a5
1270 DATA 14c514f0fcad0b978d2802ad0c
1280 DATA 978d2902a9018d1a02a9008d1b
1290 DATA 028d669860adfc02c9fff0034c
1300 DATA 0992ae6598bd6a98a8c9fff051
1310 DATA c91cd012ad649849048d6498ad
1320 DATA 64982904d07398d06dad649829
1330 DATA 04f00cad649829fb8d64989838
1340 DATA b05a98200e91b054aaac6698c0
1350 DATA 08d005ee6598d0b9ad65981869
1360 DATA 01995598ee6698bd6b998d6598
1370 DATA 38b0a4ac6698d020a514c514f0
1380 DATA fca201bd5d989d2802bd5f989d
1390 DATA 1a02ca10f1ad6498297f8d6498
1400 DATA 60888c6698b955988d65984c75
1410 DATA 918dfc02ee6598a9018d1a02a9
1420 DATA 008d1b02608a489848206596ad
1430 DATA 6998307ead6898c9feb0772087
1440 DATA 96a201bd8697c93cf0069d1d98
1450 DATA e8d0f3204196c9ccf0f9c91cf0
1460 DATA f5c9e6d00620c99638b0508d61
1470 DATA 98200e91b0208d6298207c96a2
1480 DATA 01bdaa97c93cf0069d1d98e8d0
1490 DATA f3202f96b0d8208093ad61988d
1500 DATA 6798ae69989d6a99ad68989d6b
1510 DATA 99ee6998ee6998ad649809308d
1520 DATA 6498ad649829bf8d6498201c93
1530 DATA 68a868aa68408a489848ad6898
1540 DATA c9feb01bad64982910f008ad64
1550 DATA 9829ef8d6498ad09d2ae68989d
1560 DATA 6a98ee689868a868aa608a4898
1570 DATA 48206596ad64984829df8d6498
1580 DATA 682910f009ce6998ce699838b0
1590 DATA 0eae6898a9ff8d67989d6a98ee
1600 DATA 689820c996a9008da20268a868
1610 DATA aa6840207c96a000b9c697c93c
1620 DATA f006991d98c8d0f360207c96a0
1630 DATA 00b99697c93cf006991d98c8d0
1640 DATA f3a0142c67985008a200206f93
1650 DATA 2c67981005a204206f93ad6798
1660 DATA 293faabd51fb297fc9619006c9
1670 DATA 7bb002295f206093991d9860c9
1680 DATA 60b00ac91fb0046940d002e920
1690 DATA 60bd7e97991d98c8e8e004f004
1700 DATA e008d0f060ae6298bc6b99bd6c
1710 DATA 999d6a99e810f7ce6998ce6998
1720 DATA 98aabd6a98e8c9ffd0f88a38ed
1730 DATA 629848ec6898f00abd6a98996a
1740 DATA 98e8c8d0f1ae6298688d6298bd
1750 DATA 6b9938ed62989d6b99e8e810f2
1760 DATA 8c6898608a4898482065962087
1770 DATA 96200993204196c9ccf02a293f
1780 DATA aabd51fbc91bf020a203ddf497
1790 DATA f005ca10f830e08a0aaabd1197
1800 DATA 8d0794bd12978d0894200694b0
1810 DATA cc20c99668a868aa6840ad6998
1820 DATA f00d201d96b009a9008d68988d
1830 DATA 69981860ade702cdff96d008ad
1840 DATA e802cd0097f0062056f538b01e
1850 DATA 201d96b01978a201bd0c919d08
1860 DATA 02bdfd969de702bd4690950cca
1870 DATA 10ec581860ad6998f005201d96
1880 DATA b02720ef9590062056f538b01c
1890 DATA 20059620e495a904208795300e
1900 DATA 20b195300920e4952011961890
1910 DATA 01386020ef9590062056f538b0
1920 DATA 1c20059620e495a90820879530
1930 DATA 0e20b195300920e49520119618
1940 DATA 90013860204c958e6398204196
1950 DATA ac6398293faabd51fbc93bd004
1960 DATA a93ad021c91bd008a99b990c98
1970 DATA 38b06ec99bf03ac97ed00d98f0
1980 DATA d5888c63982076954cbd94c010
1990 DATA b0c7c93090c3c93b900ac96190
2000 DATA bbc97bb0b7295f990c98206093
2010 DATA 992898c88c63982076954cbd94
2020 DATA ae6398a000b904989d0c98e8c8
2030 DATA c00590f4a001b90c98c93af008
2040 DATA c8b90c98c93ad00da000b90c98
2050 DATA 3006990998c8d0f51860207c96
2060 DATA a000b9f897c93cf006991d98c8
2070 DATA d0f3a200bd0c983016c92ef012
2080 DATA 295f206093991d98e8c8d0eb60
2090 DATA 9818690ba8a980991d98a900c8
2100 DATA 991d98609d4a038a4820b79468
2110 DATA aa9004a0ff304ca9039d4203ad
2120 DATA 07979d4403ad08979d45035820
2130 DATA 56e47830271032bd4a0309039d
2140 DATA 4203ad09979d4403ad0a979d45
2150 DATA 03a9829d4803a9019d49035820
2160 DATA 56e478100d984820e495201196
2170 DATA 2056f568a860a90c9d42035820
2180 DATA 56e47860a210bd4003c9fff00b
2190 DATA 8a186910aae08090f0b0011860
2200 DATA a00fb920009945988810f760a0
2210 DATA 0fb945989920008810f760207c
2220 DATA 96a000b9e597c93cf006991d98
2230 DATA c8d0f3204196293faabd51fbc9
2240 DATA 79f00338b0011860ad64980940
2250 DATA 8d649858adfc02c9fff0f97848
2260 DATA a9ff8dfc02ad649829bf8d6498
2270 DATA 2065966860a27f8e0bd4ad0bd4
2280 DATA cd0bd4f0fb8e1fd0cacacaca10
2290 DATA ec60a900a027991d988810fa60
2300 DATA 207c96a201b5f048bd300295f0
2310 DATA ca10f5ad30021869038d2197ad
2320 DATA 310269008d2297a000b1f0c8c9
2330 DATA 41d0f9ad0d9791f08d3002c8ad
2340 DATA 0e9791f08d31026885f06885f1
2350 DATA 60a201b5f048bd219795f0ca10
2360 DATA f5a000b1f0c8c941d0f9ad2197
2370 DATA 38e9038d300291f0c8ad2297e9
2380 DATA 008d310291f06885f06885f160
2390 DATA 000090ea99459022978e900998
2400 DATA 68986b911b971d985d948f9414
2410 DATA 94289400007060420000010141
2420 DATA 544152492053757065724b6579
2430 DATA 20312e306120696e7374616c6c
2440 DATA 65649b536866744374726c536c
2450 DATA 61736820206163746976617465
2460 DATA 73204b65794465739b53686674
2470 DATA 4374726c52657475726e206163
2480 DATA 74697661746573204d656e759b
2490 DATA 336866742374726c002b657900
2500 DATA 746f00646566696e651a3c002b
2510 DATA 6579006265696e670064656669
2520 DATA 6e65641a3c00216c7265616479
2530 DATA 00646566696e65640100326564
2540 DATA 6566696e651f3c002c6f61640c
2550 DATA 00336176650c00236c6561720c
2560 DATA 00356e696e7374616c6c1f3c00
2570 DATA 21726500796f7500737572651f
2580 DATA 3c6c7363750026696c656e616d
2590 DATA 651a003c2e41534b9b44313a4e
2600 DATA 4f4e414d459bea99a69aade702
2610 DATA 8de002ade8028de102a90085cf
2620 DATA a90085d2a99085d3ade70285d4
2630 DATA ade80285d538a5d2e5d485d0a5
2640 DATA d3e5d585d1a000f0033866cfa5
2650 DATA d2c9eaa5d3e99990016024cf70
2660 DATA 613025b1d291d4209a9aaaf0e2
2670 DATA c920f017c940f0ddc960f0d929
2680 DATA 0dc908f0d390418a291fc909f0
2690 DATA 3ab1d2c8c900b1d288e9909012
2700 DATA b1d2c8c9ebb1d288e999b006a5
2710 DATA d0a6d1900724cf30a5a900aa85
2720 DATA d686d738b1d2e5d691d4209a9a
2730 DATA b1d2e5d74c929ab1d291d4209a
2740 DATA 9a4c209ae6d2d002e6d3e6d4d0
2750 DATA 02e6d560e202e302ea99

(hed)




Powrót na start | Powrót do spisu treści | Powrót na stronę główną

Pixel 2002