Wstęp
Atari ST
MiST
MJM
Sieć
Po polsku
Weź sobie
WWWięcej
Interesujące informacje dotyczące prywatności i plików cookie są tutaj.
Kontakt ze mną możliwy jest np. przez Twittera.

MiST

15 maja 2018

Pod koniec maja 2017 roku w Warszawie miała miejsce kolejna edycja Pixel Heaven, czyli festiwalu miłośników niezależnych gier komputerowych oraz sprzętu retro. Poszedłem tam, aby posłuchać wspomnień członków redakcji pisma Top SecretTop Secret

Pierwsze polskie pismo o grach komputerowych, wydawane w latach 1990-1996, dwumiesięcznik. Charakteryzowało się (zwłaszcza pod koniec istnienia) specyficznym, luzacko-absurdalnym klimatem, wyróżniającym go na tle innych wydawanych wówczas czasopism.

Nagranie wideo wspomnianego spotkania z członkami redakcji znajdziecie na YouTube. Trwa godzinę.
, zobaczyć na żywo mnóstwo całkiem nieźle utrzymanych (i działających!) komputerów sprzed ponad 30 lat, a także kupić sobie MiST‑a. To właśnie MIST umożliwił powrót mojej strony, i to dzięki niemu mogłem dodać nową funkcję do aplikacji Marijuana Mail. No dobrze – ale co to w ogóle takiego jest ten MiST?

Otóż MiST to urządzenie pozwalające na uruchamianie zapisanych na karcie SD programów (aplikacji, gier, dem…) przeznaczonych na różne stare komputery, między innymi Amigę i Atari ST. Acha, czyli taki emulator działający na Raspberry Pi? Nie. Sercem MiST‑a jest Field Programmable Gate Array, w skrócie FPGA. To układ elektroniczny, zawierający bramki logiczne, których połączenia można dowolnie konfigurować, odwzorowując w nim w ten sposób inne układy. Dzięki temu MiST nie emuluje starszej maszyny – on, po wczytaniu odpowiedniego pliku rdzenia, konfigurującego układ FPGA, staje się tą maszyną, oczywiście w stopniu zależnym od dokładności tegoż pliku.

Dobrze, ale co z tego? Może coś tam w środku jest „emulowane”, może „odwzorowywane”, a może pracuje tam armia krasnoludków przerzucających węgiel – jakie to ma znaczenie dla zwykłego użytkownika, który chce sobie po prostu nostalgicznie pograć w Robbo lub uruchomić Calamusa i porównać go z InDesignem?

Szybki start

Pierwsza różnica w stosunku do programowego emulatora rzuca się w oczy od razu. Pamiętacie, jak włączało się ośmiobitowe komputery? Pstryczkiem. A jak się je wyłączało? Też tym samym pstryczkiem, nie trzeba było „zamykać systemu”, naciskało się – i już. MiST działa tak samo, można go włączyć, uruchomi się praktycznie natychmiast jako wybrany ośmio- lub szesnastobitowiec, a gdy się znudzimy, wystarczy go wyłączyć. Jak za dawnych lat.

Ktoś może zaprotestować, że przecież emulator programowy też uruchamia się od razu – owszem, ale tylko wtedy, gdy mamy już włączony system, na którym ten emulator działa. Klasyczny emulator programowy pracuje pod kontrolą nadrzędnego systemu operacyjnego (Windows, macOS, Linux…), który to system musi się wcześniej uruchomić. MiST wczytuje tylko rdzeń konfigurujący układ FPGA, co trwa jakąś sekundę lub dwie – i od tego momentu na biurku stoi nam już Atari. Albo Amiga, C64, ZX Spectrum, czy jaki tam inny rdzeń wybierzemy.

Prawdziwy joystick

Nostalgiczny powrót do starych komputerów bardzo często wiąże się z ulubionymi grami z dzieciństwa. Robbo, River Raid, Henry’s House, Road Race, Draconus, Chaos Engine, Another World, Shadow of the Beast… Granie w te tytuły przy użyciu klawiatury to nie to samo – do pełni szczęścia potrzebny jest joystick! MiST ma z boku dwa standardowe, 9‑pinowe gniazda do podłączenia starych joysticków cyfrowych. W przypadku zwykłego emulatora uruchamianego na komputerze podłączenie joysticka tego typu nie jest takie proste, ponieważ nie ma fizycznie gdzie wetknąć jego wtyczki.

Stary telewizor

MIST wyposażony jest w gniazdo VGA, ale przy użyciu odpowiedniego kabla podłączyć do niego możemy także telewizor z ekranem kineskopowym, wyposażony w złącze SCART (czyli „eurozłącze”), aby uzyskać taki sam obraz, jak na oryginalnym sprzęcie – miękki, bez cyfrowych zniekształceń, z oryginalną częstotliwością odświeżania, zapewniającą płynne przewijanie. Żadna cyfrowa obróbka obrazu wyświetlanego na ekranie LCD nie pozwoli na uzyskanie takiego samego efektu.

Współczesna klawiatura

MIST ma także cztery gniazda USB, dzięki którym możemy używać współczesnej klawiatury (także bezprzewodowej, ale nie na Bluetooth, tylko takiej z własnym odbiornikiem radiowym) oraz myszy. Zwłaszcza ta mysz jest ważna, ponieważ stare myszy z kulką nie są szczególnie wygodne w użyciu, jeśli porównamy je z obecnymi optycznymi czy laserowymi cudami, a oryginalna mysz do Atari ST, mimo swego niewątpliwie atrakcyjnego wyglądu, jest wręcz wyjątkowo irytująca (pamiętam, że na swoim pierwszym Atari tę mysz natychmiast zamieniłem na wersję od Amigi, choć musiałem w tym celu przelutować w niej jakieś dwa kabelki).

Skoro jesteśmy przy gniazdach USB, to warto wspomnieć, że pozwalają one także na podłączenie przejściówki USB‑Ethernet, dzięki której MIST z rdzeniem Atari ST może uzyskać połączenie z siecią. Swoją drogą: szczegółowy opis konfiguracji sieci na Atari ST (zarówno na prawdziwym z 1985 roku, jak i na tym „MIST‑ycznym”) znajdziecie w dziale Sieć.

MIDI

Atari ST było wyposażone we wbudowane gniazda MIDI, pozwalające na komunikację z różnymi urządzeniami muzycznymi, np. syntezatorami, dzięki czemu komputer ten na długo stał się popularny wśród muzyków. Z Atari ST korzystał chociażby Jean Michel Jarre czy Mike Oldfield, a u nas w kraju Kazik Staszewski. To na Atari ST powstały znane i używane do dziś programy-sekwencery MIDI, takie jak Cubase czy Logic.

MIST również ma gniazda MIDI, nic więc nie stoi na przeszkodzie, aby uruchomić na nim Cubase’a i podłączyć syntezator.

Czyli co?

Możemy traktować MIST‑a jako komputer retro zbudowany współcześnie, przy użyciu dzisiejszych podzespołów. Jest to tak zwana „reimplementacja” starego sprzętu, polegająca na tym, że zamiast fizycznego umieszczenia na płycie starego procesora oraz współpracujących z nim układów, wszystkie te elementy zawarte są w jednym chipie FPGA – ponieważ dzisiejsza technologia na to pozwala.

MiST widziany z przodu. Strzałki wskazują wskaźnik zasilania, dodatkowy wskaźnik zależny od rdzenia, wskaźnik operacji wyjścia i wejścia, przycisk reset oraz dodatkowe przyciski zależne od rdzenia.

Solidna, metalowa obudowa o wymiarach 16 x 8,5 x 3,5 cm zawiera z przodu trzy diody LED (zieloną, żółtą i czerwoną), gniazdo karty SD oraz trzy przyciski sterujące. Jedynie pierwsza i ostatnia dioda (zielona i czerwona) oraz pierwszy przycisk (patrząc od lewej) mają stałą funkcję, niezależną od używanego rdzenia: pierwsza (zielona) dioda świeci się, gdy MIST jest włączony, trzecia (czerwona) dioda miga podczas odczytu lub zapisu danych na karcie SD, a naciśnięcie przycisku powoduje ponowne uruchomienie urządzenia.

Funkcje środkowej (żółtej) diody i dwóch pozostałych przycisków mogą być różne, zależnie od aktualnie wczytanego rdzenia. Najczęściej drugi przycisk wyświetla menu rdzenia, a trzeci powoduje reset aktualnie odwzorowanej maszyny (czyli następuje jedynie ponowne uruchomienie używanego w danej chwili rdzenia, nie całego MiST‑a). Możemy jednak natrafić na rdzenie, które obsługują te przyciski w inny sposób: na przykład rdzeń ośmiobitowego Atari w ogóle nie reaguje na naciśnięcie trzeciego przycisku.

Z tyłu znajdziemy przełącznik włączający urządzenie, standardowe gniazdo zasilania micro USB, cztery gniazda USB, analogowe gniazdo wyjścia audio oraz zapewniające różne sygnały gniazdo wyjścia wideo. Po bokach umieszczone są dwa gniazda MIDI oraz dwa gniazda joysticka.

MiST widziany z tyłu. Strzałki wskazują włącznik, gniazdo zasilania, cztery gniazda USB, gniazdo wyjścia audio oraz gniazdo wyjścia wideo.

Można natrafić również na podobną obudowę w kolorze białym. To starsza wersja MIST‑a, różniąca się kilkoma szczegółami konstrukcyjnymi, takimi jak sygnały dostępne w gnieździe wyjścia wideo lub sposób montażu gniazda zasilania. Niektóre z tych starszych wersji nie mają także gniazd MIDI.

Lotharek produkuje również MIST‑a w designerskiej, przezroczystej obudowie, która jednak nie wydaje się chronić urządzenia przed zakłóceniami lub nawet przypadkowym zwarciem (po bokach jest pełny dostęp do płyty!), a także gryzie mi się trochę pod względem estetycznym z samą ideą sprzętu, bądź co bądź, retro. Wolę jednak wersję klasyczną – czarną.

Uruchamiamy MIST‑a

Po tym nudnym i pełnym niepotrzebnych dygresji wstępie, wyjaśniającym mniej więcej, czym jest (i czym nie jest) ten cały MIST, najwyższy czas przejść do części praktycznej, w której uruchomimy i skonfigurujemy urządzenie.

Oprócz samego MIST‑a potrzebnych będzie kilka dodatkowych elementów, które zapewne mamy już w domu – choć nie zawsze. Ja na przykład nie miałem odpowiedniej karty SD, za co winę ponoszą producenci smartfonów, które robią coraz lepsze zdjęcia (i osobny aparat fotograficzny staje się coraz mniej potrzebny), a także firma SONY, która przez długie lata forsowała w swoich aparatach niestandardowy standard kart (więc jak już znalazłem kartę, to była to karta MemoryStick).

Element graficzny, karta SD
Karta SD. Oprócz plików wymaganych do działania MIST‑a, o których dalej, przechowywać będziemy na niej gry i programy na Atari (oraz na inne komputery, których rdzeni chcemy używać). Ja mam kartę SDHC o szybkości 80 MB/s i pojemności 16 GB. Spotkałem się w Internecie z błędnym wyobrażeniem, że wystarczy nawet 1 GB, bo przecież „programy na Atari były małe”. Były, ale mój dysk w Atari TT miał pojemność 1 GB i wcale nie świecił pustkami, a warto pamiętać, że na naszej karcie będą znajdować się pliki z różnych komputerów – Atari XL/XE, Atari ST, Amigi, C64… Lepiej zdecydować się na większą pojemność, niż później płakać. Wydaje mi się jednak, że na karcie o pojemności 4 GB miejsca nie powinno zabraknąć, 8 GB to już szaleństwo, a te moje 16 GB… Po prostu w sklepie nie było mniejszych.

Element graficzny, wtyczka micro USB
Kabel mini USB, przy użyciu którego urządzenie będzie zasilane. Podobnie jak np. w przypadku Raspberry Pi, do gniazda zasilania MIST‑a pasuje standardowa wtyczka mini USB, lecz w przeciwieństwie do „maliny”, MIST‑owi wystarcza zaledwie 300-500mA, czyli swobodnie można podłączyć go nawet do gniazda USB w komputerze lub do dowolnej ładowarki do telefonu. Ja mam go podłączonego do huba USB z własnym zasilaniem, który znajduje się akurat w optymalnym miejscu na biurku. Wszystko działa bez najmniejszych problemów, choć energię pobiera także mysz, klawiatura i przejściówka USB‑Ethernet.

Zasilacz. Jak wspomniałem, nie jest on absolutnie konieczny, wystarczy nawet gniazdo USB w komputerze. Działają zasilacze USB od telefonu, tabletu, a nawet od odświeżacza powietrza. W przeciwieństwie do np. Raspberry Pi, MIST nie ma dużych wymagań odnośnie natężenia prądu.

Element graficzny, wtyczka VGA
Monitor. Na nim, jak dobrze pójdzie, zobaczymy obraz. Aby uniknąć problemów związanych ze skalowaniem, warto użyć monitora o proporcjach 4:3. Należy się także przygotować na konieczność ręcznego poprawienia wielkości i ułożenia obrazu. Jeśli marzy nam się pełna imersja w klimat tamtych lat, możemy pójść na całość i użyć monitora CRT. Warto pamiętać, że MIST generuje sygnał analogowy o takich parametrach, jak sprzęt oryginalny, co może powodować pewne problemy ze współczesnymi monitorami – będzie jeszcze o tym dalej.

Głośniki z własnym zasilaniem. Są niezbędne, jeśli chcemy usłyszeć np. tę fajną muzykę z Draconusa lub Shadow of the Beast – a to przecież oczywiste, że chcemy. Bardzo chcemy. Ja mam MIST‑a podłączonego stale do głośniczków wbudowanych do monitora, ale czasami zamiennie używam Soundsticków Harmana Kardona, zależnie od nastroju i potrzeb.

Element graficzny, klawiatura
Klawiatura i mysz na USB. Mysz się przydaje, jeśli chcemy używać MIST‑a jako komputera z systemem obsługiwanym właśnie przy użyciu myszy, takiego jak Atari ST, Amiga lub Apple Macintosh, natomiast w przypadku korzystania z rdzenia Atari 800XL czy C64 wystarczy sama klawiatura. Ja używam klawiatury Apple na USB, tej krótkiej, bez bloku numerycznego, ponieważ jest dla mnie bardzo wygodna oraz zajmuje niewiele miejsca na biurku. Brak niektórych klawiszy z klawiatury pełnowymiarowej (np. używanego na Atari ST klawisza Help) oznaczał jednak konieczność modyfikacji pliku konfiguracyjnego MIST‑a.

Jedna uwaga: MIST nie obsługuje oryginalnej myszy Amigi lub Atari, choć fizycznie można ją podłączyć do gniazda joysticka. Jeśli chcemy korzystać z myszy, nie mamy więc wyboru – musimy użyć myszy na USB. Ja korzystam z myszy Mighty Mouse od starego Maca.

Element graficzny, joystick
Joystick. Pozwoli w pełni czerpać radość z gier. Najlepiej znaleźć gdzieś na strychu nasz stary joystick, jeśli oczywiście towarzyszył nam on w dzieciństwie i nikt go do tej pory nie wyrzucił, ale możemy też kupić używany na Allegro – wystarczy wpisać hasło „joystick atari”. Musi być to joystick podłączany do 9‑pinowych gniazd znanych z Atari, Commodore’a lub Amigi. Istnieje co prawda możliwość korzystania z joysticków lub padów na USB, wymaga to jednak modyfikacji pliku konfiguracyjnego i według mnie nie ma sensu. Gry retro wymagają przeznaczonego do nich manipulatora z epokiŚwiadome i dobrowolne używanie do gier z ośmiobitowego Atari czegokolwiek innego, niż joystick na mikrostykach, to jedna z tych czynności, które stanowią poważną przesłankę do podważenia przynależności wykonującej je osoby do gatunku homo sapiens – podobnie jak granie w gry typu FPS przy użyciu pada (zamiast klawiatury i myszy) lub odbycie chociażby raz stosunku seksualnego z kozą. .

Jeśli jednak włączymy teraz naszego MiST‑a, ekran monitora pozostanie ciemny, a jedynym objawem „życia” urządzenia będzie migająca powoli trzecia dioda, licząc od lewej. O czym zapomnieliśmy? No tak! Układ FPGA nie ma pliku rdzenia, przez co MiST „nie wie”, jakim komputerem ma być.

Rdzeń FPGA

Plik rdzenia jest bardzo ważny, służy bowiem do odpowiedniego skonfigurowania połączeń bramek logicznych w układzie FPGA, pozwalając na odwzorowanie w nim płyty głównej naszego ulubionego komputera – czyli na przykład Atari ST. Musimy ściągnąć odpowiedni plik ze strony projektuW dalszej części artykułu znajdziecie ogólne zestawienie niezbędnych plików wraz z odpowiednimi linkami, pozwalającymi je szybko ściągnąć. i zapisać go na karcie SD, którą następnie włożymy do gniazda znajdującego się z przodu MiST‑a. Możemy używać wielu rdzeni i przełączać je wedle potrzeb: gdy znudzi się nam Atari ST, możemy wybrać rdzeń Atari 800XL i zagrać w Robbo, a gdy będziemy mieć już dosyć Robbo (można mieć dosyć Robbo?), to nic nie będzie stało na przeszkodzie, aby wybrać rdzeń Amigi i przypomnieć sobie Shadow of the Beast – jednak jeden rdzeń musi być rdzeniem domyślnym, który MiST będzie ładował automatycznie po włączeniu.

Rdzeń domyślny musi być umieszczony w katalogu głównym karty SD i nosić nazwę core.rbf, pozostałe rdzenie natomiast mogą mieć dowolne nazwy, jak również mogą znajdować się w podkatalogach. Ja używam rdzenia wyświetlającego menu z listą wszystkich rdzeni dostępnych w katalogu głównym karty SD – dzięki temu mogę od razu po włączeniu MiST‑a wybrać, jakiego komputera chcę używać.

ROM

Oprócz rdzenia (zapewniającego odpowiedni hardware) potrzebujemy także pliku zawierającego fabryczne oprogramowanie zaszyte w pamięci ROM oryginalnego komputera. Tutaj może się wydawać, że wkraczamy na grząski teren związany z prawami autorskimi – lecz grząski to on był może jeszcze jakieś 10 lat temu, obecnie natomiast wysechł i stał się jałową pustynią smutku i rozpaczy, która nikogo już raczej nie obchodzi, a rozmaite ROM‑y jawnie leżą sobie wszędzie w Internecie.

W czasach, w których jeszcze ktoś się tym przejmował, powstał EmuTOS, czyli klon atarowskiego TOS‑u, udostępniany na licencji GPL. Miał on spełniać dwa podstawowe założenia: po pierwsze, być dostępny za darmo, bez problemów związanych z ewentualnymi roszczeniami dotyczącymi praw autorskich odkupionych przez kolejnych spadkobierców nieistniejącego producenta, a po drugie obsługiwać rozmaite nowsze funkcje (między innymi wyższe rozdzielczości ekranu) oferowane przez różne emulatory, takie jak np. ARAnyM. Celem uniknięcia potencjalnych problemów prawnych autorzy stworzyli nawet własne ikony oraz zastąpili charakterystyczny atarowski wskaźnik zajętości (pszczołę/trzmiela) klepsydrą.

EmuTOS jest cały czas rozwijany, można go pobrać ze strony projektu, natomiast na mojej stronie znajdziecie nieoficjalną polską wersję tego systemu, zawierającą polską klawiaturę (z klawiszem Alt), polskie czcionki (w standardzie ISO 8859‑2) oraz polskie komunikaty.

EmuTOS sprawdza się całkiem nieźle, jeśli chcemy używać aplikacji działających w okienkach, a przy tym nie zależy nam na wielozadaniowości. W przypadku gier mogą jednak pojawiać się problemy ze zgodnością, dlatego warto mieć także pod ręką oryginalny TOS – najlepiej zarówno wersję 1.04, jak i 2.06. MiST pozwala na wygodne przełączanie różnych TOS‑ów.

Firmware

Firmware, czyli oprogramowanie sprzętowe zapisane w układach pamięci MiST‑a, odpowiada za wczytywanie domyślnego rdzenia oraz współpracę układu FPGA z resztą podzespołów (np. gniazdami MIDI lub kartą SD). Oprogramowania tego nie trzeba osobno ściągać i umieszczać na karcie SD – choć można, jeśli chcemy je uaktualnić.

Aktualna wersja oprogramowania sprzętowego MiST‑a to 170412 z kwietnia 2017 roku. Uaktualnienie wymaga umieszczenia pliku firmware.upg na karcie SD, wczytania rdzenia Atari ST, naciśnięcia F12 w celu przejścia do menu, a następnie wybrania Firmware & Core > Update.

Menu MiST-a pozwalające na uaktualnianie oprogramowania sprzętowego.

Warto zadbać, aby proces uaktualniania nie został nagle i niespodziewanie przerwany, np. na skutek odłączenia zasilania. Nie spowoduje to co prawda trwałego uszkodzenia MiST‑a, ale może wymusić konieczność wgrania oprogramowania sprzętowego przez USB przy użyciu komputera (z systemem Windows lub Linux – użytkownicy Maca będą mieć problem).

MiST i współczesny monitor

Jako że MIST nie jest emulatorem, tylko kopią oryginalnego sprzętu, po uruchomieniu czekać nas mogą pewnie niespodziewane trudności. Otóż komputery z lat 80. podłączane były do telewizora lub monitora CRT – takiego z lampą kineskopową determinującą charakterystyczne przedłużenie obudowy ku tyłowi. Monitor tego typu wyświetlał obraz na zupełnie innej zasadzie, niż obecne ekrany LCD lub LED: rysował go wiązką elektronów wystrzeliwaną pod odpowiednio modyfikowanym kątem. Częstotliwości używane do sterowania tą wiązką były zupełnie inne, niż częstotliwości odświeżania obrazu we współczesnych monitorach. W efekcie podłączenie MiST‑a do monitora VGA powinno zaowocować… całkowitym brakiem obrazu, ponieważ parametry przekazywanego sygnału mają się nijak do obecnie stosowanego standardu.

Na szczęście MiST zawiera wbudowany scandoubler, czyli moduł zwiększający dwukrotnie częstotliwość odświeżania poziomego (określającego czas potrzebny do wyświetlenia jednej linii obrazu), dzięki czemu mieści się ona w zakresie akceptowanym przez współczesne monitory.

Problemem pozostaje jednak częstotliwość odświeżania pionowego (czas potrzebny do wyświetlenia wszystkich linii obrazu) – większość monitorów LCD spodziewa się około 60Hz, podczas gdy sprzęt sprzed 30 lat zapewnia zwykle częstotliwość stosowaną w telewizyjnym systemie PAL, czyli 50Hz. W efekcie może się okazać, że na ekranie zobaczymy komunikat wyrażający niezadowolenie monitora z otrzymanego sygnału:

Komunikat na ekranie monitora informujący o nieprawidłowych parametrach sygnału.

Sytuacja nie jest jednak beznadziejna. Wiele rdzeni pozwala na przełączenie trybu wyświetlania z europejskiego standardu PAL (o niestrawnej dla większości dzisiejszych monitorów częstotliwości 50Hz) na amerykański NTSC (używający częstotliwości sięgającej 60Hz, która nie stanowi problemu dla monitorów LCD). Atari ST jest tutaj w uprzywilejowanej pozycji, bowiem tryb ST High, wymagający oryginalnie specjalnego monitora monochromatycznego, działa z imponującą jak na tamte lata częstotliwością 71‑72Hz, akceptowaną bez większych problemów przez współczesne monitory. W trybach kolorowych natomiast częstotliwość odświeżania zależy od wersji TOS‑u: brytyjska obsługuje system PAL, natomiast amerykańska – system NTSC. Dodatkowo w ustawieniach rdzenia Atari ST możliwe jest sprytne zwiększenie częstotliwości odświeżania w systemie PAL z 50Hz na 56Hz, co może pomóc zobaczyć obraz na niektórych monitorach LCD bez konieczności zmiany trybu wyświetlania na NTSC.

Ze zmianą częstotliwości odświeżania ekranu mogą wiązać się jednak pewne zaskakujące efekty uboczne: wielu programistów używało tej częstotliwości do synchronizacji czasu w grach, więc gry przystosowane do systemu PAL mogą działać w systemie NTSC nieco szybciej.

MiST i stary telewizor

Do gniazda VGA można również podłączyć kabel z wtyczką SCART, umożliwiający podłączenie MiST‑a do telewizora z eurozłączem. Wówczas trzeba wyłączyć scandoubler, ponieważ telewizory potrafią obsłużyć niższą częstotliwość odświeżania poziomego. Jeśli chcemy zrobić to na stałe, należy utworzyć plik tekstowy mist.ini z następującą zawartością:

[mist]
scandoubler_disable=1

Scandoubler można także w dowolnej chwili włączyć lub wyłączyć, przytrzymując środkowy przycisk na obudowie urządzenia, lecz zmiana dokonana w ten sposób nie jest zapamiętywana na stałe. Możliwość włączania lub wyłączania scandoublera środkowym przyciskiem nie jest też obsługiwana przez wszystkie rdzenie: pozwala na nią rdzeń Amigi, Atari ST i C64, ale rdzeń ośmiobitowego Atari już nie.

Małe Atari, duże Atari

Poniżej znajduje się zestawienie plików, które trzeba umieścić na karcie SD, aby móc używać MiST‑a jako „małego” (ośmiobitowego) oraz „dużego” (szesnastobitowego) Atari. W tekście dodałem też linki, które pozwolą te pliki ściągnąć.

Na karcie SD wetkniętej do MiST‑a musi znajdować się plik o nazwie core.rbf. Zawiera on domyślny rdzeń, wczytywany automatycznie po włączeniu urządzenia. Przeważająca większość rdzeni pozwala na przełączanie się na inne, wystarczy nacisnąć klawisz F12 i wybrać opcję Firmware/Core. Dzięki temu możemy mieć na karcie jeden rdzeń domyślny i całą masę rdzeni dodatkowych.

Istnieje również rdzeń, którego jedynym zadaniem jest wyświetlanie menu z alfabetyczną listą wszystkich dostępnych rdzeni, ma on jednak istotną wadę: używa częstotliwości odświeżania 50Hz, niezgodnej z większością współczesnych monitorów LCD. Jeśli więc mamy szczęście, menu to będzie zasłonięte przez komunikat o niewłaściwych parametrach sygnału, natomiast jeśli mamy pecha, ekran monitora pozostanie czarny. W obu przypadkach możemy jednak wybrać żądany rdzeń „w ciemno”, naciskając odpowiednią liczbę razy klawisz ze strzałką w dół i akceptując wybór klawiszem Enter.

ATARI 1040ST

Poza samym rdzeniem Atari ST (dostępnym na stronie GitHub) potrzebny nam będzie TOS, czyli system operacyjny oryginalnie umieszczony w pamięci ROM komputera. Bogaty zestaw chyba wszystkich oryginalnych TOS‑ów można natomiast znaleźć np. tutaj lub tutaj, natomiast w osobnym dziale mojej strony dostępna jest spolszczona wersja EmuTOS‑u. Do uruchamiania gier warto użyć TOS‑u 1.04 lub 1.06, jeśli jednak chcemy korzystać z programów użytkowych oraz dysku twardego, najlepszym wyborem będzie TOS 2.06 lub EmuTOS.

MiST automatycznie szuka TOS‑u w pliku o nazwie tos.img w katalogu głównym karty SD. Po naciśnięciu klawisza F12 pojawia się menu, przy użyciu którego możemy wczytać inny TOS, a także zapamiętać ten wybór.

Dysk twardy

Dysk twardy nie jest niezbędny, jeśli chcemy tylko uruchamiać gry z dostępnych w Internecie obrazów dyskietek, przyda się jednak, jeśli zamierzamy korzystać z aplikacji okienkowych. MiST pozwala na jednoczesne używanie z Atari ST dwóch niezależnych obrazów dysku. Pusty obraz dysku o pojemności 256 megabajtów możemy utworzyć na Macu, wprowadzając następujące polecenie w Terminalu:

dd if=/dev/zero of=harddisk.hd count=256k bs=1k

Nieszczęśnicy korzystający z systemu Windows mogą użyć w tym celu polecenia widocznego poniżej (ta ostatnia dziwna liczba to nasze docelowe 256 megabajtów przedstawione w bajtach):

fsutil file createnew harddisk.hs 268435456

Wygenerowany w ten sposób plik harddisk.hd musimy umieścić w katalogu głównym karty SD. MiST użyje go automatycznie, jednak aby TOS mógł go traktować jako dysk, niezbędna jest instalacja sterownika dysku twardego. Do wyboru mamy kilka sterowników, między innymi AHDI (Atari Hard Driver), ICD Pro oraz HDDriver. Uwe Seimet, autor HDDrivera, od lat nie zauważa upływającego czasu, co ma zarówno zalety, jak i wady. Zaleta polega na tym, że ciągle rozwija swój sterownik, dodając kolejne funkcje, takie jak obsługa nowych dysków czy formatów ułatwiających wymianę danych ze współczesnymi komputerami. Wadą natomiast jest to, że sprzedaje go za prawie 50 euro. Możliwe, że mimo wszystko warto ten sterownik kupić, udając, że nie zwracamy uwagi na cenę. Dzięki temu istnieje szansa, że autor nadal się nie zorientuje, który mamy rok – i wciąż będzie rozwijał swój produkt.

Obraz dysku wygenerowany w opisany wyżej sposób jest jedynie pustym plikiem. Używanie go jako dysku wymaga podzielenia go na partycje. W tym celu musimy uruchomić z dyskietki sterownik dysku. Obraz dyskietki ze sterownikiem ICD Pro można pobrać stąd. Po umieszczeniu tego pliku na karcie SD włożonej do MiST‑a trzeba wskazać go jako dyskietkę A, używając menu otwieranego po naciśnięciu klawisza F12 lub środkowego przycisku na obudowie urządzenia.

Po ponownym uruchomieniu systemu wczytany zostanie sterownik ICDBOOT.PRG, znajdujący się w folderze AUTO na obrazie dyskietki. Następnym krokiem jest uruchomienie programu ICDFMT.PRG, przy użyciu którego podzielimy nasz dysk na partycje. Nie musimy go formatować ani weryfikować.

Zrzut ekranu programu ICDFMT.PRG, służącego do formatowania dysku i dzielenia go na partycje.

Klikamy w PARTITION. Na ekranie pojawi się okno z proponowanym podziałem na partycje, lub raczej na całe mnóstwo partycji. Najlepiej kliknąć wówczas w SPLIT i wybrać, że chcemy mieć na dysku tylko jedną lub dwie partycje (w przypadku TOS‑u 2.06 lub EmuTOS‑u dysk o pojemności 256 megabajtów może zawierać pojedynczą partycję i będzie ona działać prawidłowo). Następnie warto kliknąć w PARAMETERS i wpisać 0 w polu Verify Passes – dzięki temu pominiemy czasochłonną i zbędną weryfikację. Na końcu należy kliknąć w przycisk PARTITION ENTIRE HARD DISK i potwierdzić decyzję.

Po utworzeniu partycji i ponownym uruchomieniu systemu nasza partycja powinna być już widoczna. Świadczy o tym komunikat wyświetlany przez sterownik dysku podczas startu.

Jeśli na biurku nie widać ikony dysku C, należy wybrać polecenie menu Options > Install Devices (tylko w przypadku TOS‑u 2.06, ponieważ EmuTOS automatycznie wyszukuje dyski podczas uruchamiania i od razu pokazuje ich ikony).

Sterownik dysku wczytywany jest jednak nadal z dyskietki – jeśli więc ją „wyjmiemy” i uruchomimy system ponownie, utracimy dostęp do dysku! Aby tego uniknąć, należy zainstalować sterownik na pierwszej partycji naszego dysku. W tym celu trzeba uruchomić program HDUTIL.PRG, kliknąć w Boot, zaznaczyć partycję C i kliknąć w OK.

Skoro mamy już uruchomiony HDUTIL, warto także zmienić domyślne ustawienia sterownika, czyli przede wszystkim wyłączyć weryfikację zapisu, włączyć ignorowanie wszystkich dysków poza dwoma pierwszymi, a także zwiększyć bufor używany do przechowywania nazw folderów. Weryfikacja zapisu polega na ponownym odczytywaniu każdego zapisanego bajtu, aby sprawdzić, czy na pewno dobrze się zapisał – miało to być może sens w przypadku starych dysków talerzowych, ale na obrazie dysku przechowywanym na karcie SD spowoduje to jedynie niepotrzebne spowolnienie działania. MiST obsługuje tylko dwa dyski, więc wyszukiwanie kolejnych urządzeń niepotrzebnie wydłuża czas uruchamiania urządzenia. Zbyt mały bufor nazw folderów może natomiast doprowadzić do uszkodzenia katalogu dysku.

W celu wprowadzenia opisanych powyżej zmian należy kliknąć w przycisk Config, wybrać sterownik, który chcemy skonfigurować (czyli C:\ICDBOOT.SYS – ten sam, który właśnie zainstalowaliśmy na dysku), a następnie upewnić się, że pole „Enable write verify” nie jest zaznaczone, obok etykiety „Ignore” zaznaczyć urządzenia od 2 do 7 (pozostawiając niezaznaczone dwa pierwsze, czyli 0 i 1), natomiast w polu „Number of extra folders allocated” wpisać 256. Kliknięcie w przycisk Save spowoduje zachowanie zmian.

Co ciekawe, emuTOS zawiera wbudowany sterownik dysku, widzi więc partycje bez konieczności uruchamiania osobnego sterownika z dyskietki lub z samego dysku, ale nie umożliwia ich tworzenia. Jeśli więc podzielimy dysk na partycje, np. w opisany powyżej sposób, emuTOS będzie mógł ich używać nawet jeśli nie uruchomimy sterownika ICD – jednak do samego utworzenia partycji dodatkowy sterownik jest niezbędny.

Podobnie jak w przypadku pliku zawierającego TOS, menu otwierane przy użyciu klawisza F12 pozwala na wybranie pliku obrazu dysku noszącego inną nazwę, a następnie zapamiętanie tej zmiany.

Dyskietki

Nawet jeśli utworzyliśmy obraz dysku twardego, powinniśmy zadbać, aby na karcie SD istniał plik disk_a.st, zawierający obraz dyskietki włożonej do stacji A. Atari ST podczas startu zawsze próbuje odczytywać dyskietkę, a jeśli jej nie ma, pogodzenie się z tym faktem zajmuje systemowi operacyjnemu irytująco długi czas, wydłużając oczekiwanie na uruchomienie komputera.

Obraz dyskietki najłatwiej chyba utworzyć przy użyciu emulatora programowego. Ja tworzę obrazy dyskietek przy użyciu Hatari – wystarczy wybrać polecenie menu File > Create Blank Floppy. Ze strony MiST‑a można także pobrać gotowy obraz dyskietki.

MiST domyślnie używa plików disk_a.st oraz disk_b.st jako obrazów dyskietki w stacjach A i B, ale przy użyciu menu otwieranego po naciśnięciu klawisza F12 możemy wskazać dowolne inne pliki w formacie .st. Wyboru tego jednak nie można zapisać – po ponownym uruchomieniu urządzenia znów użyte zostaną pliki disk_a.st oraz disk_b.st.

Grafika i pamięć

Oprócz trzech standardowych trybów graficznych (ST Low, ST Middle i ST High) do dyspozycji mamy specjalny monochromatyczny tryb o rozdzielczości 1280×1024 (odrobinę wyższej, niż w trybie wysokiej rozdzielczości udostępnianej dawniej przez Atari TT wyłącznie na specjalnym, 19‑calowym monitorze monochromatycznym). Rozdzielczość ta odpowiada natywnej rozdzielczości wielu monitorów LCD o proporcjach 4:3, dzięki czemu wygląda na nich świetnie. Nadaje się idealnie do korzystania z aplikacji okienkowych, takich jak np. Calamus, Papyrus czy Artworx.

Nasze MiST‑yczne Atari ST może mieć maksymalnie 14 MB pamięci RAM oraz procesor 68000, 68010 lub 68020. Niestety, ze względu na ograniczoną pojemność układu FPGA, odwzorowanie maszyn opartych o procesor 68030 (Atari TT, Falcon…) nie jest możliwe. Dostępny jest za to tryb STEroids, w którym procesor Atari taktowany jest zegarem 48MHz, dzięki czemu uzyskujemy szybkość większą, niż na Atari TT. Boli jednak brak lepszych trybów kolorowych, chociażby średniej rozdzielczości TT (640×480 w 16 kolorach), jak również brak ochrony pamięciOchrona pamięci sprawia, że żaden program nie może nadpisać pamięci zajmowanej przez inny.

W przypadku systemu MagiC funkcja ta chroni system przed uszkodzeniem przez źle napisane programy, stworzone dla jednozadaniowego TOS‑u – wymaga ona jednak procesora 68030 lub nowszego.
, dotkliwy w przypadku korzystania z systemów wielozadaniowych (takich jak MagiC lub MiNT).

Menu MiST-a do konfiguracji parametrów rdzenia Atari ST, takich jak ilość pamięci RAM, procesor czy system TOS.

Jeśli chcemy używać systemu MagiC, musimy zdecydować się na procesor 68000 lub kosmetycznie różniący się od niego 68010. Wybranie Motoroli 68020 uniemożliwi niestety uruchomienie MagiC‑a (jest to specyfika MiST‑a lub raczej rdzenia Atari ST, ponieważ z prawdziwymi procesorami 68020 MagiC działa).

Ja mam MiST‑a skonfigurowanego jako Atari ST z procesorem 68000, 14 MB pamięci RAM, TOS‑em 2.06, dwoma twardymi dyskami, systemem MagiC 6.2, zegarem 48 MHz i rozdzielczością 1280×1024 piksele (w trybie monochromatycznym). Przejściówka USB‑Ethernet widziana jest przez MagXNet i zapewnia połączenie z siecią.

ATARI 65XE

Potrzebujemy rdzenia 8‑bitowego Atari, ściągniętego ze strony autora. Podany link prowadzi do wersji dla MiST‑a, obsługującej standard NTSC oraz scandoubler dla monitora VGA. Jeśli mamy stary monitor CRT obsługujący niższe częstotliwości odświeżania, możemy użyć rdzenia z wyłączonym scandoublerem, działającego w europejskim standardzie PAL.

Na karcie SD trzeba utworzyć następujące katalogi:

/atari800/
/atari800/rom/
/atari800/user/

W katalogu /atari800/rom/ należy umieścić pliki ATARIBAS.ROM, ATARIOSB.ROM oraz ATARIXL.ROM, zawierające ROM 8‑bitowego Atari. Można je pobrać np. stąd lub stąd. Domyślnie wczytywany jest plik ATARIXL.ROM.

Zamiast oryginalnego ROM‑u Atari XL/XE warto użyć systemu Qmeg32, który oprócz wielu cennych funkcji cieszących programistów i innych grzebaczy (freezer, ramdysk…) ma także do zaoferowania kilka drobnych przyjemności dla każdego: po pierwsze, domyślnie wyłącza Basic, co zwalnia od konieczności trzymania klawisza F8 (czyli Option) podczas uruchamiania gier, a po drugie obsługuje szybką transmisję danych, dzięki czemu gry wczytują się znacznie krócej. Niestety, rdzeń Atari XL/XE nie obsługuje zapisywania ustawień, więc aby Qmeg32 stał się ROM‑em domyślnym, trzeba zmienić nazwę jego pliku na ATARIXL.ROM.

Na klawiaturze ośmiobitowego Atari znajduje się kilka dodatkowych klawiszy: Help, Start, Select, Option i Reset. Rdzeń MiST‑a przyporządkowuje je do następujących klawiszy funkcyjnych:

Klawisze funkcyjne ośmiobitowego Atari. Help to klawisz F5, Start to F6, Select to F7, Option to F8, a Reset to F9.

Oprócz nich warto pamiętać o następujących dwóch klawiszach:

F11: Pozwala na wczytywanie programów. Wyświetla listę plików znajdujących się w folderze /atari800/user/ na karcie SD. Obsługiwane są pliki CAR, ATR, XFD i XEX. Jeśli mamy ściągnięte jakieś atarowskie gry z rozszerzeniem COM, wystarczy zmienić im rozszerzenie na XEX. Pliki można wybierać klawiszami ze strzałkami lub joystickiem.

F12: Otwiera menu rdzenia. Pozwala ono na przyspieszenie CPU (co raczej nie przyda się do gier), przyspieszenie transmisji danych (działa idealnie w połączeniu z ROM‑em Qmeg32), rozszerzenie pamięci Atari, zmianę ROM‑u, włożenie wirtualnej dyskietki (pliku .atr) do jednej z czterech stacji oraz podłączenie wirtualnego cartridge’a.

Przy okazji: przytrzymanie klawisza ze strzałką w górę lub w dół (lub wychylonego w jednym z tych kierunków joysticka) nie powoduje przewijania listy, co może być szczególnie irytujące w przypadku dużej liczby plików. Na szczęście można przeskakiwać o stronę w górę lub w dół, używając strzałek w lewo i w prawo (lub wychylając joystick w poziomie).

Przebogate zbiory gier dla Atari znajdziecie na przykład na AtariOnline, natomiast gry i programy abandonware (czyli udostępniane za darmo, od wielu lat nierozwijane i niedostępne w sprzedaży) znajdziecie np. tutaj albo tutaj.

Rdzeń Atari XL/XE nie obsługuje funkcji wczytywania innych rdzeni, używanie go więc jako rdzenia domyślnego nie jest dobrym pomysłem – chyba, że chcemy używać MiST‑a wyłącznie jako ośmiobitowego Atari.

Amiga, C64, ZX Spectrum, Amstrad-Schneider…

Moja strona dotyczy komputerów Atari, głównie modeli ST i TT – ale dla MiST‑a dostępne są również rdzenie innych maszyn, takich jak Amiga (nie tylko klasyczna „pięćsetka”, ale także modele z procesorem 68020, kośćmi AGA i pamięcią 32 MB), C64, ZX Spectrum, Amstrad‑Schneider, Macintosh Plus oraz cała masa innego, raczej egzotycznego sprzętu.

Ekrany startowe różnych komputerów: Amigi, Commodore'a 64 oraz Amstrada.

Strona projektu na GitHubie zawiera listę dostępnych rdzeni. Niektóre rdzenie dostępne są również na stronie ich autora.

No dobrze, ale czy warto?

Na to pytanie musicie odpowiedzieć sobie sami. Wydaje mi się, że jeśli zajmujecie się elektroniką i interesujecie projektowaniem układów przy użyciu FPGA, to warto – MiST to platforma FPGA, zawierająca dodatkowo elementy ułatwiające „reimplementację” starych komputerów (gniazda joysticka, porty MIDI…). Dostępne są szczegółowe tutoriale w języku angielskim i niemieckim, pozwalające rozpocząć przygodę z tworzeniem własnych rdzeni – od migającej diody, przez Ponga, do układu SoC opartego o procesor Z80.

W przypadku zwykłego użytkownika, który chciałby sobie okazjonalnie pograć w Road Race lub Shadow of the Beast, sytuacja robi się nieco bardziej skomplikowana. Być może wystarczy jednak zwykły emulator programowy? Użytkownicy Maców znajdują się w gorszym położeniu – jedyny dostępny na te maszyny emulator 8‑bitowego Atari nie jest już rozwijany i nie działa pod najnowszymi wersjami systemu macOS – natomiast użytkownicy Windows są wręcz rozpieszczani: mają do dyspozycji wiele dobrych aplikacji tego typu, chociażby Altirrę czy Atari800Win. Atari ST na obu platformach można emulować przy użyciu Hatari oraz ARAnyM‑a. Trudno też zapomnieć o stosunkowo wysokiej cenie MiST‑a, podczas gdy wspomniane emulatory programowe dostępne są za darmo.

Puryści mogą powiedzieć, że tak naprawdę liczy się tylko prawdziwy hardware z epoki, gardząc sprzętową „reimplementacją” na równi z emulatorami programowymi. Okolice 30‑tki to jednak dla komputera wiek dosyć sędziwy – sprzęt może zacząć się psuć, a naprawa niekoniecznie będzie możliwa lub opłacalna, chociażby ze względu na coraz mniejszą dostępność odpowiednich podzespołów. MiST natomiast jest nową konstrukcją, opartą o współczesne elementy, a przy tym ma możliwość podłączenia do telewizora CRT, zapewniając chętnym purystom praktycznie takie same wrażenia, jak oryginał. Obraz generowany przez emulator na ekranie LCD nigdy nie wygląda tak samo, niezależnie od użytych filtrów – nic nie zastąpi tamtych charakterystycznie rozmytych pikseli…

Nie bez znaczenia jest też fakt, że trudno przecież trzymać w domu jednocześnie prawdziwą Amigę, Atari ST, a do tego jeszcze C64, Atari 65XE oraz ZX Spectrum – oczywiście, jeśli dla kogoś nie stanowi to żadnego problemu, to szanuję i zazdroszczę, ja jednak nie miałbym gdzie tego wszystkiego zmieścić. MiST natomiast jest mały, praktycznie nie zajmuje miejsca na biurku, a dostępne rdzenie sprawiają, że może być nie tylko Amigą, ST‑kiem, C64, „małym” Atari i ZX Spectrum, ale także Atari 2600, Amstradem CPC, Macintoshem – oraz mnóstwem innych, nieco mniej znanych komputerów i konsol.

W podjęciu decyzji może pomóc moje subiektywne zestawienie zalet i wad MIST‑a:

PLUSY
Zalety MIST‑a

  • Natychmiastowy start
  • Małe zużycie energii, zasilanie z USB
  • Gniazda joysticków i MIDI
  • Możliwość podłączenia monitora CRT
  • Możliwość podłączenia do sieci
  • Możliwość „reimplementacji” różnych komputerów: Atari XL/XE i ST, Amigi, C64, ZX Spectrum, Macintosha – i innych
  • Potencjalna możliwość osiągnięcia 100% zgodności z oryginałem
  • Solidne wykonanie

MINUSY
Wady MIST‑a

  • Nie można zapisywać stanu gier
  • Problemy z wyświetlaniem trybów graficznych o niższej rozdzielczości na współczesnych monitorach
  • Brak wbudowanego zegara podtrzymywanego bateryjnie
  • Brak emulacji procesora 68030 lub lepszego
  • Brak rozszerzonych trybów graficznych VDI
  • Mniejsza rzeczywista zgodność, niż w przypadku emulatorów programowych
  • Stosunkowo wysoka cena

Niestety, na początku 2018 roku twórca MiST‑a ogłosił zakończenie prac nad rozwojem tego sprzętu oraz tworzonych przez siebie rdzeni (w tym właśnie rdzenia Atari ST). Istniejące firmware oraz rdzenie Atari XL/XE i ST zapewniają dosyć dużą zgodność z oryginalnym sprzętem i pozwalają na uruchamianie większości gier i programów, w każdym razie spośród tych, które wypróbowałem. Działa nawet system MagiC, znany z dosyć kapryśnego podejścia do nietypowych konfiguracji sprzętowych.

MiST oraz jego rdzenie są projektami open source, więc pojawienie się kolejnych poprawek i nowych funkcji zależy wyłącznie od tego, czy znajdzie się ktoś z niezbędną wiedzą i determinacją, aby kontynuować prace nad rdzeniami i oprogramowaniem sprzętowym. Obawiam się jednak, że osób znających się w dostatecznym stopniu na konfigurowaniu układów FPGA i jednocześnie zainteresowanych komputerami Atari nie ma zbyt wiele.

Podsumowując: jeśli chcemy nostalgicznie wrócić na chwilę do gier z dzieciństwa, rozsądnym wyborem może okazać się jednak zwykły emulator programowy (Altirra w przypadku „małego” Atari, Hatari w przypadku Atari ST/TT/Falcon). Jeśli zależy nam na odtworzeniu używanego wiele lat temu, poważnego zestawu opartego o „duże” Atari, sprawdzić się może ARAnyM (aplikacja ciekawa o tyle, że emulująca nieistniejący komputer kompatybilny z Atari ST, oparty o procesor 68040, umożliwiająca także obsługę sieci) lub Hatari (emulator pozwalający na skonfigurowanie jako Atari z procesorem 68060 i korzystanie z systemu MagiC, niestety nie zapewniający dostępu do sieci).

MiST‑a warto natomiast wybrać, gdy chcemy mieć kilka komputerów retro w małej, estetycznej obudowie, bez wad związanych z emulacją programową (przede wszystkim konieczności uruchamiania nadrzędnego systemu operacyjnego), pozwalających na łatwe podłączenie „prawdziwego” joysticka oraz zapewniających wiernie wyglądający obraz na ekranie CRT – czyli w gruncie rzeczy Atari, Amigę, C64 lub ZX Spectrum zbudowane ze współczesnych podzespołów.

 

1Top Secret

Pierwsze polskie pismo o grach komputerowych, wydawane w latach 1990-1996, dwumiesięcznik. Charakteryzowało się (zwłaszcza pod koniec istnienia) specyficznym, luzacko-absurdalnym klimatem, wyróżniającym go na tle innych wydawanych wówczas czasopism.

Nagranie wideo wspomnianego spotkania z członkami redakcji znajdziecie na YouTube. Trwa godzinę.

2Świadome i dobrowolne używanie do gier z ośmiobitowego Atari czegokolwiek innego, niż joystick na mikrostykach, to jedna z tych czynności, które stanowią poważną przesłankę do podważenia przynależności wykonującej je osoby do gatunku homo sapiens – podobnie jak granie w gry typu FPS przy użyciu pada (zamiast klawiatury i myszy) lub odbycie chociażby raz stosunku seksualnego z kozą.

3W dalszej części artykułu znajdziecie ogólne zestawienie niezbędnych plików wraz z odpowiednimi linkami, pozwalającymi je szybko ściągnąć.

4Ochrona pamięci sprawia, że żaden program nie może nadpisać pamięci zajmowanej przez inny.

W przypadku systemu MagiC funkcja ta chroni system przed uszkodzeniem przez źle napisane programy, stworzone dla jednozadaniowego TOS‑u – wymaga ona jednak procesora 68030 lub nowszego.


 

Strona używa plików cookie, ułatwiających mi życie.

Nie ma tutaj żadnych reklam, artykułów podzielonych na slajdy, wyskakującego okienka z prośbą o zapisanie się do newslettera (serio, ktoś w ogóle świadomie zapisuje się do takich newsletterów?) ani innych odchyleń godzących w rozum i godność człowieka.

Have fun.

Zasady prywatności
OK