Powrót do przeszłości

Powiedz tato, co to emulator?” Tak zapewne zapyta syn, gdy zobaczy Cię uruchamiającego ten “dziwny” program tylko po to, by zagrać w… Invaders czy Populousa znanego ze Spectrum zamiast w Counter-Strike’a. Mówiąc najprościej: emulator to program lub urządzenie, które potrafi “udawać” inny komputer, umożliwiając uruchomienie aplikacji napisanych dla niego. Jednakże często może on też symulować nie tylko daną maszynę, ale również urządzenia peryferyjne, takie jak stacja dyskietek, zapomniany już magnetofon do wgrywania programów czy joystick. Dzięki temu nie musimy mieć właściwie nieosiągalnych tych urządzeń, chcąc np. wgrać program do emulatora Commodore’a 64. Emulatorów jest niemal tyle, ile było modeli komputerów domowych i konsoli. Są one pisane głównie przez programistów entuzjastów, co sprawia, że zwykle bywają darmowe, ale i jednocześnie często mało kompatybilne z emulowanym komputerem. Może się zdarzyć, że dana gra czy program nie chce działać dokładnie tak samo jak pierwowzór lub zwyczajnie się nie uruchomi. W takiej sytuacji nie pozostaje nam nic innego, jak zrezygnować z emulacji i uruchomić program na komputerze, na który został napisany. Nie wszystkie emulatory są do dziś rozwijane przez swoich twórców. Większość należy uruchamiać w DOS-ie i tylko “symulatory” najbardziej popularnych platform, takich jak Amiga, Commodore, Spectrum czy Game Boy Advance, są rozwijane do dziś i bez problemu pracują pod Windows.

Po co komu emulator?

Przede wszystkim do zabawy. Z całą pewnością ci z Was, którzy mieli stare domowe komputery, takie jak Atari, Commodore czy Amiga, często wykorzystywali je po prostu do grania. Emulatory pozwalają nam cofnąć się w czasie i powspominać najlepsze “levele” w swoich ulubionych i niezapomnianych grach. Wokół najbardziej popularnych komputerów domowych i konsoli utworzyły się swoiste fankluby gawędziarzy potrafiących wspominać godzinami 28 etap w Super Mario Brothers.

No dobrze, ale przecież to co umie emulator można robić na komputerze. Niestety, znaczna większość starych domowych komputerków nie jest już produkowana, wiele z nich trafiło na złom, a inne zostały uszkodzone.

Jedną z ważniejszych zalet emulatorów jest fakt, że nie zajmują nam one miejsca na biurku. Chcąc jednego wieczoru pograć na Amidze, Commodorze 64, Atari i Spectrum musielibyśmy mieć chyba osobny pokój na te archaiczne maszyny. Wiemy już więc, czym jest emulator, nasuwa się teraz pytanie…

…jak to działa?

Emulatory to bardzo skomplikowane aplikacje, które mają wiele zadań. Przede wszystkim muszą udawać CPU ze starej maszyny. Wszystkie “zabytkowe” domowe komputery miały zupełnie inne procesory niż obecne pecety, np. Amiga 500 pracowała na układzie Motorola 68000. Nasz emulator musi najzwyczajniej przetłumaczyć wszystkie instrukcje procesora Amigi na rozkazy zrozumiałe dla naszego peceta. Musi to robić bardzo szybko, aby utrzymać rzeczywistą prędkość wykonywania operacji przez Amigę 500. Czasami emulatory nie dają sobie jednak rady i uruchomiony program działa wolniej niż na oryginalnym sprzęcie.

Kolejnym zadaniem emulatora jest rysowanie tego, co wyświetlał stary komputer czy konsola. I tutaj jest najczęściej wiele rozbieżności z emulowanymi maszynami, ponieważ większość komputerów i konsoli podłączało się bezpośrednio do telewizora. Współczesne karty graficzne często nie oferują trybów, które były dostępne w Commodorze 64, Amidze czy Game Boy Advance. W tym ostatnim przypadku emulator pokazuje nam obraz w okienku o bardzo małych rozmiarach, ponieważ GBA ma niewielki wyświetlacz. Na szczęście ekran można powiększyć nawet czterokrotnie, zwiększając jednocześnie komfort grania.

Oprócz grafiki emulator musi się zająć odtwarzaniem dźwięku. Z powodu bardzo dużych możliwości obecnych kart muzycznych bez jakichkolwiek problemów można generować efekty zgodne z oryginałem. Z urządzeniami peryferyjnymi również nie ma kłopotów. Emulatory pozwalają na zastępowanie joysticków, stacji dyskietek i magnetofonów w taki sposób, abyśmy mogli wszystko uruchomić na naszym komputerze bez konieczności podłączania któregokolwiek z tych urządzeń. W przypadku emulatora Commodore 64 danemu kierunkowi ruchów joysticka przypisujemy dowolny przycisk klawiatury. Stację dyskietek zastąpi plik, który będzie dyskietką na niby. Tak samo jest w przypadku ROM-ów (kartridży) dla konsoli Game Boy Advance i Game Boy Color. Każdy ROM jest plikiem na dysku twardym.

Więcej:bezcatnews