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


Příslušenství / ARITMA 0507 a 0517 / dokumentace pro PMD 85-1/2



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



PŘIPOJENÍ MINIGRAFU 0507 K POČÍTAČI PMD 85 -1/2

























1.7.1989





Obsah:

  1. Úvod
  2. Připojeni Minigrafu 0507 k počítači PMD85
  3. Umístění programové podpory Minigrafu v počítači PMD85
  4. Souřadnicový systém Minigrafu 0507
  5. Charakteristika programové podpory Minigrafu
  6. Inicializace programového vybaveni
  7. Přehled klíčových slov pro Minigraf
  8. popis příkazu MGxx
  9. Příklad programovaní textu a kresby
  10. volání funkcí Minigrafu ve strojovém kódu 8080

Přílohy:

  1. Propojovací kabel PMD85 - Minigraf
  2. Umístění pamětí v zásuvném modulu BASIC-G

Výpisy programů:



  1. Úvod
  2. Tato publikace popisuje připojení Minigrafu 0507 k počítači PMD 85 a jeho programování v jazyce Basic-G nebo ve strojovém kódu (asembleru) mikroprocesoru 8080. Předpokládá znalost počítače PMD85, jeho operačního systému a programování v Basic-G.



  3. Připojení Minigrafu 0507 k počítači PMD85
  4. Připojení se provede plochým 9 vodičovým kabelem s konektorem pro Minigraf 0507 (který je součástí dodávký Minigrafu) a konektorem TY 512 (FRB) který se zasouvá do počítače PMD85 do pozice K3 - GPIO/0 tj. PORT A. Zapojení konektoru je uvedeno v Příloze 1.



  5. Umístění programové podpory Minigrafu v .počítači PMD85
  6. Programová podpora jer uložena ve dvou 1KB EPROM MHB 8708C (ekv. K573RP1). Ty se zasunou do zásuvného modulu BASIC-G do volných patic 9 a 10 (ROM 0 a 1 adresy 2400-27FPH a 2800-2BFFH) podle Přílohy 2. Jsou-li tyto patice obsazeny, je možné zasunout paměti EPROM do libovolných jiných volných pozic ROM 0-6 (viz též kap.6).



  7. Souřadnicový systém Minigrafu 0507
  8. 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 se udávají počtem základních kroků, tj. v 1/8 mm, Počátek souřadnic je standardně v levém spodním rohu pracovního prostoru (ev. posun počátku viz kap.8.4 - příkaz "MGRO"); osa X je vodorovná, osa Y svislá. Pisátko se tedy pohybuje v 1. kvadrantu a absolutní souřadnice bodů mohou nabývat hodnot:

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

    Poznámka: Přípustné hodnoty "nejsou nijak kontrolovány a při jejich překročení se pisátko rozjede mimo pracovní prostor.



    Obr.1. Pracovní prostor Minigrafu 0507



  9. Charakteristika programové podpory Minigrafu
  10. Programová podpora pro Minigraf představuje rozšíření množiny klíčových slov Basic-G o několik klíčových slov tvaru "MGxx" pro provádění obvyklých funkcí souřadnicových zapisovačů.

    Je napsána ve strojovém kódu mikroprocesoru 8080 a obsahuje instrukce pro modifikaci Basic-G a všechny potřebné rutiny, konstanty a "generátor znaků" pro řízení Minigrafu. Programová podpora Minigrafu je dlouhá přibližně 2KB a při kreslení je umístěna v paměti RAM na. adresách 7400-7BFFH. Uživatel musí pečlivě dbát, aby svým programem nezasahoval do tohoto prostoru (ani např. expanzí klíčů) !



  11. Inicializace programového vybavení
    1. Počítač PMD85-1
    2. Po zapnutí počítače je nutné nejprve zavést Basic příkazem

        BASIC G
        

      a pak se zavede programové vybavení pro Minigraf příkazem "ROM n" - stejně jako pro PMD85-2 :


    3. Počítač PKD85-2
    4. Basic je po zapnutí zaveden automaticky a programové vybavení pro Minigraf je nutno zavést příkazem

        ROM n
        

      kde "n" je číslo 0. až 6, určující pozici 1. paměti EPROM (o-značené "MP2 74") a programovou podporou Minigrafu v zásuvném modulu (viz též kap.3). Tím se zajistí přesun celé programové podpory Minigrafu z pamětí ROM do paměti RAM na adresy 7400-7BFFH, provede se součtová kontrola, modifikace klíčových slov a potřebných rutin a řízení se vrátí Basicu.



  12. Přehled klíčových slov pro Mlnigraf
  13. V této kapitole je uveden nejprve přehled příkazů MGxx pro Minigraf 0507 (tab.1.) a v dalších kapitolách jsou jednotlivé příkazy podrobně vysvětleny.

    PříkazParametryVýznam
    MGOGxa,yaORIGIN - inic. a přesun do xa,ya
    MGMA
    MGVA
    MGPA
    MGIA
    xa,yaMOVE ABS - přesun do xa,ya
    VECTOR ABS – úséčka do xa,ya
    POINT ABS - přesun do xa,ya a tečka
    INTERR ABS - přeruš. úsečka do xa,ya
    MGMR
    MGVA
    MGPR
    MGIR
    xr,yrMOVE REL - přesun o xr,yr kroků
    VECTOR REL - úsečka xr,yr kroků
    POINT REL - přesun o xt,yr a tečka
    INTERR REL - přeruš.úsečka o xr,yr
    MGSIc1,m1,c2,m2SET INTERR. PAR.- param. přeruš.úsečky
    MGSZ
    MGGP
    MGWR
    xx,xy,yx,yy
    g
    text
    SIZE - tvar a směr tisku
    GAP - šířka mezery
    WRITE - tisk řetězce "text"
    MGRO-REDEFINE ORIGIN -změna počátku
    MGSPsSPEED - modifikace rychlosti
    MGLS[n]LISTING - výpis programu

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


    Parametry mohou být libovolné číselné výrazy jazyka Basic-G. Není-li hodnotou celé číslo, uplatní se pouze jeho celistvá část.

    Parametr "text" může být posloupnost řetězcových nebo číselných výrazů - stejně jako pro příkaz PRINT.



  14. Popis příkazů MGxx
    1. Příkaz MGOG xa,ya
    2. Příkaz MGOG má pro Minigraf 0507 poněkud odlišný význam než pro některé jiné zapisovače.

      Příkaz MGOG 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. Příkaz MGOG předpokládá papír založený tak, že se jeho horní hrana kryje s horní hranou otevřené zadní klopny. MGOG zajistí synchronizaci motorků s polohou pisátka evidovanou v paměti, vzhledem k souřadným osám. Počátek souřadnic nastaví do levého dolního rohu pracovního prostoru (viz kap. 4). Přesune pisátko vlevo "na doraz", (aby byla definována souřadnice X) a pak ho nastaví na bod xa,ya.

      Příkaz MGOG též nastaví konstanty pro správné časování motorků, parametry pro přerušovanou čáru, pro tisk a rychlost:

        MGSI 5,3,5,3
        MGSZ 3,0,0,3
        MGGP 2
        MGSP 3
        "diakritický režim" - viz další popis
        

      Poznámka: Minigrafy 0507/85 (vyrobené v roce 1985) mají maximální rychlost kreslení o 40% nižší než Minigrafy vyráběné od roku 1986. Rychlost pro ně je nutno omezit zařazením příkazu "POKE 29728,20" za příkaz "MGOG xa,ya".


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


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


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


    9. Přikaž MGIA xa,ya
    10. Příkaz "MGIA xa,ya" nakreslí přerušovanou úsečku (velikost čárek a mezer určuje přikaž MGSI - viz dále) z dosavadní polohy do bodu xa,ya. Pisátko zůstane spuštěno.


    11. Příkaz MGMR xr,yr
    12. Příkaz "MGMR 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 "MGMR 0,0" způsobí pouhé zvednuti pisátka.


    13. Přikaz MGVR xr,yr
    14. Příkaz "MGVR 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 MGMR"). Pisátko zůstane spuštěno.


    15. Příkaz MGPR xr,yr
    16. Příkaz "MGPR 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 MGMR"), udělá tam tečku a zvedne pisátko.


    17. Příkaz MGIR xr,yr
    18. Příkaz "MGIR xr,yr" nakreslí přerušovanou dsečku (velikost čárek a mezer určuje příkaz MGSI - viz dále) z dosavadní polohy xd,yd do bodu o souřadnicích xd+xr,yd+yr (hodnoty xr,yr - viz "Příkaz MGMR"). Pisátko zůstane spuštěno.


    19. Příkaz MGSI c1,m1,c2,m2
    20. Příkaz "MGSI c1,m1,c2,m2" není výkonným příkazem, pouze nastavuje parametry pro přerušovanou úsečku.

      Parametry c1 a c2 určují délku kreslených čárek, m1 a m2 délku mezer. Všechny se zadávají v mm (ne tedy v krocích!) a mohou nabývat hodnot 0 až 31 mm. Je-li hodnota c1 či c2-rovna 0, provede se místo čárky pouze tečka.

      Kresleni přerušované úsečky příkazem "MGIA xa,ya", resp. "MGIR xr,yr" začne spuštěním pisátka a čárkou dlouhou "c1" mm (ev. jen tečkou), následuje mezera "m1" mm, pak čárka (tečka) dlouhá "m2" mm a mezera "c2" mm. Tento cyklus se opakuje až do cílového bodu. Předepsané délky čárek a mezer jsou u svislých a vodorovných čar dodrženy přesně, u šikmých čar s max. chybou ±5%.

      Aby konec přerušované Úsečky byl vždy vyznačen (i když ev.vyjde do mezery), je poslední část úsečky v délce MIN(c1,c2,1) mm vždy kreslena se spuštěným pisátkem. U čar kde parametr c1 či c2 je 0 (předepisuje tečku), bude na konci úsečky vždy alespoň tečka; v ostatních případech bude vždy poslední milimetr do koncového bodu úsečky kreslen plně.

      Příklady:


    21. Příkaz MGSZ xx,xy,yx,yy

      1. Soubor znaků
      2. 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. 00 až 1FH) budou, kromě znaků 00H a 08H, ignorovány. 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 (pokud ovšem nebude vypisován až dalším příkazem MGWR - viz dále) 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 interpretaci 5 znaků [,\,],^,_ (5B až 5F hex.) podle tab.2. Režim je určen obsahem adresy 29713 (dekadicky) tak, že 0 znamená "diakritický režim" a 1 "ASCII-režim". "Diakritický režim"lze tedy volit příkazem "POKE 29713,0' a "ASCII-režim" příkazem "POKE 29713,1".



        Tab.2. Tabulka znaků


        Po příkazu MGOG bude vždy nastaven "diakritický režim", po příkazu MGLS bude nastaven "ASCII-režim".

        Tisk písmena s diakritickým znaménkem se pak zadává podobně jako na psacím stroji tak, že se vloží nejprve jeden z 5 znaků [,\,],^,_ sady ASCII odpovídající požadovanému znaménku a pak vlastní písmeno. Má-li být např. příkazem MGWR napsáno "Ř", musí být nastaven "diakritický režim" a příslušný řetězec musí obsahovat dvojici "]R" (pravá lomená závorka a písmeno R).


      3. Základní tvar znaku
      4. 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


      5. Speciální znaky definované uživatelem
      6. Pro psaní znakových řetězců poskytuje programové vybaveni uživateli přímo k dispozici kompletní soubor znaků ASCII a diakritická znaménka (viz odst. "Příkaz MGSZ"). 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 použí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" je počet vrcholů znaku) podle levé části tab.3.

        #########################################      #########################################
        #         !         !         !         #      #         !         !         !         #
        #56       !57       !58       !59       #60    #8        !9        !:        !;        #<
        #---------!---------!---------!---------#      #---------!---------!---------!---------#
        #120      !121      !122      !123      #124   #x        !y        !z        !CHR$(123)#CHR$(124)
        #         !         !         !         #      #         !         !         !         #
        #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$(63), takto:

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

        Při psaní takového řetězce příkazem MGWR 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$(63) - 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$(63)
          

        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. Clenu CHR$(63) odpovídá znak "?". Pro uváděný příklad lze tedy psát:

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

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

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

        Další 2 příklady speciálních znaků:

        znak:deklarační řetězec:
        "přeškrtnuté kolečko"   "0"+CHR*(8)+"X"
        ©"0"+CHR*(8)+CHR$(0)+"+riYR[?"


      7. Výsledný tvar znaku
      8. Příkaz "MGSZ 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"



    22. Příkaz MGGP g
    23. Příkaz "MGGP g" není výkonný (podobně jako MGSZ), pouze nastaví šířku mezery mezi znaky řetězce kresleného příkazem MGWR (viz dále) na "g" kroků pro základní tvar znaku (viz obr. 2.) tj. g krát xx/8 mm pro výsledný tvar znaku. Parametr "g" smí nabývat hodnot 1 až 11. Příkazy MGOG a MGLS nastavují standardní mezeru g=2.


    24. Příkaz MGWR text
    25. Příkaz "MGWR text' napíše posloupnost znaků určenou parametrem "text". Může to být řetězcový nebo číselný výraz jazyka Basic-G, ev. posloupnost těchto výrazů jako ve standardním příkazu PRINT. Protože Minigraf ignoruje mj. i znaky 0DH a 0AH (návrat vozíku a posun o řádek), musí programátor sám zajišťovat přesun pisátka na novou řádku příkazem MGMA.

      Výchozí bod (viz obr.2.) pro první znak kresleného řetězce "text" je:

      • bod, kam bylo pisátko nastaveno posledním "přesunovým" příkazem (MGMA, MGVA,...,MGPR) 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 MGWR (i když fyzicky pisátko po MGWR vždy skončí 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 MGSZ, rozteč znaků je dána příkazem MGGP.

      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:

        MGMA 100,200
        MGSZ 8,0,0,8: MGGP 2
        A$="PRAHA"
        MGWR "ARITMA-"+A$
        

    26. Příkaz MGRO
    27. Příkaz "MGRO" (bez parametrů) přemístí dosavadní počátek souřadnic (který byl příkazem MGOG nastaven do levého dolního rohu pracovního prostoru) do bodu, kde právě stojí pisátko.

      Příklad: Má-li být počátek souřadnic uprostřed pracovního prostoru, provede se to např. těmito příkazy:

        MGMA 750,1050
        MGRO
        

      Od tohoto okamžiku budou body pracovního prostoru adresovány souřadnicemi xa a ya v rozsahu:

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


    28. Příkaz MGSP s
    29. Příkaz "MGSP 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" může 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 MGOG nastavuje MGSP 3.


    30. Příkaz MGLS [n]
    31. Příkaz "MGLS [n]" nejprve nastaví parametry pro tisk - MGSZ 3,0,0,3, MGGP 2 a "ASCII-režim". (Pro PMD 85-2 nastaví též obsah adresy POKR=002EH, která určuje délku řádky na hodnotu 80 dekadicky.) Pak na Minigrafu vypisuje basic-program od řádky "n" (ev.nejblíže vyšší) stejně jako standardní příkaz "LIST [n]". Parametr "n" může být vynechán - pak se vypisuje celý program od začátku.

      Výpis "listingu" začíná na levém okraji řádky pod řádkou, na niž právě stojí pisátko a je tedy nutné ho předem správně nastavit nad požadovanou souřadnici Y (X je libovolné) např. příkazem "MGOG 0,2100" nebo> "MGMA 0,ya" ap.

      Rozteč řádek je 4,5 mm - na stránku je tedy možno napsat 58 řádek.

      Výpis skončí bud po vypsání poslední řádky programu, nebo předčasně při dosažení spodního okraje papíru. V obou případech bude pisátko nastaveno na začátku další řádky a parametry pro tisk zůstanou nastaveny takto:

        MGSZ 3,0,0,3, MGGP 2 a "ASCII-režim".
        

      Výpis lze předčasné ukončit stiskem tlačítka "STOP".

      Poznámka: Výpis programu se provádí vždy v 1. kvadrantu souřadného systému, a počátek souřadnic by proto měl být vždy v levém dolním rohu (jako po příkazu MGOG). Byl-li počátek přemístěn (příkazem MGRO), bude výpis probíhat pouze v prostoru omezeném kladnou osou X a Y a může být na konci ev.delších řádek zkažen !



  15. Příklad programování textu a kresby
  16. Následující program po vložení hodnot

    R = poloměr opsané kružnice v mm
    N = počet vrcholů

    vypíše na Minigrafu text "n-ÚHELNlK" a pak příslušný mnohoúhelník nakreslí.

    Po skončení kresby a po založení nového papíru lze program opakovat s novými hodnotami R a N.

    Program:



  17. Voláni funkci Minigrafu ve strojovém kódu 8080
  18. Tato kapitola předpokládá znalost programování mikroprocesoru Intel 8080. Programové vybavení Minigrafu 0507 obsahuje podprogramy ve strojovém kódu 8080, které zajišťují provádění příkazů popsaných v kap.8. (kromě MGLS). Tyto podprogramy lze po vložení vstupních hodnot do příslušných registrů či paměťových míst volat přímo "strojovou" instrukcí "CALL adr" podle tab.5. Označení vstupních hodnot (parametrů) je shodné s označením v tab.1. Funkce MGSI, MGSZ a MGGP se nevolají (nevyžadují provádění podprogramu) - je pouze nutné naplnit příslušná paměťová místa. např. "7400,1:=xx" se provede instrukcemi

    Volané podprogramy zachovávají pouze obsah dvojice HL, podprogram pro MGWR nastaví obsah HL za poslední znak řetězce.

    Poznámka: Okamžitá poloha pisátka vzhledem k počátku je registrována (v počtu kroků, ev.záporný počet ve 2-komplementu) takto: souřadnice xa na adresách 7408H (nižší) a 7409H (vyšší) a souřadnice ya ha adresách 740AH a 740BH.

    PříkazStartovací
    adresa (hex)   
    Vstupní hodnoty připravené
    v registru nebo na adrese (hex)
     
    MGOG7474DE:=xa, BC:=ya
     
    MGMA
    MGVA
    MGPA
    MGIA
    747D
    7489
    7495
    7542
    DE:=xa, BC:=ya
     
    MGMR
    MGVR
    MGPR
    MGIR
    74A2
    74AE
    74BA
    754C
    DE:=xr, BC:=yr
     
    MGSI-7427:=c1, 7428:=m1
    7429:=c2, 742A:=m2
     
    MGSZ-7400,1:=xx, 7402,3:=xy,
    7404,5:-yx, 7406,7:=yy
    MGGP-7410:=g+4
    MGWR   768EHL:=adr.1.zn.řetězce
    E:=délka řetězce
     
    MGRO7530-
     
    MGSP7506A: =s

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



  1. Příloha: Propojovací kabel PMD85 - Minigraf 0507


  2. číslo
    spoje   
    TX 715   TY 51220   Poznámka
    11,1110V
    2217Y4D5
    3318Y2D4
    4415Y1D3
    5519pisátkoD7
    6816X4D2
    7913X2D1
    81014X1D0
    -7-klíc


  3. Příloha: Umístění pamětí v zásuvném modulu BASIC-G


Obsah:

  1. Úvod
  2. Připojeni Minigrafu 0507 k počítači PMD85
  3. Umístění programové podpory Minigrafu v počítači PMD85
  4. Souřadnicový systém Minigrafu 0507
  5. Charakteristika programové podpory Minigrafu
  6. Inicializace programového vybaveni
  7. Přehled klíčových slov pro Minigraf
  8. popis příkazu MGxx
  9. Příklad programovaní textu a kresby
  10. volání funkcí Minigrafu ve strojovém kódu 8080

Přílohy:

  1. Propojovací kabel PMD85 - Minigraf
  2. Umístění pamětí v zásuvném modulu BASIC-G




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


Příslušenství / ARITMA 0507 a 0517 / dokumentace pro PMD 85-1/2



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