MorphOS.pl – Polska strona użytkowników MorphOS-a
MorphOS.pl – Polska strona użytkowników MorphOS-a

Lubię sobie poemulować, szczególnie komputery i konsole których na oczy nie widziałem a tym bardziej nie używałem.
Konsole Atari Jaguar widziałem, ale nigdy na niej nie grałem. Czas nadrobić te zaległości, a po tym tekście mam nadzieję, że wy też choć spróbujecie.

Czego mamy szukać…

Emulatora Virtual Jaguar – niestety oparty na źródłach bardzo starej wersji 1.0.7 z końca… 2003 roku (nowsze wymagają środowiska QT),

Co ciekawe został on przeportowany w dwóch wersjach przez dwóch różnych programistów. Pierwszy z nich, Maksim Ilin, pracuje nad tą emulką już od dłuższego czasu. Pierwsza wersja pojawiła się już kilka lat temu, niestety nie wiedzieć czemu jego port u mnie nie działa, więc z automatu został mi soft znanego w naszym światku Faba.
Możemy go znaleźć pod tym adresem:
http://chris.highlander.free.fr/VirtualJaguar1.0.7_Fab1.lha

Emulator wykorzystuje biblioteki SDL, co jest jego dużą wadą – mimo bezczynności mam 100% zajętości procesora.

Co dalej…

Bios Jaguara, plik jagboot.rom nie jest dołączony do archiwum więc musimy go poszukać w sieci, nadmienię że nie każda gra wymaga biosu.
Gry – Virtual Jaguar uruchamia tylko obrazy gier zapisanych na kartridżach, nie ma możliwości korzystania z przystawki Jaguar CD co jest kolejną wadą.

Czas odpalać…

Emulator możemy uruchomić w dwojaki sposób: z Shella gdzie mamy sporo parametrów emulacji,

Emulator uruchomiony poprzez Shell

lub tradycyjnym dwuklikiem

Emulator w standardowym trybie uruchomienia

Emulowany Jaguar uruchamia się standardowo w niezbyt urodziwym okienku, jest też proste menu w którym część opcji (Audio i Video) nie działa.

Najlepiej edytować plik konfiguracyjny vj.cfg i dostosować go do naszych potrzeb. Emulator ponoć wykorzystuje joysticki, jednak nie mogłem tego sprawdzić.

Co działa…

Z powodzeniem uruchomiłem kilkanaście gier, oczywiście znalazły się „czarne ofce” które nie są kompatybilne z emulatorem.
Ale najważniejsze gierki, takie jak Alien Vs. Predator, Ultra Vortek, Kasumi Ninja, czy graficzny majstersztyk pt. Rayman.

Gra się fajnie, AvP wciągnął mnie jak odkurzacz Zelmera.

AVP (Alien versus Predator)

Córka chwilę grała w Raymana – strasznie jej się podobała.

Rayman

Działają też znane nam z klasycznej Amigi Flashback, Cannon Fooder, Syndicate.
Istnieje lista kompatybilnych gier z emulatorem, ale obawiam się że dotyczy ona nowszych wersji emulki.

Jak działa…

Testowałem emulator na PowerBooku G4 1,67GHz i przy włączonym DSP… nie da się grać. Dźwięk szarpie, obraz ma może z 5 klatek na sekundę. Masakra!

Nie wiem czym to jest spowodowane, być może słabym kodem emulatora lub DSP, zastosowaniem bibliotek SDL?
Może potwór z G5 2,7 GHz ogarnie emulację na zadowalającym poziomie.
Sytuację znacznie poprawia wyłączenie owego DSP, wtedy praktycznie każdy szpil jest grywalny, jednak mogą pojawić się problemy np. Alien Vs. Predator wiesza się przy wejściu do windy.

Tempest 2000

Cannon Fodder

 

Zamiast zakończenia – podsumowanie na “plusy i minusy”:

+ Alien Vs. Predator.

+ Że w ogóle coś działa 🙂

+ Trochę Amigowej klasyki na wirtualnych kartridżach

– SDL czyli 100% zajętości procesora.

– Niedziałające opcje w menu

– Mega wymagania sprzętowe w przypadku użycia DSP.

 

Autor: ‘waldiamiga’ 

Artykuł pierwotnie ukazał się w czasopiśmie Amiga NG (1) 1/2017

 

LightWave na Amigę wciąż jest dobrym softwarem który da się wykorzystać do rożnych mniej lub bardziej zaawansowanych zadań.
Program mimo niestandardowego GUI dość dobrze działa na MorphOSie, niestety pewnie drobnostki sprawiają że praca z Layoutem jest nieco uciążliwa szczególnie w rozdzielczościach panoramicznych.

Tak to wygląda na PowerBooku G4 17″ (specjalnie użyłem aparatu gdyż grabber tego nie “łapie”):

O ile w Modelerze mamy możliwość wyboru rozdziałki w której będziemy edytować obiekty, to Layout ma „sztywno” ustawione rozdzielczości obrazu, co mnie osobiście nieco „grzeje”. Również renderując naszą scenę nie mamy „podglądu” wyrenderowanego obrazka.

W tym króciutkim artykule postaram się pomóc skonfigurować Layout i Modeler by wygodniej na nim pracować.
Będziemy potrzebować programu do promowania ekranów o nazwie
ModePro – do pobrania na Aminecie:
http://aminet.net/package/util/cdity/ModePro

Lightwave – Ja korzystam z wersji 5.2, chyba ostatniej która została wydana na Amigę.

Promotor ekranu instalujemy (instalator lubi się pogubić), wrzucamy sami do WBStartup, kto jak woli, ja preferuje tą ostatnią metodę, plik konfiguracyjny do Prefs. Korzystałem z lokalizacji w języku Polskim.

Konfiguracja Lightwave:

Uruchamiamy programik o nazwie CyberGFXRendererPrefs, pchełka ta leży sobie w katalogu Toaster:Utilities.
Ustawiamy pożądaną przez nas rozdzielczość, oczywiście najlepiej natywną dla naszego monitora czy matrycy, w moim przypadku jest to 1680×1050. Dajemy Save.

CyberGFXRendererPrefs

Następnie Modeler.
Odpalamy program ChangeMode, znajdziemy go w Toaster:Utilities.
Po wskazaniu pliku MOD-Config (Toaster:LightWave_Support/MOD-Config) ustawiamy docelową rozdzielczość dla Modelera.

ChangeMode

Czas na dołączenie pluginu CyberGFXRenderer do LightWave.
W tym celu startujemy Layouta (odpali nam się najprawdopodobniej w kulawej rozdzielczości, ale dojdziemy i do tego), klikamy zakładka „Options”, potem „Add Plug-ins” i wyszukujemy pliku o nazwie CyberGFXRenderer.p, zwykle znajduje się on w Toaster:Plugins/Layout.
Potem klikamy na zakładce „Record”, tam w „Render Display” ustawiamy CyberGFX, tak jak na zdjęciu. Zamykamy LightWave.

Dołączanie CyberGFXRenderer

No to czas na konfiguracje ekranów w promotorze ModePro.

W SYS:Prefs klikamy ModeProPrefs lub naciskamy kombinacje klawiszy Amiga (Jabłko w przypadku maszyn Apple) +P.
Pierwsza zakładka – ustawiamy na Nazwy Ekranów, później klik na dodaj, dalej wybierz i na requesterze wybieramy „LW Layout 672 x 544”. Zakładka „promocja” ustawiamy na „Tryb wyświetl”, ustawiamy odpowiedni dla nas tryb wyświetlania, overscan dajemy na „Tekstowy”, zaptaszkowujemy „Kolorów” i slider przesuwamy zgodne z wybranym trybem (24-32bit) który wybraliśmy wcześniej.
Tę procedurę powtarzamy dla wszystkich wpisów czyli CyberGFX Renderer, LW Render Status oraz Feedback jednak przed każdym trzeba kliknąć „dodaj”. Powinno to wyglądać mniej więcej jak na zdjęciu poniżej

Ponownie odpalamy LightWave, teraz obraz powinien być jak żyleta w rozdziałce którą mu wskazaliśmy. Dzięki pluginowi CyberGFX powinniśmy również zobaczyć efekt naszej pracy.
Niestety, nie zobaczymy (a raczej będziemy widzieć black screen) ekranu liczonych mozolnie segmentów czy „lizania” antialiasingiem, ale to jedyna wada tego rozwiązania.

Mam nadzieję że ten krótki tekst nieco ułatwi Wam pracę czy zabawę w LightWave na MorphOSie.

 

Autor: ‘waldiamiga’

Artykuł ukazał się pierwotnie w czasopiśmie Amiga NG (1) 1/2017

 

 

Touchpad, zwany też po polsku „gładzikiem”, to, oprócz klawiatury, podstawowe urządzenie użytkownika w każdym laptopie. Chociaż korzystanie z niego jest oczywistością w warunkach polowych, w praktyce często pracując w okolicznościach nieco bardziej stacjonarnych (czyli mając do dyspozycji kawałek stołu lub innego blatu), do laptopa podłączamy klasyczną myszkę. Precyzja myszy i wygoda pracy z nią jest znacznie większa, zwłaszcza w programach wymagających precyzyjnej i szybkiej manipulacji kursorem.

W momencie kiedy pracujemy z myszką i klawiaturą laptopa, touchpad pozostaje w MorphOS-ie nadal włączony. Przy szybkim pisaniu zdarza się niestety dotknąć go omyłkowo, co przenosi kursor w inne miejsce. W takiej sytuacji przydałoby się touchpada wyłączyć. Sam system nie przychodzi nam bezpośrednio z pomocą, bo nie odłącza touchpada automatycznie, ani nie dostarcza jakiegoś prostego narzędzia do tego. Na szczęście okazuje się, że można to dość prosto zrobić w ustawieniach stosu USB Poseidon.

Udajemy się zatem do ustawień systemowych i wchodzimy do ustawień USB. Oczom naszym ukazuje się następujący widok:

W oknie tym wybieramy pozycję Apple Internal Keyboard/Trackpad i dwuklikiem śmiało wchodzimy w ustawienia urządzenia:

Drugi interfejs tego urządzenia to właśnie poszukiwany touchpad. Wystarczy zaznaczyć go na liście i użyć przycisku Release Binding, aby touchpad został unieszkodliwiony. Z kolei przycisk Class Scan włączy go nam ponownie. Niestety stanu wyłączenia touchpada nie da się utrwalić, co jest poważną wadą opisanego rozwiązania. Mimo zapisania ustawień Poseidona po restarcie touchpad jest znów aktywny.

Grzegorz Kraszewski

Pliki ADF (Amiga Disk File) to obrazy dyskietek z Amigi. W tej postaci najczęściej dostępne są amigowe gry, dema, ale również magazyny dyskowe i programy użytkowe. Taki plik jest po prostu zrzutem całej dyskietki, sektor po sektorze. Jeżeli na obrazie dyskietki znajduje się jeden ze standardowych amigowych systemów plików (najczęściej Old File System – OFS lub Fast File System – FFS), to można taką „dyskietkę” zamontować wprost pod MorphOS-em, unikając konieczności uruchamiania emulatora klasycznej Amigi. Dyskietki z grami i demami scenowymi często nie mają żadnego systemu plików, gdyż są ładowane „po sektorach”. Wtedy zamontowanie dyskietki pod MorphOS-em niewiele nam da. Jednak w przypadku różnego rodzaju danych czy programów działających pod systemem, możemy uzyskać do nich łatwy dostęp z poziomu MorphOS-a. Za przykład posłużył mi plik ADF z magazynem dyskowym „Fat Agnus #8” pobrany z archiwum amigowych magów FatMagnus. Plik po prostu pobrałem do ramdysku:

Pierwszym krokiem jest użycie programu FileImageCtrl, który tworzy w systemie jednostkę urządzenia wirtualnej stacji dyskietek. Program ten znajduje się w katalogu Tools na partycji systemowej. Po uruchomieniu programu wybieramy jedną z wolnych wirtualnych stacji, następnie klikając w „Insert” na dole, wybieramy plik ADF:

Systemy plików obsługiwane przez FileImageCtrl

 

 

Mamy więc wirtualną stację, ale trzeba jeszcze zamontować dysk. FileImageCtrl potrafi to zrobić samodzielnie, co więcej spośród rozlicznych opcji amigowych systemów plików, program sam rozpozna i wybierze właściwy wariant. Jedyne, co musimy zrobić, to wybrać dowolny z amigowych systemów w gadżecie Filesystem. Pełną listę widzimy po lewej. Program sam sprawdzi czy mamy do czynienia z OFS czy FFS, oraz czy użyto opcji directory caching lub international. Istnieje również możliwość zamontowania dyskietek sformatowanych w systemie FAT (dyskietki z PC) czy PFS, wtedy musimy wybrać odpowiedni system plików. Dla typowych ADF-ów wybieramy więc na przykład „Amiga OFS”. Po wyborze systemu plików wciskamy przycisk Mount.

I to już wszystko. Na blacie ambienta pojawia się ikona wirtualnej dyskietki, a pliki stoją przed nami otworem. Jeżeli często używamy plików ADF, możemy sobie ułatwić nieco życie generując Mounterem plik mountlisty i dodając tam linię

Activate=1

co powoduje automatyczne zamontowanie dyskietki po jej „włożeniu”. Niestety ten sposób ma taką wadę, że nie są automatycznie rozróżniane dyskietki sformatowane w FFS i OFS, tak jak to się dzieje w przypadku działania FileImageCtrl. A oto nasza dyskietka z „Fat Agnusem”

Plik ADF zamontowany w systemie

Grzegorz Kraszewski

Artykuł jest tłumaczeniem francuskiego oryginału zamieszczonego na portalu Obligement, wykonanym i opublikowanym za zgodą autora.

Autor IceFileSystemu, Leif Salomonsson, próbuje trwale zaznaczyć swoją obecność w temacie systemów plików dla MorphOS-a. Sprawdźmy jakie postępy zrobił od czasu wersji 1.13 testowanej przez Obligement w sierpniu 2010.

Wprowadzenie

IceFileSystem to system plików dla MorphOS-a napisany przez Leifa Salomonssona. Pierwszą wersję publiczną, oznaczoną numerem 1.13, autor wypuścił w sierpniu 2010 roku. IceFS jest programem shareware, kosztuje 190 koron szwedzkich (około 75 złotych). Cena systemu wzrosła ponad dwukrotnie od czasu pierwszej wersji, na początku można go było zarejestrować za około 40 zł. IceFS można używać również w wersji niezarejestrowanej, ale wtedy operacje odczytu, zapisu i kasowania stają się z czasem coraz wolniejsze.

Jak pisze sam autor systemu, IceFS został zaprojektowany, aby być systemem stabilnym, dobrze się skalującym, efektywnym i szybkim, w tej właśnie kolejności. Te kryteria nie były do końca spełnione przez wersję 1.13. System jest w pełni 64-bitowy i porafi teoretycznie obsłużyć dyski o całkowicie abstrakcyjnej pojemności 9,2 EB (9 200 000 GB), oraz oczywiście pliki dłuższe niż 4 GB. Ilość partycji dysku, katalogów i plików jest nieograniczona. IceFS dobrze współpracuje z nośnikami wymiennymi, obsługuje różne wielkości bloku (512, 1024, 4096… bajtów). IceFS opcjonalnie twrzy katalog do odzyskiwania skasowanych plików. Zużywa tylko 128 kB przestrzeni dyskowej na swoje dane administracyjne, oraz drugie tyle na metadane. Obsługuje twarde i miękkie linki (dowiązania symboliczne), komentarze, oraz inne zaawansowane funkcje takie jak blokowanie rekordów danych, pakiety „examine all” i notyfikacje.

IceFS dość skutecznie walczy z problemem fragmentacji plików. Zwłaszcza duże pliki stara się trzymać w możliwie największych fragmentach, używając do przydziału bloków na nośniku algorytmu TLSF, nawiasem mówiąc tego samego, jakiego używa systemowy alokator pamięci w MorphOS-ie. Dzięki temu mocno zapełnione i intensywnie używane partycje nie stają się „zamulaczami”. System posiada też kilka interesujących cech związanych z bezpieczeństwem plików. Metadane zaopatrzone są w regularnie sprawdzaną sumę kontrolną, a zdarzenia dyskowe są logowane, plik z logiem może być odczytany przez użytkownika (plik Logfile w głównym katalogu partycji).

Instalacja IceFS nie jest automatyczna, co prawdę powiedziawszy jest raczej regułą niż wyjątkiem przy systemach plików. Trzeba niestety ubrudzić sobie trochę rączki, korzystając albo z programu HDConfig, albo tworząc mountlistę. Ten drugi sposób jest nieodzowny w przypadku używania IceFS na głównym dysku w komputerach firmy Apple, ponieważ nie rozpoznają one RDB dysku, gdzie zwykle umieszcza się system plików.

Co nowego?

Sam system plików nie zmienił się zanadto. Jego parametry i generalnie wysoka jakość wykonania pozostały niezmienione. Najwięcej zmian widać w liście usuniętych błędów i narzędziach pomocniczych. Wersja 2.x nie jest niestety kompatybilna z 1.x, a więc zmiana oznacza konieczność skopiowania plików na inny nośnik i przeformatowania partycji.

Poprawki

Od pierwszej testowanej wersji autor usunął sporą ilość zauważonych błędów. Reakcja na raporty użytkowników była szybka. Oto przegląd najbardziej istotnych zman między wersją 1.13 a najnowszą 2.4:

  • usunięto błąd przy zmianie nazw plików w katalogu Recycled,
  • program IceSalv nie zachowywał dat plików,
  • kopiowanie plików w katalogu Recycled powodowało problemy z cache metadanych,
  • usunięto błąd związany z ixemul.library (który tak naprawdę był błędem w MorphOS SDK),
  • poprawiono szereg problemów przy próbie skasowania nieistniejącego pliku,
  • usunięto błąd przy wykonaniu funkcji NewReadLink() i obsłudze twardych linków,
  • usunięto błąd w obsłudze pakietu action_examine_all (co powodowało kłopoty z YAM-em),
  • usunięto błąd w obsłudze pakietu action_create_dir (co powodowało kłopoty z SimpleMailem),
  • w rzadkich przypadkach IceFS mógł bardzo obciążać procesor,
  • usunięto błąd przy naspisywaniu pliku innym plikiem o nazwie różniącej się tylko wielkością liter,
  • usunięto błąd występujący przy wywołaniu funkcji SetFileSize(),
  • rozwiązano problemy pojawiające się, gdy partycja zostaje zapełniona do końca,
  • usunięto rzadki problem z zawieszaniem się IceFS,
  • usunięto błąd w procedurze hashującej,
  • rozwiązano problemy przy jednoczesnej obecności katalogu Recycled i pliku Logfile,
  • usunięto błędy przy obsłudze dowiązań symbolicznych (miękkich linków),
  • rozwiązano problem z parametrem MaxTransfer,
  • zmiana nazwy pliku dłuższej od 36 znaków na inną, również dłuższą niż 36 znaków, nie działała,
  • polecenie Unmount wieszało system przy próbie odmontowania partycji sformatowanej w IceFS,
  • Pamięć podręczna systemu plików nie działała do końca zgodnie z założeniami,
  • rozwiązano problem przy pracy z blokiem o rozmiarze 32 kB,
  • IceFS nie wyświetla okien informacyjnych przez pierwsze 5 sekund po starcie (okazuje się, że próba otwarcia okna za wcześnie w trakcie wykonywania sekwencji startowej systemu może zawiesić MorphOS-a).

Narzędzia

Jeżeli chodzi o narzędzia i polecenia pomocnicze, pojawiło się klika nowych. Na przykład IceInfo, które pokazuje listę blokad (locków) założonych na pliki i katalogi, oraz listę notyfikacji plikowych:

IceInfo

Do dyspozycji mamy też IceCheck sprawdzający poprawność struktury i danych systemu plików, oraz ShowLinks, pokazujący dowiązania twarde i symboliczne. Z drugiej strony IceSalv, narzędzie do naprawy uszkodzonych partycji, jest wciąż raczej zgrzebne (brak GUI, brak opcji). Oczywiście jest też IceDoctor, z interfejsem graficznym, możliwością naprawiania partycji, odzyskiwania plików, a także zmiany rozmiaru partycji sformatowanej w IceFS. Niestety za IceDoctora trzeba zapłacić ekstra kolejne 190 SEK (75 zł), co w sumie daje już całkiem sporą sumkę, jak na system plików…

Szybkość

Jeżeli chodzi o szybkość, to wersja 2.x nie różni się specjalnie od poprzedniej, czyli nie jest źle. Powtórzyłem kilka testów:

Test SFS IceFS
Kopiowanie pliku o długości 212 M 9 s 9 s
Klonowanie pliku o długości 212 MB 10 s 10 s
Kopiowanie katalogu o wielkości 173 MB (294 pliki) 18 s 26 s
Kopiowanie katalogu o wielkości 240 MB (8916 plików) 51 s 36 s
Kasowanie katalogu o wielkości 240 MB (8916 plików) 9 s 18 s

Kopiowanie i klonowanie dużych plików odbywa się z tą samą prędkością dla IceFS i SFS. Różnice pojawiają się przy kopiowaniu całych katalogów: IceFS jest zdecydowanie lepszy w drugim teście (duża ilość małych plików, kopiowano partycję systemową z MorphOS-em 2.7). Przy znacznie mniejszej liczbie stosunkowo dużych plików SFS okazał się zwycięzcą. Kasowanie dużej ilości plików jest słabym punktem IceFS – trwało to dwa razy dłużej niż pod SFS-em.

Problemy

Po długiej liście poprawek (a wymieniłem tylko najważniejsze), można się spodziewać, że IceFS będzie bardziej stabilny. I tak jest w rzeczywistości. IceFS świetne nadaje się na duże partycje (powyżej 128 GB), na przykład do przechowywania filmów i innych multimediów. SFS jest bezradny w takiej sytuacji. Używanie IceFS na partycji systemowej jest jednak nieco ryzykowne, bo wciąż mogą wystąpić nieoczekiwane problemy (poza tym na Macu partycja bootująca nie może być sformatowana w IceFS). Przykładowo otrzymałem raz następujący niepokojący komunikat:

Błąd IceFS

Po takiej wiadomości nie można nic skasować z partycji. Musiałem skopiować wszystkie pliki, a następnie sformatować partycję. Na szczęście był to jedyny poważny problem w czasie intensywnego, dwumiesięcznego używania IceFS. To znacznie lepszy rezultat niż przy wersji 1.13, kiedy to na najrozmaitsze błędy i problemy nie trzeba było długo czekać.

Dość irytujące jest też okresowe sprawdzanie integralności partycji (coś w rodzaju skanowania dysku). Operacja ta praktycznie blokuje cały komputer na jakiś czas (im większa partycja, tym dłużej to trwa). Kasowanie plików z .recycled?

Padłem też ofiarą dziwnego zachowania się Ambienta przy ściąganiu plików w sieci. Wystarczy pobrać jakiś plik przeglądarką i otworzyć okno Ambienta z katalogiem, do którego zapisywane są pliki. Okno odświeża się kilka razy (czasem nawet pięć razy), nie bardzo wiadomo dlaczego. Jeżeli pobrało się wiele plików, ilość odświeżeń można pomnożyć przez ich liczbę, jest to denerwujące, bo wygląda jakby odświeżanie okna wpadło w niekończącą się pętlę. Autor IceFS twierdzi, że nie jest w stanie odtworzyć takiego zachowania u siebie i że błąd musi tkwić w Ambiencie.

I na koniec, MultiView nie potrafi pokazać jakiegokolwiek obrazka z partycji IceFS. Po prostu okno MultiView-a pozostaje puste…

Podsumowanie

Kolejne wersje są coraz lepsze, ciągłe wsparcie i rozwój to pozytywna rzecz. Aktualnie IceFS nie jest jeszcze idealny, dołączone do niego narzędzia są dość proste (albo ich w ogóle brak). Osiągi tego systemu plików są dobre, ale co czyni go szczególnie atrakcyjnym, to przełamanie ograniczeń wielkości partycji i pliku. Na tym polu IceFS znacznie wyprzedza SFS, standardowy system plików MorphOS-a.

David Brunet
tłumaczenie: Grzegorz Kraszewski

Od współczesnego systemu operacyjnego wymagamy oczywiście, żeby umożliwiał pracę w naszym ojczystym języku. MorphOS nie jest tu wyjątkiem. Czasem jednak można się natknąć na drobne problemy, w których rozwiązaniu pomoże – mam nadzieję – ten artykuł.

Kodowania znaków

Na początek trochę, niezbędnego niestety, wstępu teoretycznego. Jak wiadomo, komputer przechowuje wszelkiego rodzaju teksty jako ciągi liczb. Sposób przypisania liczby każdemu znakowi pisarskiemu jest kodowaniem znaków. Protoplastą współczesnych kodowań jest standard ASCII, który definiuje 128 różnych znaków (używając do tego 7 bitów). W zestawie ASCII znajduje się 95 znaków drukowalnych, reszta (znaki od 0 do 31 włącznie, oraz znak 127) to kody kontrolne. Jeżeli chodzi o litery, to ASCII zawiera wyłącznie 26 liter alfabetu angielskiego (małe i wielkie). Ponieważ komputery dość wcześnie zaczęły operować na liczbach 8-bitowych (bajtach), naturalną stała się pokusa (zwłaszcza w krajach używających innego języka niż angielski) do wykorzystania „górnych” 128 znaków z 256 jakie można zapisać w bajcie. Ponieważ jednak różne języki używają różnych znaków dodatkowych, jest ich więcej niż 128, zwłaszcza, że przy okazji dodać chciano inne znaki pisarskie, nie będące literami. Efekt tego był taki, że różne kraje używały różnych zestawów znaków, w których pierwsze 128 zazwyczaj pokrywało się z ASCII, a druga połowa była dość dowolna. Tego rodzaju kodowanie nazywa się powszechnie stroną kodową. Strony kodowe zostały ostatecznie znormalizowane przez organizację ISO w normie ISO-8859, jednak wciąż w użyciu jest całkiem sporo stron kodowych nie objętych przez tę normę.

Strony kodowe są rozwiązaniem połowicznym, nastręczają sporo kłopotów przy konwersji tekstu i wciąż ograniczają zestaw znaków, jakim się można posługiwać. Rozwiązaniem jest standard Unicode. W tym standardzie jeden znak nie zajmuje jednego bajtu a cztery. Na czterech bajtach można zakodować ponad 4 miliardy znaków. To wystarcza nie tylko do wszystkich znaków alfabetów opartych na łacinie, ale także greki, cyrylicy, arabskiego, hebrajskiego, jak również alfabetów azjatyckich i wielu innych. Aktualnie standard Unicode definiuje jedynie 14 tak zwanych „paneli” 16-btowych (po 65 536 znaków w każdym), czyli w sumie 917 504 znaki. To oczywiście obejmuje wszystkie wyżej wymienione alfabety i całą masę nie wymienionych… Ponieważ Unicode jest dość rozrzutnym sposobem zapisu tekstu, wymyślono kilka jego wariantów, z których najpopularniejszym jest UTF-8. W tym sposobie zapisu znaki zajmują zmienną liczbę bajtów, przy czym najczęściej spotykane (podzbiór ASCII) zajmują 1 bajt (UTF-8 jest całkowicie kompatybilny wstecz z ASCII). Polskie znaki zajmują w UTF-8 dwa bajty.

W którym miejscu tego wszystkiego znajduje się MorphOS? Aktualnie jesteśmy jeszcze na etapie stron kodowych, z tym, że spora część pracy potrzebnej do przejścia na Unicode została już zrobiona. Prawdopodobnie niedługo będzie możliwa praca w Unikodzie i spora część tego artykułu będzie wymagała rewizji. Na razie jednak skoncentrujmy się na tym, co jest. MorphOS pozwala na wybór strony kodowej wraz z wyborem mapy klawiatury.

Wybór mapy klawiatury

Dla klawiatury polskiej obowiązującą stroną kodową jest ISO-8859-2. Przy instalacji systemu odpowiadamy na dwa pytania dotyczące kraju i języka. Jednym z nich jest pytanie o kraj. Odpowiedź na to pytanie determinuje w jakim języku będzie się zgłaszał sam system i aplikacje. Drugie pytanie, o mapę klawiatury, determinuje, co oczywiste, rozmieszczenie znaków na klawiaturze, ale także stronę kodową systemu. W typowych polskich warunkach odpowiedzi na oba pytania są oczywiste. Polska mapa klawiatury to tzw. klawiatura programisty, a więc polskie znaki otrzymujemy przez wciśnięcie odpowiednich klawiszy liter angielskich z klawiszem Alt, w MorphOS-ie może to być zarówno Alt prawy jak i lewy. Proszę na koniec zwrócić uwagę na zaznaczenie opcji Generuj automatycznie dla czcionek TrueType. Dzięki temu (prawie) każda czcionka TT będzie prawidłowo wyświetlać polskie znaki, o czym niżej.

Czcionki

MorphOS obsługuje dwa rodzaje czcionek: bitmapowe i TrueType. Te pierwsze to zwykłe czcionki jakie znamy z AmigaOS 3, kompatybilność jest stuprocentowa i można używać czcionek z klasyka.\ TrueType to bardzo popularny format czcionek wektorowych (skalowalnych), który rozpowszechnił się z systemami Windows, a obecnie używany jest praktycznie wszędzie. Po instalacji systemu, w katalogu SYS:Fonts (do którego prowadzi też przypisanie FONTS:) znajdziemy kilkanaście czcionek, zarówno bitmapowych, jak i TrueType.

Poprawnie zainstalowana czcionka bitmapowa składa się z pliku z rozrzeszeniem .font, oraz katalogu o nazwie takiej jak czcionka. Na przykład xhelvetica.font i xhelvetica/. Wewnątrz katalogu znajdziemy kilka plików o nazwach będących liczbami, każda z nich to jeden rozmiar czcionki w pikselach. Wewnątrz tych plików zapisane są bitmapy z kształtami wszystkich liter. Warto zauważyć, że plik .font poprawnie zainstalowanej czcionki bitmapowej ma długość w bajtach równą dokładnie 4 + 260 × ilość rozmiarów. Jeżeli to się nie zgadza, oznacza to problem z tym plikiem i np. brak dostępu do niektórych rozmiarów. Jak taką czcionkę naprawić? Jeżeli mamy dostęp do AmigaOS 3, możemy posłużyć się znajdującą się w nim komendą FixFonts i uruchomić ją na MorphOS-ie. Jeżeli nie, możemy z Aminetu pobrać darmowy edytor czcionek bitmapowych Typeface, a następnie wczytać do niego jeden z rozmiarów czcionki i od razu go zapisać, co powoduje regenerację pliku .font. Na program ten warto zwrócić uwagę, gdyż może się nam przydać do dodania do czcionki polskich liter (o czym niżej), albo wręcz stworzenia własnej.

Czcionka bitmapowa może zawierać maksymalnie do 256 znaków, a więc jedną stronę kodową. Z reguły znaki kontrolne o kodach od 0 do 31 są „puste”. W konkretnej czcionce bitmapowej określonemu kodowi znaku ściśle odpowiada jego kształt. Jedyną możliwością zmiany przyporządkowania liter kodom jest edycja kształtu. Dodatkowo MorphOS nie sprawdza (bo nie ma takiej możliwości), jaką stronę kodową zawiera dana czcionka – co zainstalujemy, to będziemy mieli. Oczywiście powinniśmy zainstalować czcionki ze stroną kodową ISO-8859-2 bo taka w systemie obowiązuje dla polskiej mapy klawiatury. Niestety polując na polskie czcionki bitmapowe natkniemy się (z powodów głównie historycznych) na przedziwny miszmasz możliwości. Oto przegląd:

  • Czcionki ze stroną kodową ISO-8859-1. To są po prostu czcionki bez polskich liter, z wyjątkiem małej i dużej litery „ó”. Takie czcionki znajdują się w dystrybucji MorphOS-a, a także np. na dyskietkach systemowych AmigaOS 3, dlatego że strona kodowa zwana kiedyś ECMA Latin 1, z której korzystał AmigaOS, została później ustandaryzowana jako ISO-8859-1.
  • Czcionki w rozlicznych amigowych polskich stronach kodowych, najczęściej w standardzie AmigaPL, ale i wcześniejszych, np. xJP i szeregu innych. W kodowaniu AmigaPL zrobione były np. czcionki z półoficjalnej polskiej lokalizacji AmigaOS, WFMH LocalePL. Zdecydowana większość tych „standardów” polegała na zamianie 16 tak czy inaczej wybranych znaków z ISO-8859-1 na znaki polskie. Takie czcionki będą pod MorphOS-em „krzaczyć”.
  • Czcionki dwusystemowe ISO-8859-2/AmigaPL. Powstawały na przełomie wieków pod wypływem rozwoju Internetu, gdy stało się jasne, że na stronach WWW dominującym stał się standard ISO-8859-2, czcionki takie można było bezboleśnie używać w systemie bazującym na AmigaPL, a jednocześnie przeglądać strony WWW z kodowaniem ISO. Cechą charakterystyczną takich czcionek jest powtórzenie większości polskich liter dwa razy. Niestety między tymi dwoma kodowaniami istnieje konflikt, polegający na tym, że tam, gdzie w AmigaPL jest „ę”, tam w ISO-8859-2 jest „ć”. Czcionki z tej grupy zazwyczaj faworyzowały AmigaPL, w związku z tym użycie ich w MorphOS-ie, owocuje wszystkimi literami „ć” zamienionymi na „ę” (wielkimi również).
  • Czcionki dwusystemowe ISO-1/ISO-2, powstają w ten sposób, że bierzemy czcionkę w kodowaniu ISO-8859-1, a następnie wstawiamy polskie znaki zgodnie z kodowaniem ISO-8859-2. Takie czcionki pracują pod MorphOS-em poprawnie, ale tylko dla Polaków (strona kodowa ISO-8859-2 zawiera również znaki czeskie, słowackie, węgierskie i inne).
  • Czcionki z pełną stroną kodową ISO-8859-2. Tu sprawa jest jasna. Pewną wadą tych czcionek jest to, że nie mają paru popularnych znaków ze strony kodowej ISO-8859-1 na przykład ©, zamiast niego zobaczymy „Š”. Paczka kilku takich czcionek (każda w kilku rozmiarach) znajduje się na MorphOS Files.

Podsumowując tę listę, można stwierdzić, że najlepiej korzystać z czcionek bitmapowych z grupy czwartej i piątej. A co zrobić jeżeli mamy czcionkę z trzech pierwszych grup, a bardzo się nam podoba? Uruchamiamy program Typeface i przestawiamy polskie znaki w odpowiednie miejsca, lub dorysowujemy je na bazie znaków bezogonkowych, zgodnie ze standardem ISO-8859-2. Sprawę ułatwia fakt, że w okienku wyboru znaku używana jest czcionka systemowa, jeżeli więc czcionkę systemową mamy już ustawioną poprawnie, od razu widzimy gdzie mają być polskie znaki. Po zapisie poprawionej czcionki, a przed jej użyciem dobrze jest zrestartować system, aby na pewno użył poprawionej wersji.

Inaczej sprawa się przedstawia w przypadku czcionek TrueType. One co prawda też występują z kilkoma kodowaniami, ale o to się martwić nie musimy. W tym przypadku MorphOS sam wykrywa zestaw znaków, jakim dysponuje czcionka TT, a następnie wybiera z niego zestaw zgodny ze stroną kodową systemu. Wydawałoby się więc, że na żaden problem się tu nie natkniemy, system sam sobie znajdzie polskie litery i powstawia w odpowiednie miejsca. Owszem, ale pod jednym warunkiem, mianowicie takim, że te polskie litery w ogóle w czcionce są! Niestety w wielu czcionkach dołączonych do systemu polskich znaków nie ma, na przykład w całej rodzinie Vera. Zamiast tego należy użyć czcionek rodziny Lux (tak naprawdę Lux to po prostu Vera z dodanymi polskimi znakami, ale nazwa musiała zostać zmieniona ze względu na wymagania licencji). Innym bardzo dobrym rozwiązaniem jest wykorzystanie czcionek z pakietu WebCore Fonts, który jest instalowany przez przeglądarkę OWB. Można też używać innych czcionek TT, po upewnieniu się, że polskie litery w nich są. Upewnić się można programem ViewISO. Ładujemy czcionkę do programu, zmieniamy stronę kodową na ISO-8859-2, następnie wciskamy przycisk Upper Half i sprawdzamy czy są wszystkie polskie litery.

Czcionki TrueType instaluje się w systemie programem FTManager z katalogu SYS:Tools. Pole wyboru strony kodowej na samym dole okna najlepiej pozostawić puste. Wtedy automatycznie zostanie wybrana domyślna strona kodowa systemu.

Ustawienia systemu i MUI

Najważniejsze ustawienia, a więc wybór kraju i mapy klawiatury (a co za tym idzie domyślnej strony kodowej systemu) omówiłem już wyżej. Pozostaje ustawienie odpowiednich czcionek. Niestety w tej dziedzinie panuje pewien bałagan, wynikający głównie z tego, że tematy graficzne (skórki) narzucają często własne ustawienia czcionek w MUI. Problem polega na tym, że bardzo często są to czcionki nie posiadające polskich znaków (na przykład wymieniona wcześniej rodzina czcionek Vera).

Porządek zacząć należy od ustawienia podstawowych czcionek systemowych. W tym celu z menu ekranowego Ambienta wybieramy Ustawienia -> Systemu…, a w otwartym po tej akcji oknie wiedzeni nieomylną intuicją wybieramy ustawienia czcionek oznaczone ikonką litery „A”. Niewiele jest tam do wyboru, domyślna czcionka systemowa jest używana w oknach konsoli tekstowej i powinna to być czcionka o stałej szerokości (tzw. fixed). Czcionka ekranowa natomiast jest w użyciu między innymi na belce ekranu, belkach okien, menu ekranowych i tak dalej, tu z powodzeniem można użyć czcionki proporcjonalnej.

Kolejny krok to główne ustawienia MUI. Docieramy do nich również z menu Ambienta, a więc Ustawienia -> MUI…. Tu do ustawiania jest znacznie więcej, zwłaszcza jeżeli załadowaliśmy jakąś skórkę ustawiającą własne czcionki. W każdym miejscu, w jakim w MUI ustawiamy czcionkę, można pozostawić gadżet pusty. Wtedy MUI używa czcionki normalnej okna (ustawianej w zakładce Okna). A jeżeli i tam jest pusto? Wtedy w ruch idzie czcionka ekranowa systemu, którą zajęliśmy się w poprzednim akapicie. Dla estetycznego wyglądu systemu warto używać jednej czcionki (choć być może w różnych rozmiarach, kolorach i wariantach) we wszystkich ustawieniach MUI. Łatwo to osiągnąć podając nazwę czcionki tylko w ustawieniach dla normalnej czcionki okien. Różne wielkości osiągamy podając same rozmiary, na przykład wpisanie do gadżetu „/14” oznacza „użyj takiej czcionki jak podstawowa, ale w rozmiarze 14”. Można też używać wielkości względnych, na przykład „/-2” oznacza „użyj czcionki podstawowej, ale rozmiar o 2 piksele mniejszy”.

Konsekwentne stosowanie tej metody ma tę zaletę, że jeżeli np. znudzi nam się Arial, wystarczy w jednym miejscu zmienić go na powiedzmy Georgię, a czcionka zmieni się wszędzie, zachowując przy tym style i relacje między rozmiarami. Oto przykładowe ustawienia podstawowych czcionek MUI w panelu Okna:

Przykładowe ustawienia czcionek w MUI

Jak widać wpis dotyczący czcionki normalnej jest pusty. Oznacza to, że zostanie tu użyta systemowa czcionka ekranowa, którą w tym przypadku jest bitmapowy arial/14 z pakietu czcionek ISO-8859-2 wspomnianego wyżej. Jako czcionka mała użyty zostanie tenże arial, ale w rozmiarze 14 − 2 = 12. Czcionka duża to szesnastka tego samego kroju. Jako czcionka o stałej szerokości, w sytuacji braku wpisu, służy domyślna czcionka systemowa, tu jest to andalemono/14, ze wspomnianego pakietu. Wszystkie inne specyficzne ustawienia czcionek MUI dla konkretnych gadżetów można potraktować w podobny sposób. Oczywiście czcionki możemy też konfigurować z okna wyboru (przyciski po prawej). MUI jest na tyle inteligentne, że do gadżetu wprowadzi tylko zmiany jakich dokonaliśmy, np. zmiana koloru nie spowoduje wpisania do gadżetu nazwy czcionki, a tylko kodów koloru.

Uzbrojeni w tę wiedzę, możemy przeczesać ustawienia MUI pod kątem czcionek. W aktualnej wersji MUI (MorphOS 3.0) jest tych ustawień 12, oto kompletna lista:

  • panel Okna, 4 ustawienia głównych czcionek MUI, omówione i pokazane powyżej,
  • panel Grupy, 2 ustawienia, czcionka tytułów ramek grup i czcionka tytułów zakładek,
  • panel Przyciski, 3 ustawienia, czcionka przycisków, suwaków i pasków postępu,
  • panel Listy, 1 ustawienie, czcionka list,
  • panel Menu, 1 ustawienie, czcionka używana w menu kontekstowych i w menu programu o ile zostanie włączona opcja osadzania ich w oknie,
  • panel Pomoc, 1 ustawienie, czcionka dymków pomocy.

To jednak jeszcze nie wszystko, bowiem zewnętrzne klasy MUI również mogą mieć ustawienia czcionek. Po kliknięciu w przycisk Więcej pod listą paneli, załadują się ustawienia wszystkoch klas zewnętrznych zainstalowanych w systemie i w przypadku „krzaczków” w obiektach tych klas, również tam trzeba przeprowadzić rewizję.

Pamiętajmy o tym, że wiele osób, które bawią się w tworzenie nowych skórek, używa języków zachodnioeuropejskich i strony kodowej ISO-8859-1). Często więc taka skórka w swoich ustawieniach MUI może mieć skonfigurowane czcionki bez polskich znaków. Trzeba po prostu uważać przy instalacji…

Ambient

Ambient ma własne ustawienia czcionek używanych do podpisywania ikon (inna czcionka na pulpit, inna na okna), oraz do używania w trybie listy plików. Tu również możemy się natknąć na czcionki bez polskich znaków, należy je więc zastąpić sprawdzonymi krojami pisma. Do ustawień czcionek dla ikon dostajemy się z menu ekranowego: Ustawienia -> Ambienta…, a następnie wybieramy na liście po lewej stronę Ikony i penetrujemy na dole ramkę Rysowanie tekstu. Proszę zauważyć, że w ramce tej są zakładki! W zakładce Pulpit są do ustawienia dwie czcionki (mała używana jest do informacji pod ikonami dysków), w zakładce Okno – jedna. Jeżeli chcemy ustawić czcionkę dla trybu listy plików, w tym samym oknie należy z listy wybrać Lister, wybór czcionki mamy pod gadżetami wyboru kolorów.

Przeglądarka Odyssey Web Browser

Odyssey używa własnego systemu obsługi czcionek (tylko TrueType), który w pełni radzi sobie z Unikodem i wszelakimi stronami kodowymi. Warunkiem jest zainstalowanie czcionek posiadających w sobie polskie znaki. Niestety domyślnie przy skanowaniu dostępnych czcionek w czasie pierwszego uruchomienia przeglądarki, skanowany jest między innymi katalog MOSSYS:Fonts/_ttf, który zawiera te paskudne czcionki bez polskich znaków. Dlatego najlepiej jest wyeliminować skanowanie tego katalogu. Drugi krok to wejście w posiadanie pakietu WebCore Fonts, najłatwiej po prostu kliknąć w ikonę DownloadFonts w katalogu Odyssey, chociaż ściąganie nie zawsze się udaje. Ostatecznie można też zapożyczyć typowe czcionki z innego systemu operacyjnego, czcionki TrueType i OpenType będą działać (przy okazji, w pakiecie WebCore Fonts nie ma czcionki Tahoma, dość popularnej na stronach internetowych). Pozyskane czcionki umieszczamy najlepiej w katalogu SYS:Fonts/_ttf, tam też umieszcza je program DownloadFonts i tam będzie ich szukać OWB. Teraz za pomocą edytora tekstu (np. systemowego Ed-a) edytujemy plik SYS:Applications/OWB/Conf/font/fonts.conf. W okolicach linii 25 natykamy się na tekst

<dir>MOSSYS:fonts/_ttf</dir>

i usuwamy tę linię oraz zapisujemy plik. Następnie z katalogu SYS:Applications/OWB/Conf/font/ kasujemy wszystkie pliki z rozszerzeniem .cache, co zmusi OWB do ponownego przeskanowania katalogów w poszukiwaniu czcionek, ale tym razem będą to tylko czcionki WebCore, dzięki czemu nie będzie żadnch krzaczących niespodzianek, a strony WWW będą wyglądały jak na innych systemach operacyjnych.

Inne kłopoty mogą nas czekać na styku między Odyssey a systemem operacyjnym. OWB pracuje wewnętrznie w Unikodzie, system – w stronie kodowej, w naszym przypadku ISO-8859-2. Zachodzą więc obustronne konwersje. W przypadku braku polskich liter np. w tytułach stron na „tabach” przeglądarki, albo problemach przy wpisywaniu polskich znaków do okienka wyszukiwania, trzeba upewnić się, że w ustawieniach czcionek w preferencjach OWB podana jest strona kodowa ISO-8859-2. Warto też sprawdzić czy zmienna środowiskowa CODEPAGE (Plik ENV:CODEPAGE) również zawiera tekst „ISO-8859-2”.

Grzegorz Kraszewski