ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


Příslušenství / ARITMA 0507 a 0517 / dokumentace pro IQ151



Připojení Minigrafu 0507 k počítačům:



PŘIPOJOVACÍ MODUL 0509













Návod k obsluze













ARITMA

1988













Připojovací modul 0509
verse 1986













NÁVOD K OBSLUSE













k.p. Aritma Praha
Vydání III.

1988





  1. Obsah:
    1. Obsah
    2. Úvod
    3. Popis modulu 0509
    4. Závady přístroje
    5. Kompletnost přístroje
    6. Údržba přístroje
    7. Programování Minigrafu 0507 v jazyku Basic IQ151
    8. Volání funkcí Minigrafu 0507 ve strojovém kódu 8080 na počítači IQ151
    9. Nastavení počátku souřadnic
    10. Kontrola paměti 2KB EPROM v modulu 0509

    Přílohy:

    1. Schéma připojovacího modulu Aritma 0509


  2. Úvod
    1. V tomto návodu k obsluze jsou uvedeny pokyny a podmínky nutné pro správné používání a funkci připojovacího modulu, který je označen typovým číslem 0509.

      Moduly 0509/86 (tj. vyráběné od roku 1986) jsou určeny pro Minigrafy 0507/86, které umožňují vyšší rychlost kreslení než Ninigrafy 0507/85. Nové moduly 0509/86 se liší od původních 0509/85 obsahem paměti EPROM.

      Moduly 0509/85 lze použít přímo i pro Minigrafy 0507/86, ale opačně moduly 0509/86 lze pro Minigrafy 0507/85 použit pouze po úpravě uživatelského programu (viz kap.7.4.2.).

      Programy psané pro modul 0509/85 je nutno pro modul 0509/86 přeprogramovat a naopak.


    2. Modul 0509 je zásuvný modul do počítače IQ151 a umožňuje připojení výstupní grafické jednotky Minigraf 0507 k počítači IQ151.


    3. Modul 0509 je určen pro práci v těchto klimatických podmínkách:

      • teplota okolí 10°C až 35°C
      • relativní vlhkost 40% až 80% (při 25°C)
      • prostředí bez agresivních par a plynů
      • atmosférický tlak 84 až 107 kPa

    4. Technické údaje modulu 0509:

    5. 1.Rozměry:délka 168 mm
      hloubka 20 mm
      výška 96 mm
       
      2.Hmotnost:   0,33 kg
       
      3.Napájení:interní z IQ151 (+5 V)



  3. Popis modulu 0509
    1. Sestavu modulu tvoří print osazený elektronickými součástkami a konektorem K1 FRB TY 5176211 pro připojeni k IQ151. K printu je přiletován kabel s konektorem K2 pro připojení Minigrafu 0507. Modul je zakrytován typizovaným krytem (výrobce ZPA Jičín) určeným pro veškeré zásuvné moduly počítače IQ151.

    2. Modul 0509 obsahuje paměť typu EPROM MHB 2716 (ekv. K573RF2 nebo RF5 - poz.2), kde je uložen obslužný program pro Minigraf 0507, včetně generátoru znaků, port MH 3212 (pozice 3) pro komunikaci s databusem IQ151, port MH 3212 (pozice 12) pro ovládání Minigrafu 0507 a TTL logiku tvořící adresový dekodér (pozice 10,11,17,19 pro generaci signálu -RAM) a dekodér adresy výstupního portu (pozice 15,17).

      Modul 0509 se zasouvá do IQ151, odkud je napájen napětím 5V. Schéma modulu 0509 je uvedeno v příloze 1.



  4. Závady přístroje
  5. Závady modulu 0509 vzniklé po uplynutí záruční lhůty doporučujeme nechat opravit u výrobce či organizace pověřené servisem tohoto zařízení.



  6. Kompletnost přístroje
  7. Modul 0509 je dodáván zabalen v ochranném obalu, včetně záručního listu a návodu k obsluze.



  8. Održba přístroje
  9. Modul 0509 nevyžaduje zvláštní údržbu. Je nutno dbát na čistotu obou konektorů modulu. V případě potřeby se kontaktní plochy konektorů očistí technickým benzinem.



  10. Programováni Minigrafu 0507 v jazyku Basic IQ151
    1. Základní charakteristika

    2. Dále popisovaná základní programová podpora pro řízení Minigrafu 0507 zajišťuje počáteční nastavení pisátka, kreslení bodů, úseček a posun v souřadném systému X-Y, psaní textu (s volitelným tvarem písma a směru řádky), výpis Basic-programu (listing), opis obsahu obrazovky a testovací program. Pro pochopení následujících kapitol se předpokládá znalost programování v Basicu (např."Programování počítače IQ151 v jazyku Basic") .


    3. Uloženi a adresováni programové podpory Minigrafu

    4. Programová podpora (podprogramy ve strojovém kódu 8080 a konstanty) je uložena v 2KB paměti EPROM v připojovacím modulu 0509. Zabírá adresy C000H až C7FFH a dále používá pro proměnné v paměti RAM adresy 160H až 185H.

      Základní funkce se provádějí pomocí klíčových slov (např. MOVE, WRITE atd.), která jsou již “zabudovány“ v základním modulu BASIC6 počítače IQ151.

      Několik dalších funkcí se volá standardním příkazem "CALL adresa,parametry" (viz tab.1.)

      Vzhledem k omezenému paměťovému prostoru (programové vybavení pro Minigraf nemůže přesáhnout 2KB) není prováděna úplná kontrola parametrů pro jednotlivé funkce. Uživatel proto musí přesně dodržovat předepsané rozsahy parametrů.


    5. Souřadnicový systém Minigrafu 0507

    6. Pracovní prostor Minigrafu je obdélník o rozměrech 187,5 x 262,5 mm uvnitř formátu A4 ("na výšku"). Každý bod je určen souřadnicemi X a Y. Souřadnice cílových bodů pro jednotlivé funkce Minigrafu sa udávají počtem základních kroků tj. v 1/8 mm. Podtek souřadnic je standardně v levém spodním rohu pracovního prostoru (ev. posun počátku viz kap.9.), osa X je vodorovná, osa Y svislá. Pisátko se tedy pohybuje v prvním kvadrantu i absolutní souřadnice bodů mohou nabývat hodnot:

      0 <= x <= 1500 a 0 <= y <= 2100 – viz obr. 1.



      Obr.1. Pracovní prostor Minigrafu 0507


    7. Popis funkci Minigrafu

      1. Přehled příkazů (klíčových slov)

      2. V této kapitole je uveden nejprve přehled příkazů pro Minigraf 0507 (tab.1.) a v dalších kapitolách jsou jednotlivé funkce podrobně vysvětleny.

        PříkazParametryVýznam
         
        ORGxa,yainic. a přesun pisátka do xa,ya
         
        MOVA
        VECTA
        POINTA
        xa,yapřesun pisátka do xa,ya
        úsečka do xa,ya
        přesun do xa,ya a tečka
         
        MOVR
        VECTR
        POINTR
        xr,yrpřesun pisátka o xr,yr kroků
        úsečka xr,yr kroků
        přesun o xr,yr kroků a tečka
         
        SIZ
        NARROW
        WIDE
        WRITE
        xx,xy,yx,yy   
        -
        -
        w$
        volba tvaru, sklonu a směru tisku
        úzká (normální) mezera
        široká mezera
        tisk znakového řetězce w$
         
        SPEEDsmodifikace rychlosti
         
        CALL list (49314)
        CALL copy (49317)   
        CALL test (49326)
        n1,n2
        xa,ya
        -
        "listing" programu od n1 do n2
        kopie obrazovky do xa,ya
        testovací program (tab.ASCII)

        Tab.1. Přehled příkazů (klíčových slov)


        Parametrem "w$" může být řetězec nebo název řetězcové proměnné, ostatní parametry jsou obecně výrazy jazyka Basic. Není-li parametrem celé číslo, uplatní se (u počítače IQ151) jeho celistvá část. Přípustné hodnoty mezi pro jednotlivé parametry budou uvedeny dále v popisu příslušných příkazů.


      3. Příkaz ORG xa,ya

      4. Příkaz ORG má pro Minigraf 0507 poněkud odlišný význam než pro některé jiné zapisovače.

        Příkaz ORG se musí provést vždy po zapnutí Minigrafu po založení papíru,před použitím ostatních příkazů dále uvedených (kromě příkazu "CALL test" viz kap.7.4.16). Příkaz ORG předpokládá papír založený tak, že se jeho horní hrana kryje s horní hranou otevřené zadní klopny. ORG zajistí synchronizaci motorků s polohou pisátka evidovanou v paměti vzhledem k souřadným osám. Přesune pisátko vlevo "na doraz" (aby byla definována souřadnice X) a pak ho nastaví nad bod xa,ya.

        Příkaz ORG též nastaví konstanty pro správné časování motorků a rychlost a parametry pro tisk:

          SPEED 3
          SIZE 3,0,0,3
          NARROW
          "diakr.režim" - viz další popis
          

        Poznámka: Při použití modulu 0509/86 s Minigrafem 0507/85 je nutno vždy po příkazu ORG (a též po "CALL test") provést přikaž "POKE 389,20" pro omezení max.rychlosti.


      5. Příkaz MOVA xa,ya

      6. Příkaz "MOVA xa,ya" přesune (bez kresby) pisátko z jeho dosavadní polohy do bodu o souřadnicích xa,ya (absolutních).


      7. Příkaz VECTA xa,ya

      8. Příkaz "VECTA xa,ya" nakreslí úsečku z dosavadní polohy do bodu xa,ya. Pisátko zůstane spuštěno.


      9. Příkaz POINTA xa,ya

      10. Příkaz "POINTA xa,ya" přesune (bez kresby) pisátko z jeho dosavadní polohy do bodu xa,ya, udělá tam tečku a zvedne pisátko.


      11. Příkaz MOVR xr,yr

      12. Příkaz "MOVR xr,yr" přesune (bez kresby) pisátko z jeho dosavadní polohy xd,yd do bodu o souřadnicích xd+xr,yd+yr, kde xr a yr udává počet kroků (relativně) a může nabývat i záporných hodnot - samozřejmě pouze takových, aby cílový bod zůstal v pracovním prostoru Minigrafu.

        Poznámka: Příkaz "MOVR 0,0" způsobí pouze zvednutí pisátka.


      13. Příkaz VECTR xr,yr

      14. Příkaz "VECTR xr,yr" nakreslí úsečku z dosavadní polohy xd,yd do bodu o souřadnicích xd+xr,yd+yr (hodnoty xr,yr -viz "Příkaz MOVR"). Pisátko zůstane spuštěno.


      15. Příkaz POINTR xr,yr

      16. Příkaz "POINTR xr,yr" přesune (bez kresby) pisátko z jeho dosavadní polohy xd,yd do bodu o souřadnicích xd+xr, yd+yr (hodnoty xr,yr - viz "Příkaz MOVR"), udělá tav tečku a zvedne pisátko.


      17. Příkaz SIZE xx,xy,yx,yy

      18. Soubor znaků

        Základní programové vybavení pro Minigraf 0507 obsahuje kompletní sadu tisknutelných znaků ASCII a diakritická znaménka (čárka, kroužek, háček, vokáň a přehláska). Netisknutelné znaky (tj.00H až 1FH) budou, kromě znaků 00H a 08H, nahrazeny mezerou (space). Znak 00H je rezervován pro uživatele, který si tak může v programu určit další speciální znaky (řeckou abecedu, azbuku aj.) - jejich deklarování a použití bude popsáno dále. Znak 08H označuje "krok zpět" a zařazuje se do příslušného řetězce jako CHR$(8) - to způsobí, že následující znak bude kreslen do stejného místa jako předcházející.

        Uživatel může programem volit 2 režimy: "ASCII-režim" - tj. kompletní sada znaků ASCII, nebo "diakritický režim" -tj. sada ASCII, ale s jinou interpretací posledních 5 znaků podle tab.2. Režim je určen obsahem adresy 371 (dekadicky) tak, že 0 znamená "diakritický režim" a 1 "ASCII režim". "Diakritický režim" lze tedy volit příkazem "POKE 371,0" a "ASCII-režim" příkazem "POKE 371,1". Příkazy "ORG, CALL list, CALL copy a CALL test" nastavují "diakriticky režim". Tisk písmena s diakr. znaménkem se pak zadává podobně jako na psacím stroji tak, že se vloží nejprve jeden z 5 posledních znaků sady ASCII odpovídající požadovanému znaménku a pak vlastní písmeno. Má-li být např. příkazem WRITE napsáno "Ř", musí příslušný řetězec obsahovat dvojici "}R" (pravá složená závorka a písmeno R).

        Poznámka: Po diakritickém znaménku nebo po "krok spět" bude následující znak vždy (i např. ještě po příkazu NOVA) kreslen do místa předcházejícího znaku)



        Tab.2. Tabulka znaků


        Základní tvar znaku

        Všechny znaky jsou kódovány v paměti základním tvarem v rastru 4x8 kroků - 7 kroků nad linkou (z toho 1 krok pro ev. diakritické znaménko) a 1 krok pod linkou - viz obr.2.



        Obr.2. Základní tvar znaku


        Speciální znaky definované uživatel

        Pro psaní znakových řetězců poskytuje programové vybavení uživateli přímo k dispozici kompletní soubor znaků ASCII a diakritická znaménka (viz odst. "Příkaz SIZE"). Kromě těchto znaků si může uživatel ve zdrojovém Basic-programu deklarovat prakticky libovolný počet dalších vlastních znaků.

        Pro definici takového znaku je nutné nejprve nakreslit základní tvar (složený z úseček) do rastru 4x8 čtverečků tj. 5x9 bodů, přičemž nelze využít nejvyšší řádku, a jednotlivým vrcholům znaku (tj. koncovým bodům úseček) přiřadit čísla a1., a2,……,an (kde "n" Počet vrcholů znaku) podle levé části tab.3.

        #########################################      #########################################
        #         !         !         !         #      #         !         !         !         #
        #56       !57       !58       !59       #60    #8        !9        !:        !;        #<
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #120      !121      !122      !123      #124   #x        !y        !z        !{        #|
        #         !         !         !         #      #         !         !         !         #
        #48       !49       !50       !51       #52    #0        !1        !2        !3        #4
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #112      !113      !114      !115      #116   #p        !q        !r        !s        #t
        #         !         !         !         #      #         !         !         !         #
        #40       !41       !42       !43       #44    #(        !)        !*        !+        #,
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #104      !105      !106      !107      #108   #h        !i        !j        !k        #l
        #         !         !         !         #      #         !         !         !         #
        #32       !33       !34       !35       #36    #space    !!        !CHR$(34) !#        #$
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #96       !97       !98       !99       #100   #'        !a        !b        !c        #d
        #         !         !         !         #      #         !         !         !         #
        #24       !25       !26       !27       #28    #CHR$(24) !CHR$(25) !CHR$(26) !CHR$(27) #CHR$(28)
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #88       !89       !90       !91       #92    #X        !Y        !Z        ![        #\
        #         !         !         !         #      #         !         !         !         #
        #16       !17       !18       !19       #20    #CHR$(16) !CHR$(17) !CHR$(18) !CHR$(19) #CHR$(20)
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #80       !81       !82       !83       #84    #P        !Q        !R        !S        #T
        #         !         !         !         #      #         !         !         !         #
        #8        !9        !10       !11       #12    #CHR$(8)  !CHR$(9)  !CHR$(10) !CHR$(11) #CHR$(12)
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #72       !73       !74       !75       #76    #H        !I        !J        !K        #L
        #         !         !         !         #      #         !         !         !         #
        #0        !1        !2        !3        #4     #CHR$(0)  !CHR$(1)  !CHR$(2)  !CHR$(3)  #CHR$(4)
        #########################################      #########################################
         64        65        66        67        68     @         A         B         C         D
        
        torní čísla - pisátko nahoře                   horní znaky - pisátko nahoře
        dolní čísla - pisátko dole                     dolní znaky - pisátko dole
        

        Tab.3. Rastr pro uživatelské znaky


        Pak uživatel deklaruje znakový řetězec, jehož prvním členem je CHR$(0), dalšími členy jsou CHR$(a1), CHR$(a2),........,CHR$(an) a posledním členem je CHR$(128), takto:

          CHR$ (0) +CHR$(a1) +CHR$(a2) +... +CHR$(an) +CHR$(128).
          

        Při psaní takového řetězce příkazem WRITE bude pak nakreslen požadovaný znak - vytvořený postupným spojováním vrcholů odpovídajících číslům 0,a1 ,a2,...,an (s pisátkem dole či nahoře podle tab.3.). Poslední člen řetězce – CHR$(128) - zajistí zvednutí pisátka a návaznost pro psaní ev. dalších znaků.

        Např. pro znak "±" může být řetězec deklarován takto:

          PM$ = CHR$(0)+ CHR$(17)+CHR$(83)+ CHR$(35)+CHR$(97)+CHR$(42)+CHR$(90)+CHR$(128)
          

        Pokud některým členům definičního řetězce odpovídají tisknutelné znaky kódu ASCII, je možno řetězec deklarovat stručněji přímo uvedením těchto tisknutelných znaků podle pravé části tab.3.

        Pro uváděný příklad lze tedy psát:

          PM$ = CHR$(0)+CHR$(17)+"S#a*Z"+CHR$(128)
          

        Dále lze ještě ukončovací člen CHR$(128) sloučit s posledním vrcholem CHR$(an) do jednoho členu CHR$(an+128).

        V našem příkladu lze tedy řetězec pro znak "±" nejstručněji deklarovat takto:

          PM$ = CHR$(0) +CHR$(17)+ "S#a*"+CHR$(218)
          

        Má-li být nyní např. napsána Minigrafem zpráva CHYBA ±5%, provede se to příkazem

          WRITE "CHYBA "+PM$+"5%" .
          

        Další příklady vytvořeni speciálních znakůt

        znak:deklarační řetězec:
        "přeškrtnuté kolečko"   "0"+CHR*(8)+"X"
        "šipka vzhůru""I"+CHR$(8)+"^" (v "ASCII-režimu")
        ©"0"+CHR*(8)+CHR$(0)+"+riYR"+CHR$(219)


        Výsledný tvar znaku

        Příkaz "SIZE xx,xy,yx,yy" není výkonným příkazem, pouze nastavuje parametry určující velikost, sklon a směr tisku. Parametry xx,xy,yx,yy jsou průměty šířky a výšky základního tvaru znaku do souřadných os podle obr.3. Mohou nabývat i záporných hodnot - pouze ovšem takových, aby kreslený znak nepřesáhl pracovní prostor.



        Obr.3. Výsledný tvar znaku


        Několik příkladů volby tisku příkazem SIZE uvádí tab.4.

        xx,xy,yx,yy   znakřádka
        tvarvýškašířka
         
        1,0,0,1kolmý1 m0,5 mmvodorovně
        4,0,0,7štíhlý,kolmý7 mm2 mmvodorovně
        4,0,1,4skloněn vpravo   4 mm2 mmvodorovně
        0,6,-4,0širší,kolmý4 mm3 mmsvisle vzhůru
        4,4,-4,4kolmý5,7 mm   2,3 mm   šikmo vzhůru

        Tab.4. Příklady použití "SIZE xx,xy,yx,yy"


      19. Příkaz NARROW

      20. Příkaz NARROW nastaví základní (úzkou) šířku mezery mezi znaky řetězce kresleného příkazem WRITE - viz dále. Tato šířka je 2 kroky pro základní tvar znaku, tj. 0,25.xx mm pro výsledný tvar znaku. (Příkaz ORG nastavuje mezeru "NARROW".)


      21. Příkaz WIDE

      22. Příkaz WIDE nastaví širokou mezeru mezi znaky řetězce kresleného příkazem WRITE. Tato šířka je 5 kroků pro základní tvar znaku, tj. 0,625.xx mm pro výsledný tvar znaku.


      23. Příkaz WRITE w$

      24. Příkaz "WRITE w$" napíše řetězec určený parametrem w$. Může to být libovolný řetězcový výraz jazyka Basic. Výchozí bod (viz obr.2.) pro první znak kresleného řetězce w$ je:

        • bod, kam bylo pisátko nastaveno posledním "přesunovým" příkazem (MOVA, VECTA,...,POINTR) nebo
        • bod, který odpovídá výchozímu bodu znaku, následujícímu za posledním znakem kresleným předchozím příkazem WRITE (i když fyzicky pisátko po WRITE vždy skonči nad posledním kresleným bodem řetězce, a ne nad následujícím výchozím bodem).

        Směr řádky a tvar znaku určuje příkaz SIZE, rozteč znaků je dána příkazem NARROW nebo WIDE.

        Příklad: Výpis řetězce "ARITMA-PRAHA" vodorovně na řádce z bodu 100,200, písmena kolmá, vysoká 8 mm s mezerami 2 mm lze programovat např.takto:

          MOVA 100,200
          SIZE 8,0,0,8: NARROW
          A$="PRAHA"
          WRITE "ARITMA-"+A$
          

      25. Příkaz SPEED s

      26. Příkaz "SPEED s" dovoluje uživateli modifikovat rychlost kreslení v rozsahu ±10%. Změna rychlosti může v některých případech (v závislosti na použitém pisátku a papíru) ovlivnit kvalitu kresby. Parametr "s" smí nabývat hodnot 1,2,3,4,5, což odpovídá změně jmenovité rychlosti přibližně o +10%,+5%, 0,-5%,-10%. Příkaz ORG nastavuje SPEED 3.


      27. Příkaz CALL list,n1,n2

      28. Příkaz "CALL Iist,n1,n2" nejprve nastaví parametry pro tisk (SIZE 3,0,0,3, NARROW a "ASCII-režim") a pak vypíše požadovanou část zdrojového Basic-programu z paměti IQ151 na Ninigrafu.

        Adresa "list" musí mít hodnotu 49314 (startovací adresa rutiny LISTING).

        Parametr "n1" určuje číslo příkazu první požadované řádky (není-li v programu řádka s číslem "n1", začne výpis od řádky s nejblíže vyšším číslem, pokud ovšem není větší než "n2").

        Parametr "n2" určuje číslo příkazu poslední požadované řádky. Výpis skonči bud po tisku řádky s číslem "n2" (není-li v programu řádka s tímto číslem, skončí po tisku řádky s číslem nejblíže nižším), nebo po dosažení konce stránky.

        Výpis "listingu" začíná na levém okraji řádky, na níž právě stojí pisátko, a je tedy nutné ho předem správně nastavit na požadovanou souřadnici Y např. příkazem "NOVA 0,ya".

        Číslo řádky (příkazu) se tiskne 5místné s nahrazením neplatných nul mezerami. Rozteč řádek je 4,5 mm (na stránku lze tedy napsat 58 řádek).

        Pokud jsou ve vypisovaném programu též znaky v inverzním, resp. grafickém módu, budou v "listingu" označeny pruhem pod, resp. nad příslušným znakem.

        Po skončení výpisu bude pisátko připraveno na začátku další řádky a parametry pro tisk nastaveny jako po příkazu ORG.


      29. Příkaz CALL copy,xa,ya

      30. Příkaz "CALL copy,xa,ya" nejprve nastaví parametry pro tisk (SIZE 3,0,0,3, NARROW a "ASCII-režim"). Pak nakreslí obdélníkový rámeček (šířka = 606 kroků, výška = 1046 kroků). Do něj opíše obsah obrazovky - pouze tisknutelné znaky ASCII - 32 řádek po 32 znacích. Inverzní znaky označí podtržením, grafické znaky nahradí mezerou.

        Adresa "copy" musí mít hodnotu 49317 (startovací adresa rutiny COPY).

        Parametry xa,ya určuji souřadnice levého horního rohu rámečku kolem výpisu. Rozteč řádek je 4 mm, na stránku A4 lze umístit celkem 4 výpisy obrazovky.

        Po skončení výpisu budou parametry pro tisk nastaveny jako po příkazu ORG.


      31. Příkaz CALL test

      32. Příkaz "CALL test" provede nejprve funkci ORG, pak nastaví nižší rychlost (aby mohl probíhat i na Minigrafech 0507/85) a parametry pro tisk (SIZE 10,0,0,10, WIDE a "ASCII-režim") a potom vypíše tabulku tisknutelných znaků ASCII ve tvaru jako tab.2. bez řádky "režim diakr.". Slouží k ověření základních funkcí Minigrafu 0507 a softwarového vybavení v modulu 0509.

        Adresa "test" musí mít hodnotu 49326 (startovací adresa rutiny TEST. Papír musí být předem založen jako pro příkaz ORG.

        Po skončení testu bude rychlost i parametry pro tisk nastaveny jako po příkazu ORG.

        Poznámka: Příkaz "CALL test" může být zadán i jen v tzv. "monitorovém" režimu IQ151 (ev. i bez modulu BASIC6 a televizoru) pouhým zadáním "CC0AE" z klávesnice.



    8. Příklad programování textu a kresby
    9. Pro ilustraci programování je uveden na obr.4. krátký program ('listing") s jeho výslednou kresbou na Minigrafu 0507. (Minigrafem byly nakresleny i tab.2. a tab.3.)

      1 REM:  UKAZKOVY PROGRAM 
      3 ORG 0,2076:CALL 49314,1,430
      5 XS=750:YS=670:FI=-PI/6:R=450
      10 CLS:PRINT&15,7 "POCITAM A KRESLIM"
      20 REM:  KRESLENI OBRAZCE 
      30 FOR I=0 TO 30
      40 MI=FI+I*PI/60:GOSUB400:MOVA X,Y:X1=X:Y1=Y
      50 FOR J=1 TO 5:MI=MI+PI/3:GOSUB400:VECTA X,Y:NEXT J:VECTA X1,Y1
      60 R=R*.971:NEXT I
      65 REM:  POPIS OBRAZCE 
      70 MOVA 360,911:SIZE 7,4,0,7:WRITE "MINIGRAF"
      80 MOVA 832,1085:SIZE 14,-8,0,7:WRITE "0507"
      90 MOVA 462,298:SIZE 7,-4,4,7:WRITE "ARITMA"
      100 MOVA 811,166:SIZE 7,4,-4,7:WRITE "PRAHA"
      110 REM:  ZNAK ARITMA 
      120 R=112:GOSUB420:MOVA XS,YS+R:U=R/SQR(2)
      130 VECTA XS-U,YS-U:VECTA XS,YS:VECTA XS+U,YS-U:VECTA XS,YS+R
      140 R=29.22:YS=YS-56:GOSUB 420
      150 FOR I=1 TO -1 STEP -2
      160 MOVA XS-19,YS+14*I
      170 FOR J=1 TO 5:Y=YS+I*(4-10*(J<2 OR J>3)):X=XS-19*(J<3)+19*(J>2)
      180 VECTA X,Y:NEXT J:NEXT I:MOVA 750,2500:END
      390 REM:  PODPROGRAMY 
      400 X=INT(R*COS(MI)+XS+.49):Y=INT(R*SIN(MI)+YS+.49):RETURN
      420 MOVA XS+R,YS:FOR I=0 TO 360 STEP 5
      430 MI=I*PI/180:GOSUB 400:VECTA X,Y:NEXT I:RETURN
      


    Obr.4. Ukázkový program



  11. Voláni funkci Minigrafu 0507 ve strojovém kódu 8080 na počítači IQ151
  12. Tato kapitola předpokládá znalost programováni mikroprocesoru 8080. Programové vybaveni Minigrafu 0507 obsahuje podprogramy ve strojovém kódu 8080, které zajišťují provádění funkcí popsaných v kap.7. Tyto funkce lze po vložení vstupních hodnot do příslušných registrů či paměťových míst volat přímo "strojovou" instrukci "CALL adr" podle tab.5. Označení vstupních hodnot (parametrů) je shodné s označením v tab.1. Funkce SIZE, NARROW a WIDB se nevolají (nevyžaduji provádění podprogramu), je pouze nutné naplnit příslušná paměťová místa. Např. "162,3:-xx" se provede Instrukcemi:

    Volané podprogramy nezachovávají obsah žádného registru!

    FunkceStartovací
    adresa (hex)   
    Vstupní hodnoty připravené
    v registru nebo na. adrese (hex)
     
    ORGC099DE:=xa, BC:=ya
    MOVA
    VECTA
    POINTA
    C000
    C058
    C062
    DE:=xa, BC:=ya
    MOVR
    VECTR
    POINTR
    C06C
    C085
    C08F
    DE:=xr, BC:=yr
     
    SIZE-162,3:=xx, 164,5:=xy,
    166,7:=yx, 168,9:=yy
    NARROW   
    WIDE
    -
    -
    172:=80H
    172:=0
    WRITEC1F1HL:=adr.1.zn.řet.w$
    E:=délka řetězce w$
     
    SPEEDC0A8A:=s
     
    LIST
    COPY
    TEST
    C0A2
    C0A5
    C0AE
    BC:=n1, DE:=n2
    BC:=xa, DE:=ya
    -

    Tab.5. Přehled volání funkcí ve strojovém kódu 8080



  13. Nastavení počátku souřadnic
  14. Je-li v některých případech výhodnější mít počátek souřadnic jinde než v levém dolním rohu pracovního prostoru, je možné ho přemístit tímto postupem:

    Má-li být pro následující adresování bodů počátek přemístěn z levého dolního rohu např. do středu pracovního prostoru, je nutno pisátko přesunout do tohoto bodu a pak vynulovat paměťová místa 16AH až 171H, kde je evidována okamžitá poloha pisátka. Provede se to např. těmito příkazy:

    Od tohoto okamžiku budou body pracovního prostoru adresovány souřadnicemi X,Y v rozsahu:

    -750 <= x <= 750 a -1050 <= y <= 1050

    V tomto případě lze tedy používat i záporné absolutní souřadnice.



  15. Kontrola paměti 2KB EPROM v modulu 0509
  16. Správnost obsahu programového vybavení v paměti EPROM v připojovacím modulu 0509 lze zkontrolovat sečtením obsahů všech adres od C000H do C7FFH. Na nejnižších 6 bitech tohoto součtu musí být samé "1" (binárně), tj. zbytek po dělení součtu číslem 256 musí být 255.



  1. PŘÍLOHA



  2. SCHEMA PŘIPOJOVACÍHO MODULU ARITMA 0509 a černobílá verze ZDE.



Obsah:

  1. Obsah
  2. Úvod
  3. Popis modulu 0509
  4. Závady přístroje
  5. Kompletnost přístroje
  6. Údržba přístroje
  7. Programování Minigrafu 0507 v jazyku Basic IQ151
  8. Volání funkcí Minigrafu 0507 ve strojovém kódu 8080 na počítači IQ151
  9. Nastavení počátku souřadnic
  10. Kontrola paměti 2KB EPROM v modulu 0509

Přílohy:

  1. Schéma připojovacího modulu Aritma 0509




ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt


Příslušenství / ARITMA 0507 a 0517 / dokumentace pro IQ151



SAPI.cz - web o československých osmibitech, zejména SAPI-1. Provozuje EC1045 od roku 2011
Za korekce češtiny dekuji: MELSOFTovi, Silliconovi, Martinu Lukáškovi a NOSTALCOMPovi

Když začínám blbnout z 8bitů tak se chodím léčit mezi otaku.
Animefest.cz