Retro Virtual Machine — emulator klimatu ZX Spectrum

Ostatnio opisałem problemy, jakie może napotkać osoba, pragnąca cofnąć się w czasie z komputerem ZX Spectrum. Wiele osób w swoim komentarzach słusznie podkreślało, że znacznie prościej jest zainstalować sobie emulator.Emulatorów ZX Spectrum jest cała masa i z pewnością każdy może wybrać coś fajnego dla siebie. Choć większość z nich dość dobrze radzi sobie z uruchamianiem programów przeznaczonych na poczciwego „Gumiaczka”, jednak brakuje w nich tego, co daje obcowanie z prawdziwym sprzętem. Jest jednak emulator, który daje namiastkę używania kompletnego zestawu ZX Spectrum składającego się z komputera, telewizora i magnetofonu. Autor całkiem słusznie go nazwał:

Retro Virtual Machine

Program jest dostępny za darmo, choć jego autor Juan Carlos Gonzalez Amestoy pochodzący z Hiszpanii liczy choćby na drobne datki wspierające jego prace nad kolejnymi emulatorami (plan jest na Atari XL/XE oraz Commodore C64). Wróćmy jednak do meritum wpisu, czyli emulatora.

Pierwszą, niezwykłą rzeczą w RVM jest to, że emuluje on nie tylko komputer, ale także telewizor oraz magnetofon. Po uruchomieniu RVM możemy dodać jedną z kilku, emulowanych maszyn:

  • ZX Spectrum
  • ZX Spectrum 128k
  • ZX Spectrum +2A/+3
  • Klony ZX Spectrum
  • Amstrad CPC 464
  • Amstrad CPC 664
  • Amstrad CPC 6128

Oprócz samego komputera, mamy możliwość skonfigurowania także urządzeń zewnętrznych, jakie zazwyczaj wpinało się do komputera za pośrednictwem złącza krawędziowego. I tak do wyboru mamy:

  • divMMC dzięki czemu nasze programy będą wczytywać się tak szybko jak z karty MMC
  • karty audio
  • myszka Kempston

Gdy jednak zdecydujemy się na wybór komputera Amstrad, jako dodatkowe urządzenia możemy wpiąć:

  • Rozszerzenie pamięci X-MEM
  • Karta z grami CPC Dandanator Mini
  • Mysz AMX Mouse

Tradycyjnie nasz komputer ma do swojej dyspozycji magnetofon kasetowy, którego emulacja dla mnie jest naprawdę fantastyczna. Nie tylko musimy naciskać przyciski magnetofonu na ekranie, ale mamy możliwość wsadzania i wyciągania kaset z programami. Mało tego. Podczas wczytywania programów z charakterystycznymi piskami i paskami na ekranie, taśma w magnetofonie się przewija, w tkacie jej przewijania słychać charakterystyczny szum mechanizmu i widać, jak przybywa jej na jednej rolce, kosztem drugiej. Czas wczytywania jest dokładnie taki sam, jak miało to miejsce w rzeczywistości. Nawet jak kończy się taśma, to VRM daje charakterystyczny klik wyłączającego się klawisza STOP w magnetofonie. Na szczęście autor RVM nie postanowił dodać emulacji błędów, źle ustawionej głowicy, czy wciągniętej taśmy magnetofonowej. Nie inaczej jest z emulowaną stacją dysków komputerów Amstrad. Stacja wydaje całe dobrodziejstwo dźwięków takich jak szum obracającej się dyskietki, odgłosy jej wsuwania lub wysuwania oraz pracę głowicy odczytującej dane.

Magnetofon emulatora generuje dźwięk dokładnie taki sam jak tradycyjny magnetofon, więc można go z powodzeniem użyć do wczytywania programów na prawdziwe ZX Spectrum, o ile połączymy je kablem mono.

Magnetofon zachwyca, jednak jeszcze bardziej zachwyca ekran. Sam emulator może pracować w oknie lub w trybie pełnego ekranu, jedna mamy możliwość dokładnego zdefiniowania, na czym oglądamy obraz. I tu do wyboru mam całą masę opcji, począwszy od tradycyjnego monitora CRT z mocno tradycyjnym, wypukłym kineskopem, charakterystycznymi punktami maski kineskopu oraz czasowo przesuwającą się linią. Co więcej, jeśli ktoś ma życzenie, można sobie postarzyć nasz telewizor. Więc można dodać zakłócenia, duchy czy efekty wypalonego kineskopu. Możliwości jest cała masa.

Z drugiej strony stawki stoi współczesny monitor LCD, do którego ktoś wpiął ZX Spectrum za pośrednictwem HDMI, by uzyskać obraz ostry jak żyleta. Dodatkiem jest klasyczny monitor Amstrada GT65.

Przyznam się, że VRM upewnił mnie, że posiadany przez mnie ZX Spectrum + jest w pełni sprawny. Po podpięciu go przez złącze Composite dość długo byłem przekonany, że lekko rozmazany obraz to wina kabli lub… wieku sprzętu. Tu zalecano mi wymianę kondensatorów w komputerze. Dopiero jak w VRM emulator ZX Spectrum wpiąłem także do LCD za pośrednictwem złącza Composite, stwierdziłem, że obraz prawdziwego ZX Spectrum + i tego emulowanego jest… prawie taki sam. Co ważne, zmiany nawet drobnych parametrów emulowanego monitora są widoczne w tym, co widzimy na ekranie. Nie jest to tylko sztuka dla sztuki.

Autor emulatora umożliwił także dość dużą możliwość ingerencji w dźwięk, jaki generuje nasz emulator. Uzyskujemy dostęp do poszczególnych generatorów dźwięku, regulacji ich głośności i filtra dolnoprzepustowego. Znajdziemy tu także opcję dla lubiących grzebać w „systemie”, czyli debuger.

Emulacja

Emulator bez problemu radzi sobie z grami, jakie powstawały na ZX Spectrum. Oczywiście nie sprawdziłem wszystkich, bo nie ma takiej możliwości. Jednak większym wyzwaniem są dema, których autorzy często balansują na krawędzi wydolności sprzętu. I tu nie jest źle, choć do stanu idealnego jeszcze brakuje. Wiele z programów demonstrujących możliwości ZX Spectrum, o których nie wiedział nawet Sir Clive Sinclair, działa na emulatorze bezbłędnie. Jednak zdarzają się wyjątki, którym emulator nie zawsze podoła. Dema jednak najlepiej uruchamiać na emulowanym ZX Spectrum 128K i nie zapomnijcie do niego dołączyć Interface z modułem AY. Z powodzeniem udało się uruchomić demo grupy Scoopex, które zwyciężyło na ubiegłorocznym Forever Party.

Poniżej nieco starsze demo, przeznaczone dla ZX Spectrum 48K. Jak widać, emulator bardzo dobrze radzi sobie także z tak trudnymi wyzwaniami, jak uruchamianie dem, a takżei świetnie utrzymuje parametry sprzętu.

Prędkość emulatora nie odbiega znacząco od oryginalnego komputera i co ciekawe, RVM bez trudu radzi sobie ze zmianami trybu pracy — praca w oknie, praca na pełnym ekranie czy przełączanie się między tymi trybami w trakcie pracy wirtualnego komputera. W grach można liczyć na emulację, wąchając się pomiędzy 0,98 a 1,02 prędkości oryginału, jednak emulator stara się utrzymać prędkość x1,00 i taką liczbę najczęściej widać. W przypadku emulowanej grafiki liczba klatek jest także dość stała - 50 FPS.

Krótko mówiąc, RMV jest naprawdę świetny emulatorem umożliwiającym nie tylko wierną emulację komputera, ale też urządzeń, jakie z nim działały. Jest chyba najlepszą propozycją dla tych, którzy oprócz wiernej emulacji samego komputera, chcą poczuć trochę klimat tamtych czasów, bez konieczności kupowania zabytkowego komputera, telewizora i magnetofonu. Jedyną rzeczą, jakiej mi brakuje w RVM, jest brak emulacji MicroDrive. 

Retro Virtual Machine jest dostępny na macOS, Windows oraz na Linuxa.