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


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / ZPS-2 / BASIC EXP V5.0/G+SZ








VÝPIS PROGRAMU:



Programové vybavení pro MINIGRAF 0507 a grafickou jednotku XY 4130 připojené k SAPI 1


Nahráno od adresy 4400H – 8BC7H

ÚVOD:

Programové vybavení je napsáno v assembleru a zařazeno do BASICu V5.0/G pro SAPI 1. Tvoří je soubor programů pro jednotlivé příkazy. Do souboru se vstupuje pomocí klíčového slova KRES. Za tímto klíčovým slovem následují jednotlivé příkazy se svými vstupními parametry. Všechny vstupní parametry (jako např. souřadnice, měřítka, úhly pootočení atd.) je možno zadávat jako výraz. Platí při tom stejná pravidla jako u kteréhokoliv jiného příkazu v Basicu.

Programové vybavení je společné pro Minigraf a XY 4130. Liší se pouze nastavením bytu na adrese 7D1CH.

0. a 1.bit- 00Minigraf
- 01XY 4130
2.bit- 0Připojeno na desku JPR-1
- 1Připojeno na desku DPP-1
3.bit- 0Klávesnice ANK-1
- 1Klávesnice Zbrojovka Brno


Kabel pro připojení Minigrafu a XY 4130.

MINIGRAFSignálDPP-1/X2JPR-1/X3
Port/špička   Port/špička
X0PB-0/28P2-0/3
X1PB-1/26P2-1/5
X2PB-2/23P2-2/6
Y0PB-3/27P2-3/8
Y1PB-4/29P2-4/10
Y2PB-5/25P2-5/2
PENPB-7/30P2-7/7
Zem17,1911,21
 
XY 4130 (4131)   
1 PENPB-7/30P2-7/7
2 MOVEPB-0/28P2-0/3
3 X/YPB2/23P2-2/6
4 +/-PB-3/27P2-3/8
5 READY   PB-5/25P2-5/2
6 Zem17,1911,21
7 NC

Přepínač na desce DPP-1 nastavit na S1-35H


Konektor Minigrafu – pohled zepředu

|       |       |       |       |       |       |       |       |       |       |       |
Zem     Y2      Y1      Y0      PEN     x       klíč    X2      X1      X0      zem     x 


Přehled příkazů:

#IInicializace
#NNastavení pisátka pomocí tlačítek
#HNastavení hranice kreslení
#RRychlost kreslení
#PSouřadnice počátku lokálních souřadnicových os
#M   Měřítka na lokálních souřadnicových osách
#UÚhly pootočení lokálních souřadnicových os
#CTyp čáry
Přesun nebo nakreslení úsečky pomocí lokálních souřadnic
#VPřesun nebo nakreslení úsečky pomocí přírustku souřadnic
#TPsaní textu zadaného stringem
#KNakreslení kružnice
#SŠrafování


Jednotlivé příkazy:

Příkazy se píší za klíčovým slovem KRES do řádky. Počet příkazů je omezen pouze délkou řádky. Mezery mezi příkazy a parametry se ignorují. Délky se zadávají v [mm], úhly natočení souřadnicových os ve stupních.

,čárka odděluje parametry a ukončuje příkaz při vyčerpání možných parametrů
,,dvě čárky ukončují příkaz
;středník zvedne pisátko a provede přesun do bodu zadaného souřadnicemi nebo přírůstkem souřadnic
#začátek příkazu (součást příkazu)
[ ]při psaní textu mají tyto znaky druhý výynam, při šrafování ohraničují parametry pro příkaz kružnice
:konec posledního příkazu
<CR>   konec řádku a posledního příkazu


Syntaxe příkazu:

( )   nepovinné
{ }jedno z uvedeného


INICIALIZACE

# I (X,Y)

Vynuluje absolutní i lokální souřadnice, souřadnice počátku lokálních souřadnic, úhly natočení lokálních souřadnicových os, a nastaví max. rychlost kreslení, měřítka na 1, normální typ čáry. Jsou-li uvedeny souřadnice posunu, provede přesun pisátka z jeho momentální polohy o souřadnic (X,Y) a novou inicializaci.

Po inicializaci je bod daný polohou pisátka počátkem globálních i lokálních souřadnic.

Př.:   KRES #I <CR>...provede jen inicializaci
KRES #I X,Y,, <CR>   ...provede inicializaci, posun pisátka o souřadnice (X,Y) a novou inicializaci


NASTAVENÍ PISÁTKA POMOCÍ TLAČÍTEK

#N (X,Y)

X,Y ukládá se okamžitá absolutní X-ová a Y-ová souřadnice v [mm]

X a Y mohou být pouze jednoduché proměnné

Pisátko se ovládá pomocí následujících tlačítek:

Klávesnice Zbrojovka Brno:

7Počátek lokálních souřadnic
5Pomalý posun
6Rychlý posun
šipka nahoruPosun ve směru +Y
šipka doluPosun ve směru -Y
šipka doprava   Posun ve směru -X
šipka dolevaPosun ve směru +X
šipka domuInicializace
<Abs. Xová a Yová souřadnic levého dolního rohu hrany kreslení
>Abs. Xová a Yová souřadnice pravého horního rohu hrany kreslení
spaceNávrat do BASICu

Posun pisátka se zastaví stisknutím jakékoliv jiné klávesy

Klávesnice ANK-1

1Posun ve směru -X
2Posun ve směru +X
3Posun ve směru +Y
4Posun ve směru -Y
5Pomalý posun
6Rychlý posun
7Počátek lokálních souřadnic
8Inicializace
9Xová a Yová souřadnic levého dolního rohu hrany kreslení
0Xová a Yová souřadnice pravého horního rohu hrany kreslení
CR   Návrat do BASICu

Pisátko se posunuje pokud se drží příslušná klávesa.


NASTAVENÍ HRANICE KRESLENÍ

# H XD,YD, XH, YH

XD,YD ... Xová a Yová abs. Souřadnice levého dolního rohu hranice
XH,YH ... Xová a Yová abs. Souřadnice pravého horního rohu hranice

Pomocí výše uvedených parametrů lze vymezit obdélník nebo čtverec umístěný vzhledem k počátku globálních souřadnic. Ty části obrázku, které jsou mimo vymezenou plochu se nekreslí. To umožňuje pomocí příkazu #H, případně v kombinaci s příkazy pro transformaci lokálních souřadnic, kreslit detaily obrázku.

Př.: KRES # I # H –100,-140,100,140

Nastaví počátek globálních souřadnic v bodě kde právě stojí pisátko a vymezí pro kreslení obdélník 200 x 280 mm s  počátkem globálních souřadnic uprostřed tohoto obdélníku.


RYCHLOST KRESLENÍ

# I RK

RK ... kód rychlosti kreslení
0 – nejmenší rychlost
1 – střední rychlost
2 – největší rychlost

Nastavená rychlost platí do nového nastavení nebo do inicializace. Psaní textu a šrafování se provádí vždy nejmenší rychlostí nezávisle na nastavené rychlosti.

Př.: KRES # R TR <CR>


SOUŘADNICE POČÁTKU LOKÁLNÍCH SOUŘADNICOVÝCH OS

# P XP,YP

XP ... Xová souřadnice počátku
YP ... Yová souřadnice počátku

Souřadnice počátku nejsou transformovány měřítky ani úhly.

Př.: KRES #I #P XP,YP <CR>

provede inicializaci a nastaví počátek lokálních souřadnic XP,YP.


MĚŘÍTKA NA LOKÁLNÍCH SOUŘADNICOVÝCH OSÁCH

# M XM,YM

XM … měřítko na Xové lokální souřadnicové ose
YM … měřítko na Yové lokální souřadnicové ose

Pomocí měřítek se nezávisle na sobě transformují lokální souřadnice nebo přírůstek souřadnic

Př.: KRES #M XM,YM,,X,Y <CR>

Nastaví měřítka na XM, YM a vykreslí úsečku z bodu polohy pisátka do bodu o souřadnicích X,Y.


ÚHLY POOTOČENÍ LOKÁLNÍCH SOUŘADNICOVÝCH OS

# U XU,YU

XU ... úhel pootočení Xové lokální souřadnice ve stupních
YU ... úhel pootočení Yové lokální souřadnice ve stupních

Pomocí úhlu pootočení se nezávisle na sobě transformují lokální souřadnice nebo přírůstky souřadnic. Kladný smysl otáčení je proti směru hodinových ručiček.

Př.: KRES #U XU,YU <CR>

nastaví úhly na XU, YU


TYP ČÁRY

# C TC

TC … kód typu čáry

0 ----------------------
1 --  --  --  --  --  --
2 - - - - - - - - - - - -
3 ---- - ---- - ---- -

Nastavený typ platí do nového nastavení nebo do inicializace.

Př.: KRES #C TC <CR>


PŘESUN NEBO NAKRESLENÍ ÚSEČKY POMOCÍ LOKÁLNÍCH SOUŘADNIC

(;) X1,Y1;X2,Y2,X3,Y3

X ... Xová lokální souřadnice [mm]
Y ... Yová lokální souřadnice [mm]

Operace se provede z bodu daného polohou pisátka do bodu určeného souřadnicí v lokálním souřadném systému. Xová i Yová souřadnice jsou nezávisle na sobě transformovány měřítkem a úhlem natočení lokálních souřadnicových os.

Př.: KRES X1,Y1;X2,Y2,X3,Y3 <CR>

Nakreslí úsečku z bodu pisátka do bodu o souřadnici (X1,Y1), provede přesun z bodu (X1,Y1) do bodu o souřadnici (X2,Y2) a nakreslí úsečku z bodu (X2,Y2) do bodu o souřadnici (X3,Y3)


PŘESUN NEBO NAKRESLENÍ ÚSEČKY (VEKTORU) POMOCÍ PŘÍRUSTKU SOUŘADNIC

# V (;) X1,Y1

X ... Xový přírůstek souřadnic [mm]
Y ... Yový přírůstek souřadnic [mm]

Operace se provede z bodu daného polohou pisátka do bodu určeného Xovým a Yovým přírůstkem souřadnic. Přírůstky jsou nezávisle na sobě transformovány pomocí měřítek a úhlů natočení lokálních souřadnicových os.

Př.: KRES #V ; X1,Y1,,X2,Y2 <CR>

Provede přesun z bodu pisátka daný vektorem (X1,Y1), nakreslí vektor z bodu (X1,Y1) o souřadnicích (X2,Y2)


PSANÍ TEXTU ZADANÉHO STRINGEM

# T X,Y,V,STR

X,Y... Xová a Yová lokální souřadnice začátku nápisu daného stringem
V... výška písma [mm]
SRT... stringová konstanta nebo proměnná

Repertoár znaků je uveden v přiložené tabulce na obr.1. Znaky uzavřené do [ ] mají význam znaku z druhé poloviny tabulky – např. [ABC] se vypíše jako malá písmena abc. Šipka vpravo je "-", vlevo "\", nahoru "^". Nápis daný stringem začíná v bodě daném parametry X,Y. Znaky " ! [ ] nelze kreslit.

Při uvedení stringové konstanty ("XXXX") více jak třikrát za sebou hlásí program "ERROR ST". Doporučuje se proto používat stringových proměnných.

Př.: KRES #T10,20,7,"ABCD" nebo A$="ABCD" KRES #T10,20,7,A$

Vypíší se velká písmena ABCD 7 mm vysoká. Celý nápis začíná v bodě o lokální souřadnici 0 a 20 mm.


NAKRESLENÍ KRUŽNICE

# K XS,YS,R,K (  ,UP,UO)

XS... Xová souřadnice středu [mm]
YS... Yová souřadnice středu [mm]
R... poloměr [mm]
K... počet kroků, tj. počet úseček ze kterých se kružnice skládá
UP... úhel počátku kreslení. Při nulovém úhlu začíná na kladné Xové souřadnicové ose
UO... úhel určuje délku oblouku, implicitní je 360. Při –UO se kreslí záporným směrem

Kladný směr kreslení je proti směru hodinových ručiček. Nejsou-li uvedeny parametry UP a UO, jsou vzaty implicitní hodnoty (0,360) a nakreslí se celá kružnice. Při –R, -K, nebo K=0 hlásí program syntaktickou chybu.

Př.: KRES # K 10,20,30,36

Nakreslí kružnici se středem o souřadnicích 10,20 mm o poloměru 30 mm. Kružnice je složená z 36 úseček, kreslí se v kladném směru a začíná na začátku 1. kvadrantu

Př.: KRES #K 10,20,30,20,-90,-180

Nakreslí půlkružnici ve 2. a 3. kvadrantu se středem o souřadnicích 10,20 mm, o poloměru 30 mm, složenou z 20 úseček. Kružnice se kreslí v opačném směru (-180), začátek kreslení je na konci 3. kvadrantu (-90).


ŠRAFOVÁNÍ

# S TS,SI,X1,Y1 ... ([XS,YS,R(,UP,UO)]) .... X2,Y2 ....

TS... kód typu šrafování1 – 0 stupňů
2 – 45 stupňů
3 – 90 stupňů
4 – 135 stupňů
SI... šířka šrafování [mm]
X... Xová souřadnice vrcholu šrafovaného obrazce
Y... Yová souřadnice vrcholu šrafovaného obrazce
XS,YS,R... parametry šrafované kružnice

Program hledá průsečíky šrafy s hranicí šrafovaného obrazce v pořadí, v jakém jsou dány souřadnice vrcholů. Podle toho je třeba volit směr a počátek zadávání souřadnic.

Souřadnice vrcholů se ukládají do bufferu o kapacitě 63 vrcholů. Při větším počtu vrcholů hlásí program chybu přetečení paměti (ERROR OM)

Př.: KRES #S 2,4,X1,Y1,X2,Y2,X3,Y3

Vyšrafuje trojúhelník se souřadnicemi vrcholů X1,Y1,X2,Y2,X3,Y3 šrafováním širokým 4 mm ve sklonu 45 stupňů.

Př.: KRES #S 1,5 [10,20,40,6]

Vyšrafuje šestiúhelník se středem o souřadnicích 10,20 mm o poloměru 40 mm šrafováním širokým 5 mm





Poznámky – tato část není součástí původní dokumentace – není kompletní!

Adresy pro případné úpravy programu:

Adr.	pův. obsah				JiM
7D1C	0D		konfigurační byte	0C
7950	D3 33		výstup na DPP		D3 F3
7AB4	DB31		vstup z DPP		DB F1
7B02
7C22
7CC1
7CC5

7AB9	32 00 2C	výstup na JPR-1	nepoužito
7B07
7C25
7CCA
7CCF

???			vstup z ANK-1



VÝPIS PROGRAMU:



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


SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1


ZPS | Technické prostředky | Programové vybavení | Dokumentace


8 bity / SAPI-1 / Programové vybavení / ZPS-2 / BASIC EXP V5.0/G+SZ



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