Tvorba databázových aplikací na ZX-81

Není to sice SQL, ale ono nakonec o databázové aplikace vůbec nejde.

Sinclair ZX-81 je v některých ohledech dokonalý počítač. Až není divu, že ho skoro nikdo nepoužívá.
V podstatě jediiné, co může vadit, je jeho membránová klávesnice. Jinak přináší jen samá pozitiva – je malý a roztomilý, přináší na svou dobu moderní procesor, neobtěžuje zbytečným hlukem a zvuky, nerozptyluje pozornost hloupými a dětinskými barvami a grafiku od něj si musíte opravdu (a pracně) zasloužit.
Když si domyslíte, že software pro ZX-81 (aspoň ve své původní podobě, v kazetových krabičkách od Sinclaira) přináší ke každému programu malé (a barevné) umělecké dílo na přebalu (a uznejte, že bez těch barevných kazetových krabiček je to pěkně naprd, třeba Thro’The Wall pro ZX-81 není žádná softwarová bomba, ale ten obrázek na kazetě vás už donutí si to zahrát), není už nic, co by vám zabránilo vydechnout, jak je ten počítač skvělý – a odložit ho někam do poličky (nebo pod dveře – zasvěcení vědí).

ZX-81 a jeho předchůdce ZX-80 sice mají funkci pro volání strojového podprogramu, ale v zásadě se jedná o počítače určené pro programování v Basicu – což většina programů i  dodržuje (dokonce i Flight Simulation a tabulkové kalkulátory jsou psány aspoň částečně v Basicu).
Z kazety nelze načíst nic jiného, než program v Basicu, a na kazetu nelze uložit nic jiného, než program v Basicu.
(A to, stejně jako na pozdějším ZX Spectru, včetně proměnných – bylo by tak možné, i když se to obvykle nepoužívá, z důvodu šetření pamětí mít konstanty a data, jako jsou třeba herní mapy, uložená rovnou v proměnných, aniž by byly v programu definovány – byť by se samozřejmě příkazem RUN nebo CLEAR program znehodnotil kvůli jejich smazání.)

Programátoři jsou ovšem tvorové vynalézaví (zvlášť, když mají k dispozici téměř dokonalý počítač, ZX-81 totiž k vynalézavosti přímo nabádá). A vymysleli si způsob, jak distribuovat hry a programy ve strojovém kódu.
Strojový program se prostě vloží do řádku Basicu (třeba za příkaz REM). Dokonce assembler pro ZX-81 takto rovnou do Basicového řádku překládá.

Tolik tedy k hrám.
Ale pro ZX-81 existují i užitkové programy. I když ty, které nejsou jen krátkou utilitou v Basicu, nebo nejde o vyloženě výukový program pro školy, se dají spočítat na prstech jednoho člověka, a to i beznohého.

Vezměte si to – textové editory. Pro ZX-81 existuje Tasword!
Dokonce je, podle data vzniku, možné, že Tasword vznikl nejprve pro ZX-81 a až potom pro Spectrum a další platformy. První Tasword na Spectru byl dokonce vzhledově podobný tomu na ZX-81, používal 32 znaků na řádek a až Tasword 2 měl znaků na řádek 64 tak, jak je známe.
Zajímavé je, že kromě počítačů se Z80, jako MSX nebo Amstrad CPC, vytvořila firma Tasman dokonce Tasword pro Commodore 64 (s procesorem 6510).

Ale pro ZX-81 existují i tabulkové editory.
O mou přízeň soupeří hned dva.
ComputaCalc a VU-Calc od Psionu.
Zajímavé je, že ComputaCalc, jak už jsem psal, byl v Brazílii nabízen i jako T-Kalc od firmy Microsoft.

Co se databází týče, nabízí se celá sada programů – klubová evidence,

programy pro sběratele, nebo nejrůznější podoby inventury a hospodářství domácnosti.

Samozřejmě se nezapomnělo ani na programovací jazyky, jako je Forth, kompilátory Basicu, jako M-Coder (a M-Coder II), disassemblery, toolkity, …

Jenže…
Jenže ZX-81 přeci nemá žádné SAVE “” CODE nebo SAVE “” DATA, kterým bychom to, co do programu vložíme, mohli nějak uložit na kazetu (nebo na SD kartu v ZXPandu).
Tak jak to tedy je?
Data z takového programu prostě uložit nejde.

Jenže už víme, že programátoři jsou tvorové vynalézaví (zvlášť, když mají k dispozici téměř dokonalý počítač, ZX-81 totiž, jak už taky víme, k vynalézavosti přímo nabádá).
Takže se prostě opět uloží celý program. I s těmi vloženými daty.

To, co najdete na kazetě, se tedy liší od takového ZX Spectra (nebo vůbec od osmibitu obecného, jakým je třeba Commodore 64 či VIC-20).

Zatímco u ZX Spectra je na kazetě od Psionu nahrán VU-File a za ním data (známý Gazetteer s údaji o zemích světa), a uživatel nahraje nejprve VU-File a do něj potom zvolí LOAD dat a nahraje data), ve verzi pro ZX-81 jsou na kazetě dva programy.
Jeden se jmenuje normálně VU-File.
To je databázový engine, abychom tak řekli, s prázdnými daty. Ten si musíme naplnit.
Druhý program se jmenuje Gazetteer (na ZX Pandu je ale název díky MS-DOSové konvenci pojmenování na FAT formátované SD kartě patřičně pokurven na 8 písmen). A obsahuje opět databázový engine, a k tomu příslušná data.
V tomto případě, pokud se chcete podívat na údaje o nějaké zemi, nenahráváte už VU-File, ale nahrajete rovnou Gazzetter.

No a to je vlastně hotová databázová aplikace. Dalo by se říci, “určena pro koncového zákazníka”.
Ten si jednoduše nahraje program, a muže v něm obsažená data třídit nebo v nich vyhledávat. A vůbec ho nemusí zajímat, že to je vlastně děláno ve VU-File.

No a to je to celé.

V případě Taswordu je to stejné.
Nahrajete do počítače program, který už obsahuje vložený text. Tvorba nějakých “ReadMe” se tím zjednodušuje až do naprostého zpitomnění.
A tak je to na ZX-81 se vším.
Je to prostě víc, než jen průměrný počítač.

Dokonce jsem kdysi viděl malý obrázek na webové stránce. Jako dřív bývalo “Powered by UNIX” a “Made with Macintosh”, tenhle hlásal “Made with ZX-81”. A jako navztek mi nikde vygooglit, kde to vlastně bylo.