Ondra GDK je súbor knižníc umožňujúci jednoduchší návrh programov pre počítač Ondra.
G znamená Graphic, ale aj Game.
1. CARTOON
Knižnica, ktorá umožňuje zobrazenie bitmáp, ich vymazanie, uloženie do buffer-u, alebo obnovenie z buffer-u.
Bitmapy môžu mať akúkoľvek veľkosť, ktorá sa zmestí na obrazovku, veľkosť sa definuje pri bitmape. Knižnica je univerzálna, čo môže mať vplyv na rýchlosť.
Pomocou knižnice cartoon možno vykresliť bitmapy na obrazovke.
2. SPRITES
Knižnica na rýchle a jednoduché zobrazenie objektov 16x16 pixelov. Využíva tieňovú VideoRAM, ktorá je z dôvodu jednoduchosti umiestnená o 32kB nižšie v RAM, teda rozdiel adresovaní je len v najvyššom bite a pre rýchlosť a jednoduchosť nie je rotácia bitov nižšieho bajtu.
Maximálne je možné zobraziť bez blikania
5 objektov. Pozrite pekné demo.
3. TILES
Pri hrách je dôležité uložiť podklad a po presune postavičiek ho opäť obnoviť. Táto knižnica je práve na to. Je pomocnou knižnicou ku knižnici Sprites.
4. TEXTROLL
Knižnica na vytváranie posúvajúceho sa textu, ako na reklamných tabuliach, univerzálna je veľkosť okna ako aj výška fontu.
5. PXSCROLL
Posun obrazovky o 1 pixel do všetkých štyroch strán. Nie je veľmi rýchla a vzhľadom na adresáciu VideoRAM sa prejavuje "zubatenie" obrazu počas posunu.
6. LNSCROLL
Posun obrazovky o 8 pixelov (jeden bajt) do všetkých strán.
7. MAINPRN
Základná knižnica na vypisovanie textov vlastným fontom 8x8px.
8. DRAW
Poslednou grafickou knižnicou, a zároveň najzložitejšou, je knižnica na kreslenie bodov a čiar. Napriek tomu dosahuje celkom slušnú rýchlosť. Na kreslenie čiar využíva nepublikovaný, ale veľmi výkonný algoritmus.
Vďaka knižnici draw počítač vykreslí vektorové obrazce.
9. KEYBOARD
Knižnica na vstup z klávesnice. Jedným volaním načíta maximálne dva súčastne stlačené klávesy. Bola inšpirovaná obdobnou rutinou na ZX Spectre.
10. JOYSTICK
Knižnica Keyboard skenuje všetkých 10 možných riadkov kláves. To môže byť pri hrách zbytočná strata času. Zjednodušená knižnica Joystick skenuje len tri riadky, dva pre kurzorové šípky a tretí pre joystick.
11. BEEP
Krátka knižnica na ovládanie zabudovaného generátora tónov, navyše obsahuje rutinu WAIT
12. MELODY
Knižnica využívajúca trik na dosiahnutie kompletnej tónovej stupnice v šiestich oktávach, ale iba pri vypnutom zobrazovaní
Knižnice vrátane príkladov v zdrojovom kóde sú voľne k dispozícii. Sú určené pre všetkých, ktorí by chceli obohatiť počítač Ondra o ďalšie programové vybavenie. Príklady sú dostupné tiež skompilované.
Sú v knižniciach chyby, alebo by šli napísať lepšie, optimálnejšie? Máte námet na nové? Nenechajte si to pre seba, dajte vedieť!
Mimochodom, viete, že posun obrazu smeron nahor zaberá cca 380 000 strojových cyklov, čo pri zapnutom zobrazovaní trvá viac ako 1 sekundu a pri vypnutom najmenej 200ms?