Directory Opus Magellan: Filetype ADF, czyli obrazy amigowych

Transkrypt

Directory Opus Magellan: Filetype ADF, czyli obrazy amigowych
Directory Opus Magellan: Filetype ADF, czyli obrazy amigowych
Dariusz Gac
(c) Polski Portal Amigowy (www.ppa.pl)
w
w
w
.p
pa
.p
l
Dawno, dawno temu... Może nie tak zupełnie "dawno, dawno", ale paręnaście lat temu, gdy na giełdach królował
program X-Copy, wtedy właśnie dyskietki 880 kB były w powszechnym użyciu na Amigach. W czasie, gdy nie było
jeszcze ani dostępnego internetu, ani czytników płyt Blu-Ray, ani nawet telefonów komórkowych za 1 zł, gdy nikt nie
wyobrażał sobie tabletów i pendrive'ów, wtedy właśnie dyskietka 880 kB była królową i cały amigowy software był
rozprowadzany tylko i wyłącznie za pomocą takich 3.5" nośników. Jednak czas nie stoi w miejscu, technika poszła do
przodu. Napędy dyskietek odeszły w zapomnienie, podobnie jak i same dyskietki. Aby ich zawartość zachować dla
potomnych, wymyślono format ADF (Amiga Disk File), w swobodnym tłumaczeniu: plik będący obrazem amigowej
dyskietki. Na marginesie: taki ADF przy okazji rozwiązał problem odczytu amigowych dyskietek na sprzęcie ze świata
Windows, dzięki czemu pojawiła się masa użytkowników emulowanej Amigi (WinUAE), a i rozwój emulatora
przyspieszył. Pakiet ADF_Device System amigowy dorobił się kilku rozwiązań pozwalających na odczyt plików ADF.
Jednym z tych rozwiązań jest ADF_Device, dostępny ze strony jego autora - Bjoerna Fuglsanga. Najnowsza wersja nosi
numer 1.3 i datowana jest na dzień 22 lutego 1999 roku. ADF_Device to nic innego jak wirtualny napęd dyskietek, który
pozwala na "umieszczenie" i "usunięcie" ADF-owych obrazów amigowych flopków nawet aż w 16 wirtualnych napędach
880 kB. Praktycznie rzecz biorąc, nie musimy wykorzystywać wszystkich 16 wirtualnych czytników, bo wykonując jakieś
operacje na - powiedzmy - 10 różnych obrazach ADF, wystarczy zamontować tylko jeden wirtualny napęd AD0:, po
czym podmieniać te przykładowe 10 dysków w tym napędzie, podobnie jak to czynimy z prawdziwymi dyskietkami.
Zareklamowałem ADF_Device, teraz pora na konkrety: jak to zintegrować z Opusem Magellanem? Po pierwsze, należy
oczywiście pakiecik ADF_Device pobrać i zainstalować: - adf.device kopiujemy do Devs: - polecenia InsertDisk i
RemoveDisk kopiujemy do systemowego katalogu C: Kilka słów na temat mountlisty ADF.ml zawartej w pakiecie. Jako
że w prawdziwej Amidze najczęściej mamy tylko jeden czytnik dyskietek DF0:, zmodyfikowałem, a w zasadzie
zredukowałem mountlistę (opisująca wszystkie wirtualne flopki) do jednego napędu AD0:. Wygląda ona następująco:
FileSystem = L:FastFileSystem Device
= adf.device Unit
= 0 LowCyl
= 0 HighCyl
= 79 Surfaces
=
2 Buffers
= 50 BlocksPerTrack= 11 Flags
= 0 Mount
= 1 Reserved
= 2 GlobVec
= -1 BufMemType
= 1 DosType
= 0x444F5303 StackSize = 4000
Do tego należałoby dodać ikonkę typu PROJECT, z domyślnie narzędziem C:Mount oraz wpisem ACTIVATE=1 w Tool
Types. Mountlistę wraz z ikoną zapisujemy pod nazwą AD0 w katalogu DEVS:DOSDrivers. Wirtualny napęd AD0:
zainstaluje się nam wtedy wraz z systemem. Filetype ADF I tu cały "pies pogrzebany". W sumie, jak ktoś chce, można
wykorzystywać cały ten pakiet na sposób zasugerowany przez autora, tj. z wykorzystaniem pełnej, 16-napędowej
mountlisty. Z tym że wtedy trzeba wskazywać napęd, w którym ma nastąpić zamontowanie ADF-a. Ot, dodatkowa, w
sumie zbędna czynność, w której - co więcej - z uwagi na ilość dostępnych napędów, można się nieco pogubić,
zwłaszcza gdy chodzi o odmountowanie obrazów. Można oczywiście, opcjonalnie, pobawić się nieco Magellanem i mieć
dostępnych więcej wirtualnych napędów - wówczas jednak trzeba wykorzystywać te napędy nie z "dwuklika", a z tzw.
RMB menu (w tłumaczeniu na polski: guzika menu kontekstowego), jak np.: Zamontuj .adf w AD1: Zamontuj .adf w
AD2: Zamontuj .adf w AD3: etc... No i w dalszym ciągu istnieje sprawa usuwania zamontowanych obrazów. Ale dla
chcącego nic trudnego. Pod Opusem prawie wszystko da się zrobić. Bułka z masłem. Kto pierwszy wpadnie na pomysł
co i jak należy zrobić, by Magellan jednoznacznie rozpoznawał - powiedzmy - cztery napędy wirtualne i usuwał lub
umieszczał w nich obrazy ADF? Moje rozwiązanie sprowadza się do jednego wirtualnego napędu AD0: i po prostu do
"dwuklika" w plik ADF. I tyle. Resztą zajmuje się Magellan. Z tym że Magellan domyślnie nie wie, co ma zrobić po
kliknięciu w plik ADF. I nie dowie się, dopóki mu nie zdefiniujemy odpowiedniego filetypu i reakcji na dwuklik oczywiście.
Zaczniemy od utworzenia filetypu definiującego ADF. W jego definicji można podać po prostu rozpoznanie po
charakterystycznym rozszerzeniu *.adf. Ale Amiga to nie Windows, więc osobiście wykorzystuję bardziej niezawodną
definicję ADF-owego filetypu - po rozmiarze i nagłówku jednocześnie: MatchSize =901120 Or MatchSize =923648
and Match
DOS Definicja pliku ADF zakończona. Nadajemy tej definicji jakąś nazwę, np. Archiwum ADF i
zapisujemy. Pora na przypisanie reakcji na dwuklik lewym przyciskiem myszy. Przypisujemy dwuklikowi poniższy skrypt:
Function:
AmigaDOS RemoveDisk UNIT 0
AmigaDOS Diskchange AD0:
AmigaDOS
C:InsertDisk UNIT 0 {f}
Command ScanDir AD0:
AmigaDOS DiskChange AD0:
AmigaDOS
Play16 DOpus5:Sounds/RELOAD.WAV Flags: Run asynchronously
Strona 1
Directory Opus Magellan: Filetype ADF, czyli obrazy amigowych
Dariusz Gac
(c) Polski Portal Amigowy (www.ppa.pl)
w
w
w
.p
pa
.p
l
Dlaczego akurat taka sekwencja komend? Dla zapewnienia klikanej "automagiki" pod Opusem. Chodzi po prostu o to,
aby cała ta sekwencja poleceń zapewniała bezproblemowe tak montowanie kolejnych obrazów ADF, jaki i usuwanie
wcześniej zamontowanych, jeżeli jakieś były wcześniej obecne w wirtualnym napędzie AD0:. Do czego służy polecenie
AmigaDOS "Play16", chyba nie muszę tłumaczyć. Dodatkowo możemy utworzyć funkcje w menu kontekstowym o
nazwie np. Insert disk. Jako reakcję przypisujemy po prostu: Command DoubleClick To, może wydaje się nieco
dziwaczne, wewnętrzne polecenie Magellana wykonuje po prostu dokładnie taką samą sekwencję komend jak
przypisana dwuklikowi dla danego filetypu. Gotowe. Nic, tylko klikać po wirtualnych flopkach w formacie ADF. Na
marginesie: oprócz montowania obrazów, do filetypu definiującego obrazy ADF można jeszcze podpiąć kilka innych
funkcji. Zrzut z mego blatu pokazuje funkcje RMB menu, które były mi przydatne w trakcie zabawy z obrazami ADF:
Teraz może pojawić się pytanie jak usunąć zamontowany obraz ADF z blatu? I tu przechodzimy do omówienia
następnego filetypu, jakim jest Virtual_floppy. Filetype Virtual_floppy Otwieramy wiec edytor filetypów Magellana.
Tworzymy nowy filetype, o nazwie np. Virtual_floppy - rozpoznanie jak poniżej: Disk AD0: OVERRIDE Do menu
kontekstowego (nie do dwuklika!) dopisujemy funkcję o nazwie Eject Disk, wykonującą działanie jak niżej: Function:
AmigaDOS C:RemoveDisk UNIT 0
AmigaDOS C:Diskchange AD0:
AmigaDOS Play16
DOpus5:Sounds/LC_DiskRemoved1.8svx
I to wszystko. Oczywiście ostatnią linijkę z poleceniem Play16 można sobie darować - zarówno teraz, jak i we
wcześniejszej funkcji "dwuklika" na ADF. Podsumowując, mamy obraz dyskietki amigowej w pliku .adf. Robimy "dwuklik"
na obrazie - obraz się mountuje, ikona zamountowanego ADf-a pojawia się na blacie, a jego zawartość zostaje
wylistowana w nowym listerze. Chcemy zamountować następny obraz - mamy dwie możliwości: albo po prostu robimy
"dwuklik" na nowym obrazie, albo z menu kontekstowego wybieramy Insert Disk. Chcemy usunąć zamountowany obraz:
uruchamiamy menu kontekstowe nad ikoną wirtualnego napędu AD0:, po czym wybieramy funkcję Eject Disk. Wydaje
mi się, że prościej ("dwuklik" lub RMB menu), bezbłędnie (identyfikacja po nagłówku i rozmiarze) i wygodniej (myszka
rules!) już chyba nie można. I zadanie dla bardziej zaawansowanych użytkowników Magellana, a jednocześnie pomysł
na ulepszenie. Załóżmy, że mamy otwarty lister/okno z zawartością jakiegoś zamontowanego obrazu ADF. Dobrze by
było, aby ten lister ulegał zamknięciu równocześnie wraz z usunięciem tego dysku. Da radę coś takiego zrobić? Jeśli
tak, to w jaki sposób? Gorąco polecam bliższe zapoznanie się z Opusem Magellanem, jak i życzę miłej zabawy z
zamontowanymi obrazami amigowych flopków.
Strona 2

Podobne dokumenty