GRED

Z PMD 85 Infoserver


Obsah

G R E D

Autory programu GRED jsou S. Kneifl a Karel Šuhajda, 4004/482 ZO Svazarmu.

Úvod

GRED (GRafický EDitor) je program, s jehož pomocí můžeme na obrazovce počítače kreslit černobílé obrázky téměř všeho druhu. Program poskytuje podobné služby jako grafické editory na malé počítače, vybavené grafickým zobrazením (Sinclair ZX-Spectrum apod.). Program se ovládá kurzorem a pomocí okének s nabídkou (menu). Je to jeden z nových způsobů komunikace člověka s počítačem, často používaný na větších osobních počítačích pro svou jednoduchost a umožňuje uživateli ovládat program bez jakýchkoliv znalostí programování. Program prostřednictvím okének nabízí všechny dostupné funkce, které je možno aktivovat pouze nastavením kurzoru na žádanou volbu a pak stisknout tlačítko volby (fire).

Popis ovládání

Kurzor

Kurzorem rozumíme útvar o rozměrech 6 x 12 bodů, kterým můžeme pohybovat po celé obrazovce pomocí joysticku nebo klávesnice. V programu jsou použity tři druhy kurzorů:

  • kurzor, pohybující se svisle i vodorovně o 1 bod ve čtverci 256 x 256 bodů - šipka;
  • kurzor, pohybující se svisle o 1 bod, vodorovně o 6 bodů v obdélníku 288 x 256 bodů - kurzor okénkový, textový, lupa;
  • kurzor, pohybující se svisle o 8 bodů, vodorovně o 6 bodů v obdélníku 288 x 256 bodů - nahrávání obrazovky po čtverečcích.

Šipka se používá i při vybírání funkcí v menu. Joystick je připojen na port GPIO 0. Klávesa menu zůstává na klávesnici podle zadaného ovládání. Je-li připojen joystick, můžete program ovládat jak z klávesnice, tak i joystickem.

Okénka

Okénka (menu) se skládají ze dvou částí: hlavičky s názvem a vlastního okénka s nabídkou funkcí (viz příloha). Okénko se objeví pokud možno vždy tak, aby levý horní okraj okénka byl na pozici šipky. Nevešlo-li by se okénko do obrazovky, posune se tak, aby pravý, resp. dolní okraj okénka byl co nejvíce vpravo, resp. dole.

Po vyvolání okénka můžete buď zvolit žádanou funkci, nebo okénko zrušit tak, že šipkou najedete mimo něj a stisknete fire. Okénko zmizí a vrátíte se do nejbližšího nadřazeného okénka nebo do hlavní smyčky (tj. stav, kdy je možno šipkou pohybovat po obrazovce a čeká se na vstup do menu). Pokud se šipka nachází v hlavičce okénka, pak se po stisku fire neprovede nic. Nachází-li se šipka ve vlastním okénku, svítí ta volba (tj. obdélník okolo textu volby je zinvertován), na kterou právě ukazuje a po stisku fire se právě svítící funkce provede.

Spuštění programu

Program se do paměti počítače nahraje v Monitoru příkazem MGLD 00. Nebyla-li při nahrávání zjištěna chyba, zobrazí se uprostřed obrazovky okénko s textem:

                         _________________________________________
                         |       Grafický editor  G R E D        |
                         |_______________________________________|
                         |                                       |
                         |       pro PMD-85-2 a PMD-85-2A        |
                         |                                       |
                         |     Autoři: S.Kneifl & K.Šuhajda      |
                         |                                       |
                         |        4004/482  ZO Svazarmu          |
                         |                                       |
                         |                                       |
                         |           Stiskni klávesu             |
                         |_______________________________________|

Po spuštění programu se obrazovka nesmaže, aby bylo možno jednoduše použít obrázků nakreslených v BASICu nebo vytvořených vlastním programem.

Po stisku libovolné klávesy se zobrazí další okénko, jehož prostřednictvím je možno nadefinovat vlastní ovládání kurzoru.

Klávesy se zadávají v pořadí:

  • Menu: (Klávesa pro vstup do menu)
  • Doleva:
  • Doprava:
  • Nahoru:
  • Dolů:
  • Spoušť: (fire)

Následuje dotaz "O.K. (a/n) ?" a čeká se na stisk 'a' nebo 'n'. Po stisku 'a' se přejde do hlavní smyčky, po 'n' se zadávání ovládání opakuje.

Dohodnuté pojmy

V popisu funkcí budeme u používat některé výrazy, které by mohly byt nejasné, proto jsou na tomto místě vysvětleny a dále se k jejich významu již nebudeme vracet.

  • Menu - hlavní nabídkové okénko, do něhož se dostaneme buď z hlavní smyčky nebo po provedení nebo přerušení zadaných funkcí.
  • Submenu - nabídkové okénko, do něhož se dostaneme z menu navolením položky, skrývající další okénko s nabídkou.
  • Funkce - položka v okénku, po jejímž navolení se funkce ihned provede.
  • Speciální funkce - položka v okénku, po jejímž navolení se funkce neprovede ihned, ale až např. po zvolení vzorku, kterým se bude plnit u 'Plnění' apod.
  • Přepínač - položka v okénku, za níž následuje buď '+' nebo '-', jejím navolením se '+' změní v '-' a naopak ('+' znamená Zapnuto, '-' znamená Vypnuto).
  • Paměť - část paměti vyhrazená pro uložení jednoho obrázku. Jsou možné tři druhy ukládání obrázku do ní:
    • funkce 'Uložit' - přímé uložení
    • přesun okénka do paměti
    • je-li zapnut přepínač 'Uložit' v submenu Různé, uloží se obrázek do paměti vždy před provedením funkce, která jakkoli mění obsah obrazovky.
  • Xor - logická funkce, která má význam pro všechny operace prováděné na obrazovce. Obvykle se vyskytuje jako přepínač. Je-li zapnut, pak, ukládá-li se bod do obrazovky, provede se mezi ním a odpovídajícím bodem v obrazovce logická operace xor (exclusive OR; tedy: 0+0=0, 1+0=1, 0+1=1, 1+1=0). Je-li vypnut a ukládá-li se bod do obrazovky, nebere se ohled na původní obsah obrazu.
  • Inverzní - je-li nějaké zobrazení inverzní, pak se zobrazuje bílý bod černě a černý bod bíle. Invertuje-li se nějaký útvar, pak to znamená, že se bílý bod změní na černý a naopak.
  • Okénko
    • okénko s nabídkou - menu;
    • definovatelný obdélník na obrazovce, s kterým je možno provádět různé operace - mazat, přesouvat, rotovat atd. Na obrazovce je toto okénko (je-li to třeba) zobrazeno jako čárkovaný obdélník (viz příloha).

Popis funkcí

V popisu funkcí budeme postupovat tak, jak funkce následují za sebou, tj. shora dolů.

Pozn.: V textech funkcí se v programu nepoužívají diakritická znaménka. Pro pochopení jejich správného významu jsou však v některých případech důležitá, proto jsou v popisu funkcí používána.

Funkce 'Uložit'

Uloží obrázek do paměti.

Funkce 'Zpět'

Přesune obrázek z paměti do obrazovky.

Submenu 'Kreslit'

Tato část programu slouží pro kreslení různých obrazců na obrazovku vodorovně omezenou na 256 bodů kvůli zjednodušení výpočtů potřebných pro kreslení čar. Po spuštění funkcí je možno šipkou pohybovat po obrazovce. Aby se nastavení šipky přesně na bod zjednodušilo, šipka se po stisku klávesy směru nejdříve posune o jeden bod, a pak se teprve začne plynule rozjíždět. Po nastavení šipky na žádaný bod se po stisku fire funkce provede. U většiny funkcí se zadává počáteční a potom koncový bod (kromě funkce 'Body', funkci 'Trojuhelníky' se zadávají body tři).

Funkce 'Body'

Touto funkcí je možno kreslit na obrazovku jak jednotlivé body, tak i spojité čáry.

Funkce 'Čáry'

- kreslí čáry z počátečního do koncového bodu.

Funkce 'Polygon'

- kreslí čáry; počáteční bod se zadává pouze u první čáry, další mají počátek na konci čáry předchozí.

Funkce 'Trojúhelníky'

- kreslí trojúhelníky; zadávají se tři body.

Funkce 'Obdélníky'

- kreslí obdélníky; jako první je možno zadat kterýkoli roh obdélníka.

Funkce 'Elipsy'

- kreslí kružnice a elipsy. Nejdříve se zadává střed, dalším bodem se určují poloměry elipsy: x-ová vzdálenost druhého bodu od středu určuje x-ový poloměr, y-ová vzdálenost y-ový poloměr.

Funkce 'Paprsky'

- kreslí čáry, vycházející z jednoho počátečního bodu.

Přepínač 'Gumové'

Tímto přepínačem se určuje, zda se bude kreslený obrazec průběžně vykreslovat při každé změně polohy šipky.

Je-li již zadán počáteční bod, ale ještě není zadán koncový, pak se při vstupu do menu zobrazený obrazec smaže (kromě funkce 'Trojúhelníky', u které, jestliže již byly zadány první dva body, zůstane základna trojúhelníku zobrazena).

Přepínač 'Xor'

Tímto přepínačem se určuje mód kreslení čar způsobem popsaným v odst. 3 - 'Dohodnuté pojmy'.

Submenu 'Vyplnit'

Slouží k vyplňování uzavřených obrazců zvoleným (i vlastním) vzorkem, a to buď černých obrazců bíle nebo bílých obrazců černě.

Speciální funkce 'Vzorem'

Po spuštění této funkce se objeví okénko s nabídkou 12-ti vzorků o rozměrech 12 x 16 bodů, jimiž je možno obrazce vyplňovat. Po najetí šipkou na žádaný vzorek a stisku fire se zruší okénka a šipkou je možno zadat libovolný bod uvnitř obrazce, který chcete vyplnit. Po stisku fire se šipka smaže a obrazec se začne bíle (resp. černě) vyplňovat. Je-li vyplněn již celý obrazec, změní se bílá (resp. černá) vyplněná plocha na žádaný vzorek, objeví se šipka a je možno zadat vyplňování dalšího obrazce.

Pokud jste zapomněli v obvodu obrazce díru a plnění "vyteče" ven, je možno vyplňování přerušit stiskem 'STOP' a obrazovka se uvede do původního stavu.

Algoritmus plnění není sice příliš rychlý, ale program je schopen vyplnit i velmi složitě rozvětvené obrazce, a to i takové, které většina jiných programů již nezvládne. Dá se říci, že pokud nebude účelem program "zahltit", nemůže se to při normální práci s ním stát.

Speciální funkce 'Úprava vzoru'

S pomocí této funkce je možno nadefinovat vlastní vzorek, jímž se bude vyplňovat. Po spuštění funkce je možno vybrat si vzorek stejným způsobem jako u předchozí funkce. Potom se objeví okénko, v kterém se provádí vlastní editace vzorku. V levé části je v mříži 6 x 8 bodů zobrazen editovaný vzorek, napravo od něj je tentýž vzorek zobrazen dvakrát vedle sebe a dvakrát pod sebou, aby bylo vidět, jestli na sebe jednotlivé segmenty navazují. Nyní můžete zadaný vzorek upravovat. Po ukončení editace stačí vyjet šipkou mimo okénko a stisknout fire, vrátíte se do submenu 'Vyplnit'.

Přepínač 'Inverze vzorů'

Tímto přepínačem se určuje, budou-li se vzorky pro lnění a úpravu invertovat.

Přepínač 'Inverzní'

Určuje způsob vyplňování. Je-li vypnut, bude se vyplňovat prázdný (černý) obrazec bíle, je-li zapnut, bude vyplňovat plný (bílý) obrazec černě a invertovaným vzorem.

Submenu 'Okénka'

Umožňuje definování okének v celé ploše obrazovky a operace s nimi.

Funkce 'Nastavit'

Po spuštění této funkce se zruší všechna okénka menu a uprostřed obrazovky se objeví kurzor používaný pro okénka a zobrazí se obrysy minule zadaného okénka. Nyní se můžete buď vrátit do menu nebo zadat nové okénko. Nastavíte kurzor (resp. jeho střed) na jeden z rohů budoucího okénka a stisknete fire. Smažou se obrysy minulého okénka a nastaví se jeden z rohů nového okénka. Nyní zadáváte protilehlý roh nového okénka, které se při pohybu kurzoru průběžně zobrazuje. Stiskem fire nebo menu se nové okénko nadefinuje. Jako první můžete zadat kterýkoli roh okénka.

Funkce 'Celý obraz'

Nastaví největší možné okénko, tj. na celou obrazovku.

Funkce 'Smazat'

Smaže nastavené okénko.

Funkce 'Invert'

Zinvertuje nastavené okénko.

Funkce 'Přesun'

Tato funkce a pět za ní následujících přepínačů slouží k přesunu okének mnoha různými způsoby. Po nastavení požadovaného typu přesunu pěti následujícími přepínači se vlastní přesun okénka provede funkcí 'Přesun': po spuštění funkce se smažou okénka menu, zobrazí se obrysy nastaveného okénka a uprostřed obrazovky se objeví okénkový kurzor, který je zároveň levým horním rohem čárkovaného obdélníka stejné velikosti jako nadefinované okénko. Nyní můžete zadat místo, kam se má nastavené okénko přesunout. Přesun se zruší stiskem menu, provede stiskem fire.

Přepínač 'Smazat'

- určuje, jestli se má původní okénko po každém přesunu smazat, či nikoli.

Přepínač 'Přepsat'

- určuje, jestli se bude přesouvané okénko přepisovat přes původní obsah obrazovky.

Přepínač 'Xor'

Tento přepínač má význam pouze v tom případě, že je vypnut přepínač 'Přepsat' a určuje, v jakém módu se okénko zobrazí do původního obrázku.

Přepínač 'Opakovat'

- určuje, zda se přesun provede pouze jednou nebo vícekrát. Je-li vypnut, přesune se okénko pouze jednou, je-li zapnut, okénko se nejprve zkopíruje do pracovní paměti a z ní se pak přesouvá do obrazovky, kolikrát je to potřeba.

Přepínač 'Do RAM'

Určuje, kam se bude okénko přesouvat - je-li vypnut, přesouvá se okénko pouze v obrazovce. Je-li zapnut, pak se po začátku přesunu okénko zkopíruje do pracovní paměti, je-li zapnut přepínač 'Smazat', pak se i smaže. Dále se provede výměna obrazovky s pamětí a vlastní přesun, pouze s tím rozdílem, že se obrysy původního okénka nezobrazují. Po ukončení přesunu se opět provede výměna obrazovky s pamětí.

Funkce 'Zrcadlo vodorovně'

Tato funkce provede zrcadlení okénka podle svislé osy, tj. pravá polovina okénka se zrcadlově zobrazí do levé a levá do pravé.

Např. nakreslíte-li do levého horního rohu okénka bod a provedete tuto funkci, pak výsledkem bude bod v pravém horním rohu okénka.

Funkce 'Zrcadlo svisle'

Provede zrcadlení okénka podle vodorovné osy, tedy horní polovina okénka se zrcadlově zobrazí do dolní a naopak. Bod v levém horním rohu okénka se po provedení této funkce zobrazí do pravého dolního rohu okénka.

Funkce 'Rotace'

S pomocí této funkce můžete okénko bodově rotovat ve všech směrech (i šikmo). Bod, který by při rotaci "zajel" za okraj, se zobrazí na protilehlé straně okénka. Rotace se provádí klávesami pro pohyb kurzoru. Je-li stisknuta klávesa fire, pak se obrysy okénka v klidu nezobrazují. Stiskem menu se rotace ukončí.

Tato funkce se dá s úspěchem použít například v tom případě, že je třeba nastavit okénko přesněji než na vodorovných šest bodů, nebo potřebujeme-li kreslit i mimo rozsah kreslení obrazců v 'Kreslit' atd.

Speciální funkce 'Save okénko'

Tato funkce slouží k uložení obsahu okénka na magnetofon. Spolu s následující funkcí 'Load okénko', případně s použitím vlastních programů, umožňuje vytvoření knihovny grafiky. To může při delším užívání výrazně zjednodušit a zrychlit další práci s programem.

Po spuštění funkce se zobrazí okénko, v kterém se bude provádět editace hlavičky záznamu okénka na pásce. Vypíše se text "Číslo souboru:" a očekává se zadání dvojmístného čísla hlavičky. Při zadání chybné číslice se po stisku '<-' vrátíte o znak zpět, editace se ukončí stiskem 'EOL'. Pro číslo 00 stačí pouze stisknout 'EOL' a např. pro číslo 01 stačí '1' a 'EOL'. Dále se zadává název, pod kterým bude okénko nahráno. Stiskem '<-' se vrátíte o znak zpět. Za typ souboru se dosadí 'W' (z angl. Window - okénko) a do počátku souboru vodrovný a svislý rozměr okénka. Pak se vypíše "Pust magnetofon, pak stiskni klávesu" a po stisku libovolné klávesy se začne okénko nahrávat po řádcích zleva doprava a shora dolů. Kontrolní součet se počítá normálně podle záznamu PMD.

Speciální funkce 'Load okénko'

Tato funkce nahrává z magnetofonu záznam okénka vytvořený předchozí funkcí. Po spuštění se provede editace čísla záznamu okénka na pásce; po stisku 'EOL' se smažou všechna okénka a čeká se na hlavičku souboru. Hlavička se po nahrání vypíše do malého okénka v dolní části obrazovky - "Našel: XX/T název". Dále program zkontroluje typ a číslo souboru. Jestliže typ souboru není 'W' nebo číslo souboru nesouhlasí se zadaným, pípne a očekává další hlavičku. Je-li vše v pořádku, v okénku se text "Našel" změní na "Nahrávám" a okénko se nahrává do pracovní paměti. Nahraje-li se okénko bez chyby, můžete jej přesunout kamkoli do obrazovky podle přepínačů, následujících za funkcí 'Přesun', ale nebere se ohled na stav přepínačů 'Smazat' (protože není co mazat) a 'Do RAM'. Jinak je možno okénko přesunout kamkoli, jakkoli a kolikrát potřebujete.

Submenu 'Lupa'

Za pomoci této části programu můžete ve zvětšení vytvářet jemnější detaily v obrázku i opravovat některé drobné chyby.

Funkce '6 x 8'

Touto funkcí se provádí vlastní zvětšení detailu. Po spuštění funkce se uprostřed obrazovky objeví kurzor ve tvaru malé lupy, který je zároveň levým horním rohem čárkovaného obdélníka o rozměrech 30 x 30 bodů, znázorňujícího plochu, která se po stisku fire zobrazí ve zvětšení. Stiskem menu se nyní vrátíme zpět do hlavní smyčky. Klávesami pro pohyb kurzoru se tento obdélník nastaví na žádaný detail a po stisku fire se detail zobrazí ve zvětšení. Obrysy obdélníka však musí být vidět celé, jinak se po stisku fire neprovede nic a je nutno nastavit obdélník více vlevo, resp. výše. Je-li vše v pořádku, zobrazí se pracovní obrazovka lupy. V horní části se do rámečku zobrazí text: "Nastav Smaž Změň Další" (viz dále). Pod ním je od levého okraje v síti čtverečků 6 x 8 bodů zobrazen zvětšený detail a napravo od něj hexadecimální výpis obsahu každé řádky zvětšeného detailu.

Text nahoře slouží k nastavování módu kreslení bodů. Právě nastavená volba je rozsvícena. Změna módu se provede nastavením šipky na žádanou volbu a stiskem fire. Zhasne minulý mód, rozsvítí se nový.

Je-li nastaven mód 'Nastav', pak se při editaci bude kreslit bíle, je-li nastaveno 'Smaž', bude se kreslit černě a je-li nastaveno 'Změň', bude se kreslit inverzně.

Vlastní editace se provede nastavením šipky na čtvereček, znázorňující bod, jehož obsah chceme změnit a stiskem fire. Obsah čtverečku se změní (nebo nezmění) podle výše popsaných módů kreslení a zároveň se přepíše hexadecimální hodnota patřičného bytu ve sloupci vpravo. Chceme-li kreslit čáru, stačí držet fire a projet šipkou celou čáru. Stiskem menu se vrátíme do hlavní smyčky.

Spuštěním volby 'Další' se zobrazí opravený obrázek a můžeme zvolit editaci dalšího detailu nebo se vrátit do menu.

Přepínač 'Mříž'

Tímto přepínačem se určuje, jestli se bude zvětšená část zobrazovat se sítí čtverečku nebo bez ní.

Submenu 'Text'

Tato část GREDu slouží k psaní textů do obrázku. Obsahuje jednoduchý celoobrazovkový editor a umožňuje vytvoření a uschování vlastního znakového souboru použitelného i mimo GRED.

Funkce 'Vodorovně'

Po spuštění této funkce se zruší okénka menu a uprostřed obrazovky se objeví kurzor ve tvaru velkého 'I', kterým je možno pohybovat vodorovně o šest bodů a svisle o bod po celé šířce obrazovky. Stiskem menu se vrátíme do hlavní smyčky. Tento kurzor nastavíme na začátek budoucího textu, a stiskneme fire. Na jeho místě se objeví blikající čtvereček a můžeme psát text. Po zapsání každého znaku se kurzor posune o jeden znak doprava. Znaky se píší přes původní obsah obrazovky.

Tímto kurzorem můžeme pohybovat vodorovně o šest a svisle o dvanáct bodů podobně jako u textového editoru Kasword: doleva - '<-', doprava - '->', nahoru - 'SHIFT' + '<-', dolů - 'SHIFT' + '->', kurzor na začátek řádky - 'HOME', kurzor na začátek stránky - 'SHIFT' + 'HOME'.

Je-li kurzor u pravého okraje a dalším pohybem by se posunul za něj, objeví se u okraje levého a posune se o řádku dolů, chceme-li vyjet za levý okraj, objeví se u pravého okraje posunutý o řádku nahoru, chceme-li vyjet dolů, kurzor se objeví ve stejném sloupci nahoře. Chceme-li vyjet nad horní okraj, kurzor se nastaví do nejvyšší textové řádky.

Stiskem 'EOL' se editace ukončí a kurzor 'I' se objeví na místě, které jsme naposledy zadali a je možno zadat pozici dalšího textu nebo se stiskem menu vrátit do hlavní smyčky.

Funkce 'Svisle'

Pro tuto funkci platí totéž, co pro funkci předchozí, pouze s tím rozdílem, že při zapsání znaku se kurzor neposune vpravo, ale o textovou řádku (tj. o dvanáct bodů) dolů.

Přepínač 'Inverzní'

Je-li vypnut, píší se bílá písmena na černém pozadí, je-li zapnut, píší se černá písmena na bílém pozadí.

Přepínač 'Soubor ROM'

Je-li vypnut, pak se pro psaní textů používá znakový soubor, který je součástí GREDu; je-li zapnut, používá se soubor PMD.

Funkce 'Úprava souboru'

Pomocí této funkce můžete vytvářet vlastní znakové soubory, a to buď pro psaní textů do obrázku, nebo pro použití ve vlastních programech.

Po spuštění se zobrazí okénko, v kterém se bude editace provádět. V horní části jsou vedle sebe zobrazeny tři za sebou následující znaky (po spuštění jsou to ' ', '!', '"') v rastru čtverečků 6x8 bodů. Těsně pod každým rastrem je vypsán znak, který se podle tabulky ASCII právě edituje (tj. odpovídající znak na klávesnici). Pod nimi je uprostřed okénka vypsána do rámečku volba: 'Jiné <-- -->'. Nastavíme-li na některou volbu šipku, rozsvítí se a stiskem fire ji můžeme zvolit. Volby '<--' a '-->' slouží k posunu v tabulce znaků ASCII. Po navolení 'Jiné' se objeví okénko s nabídkou: 'Smazat soubor' a 'Kopie ROM'. Po spuštění první se soubor smaže a druhá zkopíruje znakový soubor PMD do znakového souboru v GREDu.

Pod touto volbou je zobrazen celý znakový soubor od znaku 32 - ' ' až do 127 - '' ve třech řadách po 32 znacích. Pod znakem, který je právě zobrazen v prostředním rastru, je zobrazena vodorovná čárka.

Z této funkce vyskočíte tak, že vyjedete šipkou mimo okénko a stisknete fire. Vrátíte se tak do submenu 'Text'.

Speciální funkce 'Save soubor'

Tato funkce uloží znakový soubor, vytvořený předchozí funkcí, na magnetofon. Zobrazí se okénko, v kterém se provede editace hlavičky souboru na MG (viz odst. 4.5.14 - 'Save okénko'). Edituje se číslo, název a počátek souboru. Typ záznamu je '?' (Monitor), záznam má délku 2FFH a standardní kontrolní součet.

Speciální funkce 'Load soubor'

Nahraje do paměti znakový soubor, vytvořený předešlou funkcí, příp. i jinak. Nahrává se pouze soubor o délce 2FFH a s typem záznamu '?'. Po spuštění se v editačním okénku zadá číslo záznamu, po stisku 'EOL' se smažou okénka a čeká se na hlavičku záznamu. Pokud soubor nesplňuje výše uvedené podmínky nebo nesouhlaší-li číslo souboru se zadaným, program pípne a čeká na další záznam. Stiskem 'STOP' se nahrávání kdykoli přeruší.

Submenu 'Tisk'

Slouží k výpisu obrázku na tiskárnu ROBOTRON K 6314 s interface CENTRONICS, připojenou na port GPIO 0. Popis připojení vlastní tiskové rutiny je v odst. 5 - 'Popis připojení tiskové rutiny'.

Funkce '1 x 1'

Po spuštění se zruší okénka menu, smaže se kurzor a vytiskne se obrázek, v kterém jedné jehličce na tiskárně odpovídá jeden bod v obrazovce.

Přepínač 'Dvakrát'

Je-li vypnut, vytiskne se malý obrázek jen jednou, je-li zapnut, vytiskne se dvakrát vedle sebe.

Funkce '2 x 2'

Vytiskne obrázek, v kterém jeden bod v obrazovce odpovídá čtverečku 2 x 2 jehličky na tiskárně. Na tuto funkci nemá předešlý přepínač vliv.

Přepínač 'Dvojitá hustota'

Je-li vypnut, píše se v hustotě 480 bodů/8 palců, je-li zapnut, píše se v dvojnásobné hustotě, tj. 960 bodů/8 palců.

Submenu 'Záznam'

Tato část GREDu umožňuje nahrát obrázek na i z magnetofonu třemi různými způsoby a navíc nahrát obrázek ze ZX-Spectra, což umožňuje využít jak služeb grafických editorů pro tento počítac, tak i obrázků již hotových, např. z her. Nahrávání je možno kdykoli přerušit stiskem 'STOP'.

Speciální funkce 'Load'

Nahraje obrázek, vytvořený libovolnou části tohoto submenu. Po spuštění se v editačním okénku zadá číslo souboru na pásce. Po stisku 'EOL' se zruší okénka menu a očekává se hlavička souboru. Nahrávají se tři typy záznamů:

  • typ '?', nahrává se obrazovka, nahraná buď v MONITORu PMD příkazem MGSV, nebo funkcí 'Save jako MONITOR', přičemž se obrázek nahrává vždy od počátku obrazovky bez ohledu na počátek v hlavičce a nebere se ohled na posledních 16 byte každé řádky. Obrázek se nahraje nejdříve do paměti a pokud nebyla při nahrávání zjištěna chyba, přesune se do obrázku.
  • typ 'C', nahrává se komprimovaný obrázek, vytvořený funkcí 'Save komprimované'.
  • typ 'S', nahrává se obrázek, nahraný po čtverečcích 6 x 8 bodů. Obrázek se nahrává přímo do obrazovky, proto se okénko s názvem souboru smaže ještě v mezeře mezi hlavičkou a hlavním blokem.

Hlavička se vypisuje ve tvaru "Našel: nn/t název" (nn-číslo, t-typ záznamu). Bude-li se záznam nahrávat do pameti, změní se "Našel" na "Nahrávám".

Speciální funkce 'Save jako MONITOR'

Po spuštění se v editačním okénku zadá číslo, název a počátek souboru. Potom se zruší okénka menu, nainicializují se nejdůležitější systémové proměnné a začne se nahrávat obrázek jakoby v MONITORu PMD příkazem 'MGSV nn C000 FFFF název', přičemž se do počátku souboru v hlavičce dosadí předem zadaná adresa.

Speciální funkce 'Save komprimované'

Po spuštění se zadá číslo, název a počátek souboru. Potom se vypíše "Pusť magnetofon, pak stiskni klávesu". Po stisku libovolné klávesy se nejprve zruší okénka menu, pak se obrázek zkomprimuje do pracovní paměti a nahraje se na pásku. Komprimace se provádí po sloupcích zprava doleva, tedy čím více bude shodných byte ve sloupcích pod sebou, tím bude výsledný záznam kratší.

Speciální funkce 'Save čtverečky'

Slouží k efektnímu nahrávání celého obrázku, nebo jeho částí po čtverečcích 6 x 8 bodů. Editace hlavičky se provádí stejně jako u předchozích funkcí, pouze se nevypíše hlášení "Spusť magnetofon, pak stiskni klávesu". Po zadání počátku souboru se zruší okénka menu a uprostřed obrazovky se objeví plný bílý čtvereček, kterým je možno pohybovat vodorovně o šest a svisle o osm bodů po celé ploše obrazovky. Nyní se zadává pořadí, v jakém budou jednotlivé čtverečky nahrány. Po stisku fire se zkontroluje, jestli je zadávaný čtvereček prázdný, nebo jestli již byl zadán. Jestliže prázdný není a dosud nebyl zadán, změní se jeho jas z plného na poloviční a jeho adresa se zapíše do paměti. Po stisku menu se rozblikají všechny čtverečky, které nejsou prázdné a ještě nebyly zadány. Dalším stiskem menu je možno v zadávání pokračovat, po stisku fire se objeví okénko s textem "stiskni klávesu". Po stisku libovolné klávesy se začnou jednotlivé čtverečky nahrávat v tom pořadí, v jakém byly zadány, přičemž se v obrazovce jas právě nahrávaného čtverečku změní na plný. Záznam každého čtverečku se skládá z vyššího a nižšího byte adresy a z osmi byte dat, za posledním čtverečkem se místo vyššího byte adresy zapíše nula a potom kontrolní součet. Po nahrání všech zadaných čtverečků se vypíše text "Ještě jednou (a/n) ?" a je možno nahrát stejný soubor kolikrát je to potřeba.

Funkce 'Load ZX-Spectrum'

Toto je jedna z nejzajímavějších funkcí celého programu. Umožňuje bez jakékoli úpravy počítače nahrát obrázek ze Spectra přímo z magnetofonu. Po spuštění se zruší okénka menu a čeká se na začátek záznamu. Nahrává-li se zaváděcí tón, svítí žlutá LED, nahrává-li se vlastní soubor, tato dioda bliká. Typ a název nalezeného záznamu se vypíše do malého okénka v dolní části obrazovky. Nahrává se typ Bytes, pokud je délka souboru kratší, než obrazovka, nahrává se pouze tento soubor, je-li delší, pak se přebytek (včetně kontrolního součtu) nenahrává. Při zobrazování obrázku se nebere ohled na atributy, proto většina obrázků vypadá jinak, než na Spectru. Po zobrazení obrázku se ještě případně vypíše hlášení "CHYBA NAHRÁVÁNÍ !!!", pokud bylo nahrávání přerušeno, nebo nesouhlasí-li kontrolní součet.

Přepínač 'Hlavička'

Tímto přepínačem se určuje, jestli se bude obrázek ze Spectra nahrávat s hlavičkou, nebo bez ní. To umožňuje číst záznamy s nečitelnou hlavičkou, nebo obrázky z některých her. Má význam pouze pro funkci 'Load ZX-Spectrum', což je zvýrazněno jeho odsazením od okraje.

Přepínač 'Load nové'

Je-li zapnut, pak se nahrává nový obrázek přes starý, je-li vypnut, pak se nahrává do starého podle stavu následujícího přepínače.

Přepínač 'Load xor'

Má význam pouze v tom případě, že je vypnut přepínač 'Load nové' a určuje, jak se nový obrázek zobrazí do starého.

Oba předešlé přepínače mají význam i pro funkci 'Load ZX-Spectrum'.

Funkce 'Kontrola'

Slouží ke kontrole záznamu libovolného typu i čísla ve formátu PMD. Po spuštění se zruší okénka menu a očekává se hlavička souboru. Ta se vypíše do okénka a kontroluje se vlastní soubor. Nebyla-li při nahrávání zjištěna chyba, přejde se po nahrání bloku do hlavní smyčky, v opačném případě se vypíše chybové hlášení 'CHYBA NAHRÁVÁNÍ !!!'.

Submenu 'Různé'

Funkce 'Smazat obraz'

Po spuštění smaže obrazovku.

Funkce 'Invert obraz'

Zinvertuje celou obrazovku, tj. z bílých bodů udělá černé a z černých bodů bílé.

'Verze'

V okénku v dolní polovině obrazovky se vypíše číslo verze programu.

Přepínač 'Joystick'

Je-li vypnut, program se ovládá pouze klávesnicí, je-li zapnut, je možno použít k ovládání spolu s klávesnicí i joystick, navržený v 4004/482 ZO Svazarmu.

Přepínač 'Ukládání'

Je-li vypnut, pak se do paměti obrázek ukládá pouze ručně, funkcí 'Uložit', je-li zapnut, pak se obrázek ukládá automaticky vždy, když se spouští funkce, která by mohla cokoli změnit v obrazovce. Funkcí 'Zpět' se pak výsledek naposledy provedené funkce zruší.

Funkce 'Video <-> RAM'

Tato funkce vymění obrázek v obrazovce a v paměti. S její pomocí se můžeme (bez rizika, že si poškodíme nakreslený obrázek) podívat, co bychom způsobili funkcí 'Zpět' apod.

Speciální funkce 'Konec'

Po spuštění této funkce se v malém okénku vypíše text "Jsi si jist ? (a/n)". Po stisku 'n' se vrátíte do submenu 'Různé', po stisku 'a' se smažou okénka, nainicializují se nejdůležitější systémové proměnné a řízení se předá OSu PMD.

Obrázek (kromě dialogové řádky) zůstává zachován a je vypnut výpis obsahu řádky do obrazovky při stisku 'EOL'.

Popis připojení tiskové rutiny

Tisková rutina se nahrává do pracovní oblasti GREDu a to kamkoliv nad adresu 7000H. Po spuštění funkce '1 X 1' v submenu 'Tisk' program nejdříve zjistí, jestli byla nahrána tisková rutina, nebo jestli nebyla přemazána daty (např. spolehlivě ji přemaže Lupa, 'Load ZX-Spectrum', vyplňování apod.). Jestliže ještě (nebo už) neexistuje, vypíše se text 'nahrajte tiskovou rutinu' a očekává se záznam typu '?', začínající nad adresou 7000H čím výše, tím lépe). Nahraje-li se rutina bez chyby, pak se spustí od své nahrávací adresy. Tisková rutina může končit až na adrese 7FFFH, zásobník programu je umístěn jinde. V okamžiku volání rutiny jsou smazána okénka i kurzor, obsahy registrů a inicializaci portu GPIO není nutné zachovávat.