Integracja emulatora Amigi FS-UAE z managerem plików mc

Najlepszym w chwili obecnej i nadal rozwijanym emulatorem Amigi na Linuksie jest FS-UAE tworzony na bazie winUAE (dostępnym, jak nazwa wskazuje, niestety tylko w systemie Windows).

Emulator ten wyposażony jest w swój graficzny program konfiguracyjny i uruchomieniowy fs-uae-launcher, jednak wykorzystując możliwość uruchamiania fs-uae z parametrami, można w prosty sposób nakłonić mc (Midnight Commander) do pełnienia roli szybkiego launchera programów Amigowych, a dokładnie do uruchamiania obrazów w formacie adf lub hdf z predefiniowanymi konfiguracjami emulacji.

Prócz managera mc potrzebny jest niewielki skrypt dzięki któremu możliwe będzie uruchamianie programów wielodyskietkowych:

#!/bin/bash # skrypt parsuje i kompletuje parametry oraz uruchamia FS-UAE DRIVE=0 PARAMETRY="" PLIK="" # zakończenie nazw plików .adf slashem "/", aby rozpoznawać pliki ze spacjami w nazwie ARG=$(echo $@ | sed 's/\(\.[aA][dD][fF]\) */\1\//g' ) # kompletowanie linii argumentów IFS=/ for PLIK in $ARG; do # kolejne nazwy plików .adf przypisane do kolejnych fdd, # i na wszelki wypadek jako kolejne image przypisane do pierwszego floppa (dla gier, które nie widzą następnych napędów) PARAMETRY="$PARAMETRY --floppy-drive-$DRIVE=\"$PLIK\" --floppy_image_$DRIVE=\"$PLIK\"" ((DRIVE++)) done echo fs-uae $PARAMETRY # uruchomienie FS-UAE (wykorzystanie eval ze wzgędu na znaki specjalne w parametrach, np. nawiasy) eval fs-uae ./fs-uae.conf $PARAMETRY &>/dev/null # wersja dla nVidia z technologią Optimus obsługiwaną przez pakiet Bumblebee # eval optirun fs-uae ./fs-uae.conf $PARAMETRY &>/dev/null

Skrypt można zapisać np. w katalogu domowym ~/bin jako np. AMIGA (jak komu wygodnie, byle pamiętać o ścieżkach dostępu) i nadać mu prawa do wykonywania. Następnie należy skonfigurować mc edytując jego plik ~/.config/mc/mc.ext lub wybierając z menu "Polecenie->Zmodyfikuj plik rozszerzeń", dopisując sekwencję:

### obsługa emulatora Amigi FS-UAE regex/\.([Aa][Dd][FfzZ])$ Open=AMIGA %s regex/\.([hH][Dd][Ff])$ Open=fs-uae ./fs-uae.conf --hard_drive_0=%f &>/dev/null # wersja dla nVidia z technologią Optimus obsługiwaną przez pakiet Bumblebee # Open=optirun fs-uae ./fs-uae.conf --hard_drive_0=%f &>/dev/null

Od tej pory każde kliknięcie w mc na pliku adf lub hdf uruchomi fs-uae z wybranym obrazem dyskietki lub dysku twardego. Aby uruchomić program wymagający kilku dyskietek, trzeba w mc zaznaczyć (klawiszem INSERT lub myszką RMB) określone adfy i nacisnąć ENTER.

Ten sposób uruchamiania ma dodatkowo tę zaletę, że obrazy adf i hdf można uruchamiać automatycznie z różnymi konfiguracjami. Wystarczy stworzyć katalog, wrzucić do niego adfy o tych samych wymogach (np. działające tylko na emulacji gołej A500) i utworzyć w tym samym katalogu plik o nazwie "fs-uae.conf" z wybraną konfiguracją fs-uae.

np. fs-uae.conf dla gołej A500 może wyglądać tak: [config] amiga_model = A500 kickstarts_dir = /twoj/katalog/z/kickstartami natomiast fs-uae.conf w katalogu dla programów wymagających AGA z HD np: [config] amiga_model = A4000/040 kickstart_file = /twoj/katalog/z/kickstartami/3.1.kickstart.rom hard_drive_0=/twoj/katalog/z/systemem hard_drive_1=/twoj/katalog/z/programami fast_memory = 8192 zorro_iii_memory = 65536 floppy_drive_speed = 0

Wszystko na temat fs-uae i jego konfiguracji znajdziesz na stronie domowej projektu FS-UAE

Uwaga:
FS-UAE do działania wymaga OpenGL więc system musi udostępnić odpowiednie sterowniki. Sprawdzisz to np. programem glxgears. Jeśli twoja karta graficzna to nVidia z technologią Optimus i wykorzystujesz do jej działania pakiet Bumblebee, zmień powyższe wywołania "fs-uae ..." na "optirun fs-uae ...".