Press "Enter" to skip to content

Linux a ZX Spectrum

Kto sa v dnešnej dobe venuje ešte ZX Spectru (či už tvorbe, alebo len bežnému používaniu) časom zistí, že bez podporného prostredia na PC to nejde. Dnes sa pozrieme na to, ako sa dá pripraviť.

Na veci spojené s bežnou existenciou používam skôr MacBook, ale v jadre som linuxák a niektoré činnosti sa pre mňa pohodlnejšie robia v linuxovom ekosystéme. Preto aj tento návod je určený skôr pre linuxákov, ale niektoré jeho pasáže sa dajú aplikovať aj na Mac, s veľkou rezervou i na Windows. Jeden pekný návod už skompletoval aj Cygnus, ale pár vecí mi tam chýba a tak sa tu dozviete ako to robím ja.

Ako som už písal v článku o FUSE, základom všetkého je mať prostredie pripravené na kompilovanie. Kto používate Slackware, máte rovno vystarané, netreba robiť nič. Ostatní (Debian based) si musia doinštalovať potrebné nástroje, napríklad príkazom:
sudo apt install build-essential autoconf automake autotools-dev pkg-config libtool

Ostatné distribúcie veľmi nepoznám, takže pre iné distribúcie si budete musieť doštudovať, či je tento krok potrebný a ako ho spraviť.

Ako ďalší krok si doinštalujeme nejaký emulátor. Tu máte dve možnosti. Jednoduchšia varianta je spoľahnúť sa na repozitár a naištalovať si emulátor z neho, napríklad takto:
sudo apt install fuse-emulator-common fuse-emulator-utils spectrum-roms fbzx

Príkaz vám nainštaluje emulátor FUSE a ako alternatívu k nemu aj emulátor FBZX. V repozitári však nemusia byť najnovšie verzie, preto druhá (zložitejšia) varianta je skompilovať si aktuálne verzie zo zdrojákov. Ako to spraviť som popísal v predošlom článku. Slackwaristi sa tomu nevyhnú vôbec, pretože v SlackBuildoch síce FUSE je, ale býva tiež staré.

No a konečne sa dostávame k podporným utilitkám. Pre programovanie potrebujeme nejaký cross assembler. Ja osobne používam SjASMPlus, ale vždy si inštalujem aj As a Pasmo, pretože ak sa radi “vŕtate” v cudzích zdrojákoch, bývajú najčastejšie určené pre jeden z nich a pre “vŕtacie” účely prerábať syntax existujúcich zdrojákov pre váš obľúbený assembler je nezmysel.

Takže poďme na SjASMPlus. Je to šikovný cross assembler, ktorý priamo podporuje ZX Spectrum a hlavne preto som si ho obľúbil. S chlapmi okolo SinDiKATu sme ho upratali a bugfixovali, takže ide preložiť aj modernými prekladačmi. Stiahnite si zdrojáky a rozbaľte ich:
tar xvfz sjasmplus-v1.09.tar.gz
cd sjasmplus-v1.09
make
sudo make install

Rovnako postupujte aj s Asom. Stiahnite si zdrojáky, rozbaľte, skompilujte a nainštalujte:
tar xvfj asl-current.tar.bz2
cd asl-current
cp Makefile.def.tmpl Makefile.def
make
make test
sudo make install

As má aj bohatú dokumentáciu, ktorá sa kompiluje príkazom make docs, ale tento krok vynechávam, pretože k nemu treba ďalšie podporné utility a nebýva samozrejmosťou, že sú nainštalované.

Zostáva ešte Pasmo a to má tú výhodu, že v debianích repozitároch je, takže stačí príkaz:
sudo apt install pasmo

Avšak platí to, čo som písal vyššie – je tam staršia verzia 0.5.3, pretože najnovšia 0.5.4 má prívlastok beta2 a to sa debianistom nepozdáva. Prináša však možnosť trojpriechodovej kompilácie, takže ja osobne používam tú. Inštalujem klasickým spôsobom – stiahnuť zdrojáky, rozbaliť, skompilovať, nainštalovať:
tar xvfx pasmo-0.5.4.beta2.tgz
cd pasmo-0.5.4.beta2
./configure
make
sudo make install

Assemblery by sme mali, teraz sa vrhneme na utilitky, ktoré nám zabezpečia rôzne manipulácie so súbormi pre ZX Spectrum. Ja si inštalujem balík zxspectrum-utils, zmakebas, hdfmonkey a zx7.

Balík zxspectrum-utils obsahuje všakovaké nástroje na prácu s TAP súbormi a pár ďalších drobností. K zdrojákom sa dostanete po kliknutí na tento link a potom na “Download snapshot”. Potom opäť stačí klasické kombo rozbaliť, preložiť, nainštalovať:
unzip zxspectrumutils-code-36-trunk.zip
cd zxspectrumutils-code-36-trunk
make
sudo make install

Zmakebas je utilitka na konverziu BASICu v texťáku do TAP súboru. Prekvapivo je opäť v repozitároch, stačí príkaz:
sudo apt install zmakebas

Ak potrebujete kompilovať, zdrojáky si stiahnite odo mňa, pretože link na domovskej stránke už je roky nefunkčný. Postupujte ako vždy – rozbaliť, make, sudo make install. Alternatívne si môžete nainštalovať aj bas2tap. Obe utiltky majú svoje výhody aj nevýhody, takže je dobré mať obe.

Pomerne často potrebujem manipulovať aj s HDF súbormi a na to je úplne perfektný nástroj od Gasmana. Volá sa hdfmonkey a nič lepšie na HDFka asi nenájdete. Zdrojáky si môžete stiahnuť priamo na jeho domovskej stránke, kde je aj uvedený postup pre kompiláciu a inštaláciu, takže ho tu už nebudem opakovať.

No a posledná utilitka je zx7 od Einara Saukasa. Jedná sa o efektívny komprimátor, s rozpakovačmi pre ZX Spectrum. Zdrojáky si stiahnite odo mňa lebo som k nim dorobil pohodlný makefile, takže opäť stačí klasika rozbaliť, make, make sudo install.

Cygnus vo svojom návode ešte spomína playtzx, ktorý je dosť zastaralý a je problematické rozbehať jeho zvukový výstup. V praxi treba systém dosť ohýbať, aby ste sfunkčnili /dev/dsp a to ja nemám rád. Ja osobne už nemám dôvody playtzx používať, ale niekomu sa môže hodiť, tak vám poradím jednu fintu. PulseAudio obsahuje jeden šikovný wrapper, ktorý dokáže odchytiť OSS výstup a prehnať ho cez PulseAudio. Volá sa padsp, takže ak máte PulseAudio nainštalované, playtzx stačí spúšťať cez neho:
padsp playtzx vassubor.tzx

Ak programujete, samozrejme ešte potrebujete nejaký textový editor. Je dobré vybrať si nejaký, ktorý vie zvýrazňovať syntax a existujú k nemu definície pre Z80 assembler. Cygnus spomína KWrite a Kate, ale keď nepoužívate KDE, treba alternatívu. Ja osobne používam Gedit ktorý pochádza z Gnome, ale v reále je to šikovný editor založený na GTK, takže beží aj bez Gnome. Radšej mám staršiu verziu 2.9, ale aj novšie poslúžia rovnako dobre, hoci už majú krkolomný gnomácky vizuál. EDIT: Zistil som, že ešte aj XED je malý, jednoduchý a podporuje zvýrazňovanie syntaxe, dokonca rovnako ako Gedit cez gtksourceview. Definície pre Z80 assembler si môžete stiahnúť u mňa. Popis inštalácie je priložený v súbore.

Aby windowsáci neplakali, že zasa v článku nebolo nič pre nich, tak ich poteším. Veľa zo spomínaného existuje hotové pre Windows, tak teraz nasledujú linky na exáče 🙂 :
SjASMPlus v1.09, As current, Pasmo 0.5.4.beta2, zxspectrum-utils, zx7, playtzx.

No a to je všetko. Takto pripravené prostredie by vám malo stačiť na väčšinu potrieb s vývojom a manipuláciou softvéru pre ZX Spectrum. Určite sa nájdu aj ďalšie utilitky, ale v praxi som ich používal len veľmi okrajovo, takže som nakoniec od nich upustil a už ich neinštalujem. Ak viete o niečom, čo by som sem mohol doplniť, dajte vedieť. Rád si rozšírim obzory 😉

2 Comments

  1. Krasne na hromadke, pre buduce generacie. Paradny pocin!

Leave a Reply

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