Press "Enter" to skip to content

ZX Spectrum 48k/128k “emulátor” pre V6

Čriepky o alternatívnom obsahu FPGA pre V6Z80P

Dnes si povieme niečo o takzvanom emulátore ZX Spectra 128k pre V6. Ako už iste viete, natívnym obsahom FPGA na doske V6Z80P je tzv. OSCA (OldSchool Computer Architecture), ktorý robí z tejto malej a univerzálnej dosky pekelného diablika, ktorý v mnohých veciach predčí Amigu, hoci jeho srdcom je Z80 CPU.  Tým sa však Philovo dielo neskončilo.

Ako ukážka univerzálnosti V6 vznikla ešte jedna architektúra do FPGA a nie je ňou nič iné, ako veľmi dobrá napodobenina ZX Spectra 128k a to vrátane AY. A hneď si povieme prečo napodobenina a nie klon. V6 má jednu veľmi nešťastnú vlastnosť a tou je fixný takt CPU i FPGA (16MHz), čo spôsobilo nemožnosť dokonalej implementácie ZX Spectra a to hneď z dvoch dôvodov. Jedným je nepríbuznosť časovej základne, druhým z nich je samozrejme vysoký takt CPU. Vhodnejší by bol takt 14 alebo 21MHz, spolu s meniteľným taktom CPU, čo by vďaka príbuznej časovej základni umožnilo vyrobiť tzv. cycle-perfect klon. Treba podotknúť, že Phil pôvodne nemal v úmysle "emulovať" iné retro-stroje, ale napriek fixnému taktu sa vlastnosti V6 na to priamo ponúkajú, a tak na nemalú radosť členov skupiny okolo V6 Phil mákol a vyrobil túto ZXS 48/128k architektúru.

Jedná sa v podstate naozaj o jednoduchý emulátor 48k a 128k ZXS, síce časovaním na hony vzdialený originálnemu ZXS, ale dokáže nahrať a spustiť snap (48k i 128k SNA), čo z neho popri OSCA robí perfektnú zábavku na voľný čas. Hlavne pre bežného fanúšika širokej skupiny retro počítačov, ktorému nejde o nejaké detaily, ale skôr o tie pocity pri hraní starých hier. Pri boote si jednoducho zvolíte SpecEmu. Po naštartovaní vás privíta filebrowser, kde buď stlačíte B, čo vás hodí do 128k menu, alebo si jednoducho vyberiete príslušný snap a je to. Funkčnými klávesami sa dá v určitom rozmedzí meniť časovanie, klávesa ESC vás vráti späť do filebrowsera. Čo je ale zaujímavé, filebrowser je užívateľský kód, ktorý beží v RAM (mimo ZXS oblasti), takže sa dá teoreticky doplniť podpora na ďalšie súbory (Z80, TAP), čo by rozhodne rožírilo použiteľnosť.

Ako to funguje? Emulátor používa časť RAM pre seba a časť pre ZX Spectrum. Pri boote sa natiahnu do RAM obrazy ROM, inicializuje sa klávesnica a zavolá sa už spomínaný filebrowser. V základe architektúra "emulátora" kopíruje pôvodné ZXS, avšak na doladenie časovania zatiaľ Phil používa dummy DMA requesty, čo ako aj sám priznal nie je ideálne, ale zatiaľ to aspoň približne funguje. V skutočnosti je emulátor už aj na oko o niečo rýchlejší a časovanie je samozrejme niekde u susedov, ale aj tak je to veľmi sympatické. Rozhodne je to zaujímavé pri väčšine ruských demoprogramov používajúcich chunky grafiku, ale aj napríklad AEON vyzerá dobre. Časom možno Phil príde na nejaké presnejšie časovanie, momentálne ale obrátil svoju pozornosť späť na OSCA a FLOS, hoci naznačil, že budúcim krokom by mohla byť ďalšia architektúra. Tentokrát by to bol "emulátor" Amstrada CPC464, kde by to mohlo dopadnúť omnoho lepšie, vďaka príbuznej časovej základni. Uvidíme, či si na to Phil nájde čas.

Tak či onak, ak som správne počítal, tak Phil bez lamentovania, za 4 týždne, sám ako prst vymyslel, naprogramoval a odladil jednoduchý klon ZX Spectra, hoci ako podklad slúži neveľmi ohybný hardware, pôvodne určený na úplne niečo iné (OSCA). Tiež chodí do roboty ako my. Tiež má rodinu ako my. Ale na rozdiel od našej komunity  on nelamentuje, nekecá, ale sadne a urobí. Je škoda, že to nie je aktívny spectrista. Možno by boli veci niekde inde…

One Comment

  1. A tiez je jeden z mala, co nieco vie 😉

Leave a Reply

Your email address will not be published. Required fields are marked *