1.2.15. Práca s magnetofónom

    

     Ak vypneme počítač, program uložený v počítači je pre nás stratený. Keby sme museli každý program vložiť cez klávesnicu do počítača, bolo by to veľmi zdĺhavé a nezáživné. Je preto vhodné užitočné programy niekam "odložiť" a v prípade potreby ich vložiť späť do počítača. Jedným z najjednoduchších spôsobov je uchovávanie programov a dát na obyčajnej magnetofónovej kazete.

Použiť môžete ľubovoľný magnetofón, pripojenie k počítaču bolo popísané v úvode príručky.

Pre prácu s magnetofónom sú určené príkazy SAVE, LOAD, VERIFY a MERGE.

Program z počítača na kazetu nahráme príkazom SAVE. Predpokladajme, že v počítači je uložený tento program:

     1 PRINT 1

     2 PRINT 2

     10 PRINT 10

     20 LET x=20

Tento program chcete uložiť na kazetu. Zadajte príkaz

     SAVE "test"

Test je názov programu, pod ktorým bude uložený na pásku. Názov programu môže mať až 10 znakov (písmená alebo číslice). Po odoslaní príkazu počítač vypíše:

     Start tape, then press any key

čo znamená v preklade "pusti magnetofón a stlač nejaký kláves". Po stlačení klávesu uvidíte na okraji obrazovky vodorovné bledomodré a červené pruhy široké asi 1 cm, ktoré sa pohybujú pomaly hore po dobu asi 5 sekúnd. Potom nasleduje krátky úsek modrých a žltých pruhov, nasleduje normálna obrazovka a hneď opäť bledomodré a červené pruhy a nakoniec modré a žlté pruhy.

Informácie sú z počítača na magnetofón vysielané v dvoch blokoch, kde každý blok má zavádzaciu časť (bledomodré a červené pruhy), blok (hlavička záznamu) obsahuje názov a ďalšie informácie o zázname, druhý blok sú vlastné informácie (program a premenné). Biela časť medzi blokmi je medzera.

Praktický postup pri nahrávaní programu bude:

1) pripojte magnetofón k počítaču

2) nastavte kazetu na úsek, na ktorý chcete nahrávať (pozor na zavádzaciu časť kazety)

3) zadajte SAVE "test" a stlačte ENTER

4) nastavte úroveň pre záznam podľa návodu pre magnetofón a spustíte magnetofón na nahrávanie záznamu

5) stlačte nejaký kláves

6) pozorujte na obrazovke priebeh nahrávania; po ukončení nahrávania sa vypíše hlásenie

     0 OK, 0:1 

     Potom môžete zastaviť magnetofón.

Nahratý program na páske doporučujeme ihneď skontrolovať príkazom VERIFY nasledovným postupom:

1) previňte kazetu pred začiatok záznamu

2) zadajte príkaz

     VERIFY "test"

3) pustite magnetofón

Pokiaľ nie je na páske začiatok nahrávky, striedajú sa na okraji obrazovky farby červená a bledomodrá. Potom sa objaví rovnaký vzor pruhov ako pri zázname na pásku. Po prečítaní hlavičky sa objaví výpis    

     Program: test

a začína kontrola záznamu. Kontrola sa vykonáva tak, že záznam na páske sa porovnáva s obsahom pamäti v počítači (preto treba kontrolu vykonať ihneď bez zmeny programu v počítači).

Po úspešnej kontrole nasleduje známy výpis OK.

Ak sa tak nestalo, príčin môže byť viac. Skontrolujte prepojenie počítača a magnetofónu. Ak máte v magnetofóne reproduktor, mali by ste pri prehrávaní počuť zvuk podobný "morzeovke". Keď sa neobjavia vôbec pruhy ani výpis hlavičky, prepojenie je nesprávne alebo úroveň záznamu je zle nastavená.

Ak sa po výpise hlavičky prestanú zobrazovať pruhy, skontrolujte meno programu. Počítač totiž vypisuje všetky hlavičky na obrazovku, no čaká až na program zadaného mena.

Niekedy sa stane, že hlavička je vypísaná, ale objaví sa hlásenie

     R Tape loading error

teda k chybe došlo v priebehu porovnávania. Nastavte kazetu pred záznam a skúste znovu príkaz VERIFY. Ak to nepomôže, nahrávka na páske je zlá (špinavá hlava, nekvalitná páska, ...) a treba skúsiť program nahrať znovu. Ak ani to nepomôže, skúste inú pásku.

Ak máte program nahratý na páske, pre nahratie do počítača použijeme príkaz LOAD v tvare:

     LOAD "test"

Ak bol program uložený na pásku riadne skontrolovaný, nemal by byť problém pri použití príkazu LOAD. Problém môže byť však pri nahrávaní programu z pásky nehratej na inom magnetofóne. Postup v tomto prípade bol popísaný na začiatku príručky. Samozrejme, že programy pre iné typy počítačov (nekompatibilné so SINCLAIR) sa Vám nepodarí nahrať.

Upozorňujeme, že príkazom LOAD sa starý program premenné v počítači zmažú.

Ak starý program nechceme zmazať, použijeme príkaz MERGE v tvare:

     MERGE "test"

ktorý nahradí odpovedajúce riadky programu a hodnoty odpovedajúcich premenných z nového programu, nové riadky pridá (ako keby sme riadky zadávali postupne z klávesnice).

Doteraz uvedené príkazy pre prácu s magnetofónom sú:

     SAVE - nahráva program a premenné na pásku

     VERIFY - kontroluje program a premenné na páske s tými,

   ktoré sú v počítači

     LOAD - maže starý program a premenné a nahradzuje ich

            novými, ktoré číta z pásky

     MERGE - je podobné ako LOAD s výnimkou toho, že neruší

   starý program a premenné, pokiaľ sú riadky inak

   očíslované a premenné majú iné označenie

V každom z týchto príkazov je kľúčové slovo nasledované menom programu, čo môže byť ľubovolný reťazec (môže to byť teda aj reťazcový výraz, nie iba reťazcová konštanta). Pre SAVE je to meno programu, pod ktorým má byť na pásku uložený, zatiaľ čo ďalšie 3 "hľadajú" program na páske. Počas hľadania sa vypisujú mená záznamov, na ktoré sa narazilo. Identifikácia mena môže byť dvojaká. Pre VERIFY, LOAD a MERGE môžete použiť prázdny reťazec ako meno, ktoré hľadáte. Potom sa počítač nezaujíma o meno, ale berie prvý program, na ktorý narazí. Ak nechceme nahrať premenné spolu s programom (môžu podstatne predĺžiť záznam), zmažeme ich príkazom CLEAR pred použitím príkazu SAVE.

Druhá možnosť príkazu SAVE je táto:

     SAVE meno LINE číslo

Program je uchovaný tak, že pri spätnom čítaní pomocou LOAD sa automaticky skáče na riadok s udaným číslom, odkiaľ začína program pracovať. Zatiaľ jediným druhom informácií, ktoré sme uchovávali na páske, boli programy spoločne s ich premennými. Sú tu však ďalšie možnosti pre pole a časť pamäti.

S poľom sa pracuje trochu odlišne. Pole môžete uchovať pri použití DATA v príkaze SAVE:

     SAVE reťazec DATA meno poľa ()

Reťazec je meno o uchovanom zázname na páske a pracuje rovnako, ako keď uchovávame program alebo byte. Meno poľa špecifikuje pole, ktoré chcete uchovať, ide o jedno písmeno (pre číselné pole) alebo písmeno a znak $ (pre reťazcové pole). Pamätajte na zátvorky za menom poľa. Možno si myslíte, že sú zbytočné, ale počítaču uľahčujú prácu. Musí Vám byť jasný rozdiel medzi reťazcom a menom poľa. Pokiaľ napr. zadáte

     SAVE "udaje" DATA b()

potom príkaz SAVE berie pole b a ukladá ho na pásku pod menom "udaje". Keď napíšete

     VERIFY "udaje" DATA b()

počítač bude hľadať číselné pole uložené na páske pod menom "udaje". Keď ho počítač nájde, oznámí:

     Number array: udaje

a kontroluje ho spätne proti poľu b v počítači.

     LOAD "udaje" DATA b()

hľadá pole na páske a potom, pokiaľ je pre neho v počítači miesto, zruší v počítači pole b (pokiaľ existuje) a nahrá nové pole b. Príkaz MERGE nemôžete použiť pri uchovaní polí.

Takisto môžete uložiť na pásku reťazcové pole. Keď ho počítač nájde na páske, vypíše:

     Character array: meno

Keď nahrávate do pamäti reťazcové pole, neruší to len reťazcové pole s týmto menom, ale tiež reťazec s týmto menom.

Uložiť časť pamäti je možné bez ohľadu na jej ďalšie použitie. Mohol by to byť televízny obraz, užívateľom definovaná grafika, atď. Obsah obrazovky uložíme príkazom

     SAVE "obrazovka" CODE 16384,6912

Jednotkou pamäti je byte (číslo medzi 0 a 255), každý byte má svoju adresu (číslo medzi 0 a 65535). Prvé číslo po CODE je adresa prvého bytu, ktorý sa má nahrať na pásku a druhé je počet bytov, ktoré sa nahrajú. V našom prípade je 16384 adrea prvého bytu v pamäti obrazovky a 6912 je počet bytov v nej obsiahnutých. Tak uložíme kópiu televíznej obrazovky. Skúste to! Meno "obrazovka" je meno, podobne ako u programu. Na nahranie späť do počítača použijeme

     LOAD "obrazovka" CODE

Môžete použiť aj tvar

     LOAD meno CODE začiatok, dĺžka

Keď počítač zistí, že dĺžka záznamu na páske je dlhšia, než príkaze LOAD, vypíše sa správa

     R Tape loading error

Pokiaľ sa dĺžka vynechá, bude počítač čítať pásku bez ohľadu na dĺžku. Začiatok udáva adresu, kam sa má uložiť prvý byte (môže byť rozdielny od adresy v príkaze SAVE). Pokiaľ sú adresy rovnaké, môže sa adresa v príkaze LOAD vynechať (začiatočnú adresu počítač načíta z pásky).

Príkaz SAVE meno CODE 16384,6912 pre uloženie pamäti obrazovky je tak užitočný, že môžete použiť jednoduchší príkaz

     SAVE meno SCREEN$

a pre čítanie z pásky zase

     LOAD meno SCREEN$

Tu je zriedkavý prípad, kedy VERIFY nebude pracovať, lebo VERIFY po prečítaní hlavičky z pásky napíše meno na obrazovku (tým zmení pamäť obrazovky) a tak pri verifikácii, kedy je obraz zmenený, dochádza k verifikačnej chybe. Vo všetkých iných prípadoch by ste mali použiť príkaz VERIFY po použití SAVE.

Meno v uvedených príkazoch je akýkoľvek reťazec, pod ktorým je informácia uchovaná na páske. Mal by sa skladať z ASCII znakov, avšak môže ich byť maximálne 10.

Poznáme 4 druhy informácii, ktoré môžu byť uchované na páske:

program a premenné spolu, číselné pole, reťazcové pole, časť pamäti.

Keď VERIFY, LOAD a MERGE hľadajú informácie na páske s uvedeným menom, potom sa na obrazovke vypisujú mená záznamov na páske, ktoré sa našli. Pred menom záznamu je informácia o type záznamu:

program, number array, character array, bytes.

Pokiaľ bolo meno prázdny reťazec, vezme sa do úvahy prvý záznam zadaného typu bez ohľadu na jeho meno.

SAVE uchováva informáciu na páske pod daným menom. Hlásenie

     F Invalid file name

sa vypíše vtedy, keď je meno prázdny reťazec alebo má viac ako 10 znakov. SAVE vždy vyvolá správu:

     Start tape, then press any key.

a počítač čaká na stlačenie klávesu.

Teraz uvedieme kompletný zoznam štyroch príkazov pre prácu s magnetofónom.

 

Príkaz SAVE

-----------

1.  Program a premenné

      SAVE meno LINE číslo riadku

     uchováva program tak, že po LOAD automaticky nasleduje

GOTO číslo riadku. Ak nie je daná časť LINE, program sa po

LOAD iba nahrá.

1.         Časť pamäti

         SAVE meno CODE začiatok, dĺžka

    uloží časť pamäti, ktorá začína na uvedenej adrese a má

    zadanú dĺžku

         SAVE meno SCREEN$

    je vlastne

         SAVE meno CODE 16384,6912

    a uloží televízny obraz

2.         Pole

         SAVE meno DATA písmeno () alebo

         SAVE meno DATA písmeno$ ()

    uloží pole, ktorého meno je zadané za DATA

 

Príkaz VERIFY

-------------

1.  Program a premenné

         VERIFY meno

    kontroluje program na páske

2.  Časť pamäti

         VERIFY meno CODE začiatok,dĺžka

    pokiaľ je záznam na páske, dlhší ako je zadaná dĺžka,

    dostávame chybu. Inak porovnáva záznam s časťou pamäti

    počítača od zadanej adresy.

         VERIFY meno CODE začiatok

    porovnáva záznam na páske s časťou pamäti a začína od

    uvedenej adresy, dĺžka sa berie z hlavičky.

         VERIFY meno CODE

    porovnáva záznam na páske s časťou pamäti, adresa začiatku

    a dĺžka sa berú z hlavičky

         VERIFY meno SCREEN$                je to isté ako

         VERIFY meno CODE 16384,6912

    a bude iste chybné

3.  Pole

         VERIFY meno DATA písmeno () alebo

         VERIFY meno DATA písmeno$ ()

    kontrolujte pole na páske s poľom v pamäti.

 

Príkaz LOAD

-----------

1.  Program a premenné

         LOAD meno

    ruší starý program a premenné, nahrá nový program a

    premenné z kazety. Pokiaľ bol program uchovaný príkazom

         SAVE meno LINE číslo

    program sa automaticky odštartuje.

    Chyba

         4 Out of memory

    sa objaví, keď nie je miesto pre nový program a premenné.

    V tomto prípade starý program a premenné nie sú zrušené.

2.  Časť pamäti

         LOAD meno CODE začiatok,dĺžka

    pokiaľ je dĺžka v hlavičke na páske viac než je

    špecifikované, hlási sa chyba. Inak sa vykoná načítanie

    záznamu do pamäti.

         LOAD meno CODE začiatok

    nahrá časť pamäti z pásky do počítača, začína sa ukladať

    na začiatočnej adrese

         LOAD meno CODE

    nahrá časť pamäti z pásky do počítača podľa toho, ako bol

    špecifikovaný v príkaz SAVE.

         LOAD meno SCREEN$

    nahrá časť pamäti z pásky do video pamäti.

3.  Pole

         LOAD meno DATA písmeno () alebo

         LOAD meno DATA písmeno$ ()

    ruší akékoľvek pole nazvané písmenom alebo písmenom$ a

vytvára nové pole z pásky. Chyba

   4 Out of memory

sa objaví, pokiaľ nie je miesto pre nové pole. Staré pole

potom nie je zrušené.

 

Príkaz MERGE

------------

1.  Program a premenné

         MERGE meno

    spojuje program z pásky s programom v počítači, pripisuje

    riadky programu alebo premenné do starého programu. Chyba

         4 Out of memory

    sa objaví, pokiaľ nie je dostatok miesta pre starý a nový

    program spolu.

2.  Časť pamäti - nie je možné použiť

3.  Pole - nie je možné použiť