		    **********************************
		    *				     *
		    *  Spectrum Master version 1.20  *
		    *				     *
		    **********************************


	Spectrum Master je komfortní monitor/debugger s širokou paletou 
nejrůznějších povelů a rozsáhlým editorem,který zahrnuje i možnost definování 
'makropovelů' pomocí funkčních kláves a ovládání tiskáren Centronics i Sharp.
Spectrum Master je speciálně přizpůsobený pro práci s programy přejatými 
z počítače ZX-Spectrum.K tomu je vybaven mimo jiné :

		- volnou pamětí 4000-FFFF
		- kódováním znaků v Ascii kódu shodném se ZX-Spectrem
		- možností zobrazování Video Ram ZX-Spectra
		- možností zobrazování různých obrazců uložených v paměti
		- možností čtení originálních nahrávek ze ZX-Spectra
		- možností vypisování Basicu ze ZX-Spectra
		- disassemblerem zvládajícím všechny známé instrukce

	Tento návod je příručkou k práci s programem,nikoliv vyčerpávajícím
popisem.Pro jeho pochopení se tudíž předpokládá zkušenost s programy podobného
typu,znalost strojového kódu a hardwaru počítače MZ-800 resp. i ZX-Spectra.

--------------------------------------------------------------------------------
1. Nahrávání

	Po nahrání hlavního programu je možné přihrát blok pro nápovědu
( stisk klávesy <H> ) a znakový generátor přejatý ze ZX-Spectra spolu s převodní
tabulkou pro obracení pořadí bitů v bytu ( stisk klávesy <C> ).Oba bloky je nutné
samozřejmě nahrávat v pořadí,v jakém jsou na kazetě.Po stisku klávesy <CR>
proveden studený start programu.

--------------------------------------------------------------------------------
2. Rozložení paměti (RAM)

	 		0000-0FFF ... monitor
			1000-11FF ... zápisník
			1200-294C ... debugger
			294D-2C09 ... nápověda/volná paměť
			2C00-3BFF ... volná paměť
			3C00-3CFF ... převodní tabulka/volná paměť
			3D00-3FFF ... znakový generator/volná paměť
			4000-5AFF ... Video Ram Spectra/volná paměť
			5B00-FFFF ... volná paměť

--------------------------------------------------------------------------------
3. Ovládací klávesy

Editor :

	Povely se zadávají v řádkách,jejichž délka je omezená pouze rozsahem
obrazovky.Zpracovávat se bude vždy ten řádek,uvnitř kterého se kursor nachází,
je jedno kde.

 <kursorové klávesy> 		- pohyb kursoru po obrazovce
 <Shift> + <kursor vpravo> 	- kursor na konec řádku
         + <kursor vlevo>  	- kursor na začátek řádku
         + <kursor nahoru> 	- kursor na začátek obrazovky
         + <kursor dolu>   	- kursor na konec obrazovky
 <INST>				- vložení mezery pod kursor
 <DEL>				- smazání znaku před kursorem,posun kursoru vlevo
 <Shift> + <INST> 		- smazání obrazovky
 <Shift> + <DEL>  		- smazání řádku od znaku pod kursorem do konce
 <Shift> + </>			- posun o slovo vlevo
 <Shift> + <?>			- posun o slovo vpravo
 <CR>				- zpracování řádku
 <BL> 				- zpracování řádku + výpis (viz.dále)
 <ESC>				- kursor na začátek následujícího řádku
 <TAB>				- kursor na pozici následujícího tabelátoru
 <Shift> + <TAB>		- kursor na pozici předcházejícího tabelátoru
 <F1> ... <F5>			- od pozice kursoru se vypíše obsah funkční
 <Shift> + <F1> ... <F5>	  klávesy F1...F10

Řízení monitoru :

 <CTRL> +
 <P> 		- zapnutí/vypnutí tiskárny pro výpis
 <I>	        - vkládání/přepisování znaků
 <U>		- zapnutí/vypnutí zámku Shift pro písmena
 <F> + následný stisk <F1> ... <F10> - každá další stištěná klávesa se uloží
		  do definice klíče,definování končí stiskem klávesy definovaného
		  klíče.Pokud se ukládá klávesa <CR> nebo <BL>,je zároveň
		  zpracován aktuální řádek.Tomu lze zabránit současným stiskem
		  klávesy <CTRL>.

Nastavování tvaru výstupních ( resp. i vstupních ) údajů :

 <CTRL> +
 <B>		- binární výstup
 <O>		- osmičkový výstup
 <D>		- dekadický výstup
 <H>		- šestnáctkový výstup
 <S>		- výstupní čísla se vypisují po 8 bitech
 <W>		- výstupní čísla se vypisují po 16 bitech
 <N>		- výstupní čísla se vypisují bez znakové reprezentace
 <A>		- výstup znaků podle Ascii kódů
 <V>		- výstup znaků podle Video kódů Sharpa
 <X>		- zobrazení nastaveného tvaru

--------------------------------------------------------------------------------
4. Tvar údajů

	Parametry povelů lze zadávat ve všech zabudovaných číselných soustavách
i ve znakové formě.Platí následující pravidla :
Soustavu číselného údaje lze určit označením typu před číslem a to malým 
písmenem shodným s označením v předchozím odstavci.Zároveň lze určit rozsah 
čísla 8/16 bitů opět malým písmenem (podle předchozího odstavce) za označením 
soustavy.Takováto volba platí pouze pro číslo před nímž je uvedena.Pokud
za označením soustavy resp.rozsahu následuje dvojtečka,platí volba jako implicitní
i pro další čísla v řádku.Pokud není volba provedena vůbec,je implicitní typ
dán buď povelem nebo je shodný s nastaveným výstupním typem.Jako číslo může
vystupovat i znak v páru apostrofů (Ascii) nebo uvozovek (Video).Na místě
čísla může vždy stát i výraz používající operátory +,-,*,/ a \ jako modulo.
Unární mínus se považuje za součást čísla a pokud je použito,musí být těsně 
před jeho první číslicí.

Pozn.: U aritmetických operací není priorita,výpočet probíhá zleva doprava.
       Mezery se ignorují,nesmějí být pouze mezi číslicemi čísla.

Př. : 
		h 12,d w 32000,bs110111,hs : FE,w:AB00,o - 37,d:12 *3+88,
		b 111 / hE,'>',"@",'''," ",8* 'G' +1000  apod.

Význam označení parametrů v popisu povelů:

Parametry je možné oddělovat čárkami nebo pouze mezerami.

byte ... 8-mi bitové číslo,rozsah 8 bitů je implicitní.
word ... 16-ti bitové číslo,rozsah 16 bitů je implicitní.
addr ... 16-ti bitové číslo,rozsah 16 bitů je implicitní,implicitní soustava je 16.
data ... posloupnost čísel libovolných soustav i rozsahů,lze zadávat i znakové
	 řetězce v apostrofech nebo uvozovkách.Zvláštní význam zde mají tzv.
	 prázdné byty,které se realizují mezi čísly dvěma nebo více za sebou
	 jdoucíma čárkama,resp.speciálním znakem v řetězcích (stand. podtržítko).
	 Tento znak se zároveň vypisuje na místě nezobrazitelných kódů.
	 Rozsah dat je,až na vyjímky,libovolný od jednoho do 255 bytů.

Parametry uzavřené do páru hranatých závorek jsou nepovinné.

--------------------------------------------------------------------------------
5. Popis povelů

Pro všechny povely jsou společná tato pravidla :

      - Pokud povel může vypisovat více řádků,platí rozdíl mezi klávesami <CR> a <BL>.
        Při zpracování po <CR> se vypíše jeden řádek a činnost povelu končí,
	po <BL> výpis pokračuje až do :
		1/ stisku <ESC> ... ukončení povelu,
		2/ stisku <Shift> ... pozastavení výpisu až do uvolnění klávesy,
		3/ stisku <CR> ... zastavení výpisu,lze však pokračovat opětovným
	  	   odesláním řádku klávesou <CR> nebo <BL>.
		4/ vyčerpání všech položek výpisu.
      - Všechny modifikační povely vypisují řádky tak,že je v nich přímo možné
	provádět úpravy a stiskem <CR> resp. <BL> je provést.
      - U těchto povelů je testován výskyt středníku za posledním platným znakem.
	Pokud tam středník je,vypíše se po provedení modifikace další položka,
	jinak se pouze provede modifikace a kursor se přemístí na další řádek.
      - V každém případě představuje středník logický konec řádku a znaky jdoucí
	za ním se ignorují.
      - Při zadávání oblastí označuje druhá adresa vždy 1. nezpracovávaný byte !


-------------------     A ... find in disAssembling     ------------------------

syntaxe: A [ addr1 ][ ,addr2 ][ =data ]

Ve zpětném překladu oblasti addr1-addr2 do mnemoniky Z80 hledá text zadaný v datové
části povelu.Pokud není zadána addr1,hledá se od posledního výskytu,pokud není
zadána addr2,hledá se do konce paměti.Nezadaná data se zachovávají z posledního
povelu A,pokud nebyla zničena povely C,F,G,H,J nebo N.Je-li text nalezen,vypíše
se řádek ve tvaru shodném s povelem D ( Disassembly ).Po stisku <CR>,resp.<BL>
hledání pokračuje,jakákoliv jiná klávesa hledání přeruší a je nutné znovu zadat
povel A,ale už bez parametrů.
	Porovnávání se provádí vždy od prvního znaku instrukce a probíhá v Ascii
kódech ! Pokud se v datech vyskytují prázdné byty,jsou jejich pozice při porovnávání
přeskočeny.

Př.:    A 6000,8000='JP'
	A = 'LD A,_'
	A B000


-------------------     B ... dump/modify Breakpoints     ----------------------

syntaxe: B [ byte ][ = addr ]
	 BW [ byte ]

Breakpoint,jehož číslo udává byte,je nastaven na addr.Platná čísla breakpointů
jsou 1 až 8.Breakpointy nastavené na adresu 0 se považují za nenastavené,nuly
se pak nevypisují.Pokud není zadaná druhá část povelu,provádí se výpis od daného
čísla breakpointu,resp. implicitně od 1.Druhá forma povelu slouží k zápisu adres
bez vypisování modifikovaných položek.
	Breakpointy se do paměti umisťují až povelem volání programu a to jako
kódy RST 38H.Po návratu přes breakpoint i RET se opět všechny vymažou,nejsou
ale zrušeny ! Navíc se po návratu zapříčiněném breakpointem simuluje stisk
funkční klávesy F10.Pozor,breakpointy nesmí být umístěny v těch místech 
programu,kde je připojena VRAM v oblasti 1000-1FFF spolu s dolní ROM !!!

Př.:	B 1 = 5560
	B 5


-------------------     C ... Call program     ---------------------------------

syntaxe: C [ addr ]

Volání programu na adrese addr instrukcí CALL.Pokud není adresa zadána,použije
se hodnota registru PC.Před voláním jsou nastaveny všechny registry a I/O brány
A,B,C obvodu 8255 a A,B PIO,registry videoprocesoru CC,CD,CE,F0,přerušení
a mapování paměti (viz.povel GM).
	Návrat do monitoru je signalizován blikajícím borderem,ale obrazovka bude
inicializována až po stisku <ESC>.

Př.:	C 5000
	C


-------------------     D ... Disassmebly     ----------------------------------

syntaxe: D [ addr1 ][ ,addr2 ][ =data]

Výpis oblasti addr1-addr2 v mnemonice Z80.Pokud není zadána první adresa,pokračuje
výpis od poslední použité adresy,pokud není zadaná druhá adresa,vypisuje se až do
konce paměti ( samozřejmě jen po <BL>,jinak nemá addr2 význam ).Vypisovaná data
lze rovněž modifikovat,i když jen pomocí kódů a ne v mnemonice.


-------------------     E ... Exchange memory blocks     -----------------------

syntaxe: E addr1,addr2,addr3

Zamění v paměti dva bloky délky addr2-addr1 na adresách addr1 a addr3.Oba bloky
musí být disjunktní,jinak je hlášena chyba.

Př.:	E 4000,5000,F000


-------------------     F ... Find data     ------------------------------------

syntaxe: F [ addr1 ][ ,addr2 ][ =data ]

V oblasti addr1 až addr2 se hledá výskyt zadaných dat,jinak je činnost naprosto
shodná s povelem A.Pro oba povely se používá stejná vyrovnávací paměť pro data,
proto není možné zadávat po A povel F bez dat a naopak.Při výpisu je počet
vypsaných bytů z místa nalezení ohraničen shora tvarem výpisu a zdola délkou
dat.Proto mají význam prázdné byty před nebo za daty - způsobí výpis okolních
bytů.

Př.:	F 4000,6000=12 13 wFF00 'XYZ'
	F 3000=dw:13456,22,,,30000
	F = "???" 'abc__'


-------------------     GS ... Graphic screen     ------------------------------

syntaxe: G [ addr ]

Vykreslí obsah VideoRam Spectra umístěné na addr,jejíž implicitní hodnota
je 4000H.Zobrazení je 16-ti barevné s 32K VRAM nebo černobílé s 16K VRAM.
Shora a zleva je doplněno znakové měřítko.Návrat do debuggeru se provede 
po stisku <ESC>.

Př.:	G
	G 8000


-------------------	GP ... Graphic picture     -----------------------------

syntaxe: GPH addr,byte1,byte2
	 GPV addr,byte1,byte2

Vykreslí obrazec z adresy addr,jehož šířka je byte1 bytů a výška byte2 bodů.
Povel GPH vykresluje obrazec po řádcích,GPV po sloupcích.

Př.:	GPH 78F0,4,d32


-------------------	GT ... Graphic overturn     ---------------------------

syntaxe: GPT addr1,addr2

V dané oblasti provede stranové převrácení obrazových bytů,slouží pro převod
grafických obrazců z formátu Spectra do formátu Sharpa.

Př.:	GT 8A90,8AA0


-------------------	GM ... Graphic mode     --------------------------------

syntaxe: GM [data]

Nastavuje systémové proměnné,kterými je řízena konfigurace systému po spuštění
programu povelem C nebo J.Nejsou-li data uvedena,dojde k vypsání těchto proměnných
ve tvaru :

GM BB,BB,BB,BB,BB,BB,BB,BB,BB,BB,BB ;
   md wr rr p0 p1 p2 p3 p4 if m0 m1

Jednotlivé položky mají tento význam :
md ... registr módu (CEh)		p0-p4 ... registr palet (F0h)
wr ... registr módu zápisu (CCh)	if ... přerušení,0-povoleno,FFh-zakázáno
rr ... registr módu čtení (CDh)		m0 ... spodní ROM,0-odpojena,FFh-připojena
					m1 ... horní ROM,0-odpojena,FFh-připojena

Př. : 	GM 8,1,1,,,,,,FF
	GM


-------------------     H ... Help screen     ----------------------------------

syntaxe: H

Zobrazí stránku nápovědy,pokud je tato nahraná v paměti.Návrat se provede stiskem
<ESC>.Při použití nápovědy zůstává zachován původní obsah obrazovky.


-------------------     I ... dump/modify Input/output     ---------------------

syntaxe: I [ addr ][ =data ]

Pokud jsou zadaná data,zapíše postupně všechny byty na port dané adresy.Platné
jsou adresy módu 800 a to i 16-ti bitové.Nemá význam zapisovat do portů,které
jsou nastavovány monitorem : čítač 0 8253,PSG,porty 0CCH-0CEH,6CFH a 0F0H.
Nejsou-li data zadaná,přečte se a vypíše 1 byte z dané adresy.Brány A,B,C 8255
a A,B PIO jsou sice používány monitorem,ale jejich obsah se uchovává podobně
jako registry,tzn. i při volání a návratech z programů.Není-li zadaná adresa,použije
se hodnota z posledního povelu I.

Př.:	I D0 = C0
	I D1


-------------------     J ... Jump to program     ------------------------------

syntaxe: J [ addr ][ ,data ]

Činnost je zcela shodná s povelem C,až na to,že se program volá instrukcí JP
a nelze tedy použít RET pro návrat.


-------------------     K ... basic Keywords listing    ------------------------

syntaxe: K [ addr1 ][ ,addr2 ]

Vypisuje program v Basicu.Adresa addr1 musí udávat začátek řádku,addr2 byte
za posledním znakem posledního vypisovaného řádku.Po prvním zadání obou adres
se mohou dále používat impl.hodnoty,addr2 je stále stejná,addr1 je nastavena
vždy tam,kde bylo vypisování přerušeno.Při výpisu jsou uváděny i adresy paměti,
kde leží část řádku následovaná za adresou.

Př.:	K 5CCB,6000
	K 5E34
	K


-------------------     L ... Load data from CMT     --------------------------------

syntaxe: L [ addr1 [ ,addr2 ] ]

Načte do paměti program z kazety a uloží ho od adresy addr1 nebo od adresy
v hlavičce nahrávky,pokud není addr1 zadaná.Po nalezení hlavičky se vypíše
ještě startovací adresa,typ a jméno programu.Je-li  zadán rozsah addr1-addr2
ignoruje se hlavička záznamu a přečte se pouze tělo,jehož délka musí souhlasit
s délkou zadaného rozsahu.Nahrávání lze přerušit klávesou <ESC>.

Př.:	L
	L 6000
	L 6000,6100


-------------------     M ... dump/modify Memory     ---------------------------

syntaxe: M [ addr1 ][ ,addr2 ][ =data ]
	 MW [ addr ]

Bez zadání dat se provádí výpis paměti v nastaveném tvaru,pokud jsou uvedena
data,zapíší se od addr1 do paměti.I zde je možné v datech využívat prázdných bytů,
příslušné buňky paměti si pak zachovají původní obsah.Počet vypsaných bytů
na řádku závisí na tvaru a pohybuje se od 1 (binární byte) do 8 (šestnáctkový byte
bez znakové reprezentace) u číselných tvarů a je roven 16 u znakových tvarů.
Varianta MW slouží k zápisu bez vypisování modifikovaných dat.
	Povel M je jediným povelem,který umožní zásah do oblasti systému,proto
pozor na omyly !

Př.:	M 5000 = 12,,,15,'****',2378-236A
	M 3000
	M
	MW 2000


-------------------     N ... return to moNitor     ----------------------------

syntaxe: N

Provede návrat do monitoru MZ-800 ( resp. do IPL ).Do debuggeru se lze vrátit
současným stiskem <CTRL> a <RESET> nebo z monitoru skokem J1200.Pozor,restart
přes CTRL+RESET ničí několik bytů RAM v oblasti FFF0-FFF4 !!!


-------------------     O ... load Original data     ---------------------------

syntaxe: O [ addr1 [ ,addr2 ] ]

Nahrává přímo programy zapsané ZX-Spectrem.Činnost je zcela shodná s povelem L.


-------------------      P ... Print text     ----------------------------------

syntaxe: P [ data ]

Na tiskárnu jsou vyslána data následující povel a znak nového řádku.Tisk
nezávisí na zapnutí tiskárny klávesou CTRL P.Nejsou-li data zadána,provede
se pouze odřádkování.

Př.:	P 'Vypis programu'
	P 0C,E
	P


-------------------     Q ... Question     -------------------------------------

syntaxe: Q [ word ]

Vypíše hodnotu čísla resp. výrazu word v nastaveném výstupním tvaru.
Není-li hodnota zadaná,je vypsána hodnota zpracovávaná posledním povelem Q,
takže lze tento povel využít i jako paměť.

Př.:	Q d34567+FF8
	Q '0'*8+1000
	Q


-------------------     R ... dump/modify Registers     ------------------------

syntaxe: R [ reg ][ =data ]
	 RW [ reg ]

Provádí výpis nebo modifikaci všech registrů Z80.Adresuje se vždy celý registrový
pár,takže na místě reg může být : AF,BC,DE,HL,IX,IY,SP,PC,IR,AF',BC',DE',HL'.
Pokud nejsou uvedena data,provádí se výpis registrů od daného jména nebo od AF.
Při modifikci lze na místě dat zadat 1 nebo 2 byty,i prázdné.První byte se vždy
vztahuje k vyšší polovině páru (A,B,D ... ),při zadávání 16-ti bitových čísel
( tento rozsah je zde také implicitní ) se samozřejmě zapíše do vyššího registru
páru významnější byte.Varianta RW slouží k zápisu bez vypisování modifikovaných dat.

Př.:	R HL=3400
	R AF=s50
	R BC='bc'
	R HL'=,bs1101
	R SP
	RW BC


-------------------     S ... Save data to CMT     -----------------------------

syntaxe: S [ addr1,addr2, [ addr3 ],[ byte ] ,data ]

Zapíše blok paměti addr1 až addr2 na kazetu,addr3 udává startovací adresu,
implicitně 0000,byte typ souboru,impl. 01,data představují jméno.Pokud je
při vynechání addr3 a byte zadání jednoznačné,není nutné uvádět oddělovací čárky.
Pozor na používání malých písmen ve jménu,jejich kódy neodpovídají Sharpovi
( stejně jako u FETu ).Ve jménu také nesmějí být prázdné byty.
	Při zadání písmene S bez parametrů jsou zobrazeny parametry naposledy
použité a řádek je možné odeslat ke zpracování.

Př.:	S 3000,5000,4FF0,'JMENO'
	S 6000,6700,,10,'JMENO2'
	S 8000,9000,'***'


-------------------     T ... Transfer memory blocks     -----------------------

syntaxe: T addr1,addr2,addr3

Přenese blok addr1 až addr2 na adresu addr3.V žádném případě nedojde ke zničení
přenášených dat.

Př.:	T 5000,5020,5002


-------------------     U ... Unify memory blocks     --------------------------

syntaxe: U addr1,addr2,addr3

Porovná obsah bloků o délce addr2-addr1 na adresách addr1 a addr3.Při neshodách
vypisuje rozdílné byty z bloku addr1 až addr2.Ovládání výpisu je stejné jako
u povelů A nebo F.Je-li nastaven 16-ti bitový výstupní tvar,probíhá porovnávaní
ne po bytech,ale po slovech.

Př.:	U 5000,5040,6000


-------------------     V ... Verify data from CMT     -------------------------

syntaxe: V

Zkontroluje poslední provedený zápis na kazetu.Předpokládá se,že hlavička souboru
uložená na běžném místě od 10F0h nebyla zničena,např. RESETem.


-------------------     W ... Write to memory block     ------------------------

syntaxe: W addr1,addr2 [ =data ]

Do zadané oblasti addr1 až addr2 zapisuje opakovaně posloupnost bytů z dat.
Pokud se v datech vyskytují prázdné byty,je na jejich místě zachován původní
obsah paměti.Při opakovaném používání stejných dat je není nutné pokaždé znovu
zadávat.Obsah vyrovnávací paměti pro data je však zničen povely C,G,H,J a N.

Př.:	W 4000,5000=0
	W 4000,8000=1 2 3 4
	W 7000,7030='abc_efg',0
	W 3000,3100


-------------------     X ... set X-char     -----------------------------------

syntaxe: X [ byte ]

Tímto povelem se nastavuje speciální znak,sloužící k výpisu nezobrazitelných kódů
a k zadávání prázdných bytů do řetězců.Není-li parametr zadán,vypíše se současné
nastavení.Po nahrání by měl být nastaven prázdný znak na podtržítko.

Př.	X 40
	X '.'
	X


-------------------     Y ... switch on/off Yes questions     ------------------

syntaxe: Y

Zadání povelu zapne nebo vypne dotazování u povelů C,E,J,T,W a GT.
Příslušný povel se pak provede pouze tehdy,je-li  po dotaze stištěna klávesa Y.


--------------------------------------------------------------------------------
6. Nastavování některých parametrů programu

V oblasti od adresy 1200 leží celá řada parametrů,ovlivňujících činnost
programu,z nichž některé mají význam i pro běžného uživatele :

1208,1209 zpoždění autorepeatu
120A,120B rychlost autorepeatu,nelze však nastavovat plynule
120E-1217 8 pozic tabelátoru
1218,1219 čas čekání na tiskárnu
121A      00 tiskárny Centronics,FF tiskárny Sharp
121B      počet kódů pro odřádkování na tiskárně
121C-122F kódy pro odřádkování (většinou 0D,0A nebo jen 0D)
1220      počet kódů pro inicializaci tiskárny
1221-1228 kódy pro inicializaci tiskárny (většinou 18)
122E,122F rychlost zápisu na magnetofon 1:1=0227,2:1=0113,3:1=00B7
1230,1231 rychlost čtení z magnetofonu  1:1=019D,2:1=00CE,3:1=0089

Následují inicializační hodnoty pro většinu implicitních parametrů povelů
a oblast klíčů.Případným zájemcům odpovídající adresy sdělím ústně.
Pozor při nastavovní např. pomocí Turbo Copy.Tato oblast leží před spuštěním
progamu ne od adresy 1200,ale od 2200.

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

    !!!  Vše co bylo výše uvedeno je zcela bez jakékoliv záruky  !!!

    Nelze vyloučit drobné odchylky ani případné chyby programu,proto
    bych byl rád,aby mi každý,kdo něco podobného zjistí,napsal nebo
    jiným způsobem oznámil,co je nutné opravit.

    Již předem děkuji za shovívavost při posuzování tohoto díla.


			Michal Kreidl Software
			    Na křídle 13
			   160 00 Praha 6

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