mikroelektronika MIKROPROCESOROVÁ

Rozměr: px
Začít zobrazení ze stránky:

Download "mikroelektronika MIKROPROCESOROVÁ"

Transkript

1 r INFORMOVNOST mikroelektronika MIKROPROCESOROVÁ VÝPOETNÍ TECHNIK HRDWRE & SOFTWRE OBSH Informovanost 1 daptér pro píjem teletextu pomocí mikropoítae 2 Teletext 9 Program teletext 16 Dlouhý spánek Gajany 20 CP/M, RMDISK a adi pružného disku 22 Televízny displej DIS Pribojenie tlaiarne s interfejsom IpPR/Centronics na tari seriál hus 42 Micí pípravek k / pevodníku Digi 2 47 RIDS 53 Skicák 61 NLOG 67 ZX-Multitasking 72 DITEM 78 r matérské rádio Konstrukní píloha Vydává ÚV Svazarmu, Opletalova 29, Praha 1, tel ve Vydavatelství NŠE VOJSKO, Vladislavova Praha 1, tel šéfredaktor ing Jan Klabal, OK1UK, zástupce Luboš Kalousek, OK1FC Redakní rada: pedseda ing J T Hyan, lenové: RNDr V Brunnhofer, OK1HQ V Brzák, OKI DDK, K Donát, OK1DY, Ing O Filippi, Glanc, OK1GW, ing F Hanáek, P Horák, Z Hradiský, J Hudec, OKI RE, Ing J Jaroš, ing I Kolmer, ing F Králík, J Kroupa, RNDr L Kryška, V Némec, ing 0 Petráek, OK1NB, ing Z Prošek, ing F Smolík, OK1SF, ing F Simek, OK1FSI, ing M šredl, OK1NL, doc ing J Vacká, laureát st ceny KG, J Vodiek Redakce: Jungmannova 24, Praha 1, tel , ing Klabal, OK1UK, 1 354, L Kalousek, OK1FC, ing P Engel, ing J Kellner, I 353, ing Mystik, OK1MY, P Havliš, OK1PFM, I 348, sekretariát T Trnková I 355 Rozšiuje PNS objednávky do zahrani! vyizuje rovnéž PNS ústední expedice a dovoz tisku, závod 01, administrace vývozu tisku, Kafkova 9, Praha 6 V jednotkách ozbrojených sil rozšiuje Vydavatelství NŠE VOJSKO, administrace, Vladislavova 26, Praha 1, tel , Za pvodnost a správnost pfíspévku ruí autor Rukopisy odevzdány tiskárn v íjnu 1988, tato Konstrukní píloha má vyjit podle plánu v beznu 1989 Cena jednoho výtisku 10 Ks Vydavatelství NŠE VOJSKO, Praha V Nedávno jsem si nkde peetl, že Japonci dali do prodeje komputer, který odpovídá na otázky dítte nechrne stranou technický problém, jak se pístroji daí zanalyzovat dtskou e, pochopit smysl otázky, nalézt v pamti správnou odpov a jak ji opt lidskou ei pednést ale co na to dít? Ti co je mají, to znají z vlastní zkušenosti Dej mi pokoj nebo co se poád vyptáváš" pípadn se stroze odpoví a ne vždy zcela správn Kontakt dítte s rodiem je tím sice zachován, ale ne zrovna tím nejlepším zpsobem Dít bere rodie jako neomylnou autoritu Když se pozdji dozví, že rodi neml pravdu, nebo že nezná, je tato autorita ponkud otesena, cit a láska zde však vtšinou zstanou le co komputer a vztah dítte k jeho pesné a problém otázky zcela vyerpávající odpovdi Dít se dovídá mnohem více, je rychleji vzdlané, ale je ochuzeno o citovou stránku vztahu k rodii k zaízení které lovku Krom toho vzniká vztah lovka ke stroji, rozšiuje obzor poznání, uí ho navíc vyjadovací pesnosti, ale také tvoivému myšlení, jak otázku formulovat i jakou otázku položit, aby stroj pekonal Z lovka tak mže vyrstat vysoce inteligentní tvrce dalších hodnot, lovk, který se teba více uplatní v moderní technické spolenosti, protože byl od mládí pesn a bohat informován Potebujeme kvalitativn novou úrove veejné informovanosti i ve vojenské oblasti " píše v listu IZVESTIJ Stanislav Kondrašov a pokrauje: Bez ní nemžeme poítat se stabilní dvrou okolního svta vi sovtské politice Bez ní není možná seriózní veejná diskuse v zemi o úelnosti a prioritách státního rozpotu, o tom, jak velkou jeho ást si mžeme dovolit vnovat na budování a udržování ozbrojených sil Sovtský svaz se v roce 1987 na pd OSN zavázal, že oznámí reálné vojenské výdaje Splnní tohoto závazku je však spojeno s propoty, které komplikuje i tak relativní systém cen, rozptýlenost zbrojních zakázek po více než patnácti ministerstvech, a možná také v rozhodující míe to, že nikdo vážn výdaje nepoítal Nikoliv ze sovtských, ale z amerických publikací se dozvídáme, že jeden z významných sovtských vojenských initel za návštvy v US uvedl, že ani sám skutený rozsah vojenských výdaj nezná Neznáme celkový poetní stav našich ozbrojených sil, akoliv na Západ, napíklad v US, se poetní stav ozbrojených sil pravideln oznamuje Nevíme, jakou ást z celkového potu našich tank tvoí tank, které se mají zlikvidovat, a kolik tankových divizí zstane ve východní Evrop poté, až jich odtud bude šest staženo " Tyto skutenosti podle komentátora nejen brání dve okolního svta vi SSSR, ale pedevším brání racionálnímu ízení zem, racionální mobilizaci sil a zdroj k pestavb Tolik Rudé právo z 5 ledna 1989 Léta se v zemích RVHP mlky pedpokládalo, že je to nutný úmysl utajovat pesná ísla o emkoliv, aby tídní nepítel" nevdl Dnes se nám toto utajování všeho do nedávné minulosti mstí Rozrostlo se tak, že jsme neschopní mít jakoukoli skuten pravdivou evidenci 0 emkoli, ili jsme v totální nevdomosti o skuteném stavu vcí a to kdekoli Západní zem nám proto neví Neví našim údajm a provádjí si vlastníprzkumy a evidenci jak to vlastn v zemích RVHP skuten vypadá" (E ševarnadze) Všeobecná neinformovanost, ale 1 neznalost skuteného stavu vcí vyplývá také z totální nedisciplinovanosti vyplování rzných formulá a hlášení (tuto nedisciplinovanost ovšem podporuje jejich vlastní ubohost a asto i nesmyslnost) vymyšlenými nebo vhodn upravenými údaji tak, aby vyhovovaly pání nadízených složek Zpracované výsledky jsou pak pirozen mylnými podklady pro centrální zpracování, z kterého dále vznikají nereálné plány, scestné smrnice, nesplnitelná usnesení Dodavatelsko-odbratelské vztahy jsou narušeny, úkoly se neplní, prostoje a dluhy rostou to pedevším proto, že informace není strojov objektivní, lovk ji zkreslil, upravil, znehodnotil Komplexní hromadné nasazení a plné využití výpoetní techniky, automatizace sbru a vyhodnocování údaj by subjektivní vlivy lovka výrazn omezilo, pesunulo na periferii rozhodovacího procesu To by se ovšem nkterým bonapartistm nelíbilo, ale stroj vždy rozhoduje objektivn, nestrann, vdecky pesn jedin exaktní ízení spolenosti založené na objektivn pravdivé informovanosti je v moderní dob možné Nasazení výpoetní, automatizaní a další moderní techniky v ízení, vyhodnocování, rychlé koordinaci atd pímo v masovém mítku do všech hospodáských a ídicích struktur ve všech zemích západního hospodáského systému (EHS) umožnilo mimo jiné výhled sjednocení celé ekonomiky do jednotného tržního systému po roce 1992 S Nysami a sotý" by to nikdy nebylo možné Takováto nadnárodní, mohutná organizace by nikdy nemohla být rentabilní a bez dokonalého vybavení nejmodernjší technikou by se nutn zpátky atomizovala a pijala opt písná celní, vývozní a další opatení Bez supermoderní techniky v pokrokové industriální spolenosti není tedy možný rychlý koordinovaný vzájemn výhodný postup vped matérská zájmová innost, stavba nejrznjších pístroj a zaízení patily, patí a budou patit mezi krky v tomto smru Ing Jan Klabal

2 Ing Lumír Pibyl, Pavel Brychta v Noska 67, 664 n zbýšov Jedním z nových druhd informaních služeb pi souasném využití stávajících tras pro penos informací jsou systémy využívající dosud volných ádk v televizním signálu Systém, který pro penos informace digitálním zpsobem využívá volných ádk v plsnimkovém zatemovacím intervalu, dostal obecný název TELETEXT Teletextová služba byla poprvé realizována ve Velké Británii v polovin sedmdesátých let u státní spolenosti BBC pod názvem Ceefax a u komerní IB pod názvem Oracle Teletextové systémy jsou postupné zdokonalovány a v této souvislosti existuje dlení penosových systém na pt tzv úrovni: Úrove 1 základní abeceda bez diakritických znamének Šest základních barev, relativné hrubá grafika Tuto úrove má britská verze teletextu v základním provedení Úrove 2 abeceda vetn diakritických znamének, pastelové barvy,, hladké pechody mezi symboly mozaikového typu Tato úrove se ásten využívá pi aplikaci britského teletextu pro jiné jazyky Úrove 3 zavádí se tzv DRCS { Dynámica Ity Redefinable Character Set) dynamicky redefinovatelné soubory znak, tzn nejprve se z centra nadefinují netypizované znaky a symboly, pak jsou vyvolávány obdobné jako znaky typizované V této úrovni je možno vytváet grafiku s vysokou rozlišovací schopností, rozšíit poet barev, používat i obrázkového písma (japonština a ínština) _ 1 Úrove 4 aifageometrické kódování definuje zobrazované znaky s použitím pti základních povel pro kres- lení bod, ar a ploch Lze zobrazit obrazy bohaté na podrobnosti, které se kvalitou blíží fotografii V této úrovni pracuje nap kanadský systém Telidon metoda _ Úrove 5 alfafotografická umožuje penos statických obraz s vysokou rozlišovací schopností Obraz má zpoátku hrubou strukturu a s postupujícím asem se zjemuje Tato metoda je použita pi vývoji japonského systému Captain V eskoslovensku bylo po zvážení technických i ekonomických faktor rozhodnuto zavést systém W8T (World System Teletext takto je z prestižních a reklamních dvod nazýván britský systém teletextu) V sousedních zemích se tímto systémem bu už vysílá (NSR, Rakousko, Maarsko) nebo se vysílání pipravuje (Polsko) Základní technická specifikace systému WST: Data se penášejí rychlostí 6,937$ Mbit/s v tzv neviditelných" tv ád- 2 mikroelektronika cích (tj ádcích 7 až 22 a 320 až 335, které následují tsn po snímkovém synchronizaním impulsu, ale nejsou zobrazovány) Pokud není vysílán bžný tv signál, lze využít všech tv ádk Bhem jednoho tv ádku se penese informace o celém textovém ádku, tj íslo magazínu, íslo ádku a 40 znak, v pípad nultého ádku íslo magazínu, íslo ádku, íslo stránky a podstránky, ídící kódy a 32 znak 2 Každá zobrazovaná stránka má 24 textových ádk po 40 znacích První ádek stránky (tj ádek 0) se nazývá záhlaví Jsou v nm penášeny ídící informace nutné pro zobrazení stránky, dále íslo zobrázené stránky, název informaní služby (nap CST-TEXT nebo ORF-TELE- TEXT), datum a pesný as 3 Maximální poet penášených stránek je 800, každá z tchto stránek mže mít až 50 piazených podstránek** Stránky se rozdlují do tzv magazín po 100 stránkách Doba penosu jednoho magazínu je asi 25 s pi využití dvou ádk v plsnimkovém zatemovacím intervalu Pi vtším potu magazín nebo pi využití podstránek" se doba penosu celé relace píslušn prodlužuje 4 Rychlost penosu je možné zvtšit zvtšením potu využitých ádk (nap 4 nebo 6 v plsnimkovém zatemovacím intervalu) 5 Informace jsou penášeny sériov pomocí digitálních slov s jednotnou délkou osm bit Sedm bit je informaních, osmý bit je paritní U adres a dležitých funkcí je použito ochrany samokorigujícím Hammingovým kódem 6 Systém umožuje zobrazení textu do aktivního obrazu, nap titulkování poad pro neslyšící nebo zobrazeni tzv newsflash**, tj dležité krátké zprávy, která se na obrazovce objevuje v okamžiku vysílání 7 Mže být použito osm barev pro pozadí znak a vlastní znak Dáte je možné zobrazovat znaky s dvojnásobnou výškou Podrobný popis je uveden v souhrnném pehledu TELETEXT popis systému WST úrovn 15 na str 9 Stav v SSR V eskoslovensku do konce roku 1988 probíhalo experimentální vysílání, urené pedevším pro pracovníky redakcí teletextu a pracovníky spoj Od je zavedeno pravidelné vysíláni Pedpokládá se, že hlavní náplní této nové služby bude alespo z poátku pomoc národnímu hospodáství, tj sdlování informací z oblasti prmyslu, zemdlství, dopravy, zdravotnictví apod Dále bude nabízet programy rozhlasu a televize, divadel, informace o poasí, výukové programy, zpravodajské informace atd Specifickým problémem zavedení teletextu v SSR je existence dvou spisovných jazyk, resp i nkterých jazyk menšinových Rozšíení souboru znak tak, aby dokonalé zobrazit všechna diakritická znaménka, užívaná v eštin a slovenštin, a dále o znaky užívané v abecedách sousedních zemí, je úzce spojeno s volbou systému teletextu platná Základní tabulka znak 00, pro WST úrovn 1 (viz lánek TELE- TEXT popis ) je navržena pro anglitinu Pi postupném zavádní WST v evropských zemích musei být splnn požadavek na zobrazení specifických národních abeced Tak vznikly další normalizované národní tabulky, kde jsou na tinácti definovaných pozicích umístny nkteré národní znaky eština spolu se slovenštinou obsahuje znan vtší poet zvláštních znak Proto musel být systém na rozšíen alespo pi penosu úrovni 1 alfanumerických znak na úrove 2 Tím se však ponkud prodlouží doba penosu a zvýší se nároky na funkci dekodéru Úrove takové soustavy se oznauje jako úrove 1,5 Prakticky se penos dat na této úrovni provádí tak, že jsou vysílány tzv neviditelné ádky (pakety), které mají podobný formát jako textové ádky, ale mají íslo vyšší než 24 a nesou doplující informace pro dekodér znak Pro píjem informací penášených pomocí teletextu je teba, aby televizní pijíma byl vybaven speciálním dekodérem Teletextové dekodéry bývají zabudovány pímo do televizních pijíma a jsou sestaveny z jednoúelových obvod VLSI, vyvinutých pouze pro tento úel

3 Z dosavadního vývoje je zejmé, že v SSR bude otázka souástkové základny pro dekodéry ešena dovozem bu souástek nebo dekodér, pípadné celých TV pijíma Dekodéry se samozejm budou montovat do nových pístroj, protože podle vyjádení píslušných odborník dosud vyrábné pijímae nevyhovují koncepn pro kvalitní píjem teletextu Z tohoto dvodu, a také proto, že dekodéry sestavené ze speciálních obvod jsou ureny pro pímé vestavní do televizoru, nebude možné doplovat stávající tv pijímae tmito dekodéry V souasné dob u nás není tedy na em tyto informace pijímat Je vhodné zamyslit se nad možností, jak využít stávajících tv pijíma (i když nejsou zcela vhodné) a pípadn dalších dostupných pístroj tak, aby bylo možné teletext dekódovat a zobrazovat na stávajících televizorech i za cenu snížených kvalitativních požadavk Situace je podobná té, která vznikla v SSR pi zavádní II tv programu Tehdy byla ešena pomocí konvertor, tj pístroj, které umožnily píjem druhého programu i na starších tv pijímam Toto ešení bylo sice nepraktické (nutnost pepínání a nastavování dvou ladicích prvk), ale pesto umožnilo píjem bez nutnosti zásahu do zapojení televizoru Navrhované ešení Koncepce použití vnjšího" dekodéru teletextu je založena na tchto faktech: 1 Penosové charakteristiky moderních barevných televizor zaruují * nezkreslený penos barvonosných kmitot (stední kmitoet kolem 4,4 MHz) Dále bývají vybaveny vstupem a výstupem videosignálu se standardní úrovní Tento videosignál samozejm obsahuje i ádky nesoucí teletextová data (Praktickými zkouškami bylo zjištno, že pro píjem v místech kvalitního signálu vyhoví i penosné ernobílé televizory s doplnným videovýstupem) 2 Stále více se rozšiují osobní poítae, které umožují zpracovat vhodn upravenou informaci a zobrazit ji na obrazovce televizoru Barevné zobrazení, používané i u jednodušších poíta, odpovídá ásten upraveným požadavkm na zobrazení teletextu Na tchto skutenostech je založena myšlenka využít osobního poítae pro dekódování a zobrazování teletextu Samotný mikropoíta samozejm není schopen pímo zpracovat videosignál z televizoru Je teba vytvoit vhodný mezilánek (adaptér), který umožní vybrat data, vysílaná v píslušných tv ádcích, pevést je ze sériového do paralelního tvaru a uschovat je na potebnou dobu ve vyrovnávací pamti Z této pamti si je pak v daném okamžiku mikropoíta pesune do své operaní pamti, vhodným zpsobem zpracuje, a zobrazí na obrazovce Z uvedeného zpsobu dekódování vyplývají nkterá omezení a nevýhody proti standardnímu zpsobu dekódování: 1 Základní sestava pro píjem teletextu je složena z tv pijímae, adaptéru, mikropoítae a monitoru pro mikropoíta V praxi to znamená použití dvou tv pijíma 2 Pi požadavku na použití pouze jednoho televizoru je nutný bu zásah do pijímae nebo by bylo možné pi píjmu tv signálu obsahujícího teletext požadovanou stránku naíst do pamti mikropoítae, pak pepnout tv pijíma jako monitor a stránku zobrazit V druhém pípad by tedy bhem výbru a zpracování dat bvl na obrazovce televizoru program pijímaného vysílae (u standardního dekodéru je stále zobrazena poslední natená stránka) Dále by byla nutná zvuková signalizace nateni stránky V pípad, že zvolená stránka má rotující podstránky, je tento zpsob velmi nepraktický 3 Vzhledem ke zpsobu zobrazování mikropoíta pomocí okna" na obrazovce (ZX-Spectrum, Sord, Sharp) je zobrazená stránka rozmrov menší to má za následek zhoršenou jakost obrazu 4 Není možné vkopírovat zobrazované informace do tv obrazu, tj nelze nap titulkovat vysílané poady 5 Každý mikropoíta je zdrojem pomrn intenzivního rušení Také sám adaptér ruší, i když podstatn mén než mikropoíta Pi použití uvedeného zpsobu píjmu teletextu je vlastn mikropoíta pes televizor pipojen k antén Z toho plyne pedevším nutnost zkontrolovat možnost rušení okolních televizních a rozhlasových pijíma zvlášt v pípad, že se jedná o píjem na spolenou anténu Dále je nutné poítat s tím, že píjem teletextu bude zcela znemožnn, pokud pijímaný vysíla bude v I nebo II pásmu, a bude obtížný pi píjmu vysíla v dolním konci III pásma (kanál 5 CCIR-B a 6 CCIR-D) Tento problém se netýká jenom píjmu zahraniních vysíla, s teletext je sice vysílán pouze v síti druhého programu (tj pásmo IV a V), ale ve spolených anténách bývá pijímaný signál pevádn na nkterý kanál v pásmu I a II a jeho využití pro píjem teletextu tímto zpsobem je znemožnno ešením je pak pouze individuální píjem druhého programu Dekódování teletextu mikropoítaem naopak umožuje snadné zpracování pijatých dat, jejich penos do jiné informaní sít a další zpracování Dále je možné úpravou programového vybavení modifikovat zpracování informací podle požadavk uživatele Relativn velká operaní pam mikropoítae Obr 1 Blokové schéma adaptéru umožuje i takový zpsob dekódování, kdy je nkolik požadovaných stránek nejprve nateno a zpracováno a pak jsou postupn v libovolném poadí zobrazovány bez jakýchkoli ztrátových as Koncepce adaptér pro dekódování teletextu mikropoítaem daptér se skládá ze dvou základních ástí analogové a digitální, viz blokové schéma na obr 1 V analogové ásti je videosignál nejprve zesílen ve vstupním zesilovai, pak jsou z nho oddleny synchronizaní impulsy a vlastní data Tyto dva signály jsou dále zpracovávány v digitální ásti adaptéru Ze synchronizaních impuls jsou odvozeny klíovací impulsy pro ízení výbru dat a sériov-paralelního pevodu Data, pevedená do paralelního tvaru, jsou pivádna do identifikaního obvodu, který reaguje na identifikaní slovo teletextu (framing code) V pípad, že je toto identifikaní slovo nalezeno, zapíší se následující data z píslušného ádku do vyrovnávací pamti V aktivní dob plsnímku, tj v dob, kdy je na obrazovce zobrazován obraz vysílaný vysílaem, pak mikropoíta ídí pesun dat z vyrovnávací pamti do vlastní operaní pamti a dále je zpracovává podle zadaných požadavk Ve skutenosti nejsou jednotlivé funkní bloky oste oddleny, ale naopak, z dvod co nejjednoduššího zapojení se navzájem prolínají Popis zapojení a funkce jednotlivých obvod Zapojení adaptéru a napájecího zdroje je uvedeno na obr 2 a 3 nalogová ást vlastního adaptéru je ešena klasickým zpsobem pomocí diskrétních souástek, digitální ást využívá obvod TTL SSI, MSI a LSI Tranzistory TI, T2, T3 a T3 tvoí vstupní zesilova, jehož zesílení lze nastavit promnným rezistorem R5 Pedpokládá se, že velikost mezivrcholového naptí vstupního signálu je v rozsahu 0,5 až 5 V Tranzistory T3 a T3 vytváí oddlené výstupy videosignálu pro separátor a tvarova dat a separátor a tvarova synchronizaních impuls Z emitoru tranzistoru T3 je signál piveden do obnovitele stejnosmrné mikroelektronika 3

4 , 2,, / 1,

5 : * v «1 tt - složky tvoeného kondenzátorem C8, rezistorem R14 a diodou Dl Ten upíná temena synchronizaních impuls na úrove asi 1 V Vlastní obrazový signál prochází dolní propustí, která je tvoena rezistorem R15 a kondenzátotem C9 Takto upravený signál je piveden na neinvertující vstup komparátoru synchronizaních impuls (t/2 102) Invertující vstup je spojen s jezdcem nastavitelného rezistoru R26 Tímto trimrem se nastavuje vzorkovací úrove Na výstupu kom parátoru pak získáme synchronizaní sms obsahující ádkové Lsnímkové synchronizaní impulsy (H) V obvodu složeném z 103, R18, R19, Cl 9 jsou z této smsi oddleny snímkové synchronizaní impulsy (v V) Od snímkového synchronizaního impulsu (V) je odvozen pomocí dvou monostabilnfch klopných obvod (104) signál GO, který vymezuje dobu, po kterou se pedpokládá píchod ádk obsahujících teletext (tj ádky 7 až 22 a 320 až 335) Pesné asové umístní signálu GO lze nastavit pomocí R21 a R23 Z emitoru tranzistoru T3 je pes kondenzátor C4 pivádn videosignál pímo na neinvertující vstup komparátoru (2/2 102) Obvod C5, R9, 2/4 loi, R10, C49 a T4 tvoí spotu S C4 obnovitel stejnosmrné složky Upnutím na úrove erné se odstrauje vliv kapacitní vazby na posun úrovní videosignálu pi kolísání stedního jasu Vzorkovací úrove, pivádná na invertující vstup komparátoru z R13, musí být nezávisle na velikosti pivádného videosignálu vždy uprosted mezi úrovnmi log O a log 1 Toho dosáhneme tak, že napájíme rezistor R13 ze špikového usmrovae T5, R11 a C6 pes tranzistor T6, který slouží pro posun úrovn naptí Naptí na emitoru T6 se pi zmnách velikosti pivádného signálu mní souhlasn s úrovní odpovídající log 1 Tím je zajištno automatické udržování vzorkovací úrovn na požadované hodnot Na výstupu komparátoru dostaneme signál DT, který obsahuje teletextová data v sériovém tvaru Kondenzátory C16 a C16 slouží k doladní" (tvarování) signálu DT Ze signálu DT jsou v obvodu tvoeném 105, rezistory R24, R25, R26, R27 a kondenzátory C17 a C18 získány synchronizaní impulsy pro generátor' hodinového kmitotu 6,9375 MHz Generátor využívá jedno hradlo 106 spolu s C21, C22 a LI jako oscilátor a zbývající hradla slouží jako invertory Na výstupu tchto invertor získáme signál CLK a CLK, který je nutný pro sériov-paralelní pevodník Generátor je klíován signálem GO, tzn že kmitá pouze v dob pedpokládaného píchodu teletextových dat Sériov-paralelní pevodník je realizován pomocí posuvného registru 107, obvodu 108, zapojeného jako osmikový íta, a mezipamti (budie sbrnice) loii Posuvný registr je klíován signálem GO Na vstup posuvného registru jsou pivádna data v sériovém VHXO innnnjiiijuurrinnn^^ / / Jf V i t GO CLK DT mm», i 1 WE nn, ENBLE Jfjj, 1 B * % sm : Signet DT je citlivý no pfípojem' osatoskopu Lze st pomoci lok, že snímáme signál no vývodu 3 posuvného registru 107 Obr 4 Prbhy hlavních signál bhem zaátku jednoho plsnímku SH SH, írnjxaimx^^ jlinjiiimmniuinnnnnriiin^ T mumm TrTrfTnrr~i u tvaru, posuv dat je provádn v rytmu hodinového kmitotu CLK Souasn Je signál CLK pivádn do osmikového ítae, který vytváí zapisovací impulsy (STB1) pro zápis jednoho bajtu do mezipamti 1011 Obvody 109, a 2/4 101 tvoí identifikaní obvod, který reaguje na pítomnost tzv rámcového kódu na zaátku teletextového tv ádku Jestliže se na výstupu posuvného registru objeví tento kód, pak se na výstupu 1010 (vývod 8) vytvoí impuls (FR) Pokud se tento impuls vyskytne na zaátku ádku (kontrola pomocí 2/4 loi ), je pak z tohoto signálu a ze signálu TT pomocí klopného obvodu (2/4 1014) vytvoen signál WE a WE, který slouží k ovládání mezipamti (1011) a vyrovnávací pamti (1019, 1020) Dále je od signálu WE pomocí 3/ odvozen synchronizaní impuls pro osmikový íta (108) Vyrovnávací pamf IkB tvoí obvody 1019 a 1020 Pro adresování této pamti slouží ti šestnáctkové ítae 1016, 1017 a 1018 Inkrementování tchto íta je provádno pi zápisu impulsy (STB1) získanými v osmikovém ítai (108), které slouží souasn pro zápis do mezipamti (1011), pi tení pak impulsy picházejícími pes 1015 z mikropoítae (STB2) Pesný okamžik pepisu jednoho bajtu z mezípaméti do vyrovnávací pamti (signál CS MÉM) je odvozen pomocí 1013 v závislosti na stavu osmikového ítae (108) Protože vyrovnávací pam není nulovaná, je teba pi tení vymaskovat ty bajty, které nebyly pi pedchozím zápisu pepsány To je provedeno pomocí 1022 Citaci cyklus je zkrácen, je využíváno pouze 448 bajtu vyrovnávací pamti Po píchodu snímkového synchronizaního impulsu je íta " vynulován, bhem aktivního signálu GO a WE se inkrementuje a zastaví se na urité adrese Od této adresy pokrauje po skonení aktivního signálu GO v inkrementování mikropoíta, pam je však odpojena od sbrnice Teprve až dojde k peteení" ítae a jeho vynulování, je pam pipojena ke sbrnici Jelikož mikropoíta te pouze 448 bajt, je zarueno, že pete pouze skuten požadóvané bajty, ostatní budou zamaskovány hodnotou FF (hex) První monostabilní klopný obvod v 1021 slouží k prodloužení signálu WE pro signalizaci pítomnosti teletextového signálu Druhý monostabilní klopný obvod vytváí po skonení signálu GO impuls nutný pro innost maskovacího obvodu (signál Íf) Prbhy dležitých signál bhem jednoho plsnímku a bhem píchodu teletextového datového ádku jsou rozkresleny na obr 4 a 5 Mikropoíta je k adaptéru pipojen pes obvod typu 8255 Signály CS PIO a RD PIO nejsou pipojeny pes porty, ale jsou odebírány pímo z obvodu 8255 (vývod 6 a 5) Z adaptéru do mikropoítae jsou pivedeny signály DO až 07 a GO Z mikropoítae do adaptéru jsou pivedeny signály ENBLÉ, CS PÍO Obr 5 Prbhy hlavních signál bhem píchodu teletextového ádku (prbhy jsou idealizované, skutené vzájemné umístni signál závisí na zpoždní použitých obvod) mikroelektronika 5

6 Nastavení adaptéru Na vstup adaptéru je teba pivést videosignál s mezivrcholovým naptím 0,5 až 5 V viz ást Podmínky dobrého píjmu" Protože zatím nelze nastavit televizor podle adaptéru, naladíme jej na co nejostejší obraz Zesílení vstupního zesilovae se nastaví rezistorem R5 tak, aoy na rezistorech R7 a R8 bylo mezivrcholové naptí asi 3 až 5 V Pi nižší kvalit signálu je teba nastavit vtší amplitudu Pak nastavíme rezistorem R16 pomocí osciloskopu vzorkovací úrove tak, aby na výstupu komparátoru synchronizaních impulsu byly tyto impulsy stabilní, ale pitom nedocházelo ke vzniku falešných impujs Zkontrolujeme prbhy signál H, V a V, které musí odpovídat prbhm na obr 4 Pak zkontrolujeme a nastavíme promnnými rezistory R21 a R23 signál GO a GO Pi nastavování se orientujeme podle micího ádku Pro tyto prácé je vhodný dvoukanálový osciloskop nebo alespo osciloskop s možností externí synchronizace Pi nastavování signálu GO osciloskop synchronizujeme signálem V Pi nastavování je teba vzít v úvahu, že mohou být zobrazovány sudé i liché plsnímky, které jsou navzájem o pl ádku posunuty Z toho plyne, že všechny signály spjaté s ádkovými synchronizaními impulsy se mohou zobrazovat ve dvou pozicích Naopak signál GO, který je odvozen od snímkových synchronizaních impuls, musí být naprosto stabilní a musí být nastaven s jistým pesahem tak, aby pekrýval výskyt teletextových ádk v sudém i lichém plsnímku Je vhodné nastavit šíku aktivního signálu GO podle skuten vysílaných teletextových ádk V pípad píjmu více rzných systém se nastaví šíka GO podle nejrozsáhlejšího z nich Pro penos teletextu mohou být obecn použity ádky 7 až 22 (resp 320 až 335) Cs televize využívá zatím ádky 19, 20 (332, 333) Micí ádek má 17 (330) Oscilátor hodin pedem naladíme (s kontrolou ítaem) tak, aby voln kmital na kmitotu asi 7 MHz Pro nastavení je teba odpojit signál GO od vstupu 3 obvodu 106, nepipojovat videosignál, aby nedocházelo k tvarování synchronizaních impuls (signál SYNCH) a íta pipojit na vývod 8 nebo 12 obvodu 106 Jestliže máme pedbžn nastavený oscilátor hodin, pipojíme osciloskop na signál WE (osciloskop synchronizujeme signálem GO) a promnným rezistorem R13 se snažíme nastavit takovou vzorkovací úrove pro komparátor dat, aby prbh signálu WE odpovídal prbhu na obr 4 a byl stabilní Mžeme si pomoci i jemným doladním oscilátoru a doladním tv pijímae, ze kterého získáváme videosignái (viz ást Podmínky dobrého píjmu") Poet impuls signálu WE musí odpovídat potu pítomných teletextových ádk Dále se mohou nepravideln vyskytnout i falešné impulsy odpovídající ádkm se synchronizaními impulsy soustavy SECM nebo micímu ádku Nakonec nastavíme pomocí promnného rezistoru R32 zpoždní signálu WE 6 mikroelektronika ' na dobu o nco delší než je doba trvání jednoho plsnímku, tzn, že pi pítomnosti teletextových dat bude na vývodu 5 obvodu 1021 trvale log 1 Dioda D5 pak indikuje pítomnost teletextových ádk Tím je pedbžné nastavení ukoneno Je možné ješt zkontrolovat, zda v prbhu aktivního signálu WE ítají ítae 108 a 1016, 1017 a 1018, a zda po skonení impulsu GQ je v 1021 vytváen impuls (signál INT viz obr 4) Dále je možné vhodným osciloskopem nebo log analyzátorem zkontrolovat pr- Pi použiti bhy signálu podle obr 5 dobrých souástek by však mlo být vše v poádku Další nastavení se provádí pomocí mikropoítae Pro ovení innosti adaptéru slouží v píloze 1 uvedený program v BSICu a rutina ve strojovém kódu Jsou ureny pro mikropoíta ZX Spectrum, lze je však snadno upravit i pro jiné poítae Pi úprav je pedevším nutné peadresování vstupních a výstupních port obvodu 8255 podle daného poítae Propojení adaptéru a interfejsu s obvodem 8255 je uvedeno v tabulce obr 6 Vývod obvodu 8255 Signál Signál Vývod adaptéru 4 PO DO 4 3 P1 Dl 6 2 P2 D2 8 1 P3 D P4 D P5 D P6 D P7 D PCO GO PC7 ENBLE RD PIO 27 6 CS CS PIO 28 7 _L 30 Obr 6 Propojení adaptéru s mikropoítaem pomocí obvodu 8255 Rutina ve strojovém kódu jednorázo- pamti a ukládá jej do operaní pamti od adresy 8032 (hex) Pete 512 bajt, v pete obsah vyrovnávací tzn celou vyrovnávací pam (448 bajt) a pak dalších 64 bajt, které už nejsou maskovány Petené údaje se pak zobrazí pomocí programu napsaného v BSICu Po spuštní programu a pak po každém stisknutí libovolné klávesy je na obrazovku jednorázov vypsán obsah všech 448 bajt vyrovnávací pamti Nejprve jsou vypisovány zamaskované bajty, na konci jsou pak vypsány teletextové ádky vetn tí bajt obsahujících rámcový kód, íslo magazínu a íslo ádku Zamaskované bajty jsou na Spectru zobrazovány jako (c), rámcový kód jako apostrof Za rámcovým kódem následují dva adresovací bajty, pak dalších 40 znakových bajt teletextového ádku a na konci jsou dva nebo ti nulové bajty Protože vtšina kód pro penos alfanumerických teletextových znak se shoduje s kódem ISO-7 (SCII), mly by být nkteré ádky itelné (nebo alespo jejich zaátek) Mla by se zobrazit i záhlaví nkterých stránek ídicí znaky ze sloupce O a 1 tabulky GO se zobrazí inverzn ádky, které penáší grafické znaky nebo doplkové informace, se samozejm zobrazí pomocí SCII znak tak, že nebudou, dávat smysl Dáte zkontrolujeme, zda první platný ádek ve vyrovnávací pamti zaíná rámcovým kódem (apostrof) Pokud tomu tak není, lze provést následující úpravu zapojení: vývod odpojíme od vývodu a pipojíme jej k vývodu Pokud se budou zobrazovat stále pouze neitelné ádky, je teba hledat chybu v adaptéru Ze zobrazovaných znak je možné nap usoudit, zda se penáší správn všechny bity DO až D7, zda funguje maskování pamti atd Konené nastavení provádíme s programem TELETEXT Pokud se pi použití testovacího programu podailo naítat alespo zaátky nkterých ádk, mlo by být možné po spuštní programu TELETEXT naíst teletextové testovací stránky (v eském vysílání magazín 8, ve slovenském 3) Nejprve opakovan naítáme stránku s názvem ZKOUŠK SYNCHRONI- ZCE DEKODÉRU a nastavíme pesn kmitoet hodin, pípadn úrove vzorkování dat Pak opakovan naítáme stránku OPTIMÁLNÍ SYNCHRONIZCE DEKODÉRU a pokud je teba, dostavíme úrove vzorkování dat, pípadn ješt jemn doladíme kmitoet hodin Nakonec nateme stránku ZKUŠEBNÍ OBRZEC TELETEXT a zkontrolujeme zobrazování všech znak, mód zobrazení a innost všech funkcí Pokud je vše v poádku, mžeme se pokusit zmenšovat zesílení vstupního zesilovae (R5) a pitom jemn doladit nastavení komparátor (R26, R13) ím kvalitnjší je signál, tím menší zesílení mžeme nastavit (Zpracováním signálu s nízkou úrovní se dále sníží nepíznivý vliv zmn stedního jasu a kolísání úrovn videosignálu na správnost dekódováni) Optimální amplituda signálu na rezistorech R7 a R8 je asi 3 V, záleží však na zdroji signálu V nkterých pípadech mže dávat lepší výsledky i amplituda 5 V Pi dálkovém píjmu mžeme dále nahradit kondenzátory C16 a Cl 6 otoným kondenzátorem o kapacit asi 500 pf a pokusit se pi opakovaném naítání zkušebních stránek nastavit píjem s co nejmenším potem chyb Konstrukní ešení Celý adaptér vetn zdroje byl postaven na univerzální desce Spoje byty vedeny vodiem se samopájitelnou izolací Rozložení souástek není kritické s výjimkou vlastního sériov-paralelního pevodníku a generátoru hodin Tyto obvody, tj 105, 106, 107 a 1010 je vhodné umístit co nejblíže k sob Dále je teba napájet tyto obvody z jednoho uzlu a tento uzel blokovat tantalovým kondenzátorem 4,7 j*f U všech 10 byl do napájení zapojen blokovací kondenzátor 68 nf (100 nf), u 102 byly pipojeny na kladnou i zápornou vtev napájení Jako LI byly používány neupravované cívky ze zvukových mf modul s televizor Pesný poet závit není kritický, hrub je možné oscilátor doladit zmnou kapacity kondenzátor C21 a C22 Pomr C22/C21 by ml být pibližn 1,5 Diody D2 a D3 byly použity z toho dvodu, že pi experimentálním ovování byl generovaný signál GO stabilnjší, než pi použití zapojení bez

7 I Píloha 1 tchto diod Jako C13 a C15 je vhodné Testovací program v BSICu a rutina pro petení obsahu vyrovnávací pamti použít stabilní kondenzátory, není to však nutná podmínka r 1 REM LOO **COO 32768,100 5 RNDOHIZE USR RNDOHIZE USR LET i =32818 * 35 as GO SUB IF INKEY$=" THEN GO TO GO TO STOP 1000 FOR j=i TO i LET a=p EK j 1012 IF (a=39) ND <j<=i+446) THEN PRINT 1018 IF a>=128 THEN LET a=a IF a>=32 THEN PRINT CHR$ (a)} 1030 IF a<32 THEN PPER 0: INK 7: PRINT CHR*(a+64): PPER 7: INK NEXT j 1050 RETURN,z80 use z80 cpu phase 8000h i origin for ZX-Spectrua 5 teletext test prograa i/o port assignaents : pa - data froa teletext pco - /go signál froa teletext pc7 - enable signál to teletext prograa eguates 001F pa egu lfh j pio port a 005F pc egu 5fh pio port b 007F cr egu 7fh pio control register 0093 cw egu b } control word for pio OOOF enbll egu b enable=l coaaand OOOE enblo egu b enable=0 coaaand 8000 init: startup procedue - ppi initialization E 93 ld a, cm } send control word to ppi 8002 D3 7F cut (cr),a E OE ld a, enblo and reset enable signál F out (cr),a OD jr aain juap to aain prograa 800 waiting For go signál waitgo: 800 DB 5F in a,(pc) j check go bit 8000 C8 47 bit 0,a active in low 80QE 20 F jr nz, waitgo go not found 8010 waitgcl: 8010 OB 5F in a,lpc> check go bit again 8012 C8 47 bit 0,a now active in high F jr z,waitgol { go active - wait 9016 C9 ret retm to caller get the teletext lineš to bufer 8017 aain: 8017 F3 di disable interrupts 8018 CD 800 call waitgo waiting for go signál is finished 801B 3E OF ld a, enbll set enable signál to 1 801D B3 7F out <cr),a 80IF F ld bc,pa port base address+256* * of bytes (*256) ld hl,bufer store area for data 8025 ED B2 inir get data froa decoder F ld bc,pa port base address+256* of bytes 802 E0 B2 inir get data froa decoder E 0E ld a, enblo reset enable signál 802E D3 7F out (cr),a 8030 FB ei enable interrupts 8031 C9 ret return to basic 8032 buffersdefs 512 buffer area j end Pedepsané typy 10 ady 74LS, 74S a 74 musí být dodrženy u 103, 106 a 1015 Na míst 105 je možné použít typ 7403 U ostatních obvod lze použít adu 74S i 74 Pi použití typ 74 souasn na pozicích 109, 1010, 101 a 1014 mže dojít vzhledem k velkému zpoždní k chybné funkcí sériovparaleiního pevodníku V tomto pípad je možné pímo propojit vývod s vývodem Pak je adaptér schopen pracovat spolehliv i s tmito obvody, ale za uritých okolností mže být dekodér náchylnjší k výskytu chybných ádk daptér je s mikropoítaem propojen tináctižilovým plochým vodiem délky asi 35 cm Videosignál z tv pijímae je piveden stínným nf kablíkem délky asi 1 m Podmínky dobrého píjmu Pro dobrý píjem teletextu je nutné splnní tchto dvou základních pedpoklad: a) Vhodný televizní pijíma, ze kterého získáváme videosignál pro zpracování v adaptéru b) Dokonalý píjem píslušného tv vysílae Pod oznaením vhodný pijíma je myšlen pedevším pijíma pro barevný obraz V nkterých pípadech lze použít i dobe seízený ernobílý pijíma, pokud má vstupní díl a obrazovou mezifrekcenci zapojeny obdobn jako barevné pijímae To znamená,, že vhodné jsou ty s pijímae, které mají obrazovou mezifrekvenci osazenou integrovaným obvodem 240D nebo 241D Zahraniní televizory, zapojené obdobn, budou patrn také vhodné, nebyly však autory vyzkoušeny Rozhodn se nehodí starší typy televizor, které mají obrazovou mezifrekvenci osazenou tranzistory nebo dokonce elektronkami Pokud je napájení televizoru ešeno bez galvanického oddlení od sít, je nutný oddlovací transformátor Videosignál lze získat burf ze standardního vídeovýstupu nkterých tv pijíma (Oráván, Mánes, leš) nebo je nutné výstup do tv pijímae doplnit Pokud není zaruen dokonalý píjem nebo jde o dálkový píjem zahraniních vysíla, pracujících v norm CCIR- B a CC1R-G, je zvláštní videovýstup nutný vždy tlacrosj Obr 7 Zapojení vídeovýstupu Spbois: 8032 BUFFER 007F CR 0093 CW OOOE ENBLO OOOF ENBL INIT 8017 HIN 001F P 005F PC 800 UlTGO 8010 HITG01 Jednoduché, ale osvdené zapojeni vídeovýstupu je na obr 7, Toto zapojení bylo úspšn vyzkoušeno u televizor Oráván, Merkur a Pluto Pro vyvedeno Fata! error(s) mikroelektronika 7

8 ní signálu na zadní panel televizoru je použito nestínné lanko Pro dobrý píjem je dále nutné pesné naladní tv pijímae Hrub naladíme pijíma podle svitu diody D5, jemn doladíme podle zobrazovaného asu (íslice nesmí vypadávat) a pak pi opakovaném zobrazení nkteré zkušební stránky Optimální naladní se nemusí shodovat s optimálním naladním obrazu Pokud televizor nemá vyvedeno dolaování FC, je v nkterých pípadech nutné FC vypnout (vtšinou otevením dvíek pedvolby nebo tlaítkem) Další podmínkou pro píjem teletextu je, stejn jako v pípad standardních dekodér, dokonalý píjem píslušného tv vysílae Píjem musí být bez duch, barevný obraz nesmí snžit a nesmí obsahovat rušivé moaré V pípad snížených nárok je možné pipustit i ásten zhoršený signál, možnost píjmu je teba ovit V tomto pípad je však nezbytn nutné doplnit do televizoru zvláštní videovýstup Pro informaci jsou uvedeny dva pípady, kde bylo dosaženo vyhovujícího píjmu teletextu i za zhoršených podmínek: a) snžení barevného obrazu na hranici pozorovatelnosti, slabé moaré, obraz ostrý bez duch, b) barevný obraz bez pozorovatelného snžení, zetelné moaré, obraz mírn znehodnocený duchy" V tchto pípadech mohou as od asu vypadnout nkteré znaky nebo i celé ádky Silné zarušení obrazu duchy" mže zpsobovat systematické chyby v zobrazování Na urité stránce nap dochází ke stále stejné chyb, na jiných stránkách se chyby nemusí projevit Silné snžení a silné moaré v obraze vtšinou úpln znemožní píjem Systém je principiáln nejcitlivjší na impulsní rušení (komutátorové motorky atp) Toto rušení zpsobuje vypadávání znak, ádk, skupin ádk a dokonce i celých stránek Zpsobuje i natení falešných stránek, pípadn mže zcela znemožnit píjem I rušení, které v obraze není takka postehnutelné, se projevuje tímto zpsobem Vtšinou jde o rušení širokopásmové, lze je tedy identifikovat tak, že televizor pepneme na nkterý obsazený kanál I a li pásma pípadn nkterý nižší kanál III pásma, kde se pak toto rušení projevuje výraznji Jediným ešením je odstranní zdroje rušení Je možné pokusit se ješt 0 píjem vhodného vysílae na nkterém kanálu v V pásmu, kde je vliv rušení vtšinou menší Pi píjmu mže samozejm rušit 1 vlastní mikropoíta (jak bylo popsáno v ásti Navrhované ešení") Závr Bhem pípravy lánku došlo k následujícím zmnám: a) Byla vytvoena nová verze programu TELETEXT (verze 24), která odstrauje nkteré nedostatky verze 1 9 a je rozšíena o další funkce b) Pro dosažení kompatibility ZX Spectra a Dodaktiku Gama je nutné pro program TELETEXT v 24 pipojit signál GO n^ bit PC2 (pvodn PCO), tj na vývod 16 (pvodn na 14) obvodu 8255 Pro ostatní poítae platí tabulka na obr 6 beze zmn c) eskoslovenská televize vysílá od teletext v ádcích 7, 8, 19, 20 (320, 321, 332, 333) by bylo možné nastavit potebnou šíku signálu GO, je nutné zkratovat rezistor R20 a pípadn ke kondenzátoru Cl 5 pipojit paraleln kondenzátor s kapacitou 33 nf Ostatní souástky z- stávají beze zmn d) Bylo zjištno, že zesilovae ST mohou omezit tv signál natolik, že i pi zdánliv perfektním obrazu je píjem teletextu vylouen Seznam souástek Integrované obvody: 102 UCY75107PC 104, 1021 UCY74123N 1011 MHB , 1020 MH74164, MH74164S MHB , 1017, 1018 MH MH MH74LS00 loi, 1012, 1013, 1014 MH74LS00, MH74S00, MH MH74SQ0 MH MH74LS10, MH74S10, MH MH74S03, MH MH74LS30, MH74S30, MH MH74LS04, MH74S04, MH M7805 Tranzistory: TI, T3, T3' T4, T5 KC509 (KC508) T7 KC507 T2, T6 BC179 (BC178) TI 01 KF517 (KFY16, KFY18) Diody: Dl D4 D101 D104 Dl 05 D5 Dl 06 K206 KY132/80 KZ260/5V6 LQ1732 LQ1432 Keramické kondenzátory: Cl 7, C18 47/TK754, 774, 794 C23 56/TK754, 774, 794 C9, Cl 6' 1 50/TK794, 754, 774 C16 220/TK794, 754, 774 C24 470/TK794, 774 C6 820/TK724, 794 CIO, C49 1nO/TK744, 724, 794 C7 4n7/TK783, 764, 744, 764 C5, C14 10n/TK783, 764 Cil, C48, Cl 2 22n/TK783, 764 Cl' C8, C19, C20, C27 C46, Cl 03, Cl n/TK783, 782 Svitkové kondenzátory: C13 68n/TC C15 100n/TC C21 470/TGL / /10/63 C22 680/TG L / /10/63 Elektrolyt, kondenzátory (tantal): C4, C25, C26 4 jí7/te Cl, C2, C3 22 H/TE Elektrolyt, kondenzátory Cl 01, Cl 02 1G/TE 984 Cl u/tf 009 Rezistory TR 212 R6 R4, R33, R102 R9, R18, R19 R24, R25, R26, R27, R29, R36 R7, R K0 R3 R10, R12, R28, R31, R34, R35 1K2 - R17 3K3 R15, R37 R44 4K7 R2 5K6 R1, R33 18K R20, R22 22K R14 100K R11 220K Rezistory TR 214: R Odporové trimry TP 041 R13, R16, R5 1K0 R21, R23 33K R32 47K Konektory K2 Trafo TR101 FRB TY V/2x8 až 9 V, 0,5 Ostatní materiál LI cívka dle textu (6 PK ,80) S101 síový vypína PolOI 50m/250V 1 ks deska plošných spoj 1 ks chladi pro M ks síová šra 1 ks propojovací šra pro video 1 ks propojovací šra pro interface 1 ks pojistkové pouzdro Literatura: [1] Reek, J: Teletext v eskoslovensku Rozhlasová a televizní technika 3/1987, str 79 89, VÚRT Praha [2] Doušek: J: Televizní informaní služba Elektronika 5/1987, str [3] Vlek, J: Televizor Color 4428 pre rok 1990 Elektronika 2/1988, str [4] Bežanský, P, Mydlfk, M: Dekodér pre systém Teletext Sdlovací technika 9/1985, str [5] Darrington, P, Daniels, J, F: Wireíess World Teletext decoder Wireless World, November 1975, str , December 1975, str , January 1976, str 37 42, February 1976, str 47 51, March 1976, str 75 69, pril 1976, str 64 68, May 1976, str 64 68, June 1976, str [6] Russell, R } T: Teletext decoder modification Wireless World, December 1977, str [7] Hinton, J % H: Character rounding for the Wireless World teletext decoder Wireless World, November 1978, str [8] Mack, Z: Píjem teletextových informací matérské rádio ada, 3/1988, str 92 94, 4/1988, str , 5/1988, str [9] Kyrš, F: Deglitcher obvod pro odrušení datových signál matérské rádio ada, 11/1985, str , 12/1985, str [10J TELETEXT návrh eskoslovenské státní normy zpracoval ing Jií Reek, s televize Praha, odbor technického rozvoje, bezen 1988

9 TELETEXT íng Lumir Pibyl, Pavel Brychta, V Noska 67, Zbý&ov Popis systému WST úrovn 15 1 Základní technické informace lt TELETEXT je systém penosu informací, který umožuje penášet stránky tvoené textem a grafickými symboly Teletextový signál se penáší v dosud nevyužitých ádcích plsnímkového intervalu Pokud není teletext doplkem televizního obrazového signálu, je možný penos signálu teletextu v libovolných tv ádcích 12 Dekódované stránky se zobrazí bu samostatné (tj místo pijímaného televizního obrazu), nebo mohou být prolnuty (resp vloženy) pímo do televizního obrazu Do televizního obrazu mohou být také vloženy titulky nebo zpravodajské vstupy Pozn: Pi prolnutí jsou tv obraz a píslušná stránka zobrazeny souasné pes sebe, pi vložení se vytvoí v obrazu okno, ve kterém je zobrazena píslušná ást stránky 13 Každý datový ádek teletextu penáší binární signál rychlostí 6,9375 Mblt/s Tento systém penosu lze využít v televizních systémech typu 625/50 s šíkou pásma pro penos videosignálu min 5,0 MHz 14 Každý datový ádek penáší informaci pro synchronizaci dat, informaci pro urení adresy a kódy pro ádek, který má 40 znak 15 Na stránce lze zobrazit až 25 ádk po 40 znacích, vetné zvláštního úvodního ádku, který se nazývá záhlaví, a posledního 25 ádku, který se zobrazí pouze za uritých podmínek (viz odst 3442) 16 Záhlaví obsahuje pídavné adresovací a ídící údaje, které jsou penášeny místo kód prvních osmi znak Tyto údaje umožují identifikovat stránku a dále ídí zpsob jejího zobrazení Posledních osm znak ze zbývajících 32 je vyhrazeno pro zobrazení reálného asu 17 Penos adresových a ídicích bajt využívá ochrany pomoci osmibitového Hsmmingova kódu Tak lze v jednom bajtu penést tyi informaní bity, piemž jednoduché chyby' jsou v pijímai opraveny (Jednoduchá chyba znamená, že v jednom bajtu je z osmi bit jeden chybný) Pro penos kód znak je použito ochrany lichou paritou (sedm bit je informaních, jeden bit je paritní), která umožuje identifikovat jednoduché chyby 18 ádky, které obsahují pouze mezery, nemusí být penášeny 19 Lze penášet až osm soubor stránek magazín, každý mže obsahovat až 100 stránek 110 Lze penášet až 3200 variant každé stránky Varianty jsou rozlišeny tymístným subkódem v záhlaví stránky (viz odst 31 2 a 3 1 3) 111 Krom alfanumerických a grafických znak se penáší ješt ídicí znaky, které slouží mimo jiné pro následující funkce: Obr 1 Umístní teletextových datových ádk v televizním signálu Obr 2 Úrove signálu (ísla teletextových ádk nesouhlasí se skuteným umístním v signálu CŠT) referenní místo ádkové periody ádkový 21 synchron impuls Obr 3 Synchronizace dat (místo referenní místo ádkové periody** patí -referenní místo tv ádk**) a) volba jedné z osmi barev znak, b) volba jedné z osmi barev pozadí c) zobrazení znak s dvojnásobnou výškou, d) blikání uítých znak, e) skrytí uritých znak, které mohou být uživatelem zviditelnny» iwwwiw# oavm rsory Televizní obrazový signál obsahuje v oblasti plsnímkového zatemovacího intervalu (viz obr 1) ádky íslo 7 až 22 (resp 320 až 335) Tyto ádky jsou využívány pro rzné úely Nkteré z tchto ádk byty dosud volné a lze je využít pro penos teletextových datových ádk V pípad CST se jedná o ádky íslo 19, 20 (332,333) Obecn je možné využít libovolných volných ádk 22 Obrazový ádek je identifikován jako teletextový datový ádek pítomnosti signálu pro synchronizaci hodin (viz odst 29), po kterém následuje tzv rámcový kód (viz odst 210) 23 Teletextový ádek penáší binární symboly (bity) ve form signálu o dvou úrovních typu NRZ (Non-Retum-to-Zero), vhodn tvarované pomocí filtru 24 Úrove signálu je taková, že logické nule odpovídá úrove erné 0±2 % a logické jednice odpovídá 66 (± 6) % z rozdílu mezi úrovni bílé a erné (viz obr 2) Rozhodovací úrove leží uprosted mezi úrovní log nuly a log jedniky Tato rozhodovací úrove se mže mnit ádek po ádku 25 Bitová rychlost penosu je 444x f, kde f M je ádkový kmitoet Bitová rychlost penosu je tedy 6,9375 Mbit/s (± 2510*) 26 Referenním místem pro asování dat je pedposlední logická jednika ve sledu impuls pro synchronizaci hodin (viz obr 3) Referenní místo televizního ádku je v polovin amplitudy nábžné hrany ádkového synchronizaního impulsu Referenní místo pro asování dat v signálu na výstupu vysilae distribuní sít je zpoždno oproti referennímu místu televizního ádku o 12,0 + 0,4 1,0 i»s 27 Spektrum signálu dat je asymetrické s inftexním bodem u kmitotu, který odpovídá poloviní bitové rychlosti Nad kmitotem 5,0 MHz má spektrum prakticky nulovou hodnotu viz obr 4 a 5 Ukázky vysílání teletextu mikroelektronika

10 se 11 6 Obr 4 Pibližné spektrum impulsu dat 28 Datový ádek teletextu obsahuje 360 bit které tvoi 45 bajt První ti bajty máji sudou paritu a slouží pro synchronizaci pijímae Zbývajících 42 bajt má lichou paritu a penáší adresu, idii kódy a kódy znak pro jeden ádek dresa a idii kódy jsou zabezpeeny Hammingovým kódem 29 První dva bajty každého datového ádku jsou tvoený posloupností jedniek a nul ( , indikuji pítomnost datového ádku a uruji asováni bit v datovém ádku V nkterých pípadech mohou chybt v prvním bajtti první dvd log jedniky 210 Tetí bajt každého datového ádku obsahuje tzv rámcový kód ( ) Tento kód slouží k synchronizaci jednotlivých bajt v píslušném datovémádku pi dekódování Lze ho identifikovat i v pípad, to jeden jeho bit byl chybné pijat Obr 6 ukazuje prchod dat posuvným registrem a jejich srovnáni se vzorem rámcového kódu Je zejmé, to pro spolehlivé ureni pítomnosti rámcového kódu staí, aby souhlasilo nejmén 7 bit 211 tvrtý a pátý bajt každého datového ádku, dalších osm bajt v záhlaví stránky (ádek 0) a všechny bajty penášené v paketech 26 a 27, jsou chránny pomoci Hammingova kódu 212 Zbývající bajty v každém datovém ádku penáší kódy znak Bajt pro penos znaku obsahuje 7 bit uruiícfch znak (viz obr 15 Tabulka GO) a osmý bit pro zabezpeeni lichou paritou Nejdíve se penáší bit s nejnižší vahou (LS8) 3 Uspoádáni stránek a ádk 31 dresováni 311 Každý datový ádek obsahuje dva bajty chránné Hammingovým kódem, z nichž ti bity uruji íslo magazínu a pt bit isto ádku (obr 7) isto magazínu mže být v rozmezí 1 až 8, magazín 8 odpovídá adrese 000, ostatní odpovídají váze bitu podle obr 7 íslo ádku mže být v rozmez! 0 až 31 V SSR se využívá ádk 0 až 23, dále 24, a 30 (Všechny teletextové datové ádky jsou vlastn datové pakety V literatue se vtšinou užívá názvu ádek pro datové ádky s ísly 0 až 23 a názvu paket pro datové ádky s ísly 24 až 31) dresa ádku odpovídá pímo váze bit podle obr Datové ádky s ádkovou adresou 0 jsou tzv záhlaví Obsahuji navíc dalších osm bajt chránných Hammingovým kódem, které obsahuji informaní bity vztahující se k píslušné stránce vetn dvoumístného ísla stránky a tymístného sub-kódu (viz obr 7) Význam ostatních penášených bit je popsán v odstavci Každá strana je urena jednomístným íslem magazínu (1 až 8) a dvoumístným íslem stránky (00 až 99) Stránky se stejným íslem magazínu a stejným íslem stránky mohou být dále rozlišeny tymístným subkódem To umožuje penášet až 3200 variant jedné stránky Tento sub-kód byl pvodn uren k oznaeni asu vyslání stránky Proto se také nazývá asový kód a jeho struktura tomu odpovídá Kód je rozdlen na hodiny" (00 až 39) a minuty" (00 až 79) V souasné dob se využívá maximáln 50 variant jedné stránky Sub-kód tchto tzv podstránek je v rozmezí až Stránka mže být vybrána podle ísla magazínu a ísla stránky nebo podle ísla magazínu, ísla stránky a sub-kódu 10 mikroelektronika 32 piklad prchodu 12-ti synch bit posuv registru Vysílací poad rámcový kód pichází do posuv, registru smér posunu dat data v posuvném registru E o r _ E_ E _0_ E _0 J_ E o_ i o\\i o i b\\ i i i 0 I 0_ i ll> l L 3 0 E 0_ 1 7 i 7 i i 7][77T7 5 E 0 1 0_ i f _0 777T7T7 le ~ E I 1 i i_7_r_ o_7 3! 7 u 1 1 o_ 0 1 o o\x ss 7T7T7T7 1" T d 0_ i o_ i 3 I 1_ o\x X 7 0_ 1_ 0_ i 31 1_ 1_ 1_ 0 0 i_ 0 o\x X X *6 7 7" TT 3 I l_ i 7~ i 0_ ~o\x XXX *6 i TT i 1 i i 777 Z3 X X X X X X *6 T 31 i 3! i i 1 7 0_ X X X X X * 7" Tiro~ 7~ 0 o] X X X X X X X s6 w7" X X X X X X X X *7 byte pro f t imm! daty - n registru 321 Vysílání vybrané stránky zaíná penosem záhlaví dané stránky (pati k dané stránce) a koni penosem záhlaví následující stránky Všechny datové ádky penesené mezi tmito záhlavími a mající stejné isto magazínu jako záhlaví vybrané stránky patí k této vybrané stránce Stránky mohou být vysílány v libovolném poadí Mohou být penášeny i nekompletní stránky Mohou být proloženy datové ádky s jiným íslem magazínu ** -[ 1 1 1_ o\ X -hodnoto, tchto bit závtsi na &e magazínu a ísle ádku Obr 6 Prchod dat posuvným registrem 322 Datové ádky patící k dané stránce mohou být vysílány v libovolném poadí by byla zabezpeena co nejúinnéjáí funkce dekodér, doporuuje se hned po záhlaví penášet paket 27 a pak pakety 26 Datové ádky vetn záhlaví se mohou opakovat, piemž za platný považuje poslední bezchybný výskyt píslušného datového ádku Datové ádky, které obsahuji pouze mezery, nemusí být penášeny 323 Datové ádky jsou vysílány tak, aby byla vytvoená asová prodleva 20 ms (pro vymazáni stránkové pamti nkterých dekodér) mezi vystáním záhlaví a vysíláním následujících datových ádk 33 poet shodných bit ZáMavi 331 Cisto stránky, sub-kód stránky a informace nutné pro zobrazení stránky jsou penášeny v tzv záhlaví (ádek O) 332 Synchronizace bit bajt a adresováni se provádí v 1 až 5 bajt viz odst 29, 210 a Prvních osm bajt datového ádku penášejícího záhlaví (tj 6 až 13 bajt) je chránno Hammingovým kódem viz obr 7 Tyto bajty obsahuji informaní bity vztahující se k píslušné stránce vetn dvouiselnóho ísla stránky a tyiseíného sub-kódu Dále záhlaví obsahuje 32 kód, ve kterých se penáší záhlaví stránky urené pro zobrazeni, tj isto magazínu a stránky, datum, název informaní služby atd Posledních osm znak je vyhrazeno pro zobrazeni reálného asu Píklady uspoádání záhlaví jsou na obr, V 6 a 7 bajtu se penáší isto stránky V 8, 9, 10 a 11 bajtu se penáší sub-kód stránky Pitom 8 bit devátého bajtu je považován za ídicí bit C4, a 6 bít pop 8 bit jedenáctého bajtu jsou považovány za ídicí bity C5 a C6 ftldici bity C6 až C14 jsou penášeny v 12 a 13 bajtu Uspoádám 6 až 13 bajtu v záhlaví je na obr 7

11 1, J B 1 asm byte s ochranou Hammingovým hodem íslo stránky sub -kód, minuty" sub-kód hodiny" ir i r jednotky desítky jednotky desítky jednotky desítky 2 2? Ž l 2 2> 2 2 2^ 2 2* 2 2 Q 1 ZSZ22 x o \ synchr synchr rámcový isto magazínu íslo isto sub-kód sub-kód sub-kód, hodin hodin kód a isto ádku stránky stránky minuty" jednotky desítky %' jednotky "jesno&y hodiny" záhlaví ádek 0 ádek 1 ádek2 ádek 3 synch hodin synch hodin synch hodin synch hodin synch hodin synch hodin rámcový kód rámcový kód rámcový kód isto magazínu a íslo ádku isto magazínu a íslo ádku j] n C * 5 C e C, C s (-9 CfO Cit Cn Cf3 c,i XXX ídicí 38 desitkv skup XXv první znak záhlaví ZEEEEEEEESiZEZJZinEEEEI * 7 / idii skup XXXXXXXX I / isto magazínu a íslo ádku X]X w,/ // 'š: ž' 'X X" Jx7 ^ fy 7 / l znakové byte < L j M 2\ 2 I x < 2J * synchronizace hodin rámcový kód && magaznj isto ádku l Obr 7 Formát paket O až 24 synchronizace bit a byte ftídicf bity se považuji za aktivní, jestliže mají hodnotu log penášené na dané stránce jsou zcela rozdílné od informací penášených pedchozí stránkou se stejným íslem magazínu a stránky Pi aktivaci tohoto bitu následuje interval 20 ms (víz 323), než se zanou penášet data nové stránkv Bit C4 je aktivní v pípad, že informace 3352 Bit C5 je aktivní v pípad, že daná stránka penáší tzv zpravodajský vstup ( newsflash"), který se vloží do televizního obrazu Veškerý text se zobrazí v tzv vloženém módu viz odst Bit C6 je aktivní v pípad, že daná stránka penáší titulky Veškerý text se opét zobrazí v tzv vloženém módu viz odst Bit C7 je aktivní v pípad, že je vhodnjší potlait zobrazeni záhlaví dané stránky 3355 Bit C8 je aktivní v pípad, když celá stránka nebo její ást obsahuje novjší informace než pedchozí stránka se stejným íslem magazínu a stejným íslem strany Stránka penášená s tímto aktivovaným bitem nemusí být kompletní, mže obsahovat pouze ty ádky, které mají být zmnny 3356 Bit C9 je aktivní v pípad, že daná stránka není v íselném poadi ostatních penášených stránek 34 adresovací byte ochrana Hammingovým kódem ve všech ádcích Bit CIO je aktivní v pípad, že je teba zabránit zobrazení dané stránky 3358 Bit Cil je aktivní v pípad, že je vhodné v dob ekáni na navolenou stránku zobrazovat záhlaví všech magazín a ne jenom záhlaví zvoleného magazínu 3359 Bity C12, 13, 14 volí základní soubor znak viz obr 20 Tabulka jazykových variant Paket V paketu (ádku) 27 je možné penášet adresy tzv sdružených stránek, které jsou ureny k automatickému ukládání do pamti dekodéru 342 Synchronizace bit, bajtú a adresování se provádí v 1 až 5 bajtu viz odst 29, 210 a V 6 bajtu je uložen urovací kód, který je chránn Hammingovým kódem Urovací kód pro aktivaci funkce sdružených stránek je dresování sdružených stránek Bajty 7 až 42 jsou uspoádány do šesti skupin po šesti bajtech Každá skupina šesti bajtú definuje adresu sdružené stránky Tyto skupiny jsou oíslovány 0 až 5 podle poadí penosu Když se nastaví osmý bit (MSB) 43 bajtu na hodnotu 1 (viz odst 3442), jsou takto definovány sdružené stránky oznaené uritou barvou podle následující tabulky: Q ochranné bity idii bity d mazáni C5 zpravodajský vstup C6 titulek C7 potlaeni záhlaví C8 nová data C9 perušené poadí CIO zabránni zobrazeni Cil poadí magazín C12 C13 C% jazyková varianta skupina 0 ervená" skupina 1 zelená" skupina 2 žlutá" skupina 3 modrozelená" skupina 4 nevyužitá Skupina 5 seznam (index) sdružených stránek 3441 Skupina dat pro definici sdružené stránky je tvoena šestí bajty, které obsahují: íslo vztažného magazínu 3 bity íslo stránky 8 bit sub-kód stránky 13 bit ochranné bity Hammingova kódu 24 bit Poadí bit je na obr 10 Nemá-li být specifikován sub-kód stránky, bude penášená adresa sub-kódu 3F7F (hex) Penáší-li se íslo stránky FF (hex) a sub-kód stránky 3F7F, není specifikována žádná stránka Bity, penášené jako relativní íslo magazínu, se používají pro definici ísla magazínu sdružené stránky vzhledem k íslu magazínu v 4 bajtu paketu 27 Nastaveni kteréhokoli z tchto bit na 1 zpsobí doplnní píslušného bitu v ísle magazínu V praxi to znamená provést mezí odpovídajícími bity ísla magazínu paketu 27 a ísla vztažného magazínu log operaci exclusive or Výsledek je pak skutené íslo magazínu sdružené stránky adresovací a ídicí byte EEM loiffh-lrlgulfmflxlm l mel-lom-l L i [o ol \ 2 \ 6 \ - 1 o 9 - j 9l 8\8\ 1 1 U L- lolsl 131*1 * :: 11 1 zakódované znaky pro zobrazeni v tchto 24 znackh bývá název informaní služby a datum Formát rtem' pedepsán Obr 8 Píklad formátu záhlaví tento b/ok osmi byte je vyhrazen pro zobrazováni reálného asu synch byte adres, byte -i f,r 40 zakódovaných znak pro zobrazeni lsmtsf ff/rl(?f:ó?t//loivy i]s\ j imn EEEH \m \ e I n 1 Mol cfo m e] mnnn no[o\o\ mn m Obr 9 Píklad formátu datového ádku mikroelektronika 11

12 ,,, (znaky, " y íslo vztažného magazínu ' > Obr 10 Formát paketu 27 identifikace programového okruhu to i ajjj asový rozdíl Z 0 kladný Z 1 záporný ' Z modifikované datum juliánského kalendáe 10* IQ 3 IQ 2 W ^2 2 ' 2 2 2^ ^ ' y, V/, //, / / v///-' '///, W, /'///?' ///>/', '/'zjz V //'//'/ ( ///V^ 'ifft tux popis televizního programu gsmvjjmwumuus / i-, TÍslMUM IUMUUMH l^tto! cc rr a g JQ J a m i r, o, c -, informace o stavu vysílání ze základní tabulky GO) 2?7* 2\ \ 2 2< 22 2\ \2 2' T 2 2\2 2? 2 2 2» ' ' hod 10 min 10 1 min 10 sec 10 1 sec 10 svtový koordinovaný as VTC ( _JL 3 2 2\ jednotky desítky isto stránky sj -kódminuty" sub-kód hodiny V bajtu 43 paketu 27 se penáší informace pro ízení sdružovaci funkce Tento bajt má tyi bity dat a tyi bity ochrany Hammingovým kódem Když je osmý bit (MSB) nastaven na hodnotu 1, znamená to, že sdružené stránky mají navazovat na symboly pfegášené paketem 24 Pak je ervené tlaítko vždy funkní a pokud jsou bity 2, 4 a 6 nastaveny na hodnotu 1, jsou funkní i tlaítka zelené, žluté- resp 12 mikroelektronika Obr 1 1 Formát paketu 30 modrozelené Tlaítko pro navolení seznamu (indexu) je vždy funkní (Tato tlaítka jsou souásti ovlada nkterých dekodér) Když je bit 8 nastaven na 0, pak neexistuji sdružené stránky odpovídající barevným symbolm, a zamezí se zobrazení obsahu eventuáln pítomného paketu Bajty 44 a 45 obsahují kontrolní slovo pro cyklickou kontrolu nadbytenosti (CRC) dat v paketech 0 až 25 Zpsob generování tohoto slova je uveden v kap 6 \m\m\m[ I isto magazínu 35 Paket V paketu 30 se penáší data, týkající se televizní organizace Penáší se pibližné jednou za sekundu s íslem magazínu 8 Formát paketu 30 je na obr Synchronizace bit, bajt a adresování se provádí v 1 až 5 bajtu viz odst 29, 210 a V 6 bajtu je uložen urovací kód, který je chránn Hammingovým kódem Pokud je druhý bit nastaven na 0, znamená to multiptexovanou funkci teletextm zatemovacím intervalu televizního obrazového signálu (viz odst 11) Pokud jsou bity 4, 6 a 8 nastaveny na hodnotu 0, jsou aktivní funkce popsané v následujících odstavcích až 3536 Na jiné kódy systém nereaguje Bajty 7 až 12 obsahuji adresu první vybrané stránky, která bude uložena do pamti

13 ' i i I data ' 2 2 I ? dekodéru bez zásahu uživatele a je pak kdykoli zobrazitelná pomocí tlaítka pro navolení seznamu (indexu) (víz odst 344), pokud nebyla zadána jiná stránka pomoci paketu 27 Pi nateni stránky bez paketu 27 nebo s nespecifikovanou stránkou pomocí skupiny 5 (viz odst 344) se opt nate výše uvedená první vybraná stránka Skupina dat pro definici první vybrané stránky je tvoena šesti bajty, které obsahují: íslo magazínu 3 bity isto stránky 8 bit sub-kód stránky 13 bit ochranné bity Hammingova kódu 24 bit Poadí bit je na obr 11 Nemá-li být specifikován sub-kód stránky, bude penášena adresa sub-kódu 3F7F (hex) Penáší-li se isto stránky FF (hex) a sub-kód stránky 3F7F, není specifikována žádná stránka 3532 Pro jednoznanou identifikaci programového okruhu lze použít kódu v 13 a 14 bajtu Bajt 15 definuje v krocích po plhodinových intervalech rozdíl mezi místním asem a svtovým koordinovaným asem (UTC) Záporné hodnoty odpovídají místnímu asu západn od Greenwiche 3534 Modifikované datum juliánského kalendáe MJO se penáší v bajtech 16 až 18 Je to péticiferné íslo, které se mní o plnoci (podle UTC) pitom referennímu datu odpovídá údaj MJO Bajty 19 až 21 penášejí svtový koordinovaný as (UTC) Je to šesticiferné isto, které ser vysílá po dobu nejbližší následující sekundy 3535 Bajty 22 až 25 jsou vyhrazeny pro informace týkající se doprovodného televizního program 354 Od bajtu 26 až do konce paketu 30 mohou být vysílány obecné znaky ze základní tabulky G0 36 Paket Tento paket umožuje rozšíit soubor penášených znak oproti souboru v tabulce G0 o znaky z tabulky G2 (obr 16) Prakticky je to provedeno tak, že po dekódováni tohoto paketu se na píslušných znakových pozicích (v ádcích 1 až 24) zamní pvodní znak (z tabulky GO) na požadovaný znak z tabulky G2 Na pozicích, které mají být pepisovány, jsou v datových ádcích 1 až 24 vysílány náhradní znaky z tabulky GO tak, aby umožovaly píjem i na dekodérech, které nedekódují paket 26 Nap místo písmen s diakritickými znaménky jsou vysílána píslušná písmena bez tchto znamének 362 Synchronizace bit, bajt a adresováni se provádí v 1 až 5 bajtu viz odst 29, 210 a V 6 bajtu je uložen urovací kód, který je chránn Hammingovým kódem Kódy 0000 až 1110 vetn pedstavuji poadová ísla paket 26, jejichž maximální poet je 15 Systém nereaguje na kód V 7 až 45 bajtu vetn se rozlišuje 13 skupin dat po tech bajtech Obr 12 Formát paketu 26 alfanumerická a grafická mezera i alfanumerický zrak Obr 13 Píklady alfanumerických Ve skupin dat je kódování provedeno takto: adresa pozice znaku 8 bit popis módu 5 bit data urující znak z tabulky G2 (výbr z doplkové tabulky) nebo znak z tabulky G0 (kompoziní kódováni) 7 bit ochranné bity Hammingova kódu 6 bit Poadí bit a uspoádání paketu 26 je na obr dresování pozice pro znak se provádf pomocí šesti adresovacích bit, které mohou nabývat 64 hodnot Dekadická hodnota 0 až 39 uruje sloupec, 41 až 63 uruje ádek 1 až 23 a hodnota 40 uruje ádek 24 dresa pozice pro znak je definována explicitnskupinou dat, která obsahuje adresu sloupce Informace, obsažená ve skupin, která definuje adresu ádku, se využívá u všech následujících skupin, definujících adresy sloupc, až do okamžiku, kdy pijde nová skupina s adresou ádku První skupina dat musí tedy definovat adresu ádku Pi definici adresy ádku jsou data, penášená v 3 bajtu skupiny, ingnorována I když lze pozice pro znaky definovat v libovolném poadí, z dvod co nejlepšího využiti paket 26 se tyto pozice adresuji v poadí zobrazováni, tj zleva doprava a shora dol i I alfanumerický znak který mže být zobrazen tiž v grafickém režimu (tzv pronikáni afianumerických znak) a grafických znak 366 Na obr 16 je uveden úplný soubor znak pro eštinu a slovenštinu Tvoí jej základní soubor (sloupce 2 až 7) a dodatené znaky (sloupec 0 a 1) Dodatené znaky se kódují dvojím zpsobem: kompoziním kódováním anebo výbrem z doplkové tabulky Znaky s diakritickými znaménky se tvoí složením znaku ze základní tabulky a diakritického znaménka z doplkové tabulky (kompoziní kódováni) Majl-ii se takovéto složené znaky objevit na pozici pro znak adresované podle odst 365, pak bity pro popis módu v rozsahu od do urují diakritické znaménko ze sloupce 4 doplkové tabulky obr ( 16) a to v postupném íselném poadí Znak ze základní tabulky, který má být doplnn diakritickým znaménkem, je definován sedmi datovými bity Pokud- se požaduje znak bez diakritického znaménka, je použito módu Má-li se objevit na adresované pozici nkterý samostatný znak z doplkové tabulky, nabývají bity pro popis módu hodnotu mikroelektronika 13 5

14 , " Sedm datových bit definuje znak z doplkové tabulky ( obr 16) ze sloupce Jelikož mže být použito vdtšiho potu paket 26 na jedné stránce, je teba oznait poslední paket Toho se docílí nastavením všech bit pro adresu ádku a popis módu na hodnotu 1, a to ve skupin dat penášené v 40, 41 a 42 bajtu koneného paketu 26 Takováto skupina vytváí ukonovací znaku Na data v 42 bajtu systém nereaguje Nevyužité skupiny dat mezi poslední aktivní skupinou a ukonovací znakou se vyplní opakujícími se daty ukonovací znaky 368 Dva bajty, které následují za skupinou obsahující ukonovací znaku, je možné využít pro cyklickou kontrolu nadbytenosti (CRC) dat v paketech 26 Kontrolní slovo se vytváí stejným zpsobem jako kontrolní slovo CRC v paketech 27 (viz kap 6), ovšem za použití dat z paket 26 V pípad chybjícícih dat se pedpokládá, že to jsou znaky pro mezeru 4 Zobrazení stránky 41 Stránka zobrazená pijímaem obsahuje až 25 ádk 411 Zobrazené ádkv odpovídají paketm dat 0 až 24 ádek 24 se zobrazí pouze tehdy, je-li penášen také paket 27, a 8 bit 43 bajtu je nastaven na 1 ádek 24 mže obsahovat barevné symboly, které usnadují pístup k sdruženým stránkám Pitom mže být využíváno píslušných barevných tlaítek na jednotce dálkového ovládání 412 Na ádku 1 až 24 je 40 míst pro znaky, na ádku 0 je 32 míst pro znaky asový penos probíhá zleva doprava 42 Znaky zobrazované na ádku 0 mohou být všechny znaky z tabulky GO Znaky zobrazované na ádcích 1 až 24 mohou být všechny znaky z tabulky GO a G2 Znaky mohou být zobrazovány v rzných zobrazovacích módech Volba jednotlivých mód je urena implicitn na zaátku jednotlivých ádk, explicitn se provádí v prbhu zobrazování ádku pomocí ídicích znak ( obr 17) Nkteré ídicí znaky mají bezprostední úinek, jiné psobí až na následujícím míst pro znak ídicí znaky jsou vesms zobrazovány jako mezery v barv pozadí 421 Barva znak (alfanumerických i grafických) mže být bílá, žlutá, modrozelená, zelená, purpurová, ervená, modrá a erná Píslušné dvojice ídicích znak zárove pepínají zobrazování v alfanumerickém a grafickém módu 423 Nové pozadí Pedcházející barva znak se stává barvou nového pozadí 424 erné pozadí Nastaví se erná barva pozadí 425 Spojitá grafika Grafické prvky piléhají jeden k druhému bez mezery 426 Oddlená grafika Grafické prvky jsou oddleny mezerami (proužky) v barv pozadí ( obr 13) 427 Sevená grafika Sevená grafika umožuje mezeru obsahující ídicí znak pekrýt grafickým znakem Tento znak je definován pouze v grafickém módu Je to poslední znak, který pedchází ped danou mezerou a jehož 6 bit má hodnotu 1 Pitom nesmí dojít ke zmn alfanumerika/grafika nebo jednoduchá/dvojitá výška Znak sevené grafiky se zobrazí jako spojitý nebo oddlený ve shod s nastaveným módem 428 Skrytí a zviditelnní znak Znaky, které jsou vymezeny pomocí tchto ídicích znak, se zobrazují jako mezery do doby, než jsou zviditelnny inností dekódovacího zaízení nebo zásahem uživatele 9 Blikání a stálé zobrazeni (konec blikání) Znaky, které jsou vymezeny pomocí tchto ídicích znak, se zobrazují stídav jako znaky a jako mezery v barv pozadí Kmitoet blikání je uren dekódovacím zaízením 4210 Zaátek vkládání a konec vkládání Definuje se ást obrazu urená pro vložení do normálního tv obrazu (titulky, zpravodajský vstup) Tato funkce je chránna zdvojeným penosem ídicích znak oznaujících zaátek a konec vkládání 4211 Dvojitá výška Znaky jsou prodlouženy vertikáln do prostoru následujícího ádku Zobrazeni v druhém ádku má stejnou barvu znak i pozadí jako první ádek Pípadné znaky penášené v druhém ádku jsou ignorovány 5 Zabezpeeni dat Hammingovým kódem Penos nkterých dat je proti chybám zabezpeen Hammingovým kódem Používá se dvou modifikací tohoto zabezpeení: 14 mikroelektronika Obr 14 Vytvoení kontrolního slova 16 -bitový posuvný registr 1 2 3, TI % U -hodiny 51 Jeden bajt obsahující tyi informaní bity a tyi zabezpeovací (ochranné) bity (varianta ) Zabezpeovací jsou bity 1, 3, 5, 7, informaní jsou bity 2, 4, 6, 8 Zabezpeovací bity se pro danou kombinaci informaních bit doplují podle tabulky Hammingova kódu obr 21a Pi dekódování se nejprve provedou následující operace: = b8 xor b6 xor b2 xor bl B = b8 xor b4 xor b3 xor t>2 C = b6 xor b5 xor M xor b2 D = b8 xor b7 xor b6 xor b5 xor b4 xor b3 xor b2 xor bl xor oznauje logickou operaci exclusive or Graficky jsou testované bity vyznaeny v tabulce obr 21b Výsledky tchto operací se pokládají za správné tehdy, jestliže jsou rovny log 1 Prakticky to znamená, že vybraná skupina bit musí mít lichou paritu Vyhodnocení chyb se provádí podle tabulky obr 21c 52 Skupiny tí bajt obsahující 18 informaních bit a 6 zabezpeovacích (ochranných) bit (varianta B) Zabezpeovací jsou bity 1, 2, 4, 8, 16 a 24, informaní jsou bity , 9, 10, , 13, 14,15, 17 až 23 Zabezpeovací bitý se pro danou kombinaci Informaních bit vypotou podle následujících vztah: bl = not (b23 xor b21 xor b19 xor b17 xor b15 xor b13 xor bil xor M xor b7 xor bs xor»*> b2 = not (b23 xor b22 xor b19 xor b18 xor b15 xor b14 xor bil xor blo xor b7 xor b6 xor b3) b4 = not (b23 xor b22 xor b21 xor b20 xor bis xor b14 xor b13 xor b12 xor b7 xor b6 xor bs) b* = not (bis xor b14 xor b13 xor b12 xor bil xor blo xor b9) bia = not (b23 xor b22 xor b21 xor b20 xor b19 xor bia xor b17) b24 = not (b23 xor b22 xor b21 xor b20 xor b19 xor bia xor b17 xor bia xor b15 xor b14 xor b13 xor b12 xor bil xor blo xor 6 b9 xor bs xor b7 xor b6 xor bs xor b4 xor b3 xor b2 xor bl) Pi dekódování se nejprve provedou následující operace: «b23 xor b21 xor b19 xor b17 xor bis xor b13 xor bil xor b9 xor b7 xor bs xor b3 xor bl B = b23 xor b22 xor b19 xor bis xor b15 xor b14 xor bil xor blo xor b7 xor b6 xor b3 xor b2 C = b23 xor b22 xor b21 xor b20 xor b15 xor b14 xor b13 xor b12 xor b7 xor b6 xor b5 xor t>4 D = b15 xor b14 xor b13 xor b12 xor bil xor blo xor b9 xor b8 E = b23 xor b22 xor b21 xor t>20 xor b19 xor bia xor b17 xor b16 F = b24 xor b23 xor b22 xor b21 xor b20 xor b19 xor bia xor b17 xor b16 xor bis xor b14xorb13xorb12xorb11 xorbloxorbs xor b8 xor b7 xor ba xor bs xor b4 xor b3 xor b2 xor bl xor oznauje logickou operaci exclusive or Graficky jsou testované bity vyznaeny v tabulce obr 22a Výsledky tchto operací se pokládají za správné tehdy, jestliže jsou rovny log 1 To znamená, že vybraná skupina bit musí mít lichou paritu Vyhodnocení chyb se provádí podle tabulky obr 22b Vytvoeni kontrolního slova Vytvoení kontrolního slova je znázornno na obr 14 Na vstup 16-ti bitového posuvného registru je pivádn výsledek soutu modulo 2 externího vstupu a obsahu 7, 9, 12 a 16 stupn registru Na zaátku se registr vynuluje ve všech stupních Bhem sekvence 8192 hodinových impuls Je vstupní signál tvoen prvními 24 znakovými bajty (24 x 8, tj 192 bit) ze záhlaví (ádku 0) a následujlcmi znakovými bajty z ádk 1 až 25 (40 x 8 x 25, tj 8000 bit), a to pi normálním poadí penosu Chybí-lf nkterý paket, bere se jako by obsahoval vesms znaky <SP> (mezera) (20) V každém bajtu je poadí bit b8 až bl Toto poadí, které je opané než pi vysílání ostatních bajt textu, slouží pro usnadnní innosti dekodéru, který využívá data uložená ve stránkové pamti vstup IL sítaka modulo M SP 0 - Sl K 1 t ' 4 2 ' 2 4 <$> a á 4 ~ TM * X «Ti 5 T - (U J' 1 6 4= ir - < U Ú 7 8 n 9 10 i U >1 11 i o fí X b t OC t t a 0 4 (E ot a 12 v* H P p 13 t 'h 14 -* % S * i 7* 'n (2) Obr 16 Tabulka G2 (1) Sloupec 4 obsahuje diakritická znaménka, která se piazují znakm z tabulky G0 (obr 15) (2) Znak 7/15 je interpretován stejn jako v tabulce G0 Kód 4/0 je nulové znaménko", což umožuje zobrazení libovolného symbolu z tabulky G0 bez diakritického znaménka s využitím paketu 26 Kódy 4/9 a 4/12 jsou rezervovány pro budoucí využití _ ' SO Sl ó 0 e P é P 1 2 & O C! 1 Q a q T 2 B R b r 3 tf # 3 c S c s 4 S L ú 4 D T d t 5 É í % 5 E U e u 6 t & 6 F V f v 7 í r 7 G w 9 w 8 0 ( 8 H X h x 9 (i ) 9 1 Y i y 10 8 ft * t J Z i z 11 + K f k 12 0 < L ž 1 é 13 0 T - M ý m ú 14 Ó Ý > N i n š 15 ó 2 /? O 0 Znaky penášené pomocí paketu 26 Národní tabulkas znak t " n ' Obr 18 Úplný soubor znak pro eštinu a slovenštinu Poznámka: Tento soubor znak byl doplnn ješt o znaky 0 a 0 Na konci procesu plnní registru je obsah registru tvoen kontrolním slovem základní stránky Poadí penosu skupiny se dvma bajty, která vznikne 16-ti bitovou cyklickou kontrolou nadbytenosti dané stránky, je bit 9 až 16 (CRC ) a poté bit 1 až 8 (CRC B) vetn v á

15 j! eština/ Svédna/ ština slovenština Východní Evropa ES vyhrazeno pro národní varianty znalé -) v souasné úrovni, teletextu se nepoužívají > pedpokládá se na zaátku každého ádku erná pedstavuje barvu znaku, bílá pedstavuje barvu pozadí (znaky ve sloupci 4 a 5 mohou být zobrazeny i v grafickém módu tzv pronikání alfanumerických znak) Obr 15 Tabulka GO MÓD ZOBRZENI tfanumerika bílá ervená zelená modrá žlutá purpurová modrozelená erná * Spojitá (grafika) erné pozadí Zviditelnní znak Stálé zobrazení konec blikání Konec vkládání Normální výška Uvolnná grafika OKMŽITÉ PSOBENI Za ádku Za ádku 1/9* Za ádku 1/12 Za ádku Zásah uživatele*** Za ádku 0/9 Za ádku 0/10**** Za ádku 0/12 Za ádku DOPLKOVÝ MÓD zobrazen! modrá žlutá purpurová modrozelená erná OKMŽITÉ psoben! Oddlená (grafika) 1/10 * Nové pozadí 0/1 0/2 0/3 Skryti zrako 0/4 0/5 0/6 0/7 1/1 1/2 1/3 1/4 1/5 1/6 1/7 0/0 1/0 0/10 * * * * Blikání Zaátek vkládáni Dvojitá výška Sevená grafika 1 anglitina nmina švédština, finština francouzština portugalština, španlština eština, 1 slovenština 1 1 maarština polština nmina srbochorvatština italština francouzština portugalština, španlština eština, slovenština maarština Obr 20 Tabulka jazykových variant Nl BITY * Tyto ídicí znaky mohou psobit okamžit nebo následn ** ktuální barva znak je vzata jako nová barva pozadí ** Zviditelnní skrytých znak na celé stránce /nuže být provedeno zásahem uživatele ** Tyto fchcí znaky jsou penášeny zdvojen první psobí následné, druhý okamžit Obr 21a Tabulka Hammíngova kódu pro jeden bajt Obr 17 Tabulka psobení ídicích znak mikroelektronika

16 r ' ' er00 c b6 b5 b4 b3 b2 bl 0 X o X X X o o B o X X X o 0 o X C X X o 0 o X o X D o o o o o 0 o o o Testované bity Obr 21b Testy na lichou paritu (varianta ) Výsledky test parity, B, C D Všechny správn Správn Všechny správn Ne- Ne všech správ- n N«všech Vyhodnoceni Žádná chyba Chyba vb7 ny správn Správn Nkolikanásobná chyba innost Použít informaní bity Použít informaní bity Odmítnout informaní bity ny Ne- správn správ- n Jednodu- Srovnáním s tabulkou chá chyba obr 21b identifikovat chybu Jestliže je v informaním bitu, pak opravit Použít informaní bity Obr 21c Tabulka vyhodnocení chyb (varianta ) B c D E F bl 0 X X X X 0 b2 X 0 X X X 0 b3 0 0 X X X 0 b4 X X 0 X X 0 b5 0 X 0 X X 0 b6 X 0 0 X X 0 b X X 0 b8 X X X 0 X 0 b9 0 X X 0 X 0 blo X 0 X 0 X 0 bil 0 0 X 0 X 0 b12 X X 0 0 X 0 b13 0 X 0 0 X 0 b14 X X 0 b X 0 b16 X X X X 0 0 b17 0 X X X 0 0 b18 X 0 X X 0 0 b X X 0 0 b20 X X 0 X 0 0 b21 0 X 0 X 0 0 b22 X 0 0 X 0 0 b? X 0 0 b24 X X X X X 0 0 Testované bity Obr 22a Testy na lichou paritu (varianta B) 7 Závr Protože pi oznaování ádk, bajt a bit je používáno íslování od 0 vetn, mohou vzniknout zdánlivé nesrovnalosti mezi tímto popisem a jinými lánky, které se zabývají touto problematikou Dále je teba vzít v úvahu, že celý systém je stále ješt ve vývoji a mže se v nkterých detailech mnil konen, omlouváme se za všechny nepesnosti a nedostatky (nap neúplná tabulka G2, popis paketu 30 atd), které jsou zpsobeny tím, že se pes veškerou snahu nepodailo zajistit potebné prameny Závrem bychom chtli podkovat ing Jiímu Rekovi z eskoslovenské televize za velice úinnou pomoc pi sestavování tohoto lánku Výsledky test parity, B, C, DE Všechny správné F Vyhodnoceni správn Všechny správn Ne- Ne všechny správ- n Žádná chyba Chyba vb24 správn Správn Nkolikanásobná chyba Ne všechny Ne- správn správ- n Jednoduchá chyba innost Použít informaní bity Použít informaní bity Odmítnout informaní bity Srovnáním s tabulkou obr 22a) identifikovat chybu Jestliže je v informaním bitu, pak opravit Použít informaní bity Obr 22b Tabulka vyhodnocení chyb (varianta B) Literatura [1] Reek, J: Teletext v eskoslovensku VÚRT Praha Rozhlasová a televizní technika 3/1987 str [2] Broadcast Teletext Specification, BBC I8 BREM, Šeptem ber 1976 [3] TELETEXT návrh eskoslovenské státní normy Zpracoval ing Jií Reek, s televize Praha, odbor technického rozvoje, bezen 1988 [4] Darrington, P Daniels, J, F: Wireless World Teletext deoder Wireless World, November 1975, str , December 1975, str , Jahuary 1976, str 37 42, February 1976, str 47 51, March 1976, str 75 79, príl 1976 str 64 68, May 1976, str 64 68, June 1976, str [5} Russell, R T: Teletext decoder modification Wireless World, December 1977, str [6] Mack, Z: Píjem teletextových informací matérské rádio ada, 3/1988, str 92 94, 4/1988, str , 5/1988, str slil «?$n * *» ' ' v w ^ r : f _ f ti ing Lumír PIBYL, Pavel BRYCHT, V Noska 67, Zbýšov Program TELETEXT má za úkol zabezpeit takové zpracování dat picházejících z adaptéru, aby výsledná soustava, využívající adaptéru a mikropoítae pro píjem teletextu, plnila všechny funkce bžné u standardních dekodér Základní technická data programu ve spojení s adaptérem jsou uvedena v následujících bodech: 1 Program umožuje píjem teletextu systému WST úrovn 15 Je využíváno paket 26 a 27 Paket 30 a kontrolní slova CRC nejsou využity 2 Zobrazovaná stránka obsahuje 24 ádk po 40 znacích Je možné zobrazit i doplkový 25 ádek Jsou zobrazovány všechny znaky národních abeced eštiny/siovenštiny, nminy a švédštiny 16 mikroelektronika 3 Program umožuje využít všech zvláštních funkci bžných standardních dekodér (volba stránky, pímá volba podstránky, podržení rotující podstránky, zobrazení v dvojité výšce, skryté zobrazení) 4 Program neumožuje vkládání titulk do televizního obrazu 5 Program umožuje tisk zvolených stránek Základní požadavky na innost programu TELETEXT byly stanoveny srovnáním se standardními dekodéry teletextu * V první ad je teba, aby program umožnil plnohodnotné zobrazování vysílaných stránek, tj aby správn reagoval na penášené ídicí kódy a kódy alfanumerických a grafických znak Dále musí správn vyhodnocovat informace, obsažené v doplkových paketech Za druhé je nutné, aby uživateli poskytl stejný nebo takka stejný komfort pi ovládání zvláštních funkcí dekodéru Tyto funkce jsou popsány dále Obecné možnosti grafického zpracování teletextovó stránky vyplývají z lánku TELETEXT popis Program je schopen z pijatých informací tuto stránku vrn zobrazit vetn zobrazení znak národních abeced Výjimku tvoí ty ásti stránky, kde je použita funkce blikání (odst 429 l TELETEXT popis ) Uvedené ásti budou zobrazovány tak, jako by tato funkce nebyla použita Dále mže u uritých ástí stránky, vytvoených pomocí grafických znak, docházet k nepesnostem v barevném podání Tyto chyby v zobrazení vznikají pi pekrytí rastru teletextové stránky (24 ádk po 40 pozicích pro znaky) s rastrem mikropoítae Sord a Spectrum (24 ádk po 32 pozicích pro znaky) U mikropoítae Sharp k tmto chybám nedochází

17 25 doplkový ádek, který zobrazují standardní dekodéry pod kompletní stránkou, je možné vyvolat stisknutím klávesy <SP> Pítomnost tohoto ádku indikuje znak,>* v levém horním rohu obrazu Doplkový ádek se zobrazí na míst záhlaví stránky Vzhledem k tomu, že videosigná! z mikropoítae není synchronizován s pijímaným televizním vtdeosignáiem, není možné ani pi využití vhodného pepínae realizovat ty funkce, bžné u standardních dekodér, které vyžadují vložení (píp prolnutí) teletextové stránky nebo její ásti do televizního obrazu To se týká nap vloženi asového údaje, titulkování poad, vložení tzv zpravodajského vstupu, prolnutí teletextové stránky do tv obrazu, využití funkce budík** atd Pi píjmu s využitím dvou televizor je možné na jednom zobrazovat televizní poad, na druhém se pak objevují píslušné titulky Obdobn je možné nepímo realizovat i funkci budík** Základní funkcí u každého dekodéru je funkce, která umožuje zvolit požadovanou stránku Stránka se volí za- /ývod obvodu 8255 Obr 2 Signál Signál (Centronics) 18 PB 0 Data 0 s 19 PB 1 Data 1 20 PB 3 Data 2 21 PB 3 Data 3 22 PB 4 Data 4 23 PB 5 Data 5 24 PB 6 Data 6 25 PB 7 Data 7 15 PC 1 BUSY 11 PC 6 STR 07 GROUND GROUND Pipojení tiskárny k mikropoítai ZX Spectrum dáním tícifemého ísla (tj vetn ísla magazínu) Tuto funkci samozejmé program umožuje a to kdykoli, pokud se nachází v základním režimu (tj nejsou aplikovány funkce HO, DOU- BLE nebo FST SERCH, viz dále) Jednotlivé íslice se objevují postupn v levém horním rohu obrazu vedle písmene,p* nebo znaku > Pokud dojde k chyb pi zadávání, staí doplnit zbývající pozice libovolnými íslicemi, stisknout <CR> a provést novou volbu Na rozdíl od standardních dekodér vyžaduje program potvrzení volby klávesou <CR> Po tomto potvrzení se vedle zvoleného ísla stránky objeví ménící se ísla práv pijatých stránek Pitom nejsou zobrazována ta ísla stránek, která nenásledují v postupném íselném poadí Jsou to vtšinou pehledové stránky, které se vysílají nkolikrát v jednom cyklu, nebo stránky, penášející titulky Jakmile dojde k nalezení stránky se stejným íslem jako je zadané, ísla pijímaných stránek zmizí a zobrazí se požadovaná stránka Jestliže je tato stránka znehodnocena rušením, je možné provést opakované natení klávesou, Pípadné rotující podstránky se naítají automaticky Program také umožuje zrychlenou volbu pomocí tzv sdružených stránek Tato možnost je indikována znakem,>* v levém horním rohu obrazu Po zobrazení 25 ádku klávesou <SP> je možné provést klávesou,1* až,4* zrychlenou volbu podle pehledu v 25 ádku Pomocí klávesy,1* je možné pímo volit tzv indexovou stránku, tj stránku se základním pehledem Další bžnou funkcí je zobrazeni reálného asu as bývá zobrazován na posledních osmi pozicích prvního ádku (záhlaví) nejastji ve tvaru Program umožuje prbžné zobrazení asu, pouze pi natení stránky se as zastaví na dobu potebnou pro zpracování informací (ádov stovky ms) Zobrazení asu je potlaeno pi využití zvláštních funkcí DOUBLE a TIME CODE Pod oznaením zvláštní nebo doplkové jsou u standardních dekodér bžná následující funkce: Dvojitá výška (DOUBLE) umožuje pro lepší rozlišení zobrazit horní a dolní polovinu zvolené stránky v dvojnásobné výšce Podržení rotující podstránky (HO) pokud jsou podstránky zobrazovány po píliš krátkou dobu, je možné touto funkcí jejich rotaci perušit a podržet zobrazovanou podstránku na požadovanou dobu Tuto funkci je možné využít i u normálních stránek, a to tehdy, když vlivem rušení dochází k astému pepisování natené stránky stránkou falešnou Zobrazení skrytých znak (RE- VEL) tato funkce umožuje zviditelnní znak, které jsou pi prvním zobrazení skryty (zobrazeny jako mezery) Využívá se pedevším pro skrytí odpovdí u kvíz nebo pro skrytí informací, urených pouze pro nkteré uživatele Pímá volba podstránek (TIME CO- DE) pomocí této funkce je možné zvolit íslo požadované podstránky obdobn jako íslo základní stránky (volba je možná pouze u nkterých podstránek, tato možnost bývá vyznaena) Volba se provádí po zvolení ísla stránky, íslo podstránky se vtšinou zobrazí na míst reálného asu Tímto zpsobem se zadává i as pro aplikaci funkce budík** Stránka, na které je budík zobrazen, je vlastn složena z rotujících podstránek jejichž mikroelektronika 17

18 ísla odpovídají reálnému asu To znamená, ž tato podstránka se zobrazí v dobé, kdy se její isto bude shodovat s nastaveným asem Program umožuje realizaci všech tchto funkci Jejich pesné použití je popsáno v ásti Popis ovládání Program navíc umožuje vytisknout zvolenou stránku dvma zpsoby U tiskárny se pedpokládá rozhraní Centronics, nejlépe standard IBM nebo Epson Nastavení zpsobu tisku a vlastní tisk se provede píkazy, které jsou dostupné po zobrazení menu (viz ást Popis ovládání) Tabulka propojení tiskárny a interfejsu s obvodem pro mikropoíta ZX Spectrum ' je na obr 2 Popis programu TELETEXT Programové vybavení bylo vytvoeno pro mikroprocesor Z80 a implementováno na mikropoítae Sord M5, Sharp MZ 800 a ZX Spectrum Program je napsán v makroassembleru Z80, zdrojový text má délku asi 130 kb Peložený strojový kód má délku asi 14 kb, z toho je asi 6kB vlastní program, zbytek tvoí tabulky a data pro dekódování Celkový vývojový diagram programu je na str 17 Pro pehlednost jsou zakresleny pouze hlavní vazby mezi jednotlivými bloky Hlavní ástí programu TELETEXT je procedura IDLE, která zajišuje vzájemné propojení a volání jednotlivých blok programu a dále zajišuje i nkteré stále se opakující funkce (bloky TIME, PGE) Struný popis funkcí jednotlivých blok: INICILIZCE základní inicializace systému LINEO, LINEI vyhledává a dekóduje adresu ádku, naití záhlaví zvolené stránky SERCH vyhledává rámcový (framing) kód SCN-GO eká na ukonení nejbližšího signálu GO a souasn pomocí bloku CONST testuje klávesnici na stisk klávesy Po ukonení GO pesune data z vyrovnávací pamtí adaptéru do operaní pamti mikropoítae pro další zpracování CONST testuje klávesnici CRRY test vlajky indikující stisknutí klávesy INTERPRETER volá píslušnou rutinu z BLOKU OVLÁDÁNÍ BLOK OVLÁDÁNÍ obsahuje rutiny nutné pro provádní píkaz uživatele (DOUBLE HO REVEL, CLOCK, TIME, CODE, PST, SERCH, INDEX, MENU, PRINT, HELP, SETUP, EXIT) CHECK volá píslušnou rutinu TIME a PGE TIME porovnává systémový as s údajem o reálném ase, penášeném v záhlavích stránek PGE pi vyhledávání zvolené stránky porovnává íslo práv natené a zvolené stránky (vetn ísla magazínu) REST naítá zbytek stránky až po hlaviku následující stránky SVÉ volá rutiny nutné pro zpracování paketu 27 a paketu 26 DEK27 dekóduje paket 27, PK26 dekóduje paket 26 DISPLY ídí zobrazování stránky, volá potebné rutiny z BLOKU ZO- BRZENÍ BLOK ZOBRZENÍ obsahuje rutiny, nutné pro správné zobrazení stránky Popis nkterých vybraných ástí programu ÚVOONÍ BLOK V úvodním bloku jsou definovány nutné makroinstrukce pro komunikaci s paralelním rozhraním a velikosti jednotlivých bafrú Je uveden píklad minimálních definic, potebných pro innost základní ásti programu VYHLEDNÍ DEKÓDOVÁNÍ RDKU V další ásti je popis hlavní procedury pro vyítání dat z adaptéru a pro úpravu jednoho teletextového ádku Procedura volá podprogramy nižší úrovn (viz dále), které jsou zásti závislé na hardware poítae Vlastní hlavní procedura pro vyítání je volána z hlavní programové smyky (procedury IDLE) Uvcdni blok FRNING E8U ENBLO ENftl EQU EQU OOOOU11B PROGRMOVNÍ Nastaveni rez inu Bit j j Franinguv fcod ENBEO EN&E=1! Port C (lower) l-inp«t,0-flijtp«l Port F l-input,0-omtput Hode selection O-Hode 0,1-Hode 1 Port C (upper) l-lnput,0-0utput Port l-lnput,0-0utput Hode selertion (XF Hode 0,01-flode 1, IX- Hode 2 Hode set flag Hlctive 2 Bit set/reset foraat Bit Unused Bit set/reset flag 0-ctive CU EQU E PIOSIZE ESU 448! í! Bit set/reset flag 1 -Set,0-Reset Bit select : mikroelektronika idii slovo pro 8255 P - vstup dat z dekodéru PB - nepouzit-nastaven jako vstup PCD - /G0 sigbal z dekodéru Pa - ENBlE signál do dekodéru Velikost bufferu pro P!0 ( na* pro 8 ttx datovgch radku v pulsaieku ) * Vghledani a dekódováni radku * # * MMjHHHHHjHmHHHHlHHHHH IMfumVn žty# Program vghleda a dekóduje adresu radku do oblasti R0HDR Je-li to radek 00 ( hlavika ), provede dekódovaní do oblasti 1ED pres ruting : SERCH Vghledani fraaingova kódu SCNJ50 Nateni dat z teletextu BEC0BE Hakro,kter* dekóduje Hawingovy kodg Vgstup F(CY)-1 - bylo perušeno ctni Vstup : LINEO L1NE4: jinak F(CY)=0 Hl - dresa prvního datového bytu ( za zahlavin ) HICI LINEO H,BC a PI0SF nastaveny z pedchozího voláni - Nacita data do PI08UF a nastavuje HL,EC CLL SCWLG0 Nejprve ausine naíst data RET c Bylo perušeno cteni-navrat HLPIOBtr Odkud ^acirirtuc- IP BCPIOSITE Velikost bufferu Cll SERCH Vyhledej Fráni nj v bufferu JR NZ, LINEO Buffer prázdny, nebo falešný radek L0, (Hl Hagazine f Rou address DEC0DE Dekóduj Hanninguv kod JP H, LINEI Chi^a - hledej dle E, Uschovej nezivysledek: INC w HL= adresa Ro*> address ( nizsi 4 bitg, (HL) Haaaing do CC DEOTE Zkus ho dekódovat JP JI,LINEI Chyba - hledej dalsi radek INC HL Posun na dalsi zrwk SL Rotuj je do správné pozice BIT 3,E Test, na lichý radek ( 0-ty bit =1) JR ZLINE4 Je sudy INC Je lichý SD (R0U0R), Ulož cislo radku ID D, Uschovej adresu na chvíli,e Vezni cislc nagazinu Wffi 1UB Oprav ho

19 8! (HEB), Ulož íslo magazínu LB,D Vrat zoet adresu OP Test na cislo radku CY=0 PET NI atat kdyr ne»i radek 00 LB DE,HED*L Cilova oblast pro dekódováni PUSH BC Uschovej poitadlo neprohledanych bytu B,8 Poet bytu v zahlavi LB,(HL) Dekódovaný byte DECODE Zkus ho dek:odovat JP H, LINES Chyba - oprav zásobník a hledej dále ID IDE), INC Ht Posun oba Ulož dekódovaný byte INC DE ukazatele DJNZ LINE2 Dekóduj cele zahlavi EX SP),HL Vezmi poitadlo ID BC,-8 Opravíme o odebrané byty ze zahlavi OD HL,BC Oprav EX (SP),HL Vrátíme zpt adresu POP BC Obnov poitadlo XOR CY=0 RET LB, B Navrat Budeme poítat ofset C, EC=vysledek B,0 OR CY=0 EX <SP),HL Vezmeme adresu SBC hi,bc Opravíme poitadlo o data EX (SP),HL Vrátíme zpt POP BC i Oprav zásobník ( vrat poitadlo ) JR LINEI a hledej znovu VYHLEDNÍ rámcového kodu Následující rutina je používána pro vyhledání zaátk teletextových ádk Zaátek ádku je identifikován pítomností rámcového kódu (framing code) Jestliže následují dva tyto kódy za sebou, považuje se za platný druhý výskyt JWIM >H»H (HltHÍHHHlHHHHMHW l * * Vyhledáváni Framingova kódu *» Program vyhledává framinguv kod od adresy (HL) v delce (BC) j a testuje peteeni i mimi leh:' vyhledávání Vystup: Z=1 Nasel framing HL addr UV smi njt!-' SERCM: BIT 7,8 Test na peteeni rozsahu RET NZ Framing nenalezen-pretek, FRMING Co hledáme CPIR Hledej RET NZ Navrat - nenasel Cr (HL) j Test na 2* framing za -:ebo JR ZSERCHl Jsou 2 framingy XOR 7=5 1 RET Navrat Z SERCH1 : INC HL Pesko prvni framing DEC BC Oprav poitadlo XOR k i M PET Navrat Z t PftEKÓDOVCf TURBO TBULK EKNÍ N GO TEST KLÁVESNICE Dále uvedená tabulka umožuje velmi rychlé dekódování a vyhodnocení (pípadn opravení) Hammingova kódu (varianta, viz TELETEXT popis systému ) Tuto tabulku využívá makro DECODE volané v LINEO a v LINEI Následující rutina testuje stav klávesnice a adaptéru Pi ^pipravenosti adaptéru pro pedání dat provede pesunutí dat z vyrovnávací pamti adaptéru do oblasti PIOBUF Ta slouží jako pracovní oblast pro dekódování Pi penosu dat je využíváno signálu CS PIO a RD PIO k pímému inkrementování ítae pro adresováni vyrovnávací pamti v adaptéru To znamená, že tuto innost není teba ovládat softwarov V pípad, že se eká na pipravenost adaptéru a je stisknuta nkterá klávesa, je nastavena vlajka indikující uživatelský vstup (CRRY) a je proveden návrat do procedury, která tuto rutinu volala (LINEI nebo LINEO) HH i mmimumhw»imii»nnm i * * Cekáni na GO a test klávesnice * * * WHimiiKHHtmiMHimimiHHi Tento podprogram ceká na ukoneni nejblizsiho signálu GO a testuje klávesnici na stisk tlaítka ( perušeni hledáni ) Po píchodu signálu nate data z vyrovnávací pamti dekodéru na adresu PIOBUF pro dalsi zpracovaní Vystup: F <CY)=1 - bylo perušeno SOKM: CLL CONST Get console status OR Nastav vlajku Z/NZ SCF Pipadne vlajku INTERRUPT RET NZ Byla stisknuta klavesa IN, (PIOO Nati status (M siyalu ano 1 Maskuj pouze tento bit jr NZjSCLGO <M jeste nepišlo IN, (PIOC) Test na jeste trváni GO m 1 Maskuj GO bit JR ZjGOSCN GO jeste trvá IJ ENBLl Povolíme vyítáni dat z dekodéru 0UT (cm>, pres PC7 ID HL, PIOBUF Kam budeme ukladat data BCPIO 0dk>id budeme brat + poitadlo INIR Nateme prvních 256 bytu INIR BC,256*(PI0SIZE-256)+PI0 Nateme zbytek dat jenblo Zakazeme vycitani dat z dekodéru OUT XOR PET (CTRL), ft pres PC7 Nuluj CY flag * * * FVefcúdovstc i TUPEO taktika *»» Tabulka pro TURKt dekódovaní (d 1938 Pavel BRYCHT RDIX 16 DB OFF,OOC, 001,OFF,OO,OFF,OFF,OC9 DB OO f OFF,QFF,OOB,OO,OO,OO,CFF DB 008, 0FF, OFF, 00B, 0FF, 000, 00D, 0FF DB OF,')OB,OCB,OOB,OO,OFF,OFF,OOB DF OOC,OOC,OFF,OOC,OFF,OOC,OOD,OFF DB OFF,OOC,OOF,OFF,OO,OFF,OFF,007 DB OFF,OOC,OOD,OFF,OOD,OFF,OOD,OQD DB 006,OFF,OFF,OOB,OFF,OOE,OOD,OFF, DF 008, OFF, OFF, 009, OFF, 009, 009, 009 DB OFF,002, OOF, OFF,OO,OFF,OFF,009 db 008, 008, 008, OFF, 008, OFF, OFF, 009 DB 008, OFF,OFF,00B,OFF, OOE,003,OFF DB OFF,09C,OOF,0FF,OO4,CFF,0FF,OO9 DB OOF,OFF,OOF,OOF,OFF,OOE,OOF,OFF DB 008, OFF,OFF,005,OFF, OOE,OOD,OFF DB OFF, OOE, 00F, OFF,00E,OOE,OFF,OOE TBLE: DB 001,OFF,001, 001, OFF,000,001,OFF DB OFF, 002, 001, OFF, 00, OFF, OFF, 007 DB OFF, 000, 001, OFF, 000, 000, OFF, 000 DB 006, OFF, OFF, 00B, OFF, 000,003,OFF DB «T,00C,0Ol,0FF,OO4,0FF,0FF,0O7 DB 006, OFF, OFF, 007,OFF,007,007,007 DB 006,OFF,OFF,005, OFF, 000, 000,OFF DB 006,006, 006,OFF,Q06,OFF,OFF,007 DB OFF, 002,001,OFF, 004, OFF,OFF,009 DB 002,002, OFF, 002, OFF,002,003,OFF DB 008, OFF, OFF, 005, OFF, 000,003,OFF DB OFF, 002, 003,OFF, 003,OFF,003,003 DB 904, OFF, OFF, 005, 004,004,004,OFF DB OFF, 002, 00F, OFF, 004, OFF,OFF,007 DB OFF, 005, 005, 005,004, OFF,OFF,005 DB 006,OFF,OFF, 005, OFF,OOE,003,OFF RDIX OH mikroelektronika 19

20 Popis ovládání Po zavedení programu z kazety (diskety) se zobrazí titulní strana a hlavní menu Menu obsahuje tyto ti základní varianty: Setup Print Help Jednotlivé varianty se volí klávesou odpovídající zvýraznnému písmenu Setup umožuje nastavení zpsobu vysílání ídicích znak na tiskárnu ve form CR nebo CR+LF a následující zpsoby kopie obrazovky: Normál normální kopie obsahuje pouze platné SCII znaky, grafika se zobrazí pomocí odpovídajících SCII znak, znaky národních variant jsou zobrazeny bez diakritických znamének Shaded stínovaná grafický kopie využívá možností tiskáren standardu IBM a Epson Print provede vytištní natené stránky podle podmínek, nastavených v pedchozím bod 0 Help zobrazí seznam písmenových píkaz pro standardní ovládání Jsou to tyto píkazy: S page# volba stránky provede se zadáním tíciferného ísla, po kterém následuje <CR> again znovu se provede natení zvolené strany C clock po pedchozí pímé volb podstrany se zobrazí potlaený reálný as D double horní a dolní polovina natené stránky se postupn zobrazí v dvojnásobné výšce Rotování se provádí libovolnou klávesou E exit návrat do operaního systému mikropoítae H hold podržení rotující podstránky až do dalšího stisku libovolné klávesy Funkce je indikována písmenem,h v levém horním rohu 1 obrazu index automatická volba indexové stránky (stránka 100, pípadn stránka nastavená pomocí paketu 27) M menu zobrazí se menu R réveal zobrazí se znaky, které jsou pi natení stránky skryty T time code pímá volba podstránky umožuje zadat tyciferné íslo podstránky Po zadání ísla stránky stiskneme,t (na míst reálného asu se zobrazí TimeOOOO), zadáme íslo podstránky a stiskneme <CR> <SP> fast search volba sdružených stránek V pípad, že se penáší adresy tzv sdružených stránek, které jsou ureny k automátickému ukládání do pamti dekodéru, je jejich pítomnost indikována znakem > v levém horním rohu obrazu Pak t je možné pomocí klávesy <SP> vyvolat zobrazení doplkového 25 ádku, penášejícího pehled sdružených stránek Volba sdružené stránky se provede stisknutím odpovídající klávesy,1 až,4 Klávesy jsou piazeny barevným skupinám následujícím zpsobem: klávesa,1 ervená" kiávesa,2 zelená" klávesa,3 žlutá" klávesa,4 modrozelená" Publikovat celý výpis programu pro píjem teletextu nebylo vzhledem k jeho rozsahu reálné Proto jsme zaídili v rámci projektu MIKROBÁZE, aby nahrávku programu na kazet dodávala 602 ZO Svazarmu v Praze Zatím jsou k dispozici programy pro poítae ZX-Spectrum, SORD M5, Sharp MZ800, pipravují se další vetn IBM-PC O program pro svj poíta si tedy napište na adresu: 602 ZO Svazarmu, ul dr Z Wintra 8, Praha 6 ) Dlouhý spánek Gajany Carola Biedermannová Za jasných nocí bliká na obloze malá hvzdika Ze Zem není vidt, že kolem ní krouží ti planety Dv jsou mrtvé Hromady kamení, mrazivé pustiny Tetí je živá Jmenuje se Gajana Podnebí Gajany je teplé a krom oblasti tropických dešových prales suché Rána jsou chladná a svží, poledne horká do úmoru a veery dlouhé, vlahé, soumrané Je to mírná planeta, as plyne tiše a nemá velký význam Na Zemi vesele skotaili brontosaurové a jiné tžkotonážní potvory, které byly pozdji odkázány do íše pohádek, aby ješt pozdji byly s úctou a pietn objevovány jejich kosti Na Gajan slezl podnikavý opiák nebo zvíe opici podobné ze stromu a postavil se na zadní konetiny, aby se podíval do dálky nad vysokou trávou gajanské stepi V tráv 20 mikroelektronika uvidl pasoucí se zvíe podobné králíkovi Napadlo ho vzít do ruky klacek a králíka praštit Králík padl s roztíštnou lebkou Opiák si depl vedle králií mrtvolky a tup na ni zíral Pitom mimodk olízl klacek se zbytky králiího mozku Chutnal podobn jako stromoví ervi, kterými se živil Na planet Zemi slezl první podnikavý opiák ze stromu v dob, kdy lidé na Gajan podnikali pokusy s chovem zvíat a pstováním rostlin Když si na planet Zemi lidé vzájemn kradli nasbírané rostliny a ochoená zvíata, na Gajan již stála bílá msta Vysoké ženy s lehce namodralou pletí a korunou zlatých vlas a muži, do pasu nazí a v dlouhých bílých sukních procházeli stinnými podloubími ulic kolem pln automatizovaných obchod a pracovali v nekonen blostných klimatizovaných sálech a chodbách poíta Za nocí hledli ke hvzdám Podnebí Gajany je suché a teplé, déš nezavírá lidi vjejich píbytcích Lidé nezapomnli na široké stepi, ze kterých pišli Ve volných dnech odcházeli do malých domk ve stepi, aby žili blíž pírod Pstovali ovoce a zeleninu, žili bez

21 jídel, která se sama uvaí a bez vozidel, která se sama ídí Volných dn pibývalo, poítae ve mstech byly ím dál tím schopnjší a samostatnjší Lidé Gajany se postupn vraceli do svých stepí Poítae pro n vytvoily rozvážkovou, službu le zásobovací vozy se vracely plné, lidé si pstovali potraviny vlastníma rukama a tkali látky na primitivních stavech Nechtli už trápit dti školou, vzdláním, prací Mysleli to dobe, když jim chtli dopát svobodu Tehdy Podnebí Gajany je teplé, suché a mírné Jitra jsou tichá a osvžující Lid Gajany neznal válení, oblíbenou zábavu lidí na Zemi Stádní pud u nj zanikal Ve stepích bylo místa dost Bílá msta Gajany osiela Poítae postupn rušily výrobu vcí, které nikdo nepoteboval utomaty a roboty udržovaly opuštná msta nebo ekaly, peliv nakonzervovány, ve skladištích Nablýskaná vozidla stála v garážích, obchody byly prázdné, jen štpní vítr se prohánl podloubími V dlouhých chodbách poítaových center blikala svtélka a svítily obrazovky Poítae ekaly na muže v dlouhých sukních se zlatými vlasy k ramenm, na dívky v bílých ízách, protože, jak pravil jejich program a jejich zkušenost, jen tým lovka s poítaem dává fungující celek Lidé však odešli Opustili i své domky, které stejn už neumli poádn udržovat, a žili v devných srubech nebo zahloubených polozemnicích Na Zemi lidé pomalu konili s toulavým pasteveckým zpsobem života a zvykali si žít v trvalejších sídlištích Bude trvat ješt dlouho, než bude postaveno msto u Catal HÚyuk, než se zrodí na ostrovech první íše, po které zstanou jen báje o Lemurii, zemi Mu i tlantid Poítae na Gajan žity bez Udí Mly spoustu asu Využily ho na zdokonalení, získaly první záblesky skuteného vdomí Bylo to vdomí osamlosti 0 údržbu poíta se staraly roboty, slunce Gajany dodávalo do sluneních baterií neomezené množství energie le picházel stesk Lidé zapomínali na poítae a na bílá msta, ze kterých odešli do širých stepí za svobodou Msta se vjejich vyprávní stávala podivným petechnizovaným peklem Po lidech zstaly linky telefon, stanice bezdrátového spojení Poítae je mly na dosah tak se propojily do jednoho planetárního systému S nadjí, že pemohou samotu Vznikl velký poíta Gajany Na Gajan znamená as málo a pro poíta ješt mén Jen samota odkapává v drobných krpjích a mí dobu ekání Velká kaluž samoty znamená stesk Z kaluží vznikají potky, jezírka Poíta Gajany se odhodlal k inu Poslal za lidmi roboty, aby je pivedly zpátky, když bílá msta ekají a poíta je stále pipraven jim sloužit Lidé Gajany již zapomnli umní práce s kovy Táhli se svými stády od pastviny k pastvin, bydleli ve stanech z páchnoucích zvíecích koží, pojídali napl syrové maso a divoké rostliny Veer se u táborovch oh vyprávly povsti o bílém pekle mst Nedviv, se strachem hledli lidé na roboty, které jim neubližovaly a nco íkaly Jist to byli démoni pekla e lidí se zmnila Bylo v ní málo slov a znla jinak, než bylo uloženo v pamti velkého poítae Poíta ml v té dob bohatší slovník než nejchytejšf z lidí Možná, že lidé na Gajan se chvíli pokoušeli pochopit, co od nich ty lesklé krabice chtjí, než je poslali pry nevybíravými slovy Nemli ostatn z eho vybírat a mli spoustu jiných starostí Hodn se jich rodilo, ješt více umíralo, poád ádily njaké nemoci, bolely je zuby, pokud njaké mli, dobytek se plašil a mouchy otravovaly Velký poíta Gajany usoudil vcelku správn, že lidé se nevrátí, že zstal sám Hledal ešení Pestal udržovat zbytená msta, ta se po ase zhroutila v hromady sutin a z tch pomalu vznikal písek: Zstala jen poítaová centra, slunení baterie, výroba obslužných robot a hvzdárny Na Gajan as mnoho neznamená a pro poíta ješt mén Poíta hledl k hvzdné obloze Poítal, pemýšlel, možná i snil Byl pánem planety a myslel na hvzdy 1 na Zemi lidé hledli ke hvzdám, dávali jim jména svých boh, dávali jména souhvzdím Jedno dostalo jméno Pastý Štpní vítr rozfoukal po Gajan písek, který zbyl z bílých mst Pibývalo písených bouí, ve kterých hynuli lidé i zvíata Stepi vysychaly pod vrstvou vápenatého písku, mnily se v poušt Lidé se pesthovali do jeskyní a živili se lovem drobné zve Usidlovali se na okrajích prales, které pouš nemohla pohltit, nemla na to dost síly Jeden podnikavý muž, drobný a obratný, vylezl na strom Objevil hnízdo stromových erv, ochutnal a ejhle, podobalo se to chuti vzácného králiího mozeku Navíc našel nkolik pivokých plod, prost ml šastný den Po dlouhé dob se dosyta najedl Lidé z Gajany se zaali sthovat do prales Postavili si hnízda z vtví a bydleli na stromech Prales se dokal Poíta vyrobil sérii hlídkovacích zaízení, továrna na výrobu obslužných robot to hladce zvládla a poušt Gajany byly ideálním letištm Zaízení byla prakticky nezniitelná, v nemnném kosmickém vzduchoprázdnu mohla ekat neomezenou dobu Vypoítal vhodná místa ml k dispozici hvzdárny celé Gajany a rozeslal své hlídky do vesmíru Lidé Gajany nemohli ze svých lesních skrýší zahlédnout svtélka, ztrácející se mezi hvzdami Velký poíta" Gajany se ponoil do dlouhého ekání Možná i snil zatím pouš zakryla poslední zbytky civilizace, pouš se srdcem z kovu a polovodi, kterou daleko od sebe probleskovaly povrchy sluneních baterií Na Zemi tlantis skonila v rozbouených živlech Harrapa a Mohendžoro prošly asem, sumerské paláce pokryl prach a hlína Jako brontosaui, i íše Chetit byla vykázána do povstí, aby po dlouhém ase byla archeology pietn odkryta Egypané postavili své pyramidy, pro které as mnoho neznamená Kréané ovládali moe a jako sport pstovali skok pes býka, ddictví bezejmenného msta od Catal HÚyuk ekové postavili své bílé chrámy, které asem Turci opt zboí, a tesali sochy, které zstanou mítkem krásy v dob, kdy jedna ze sond Gajany zane plnit svj program V dešových pralesích Gajany potomci lidí sestupovali na zem jen zídka V tom pípad se pohybovali po tyech chápavých konetinách Jednomu druhu se vyvinul chápavý ohon, což se pro život na stromech bezesporu hodilo Dsili se oteveného prostoru, za kterým odešli ze svých mst a který se stal pouští Vzpomínka na dávnou civilizaci v nich vyhasla Jejich slovník se skládal z posunk, skek, kourání a oichávání Na Zemi zaala a skonila doba kesanského temna Uení mnichové Campanella, Bruno a Kepler a po nich uení laikové Galileo a Herschel obraceli zrak lidstva ke hvzdám, což nebylo práv snadné Lidstvo se radji bavilo válením a jinými zmatky Byl vynalezen parní stroj, objevena elektina, pracoval Edison a Marconi Byl objeven bezdrátový penos zpráv Vesmírný posel zaal plnit program V roce 1927 podle pozemského poítání asu byl již v éteru slušný provoz Sonda vysílala na Gajanu všechno, co zachytila, ostatní bylo starostí velkého poítae Urit s tím ml starostí dost Sonda zatím plnila svj druhý úkol Potomci lidí Gajany obrostli zlatou srstí a vesele skákali z vtve na vtev, aniž by pocítili nespokojenost se svým osudem, když Taylor a Young zaznamenali zpoždní odrazu radiových signál V roce 1928 se totéž povedlo Halsovi a Strómerovi, jev podrobn prozkoumal Van der Pol, který zjistil zpoždní ozvn od tí do patnácti sekund a pozmnné trvání nkterých signál, zatímco frekvence vždy souhlasila Jenže lidstvo mlo jiné starosti V roce 1960 oživil problém zpoždného odrazu Bracewell v asopisu Nátue V roce 1965 si J Strong uvdomil, že místo odrazu je souasn jedním z liberaních rovnovážných bod soustavy Zem Msíc a tedy nejlogitjšfm místem napíklad pro umístní meziplanetární sondy V roce 1973 napadlo Lunana penést íselnou adu zpoždných ozvn do grafu Ped jeho mírn udiveným zrakem se objevila mapa souhvzdí Pastýe, jak by se jevila pi pohledu ze Zem ped tinácti tisíci léty Jenže souhvzdí Pastýe je pro lidi Zem trochu z ruky a lidé mají spoustu jiných starostí a málo asu Na Zemi as znamená hodn V roce 2020 lidé opt jednou vesele válili, prp zmnu o kousek území planety Mars, které v podstat k niemu nebylo Znechucený pilot bojové kosmické lodi se vracel na základnu, šarvátka se protáhla, zmeškal rande s bezvadnou kokou, byl unavený, dostal vynadáno a zaražené vycházky Vztekle stílel po všem, co mu pišlo na mušku Pokaždé trefil Ze zasaženého meteoru vyšlehl prudký záblesk, jehož smr pilot nezaznamenal Fuj, to jsem se lekl, bylo všechno, co ho napadlo V pouštích Gajany as nic neznamená, pouš nemní svou zlatužlutou tvá V tropických dešových pralesích svobodn skotaí nkolik opic V písku pouští obas probleskne Skryt pod pískem sní poíta své povrch slunení baterie sny V soustav dvou tles, libraních bod napíklad Zem Msíc, je pt mikroelektronika 21

22 , r ÉHO DISKU Ing leš JUftfK, FE VUT, Božetchova Z Brno V souasné dob je již známo nkolik úprav mikropoíta ZX Spectrum pro práci pod operaním systémem CP/M Tento lánek je vnován nejen tm, kteí si postavili mikropoíta kompatibilní se ZX Spectrum podle [1], ale také tm, kteí chtjí provozovat na svém osmibitovém mikropoítai operaní systém CP/M, který je v souasném poítaovém svt bezesporu nejrozšíenjším operaním systémem, orientovaným na osmibitové mikropoítae Vzhledem k tomu, že existuje již nkolik verzí tohoto operaního systému, je navrhovaná verze upravena tak, aby pod systémem mohly pracovat všechny prog ramy, dostupné v tuzemsku i v zahrani í, používajícídsledn modulu BIOS Menší problémy vytváí pouze výstup na obrazovku (konzolu), protože u mikropoítae ZX Spectrum nelze dosáhnout itelného zobrazení více než 64 znak na ádek (nikoli standardních 80) Zato zde lze použít speciální grafické funkce, které je možno implementovat do modulu BIOS a pi psaní vlastních program využívat grafický výstup na obrazovku Tento zpsob byl vyzkoušen nkolika programy a poskytuje rozmanité možností pi tvorb program pod operaním systémem CP/M Obecný popis systému CP/M nebude v tomto lánku uveden, zájemce najde podrobné informace v [2] a [3] Krom toho je tento operaní systém dostaten znám, takže budou uvádny jen zmny proti standardnímu provedení, lánek nelze brát jako ucelený stavební návod, i když pro majitele poítae podle [1] na nj tak lze pohlížet Je z nj možno erpat inspira- ci pro další zájemce o operaní systém CP/M, zálohovaný ramdisk nebo adi floppydisku vetn kanálu DM Zárove je možná aplikace pouze nkterých ástí tohoto lánku (tzn CP/M jen s ramdiskem a kazetovým magnetofonem nebo CP/M jen s jednou nebo více disketovými jednotkami) 1 POPIS OBVODOVÉHO EŠENÍ Obvodové ešení vychází z faktu, že operaní systém CP/M potebuje pro svou instalaci pamový prostor z pamti RWM pes celý základní adresový prostor mikropoítae, tj 64 kb Nkdy se uvádí, že BIOS mže být v pamti ROM Z hlediska kompatibility s rznými moduly BDOS, z nichž vtšina vyžaduje v oblastí BlOSu od adresy 0FB00H dol nkolik desítek bajt volného prostoru pro zásobník, je vhodné, aby celý pamový prostor byl realizován z pamtí RWM Pro majitele mikropoítae podle [1] je tento požadavek splnn ovládáním vnitní pamti signálem SPIN a pekrytím dolních 32 kb odpovídající ástí pamtí pjované" z ramdisku Pro majitele Spectra s 80 kb vnitní pamtí RWM je nutno pouze pizpsobit pepínání této pamtí signálem SPIN tak, aby pi aktivní úrovni tohoto signálu byla pam ROM a pam video pekryta pamtí RWM Majitelé neupraveného Spectra mohou ovládat pomocí tohoto signálu pídavnou pepínací logiku tak, aby pi aktivní úrovni signálu SPIN obvod UL ml na vstupech B14 a B15 úrovn logické nuly a zárove vyblokovat vnitní pam ROM pivedením logické jedniky 22 mikroelektronika na vstup CSROMGEN To lze jednoduše zajistit perušením píslušných adresových vodi u vstup obvodu UL a pidáním jednoho obvodu nap typu 74LS08 11 Popis obvod ramdisku Návrh obvod ramdisku vychází z pedpokladu, že s pamtí ramdisku se bude komunikovat jako se stránkovou systémovou pamtí, nikoli pes port instrukcemi vstupu a výstupu Velikost stránky byla pro co nejjednodušší obvodové ešení zvolena 32 kb Pro pjování" systému (pekrytí ROM a video RM) byla zvolena stránka 0 (z hlediska obvodové jednoduchostí lze stejn použít i stránku s adresou nejvyšší, ale navrhovaný ramdisk mže mít i menší pamovou kapacitu) Obvodové ešení ramdisku je na obrázcích 1 až 4 Umožuje následující funkce: 1) pi komunikaci s ramdiskem je píslušná ticetídvoukilobajtová stránka pipojena do pamového prostoru mikropoítae od adresy 04000H 2) pokud se požaduje pipnuti systémové pamti RWM do celého adresového prostoru mikroprocesoru, pipne se od adresy 00000H nultá stránka ramdisku Protože pi použití operaního systému CP/M není možné používat tuto stránku jako souást ramdisku a systémové pamtí zárove, je programov v BlOSu zablokováno její použití v ramdisku 3) pi aktivaci funkce BOOT (zavedení systému a jeho studený start) je do spodní ásti adresového prostoru pimapována pam ROM se zavádem systému z diskety a do horní poloviny (od adresy 08000H) je pipojena pam RWM Po nahrání systému program skoí do BlOSu, který odepne pam ROM a uskutení studený start systému V souasné dob zatím modul BIOS vyžaduje pítomnost obsahu pamti ROM Spectra (využívá se z ní scroll obrazovky, funkce PLOT, DRW a BELL) Zavád systému byl doplnn do volného prostoru pamti ROM Podle tchto požadavk dostáváme tedy signál odepínající vnitní pam RWM jako souet tí signál (viz obr 1) SPI = RMDISK + (EXPRM15N) + + CSROM (1) ad 1) Funkce obvod podle tohoto bodu je zabezpeena ovládáním signálu SPIN pomocí signálu RMDISK (aktivní úrove tohoto signálu signalizuje, že zrovna probíhá komunikace s pamtí jako s ramdiskem): RMDISK = RMD (1415N N15) (2) kde signál RMD je výstup 1013 (obr 1) a signály 14 a 15 jsou píslušné bity adresové sbrnice Do obou polovin 1013 se výbrovým signálem CS4N (instrukcí OUT (4), ) zapisuje informace ze tvrtého a pátého bitu datové sbrnice, piemž aktivní jsou v logické jednice Pomocí tvrtého bitu se ovládá pipojeni píslušné stránky ramdisku a pomocí pátého bitu se ovládá mapování nulté stránky pamti ramdisku do prvních ticeti dvou kb pamového prostoru, pokud se používá ást pamové kapacity ramdisku jako mapovaná systémová pam [viz ad 2)] Obvod 1012 je použit jako tybitový registr adresy stránky ramdisku Jeho výstupy jsou hradlovány signálem RMDISK, ímž je zabezpeen výbr nulté stránky, pokud není signál RMDISK aktivní a je komunikováno s pamtí ramdisku ad 2) V okamžiku, kdy je požadována komunikace s nultou stránkou pamtí ramdisku jako se systémovou pamtí, je aktivní signál EXPRM (výstup druhé poloviny 1013) Ten aktivuje signál SPIN, pokud je požadován pístup do spodní poloviny systémové pamtí [v rovnici (1) je to vyjádeno druhým sítancem] Výstupy registru stránky jsou blokovány pouze pi aktivním signálu RMDISK V pípad, že jsou aktivovány oba signály, je obsazení pamtí následující: OOOOOH až 03FFFH spodní polovina nulté stránky ramdisku jako systémová pam, * H až OBFFFH aktuální adresovaná stránka ramdisku, OCOOOH až OFFFFH vnitní systémová pam mikropoítae *

23 OSO 0S1 OS2 CSHO SPÍ CSLO CSROM BMPX RFSH W RŠ MPX 6fíF Je vidt, že aktivace ramdisku má prioritu, což je nutné kvli jednoduché komunikaci s ramdiskem Pipínáni stránky ramdisku doprosted adresového prostoru mikropoítae byto zvoleno proto, aby se zachovala dostupnost poátku pamti, kde jsou umístny odskoky a pracovní prostor operaního systému, a konce pamti, kde je umístn systém ad 3) Pokud si vytvoíme BIOS tak, že nebude teba spolupráce s pamtí ROM Spectra, nebo tak, že v nm bude obsažen zavád, který do pamti zavede obsah pamti ROM Spectra, mžeme používat zavádní systému z diskety zavádem v pamti EPROM Zavádní systému je inicializováno pipojením signálu SBOOTN na úrove log 0 Tímto signálem se nastaví klopný obvod 1015 (obr 1) a vygeneruje signál RESETN Do spodní poloviny pamového prostoru se pipojuje pam EPROM (obr 2) a v horní polovin pamti mikroprocesor spolupracuje s horní polovinou vnitní systémové pamti mikropoítae Pozorl Pi využívání této funkce je nutno zajistit odepnutí pamtí PROM s páskovým zavádem, nejlépe pomocí dvojitého tlaítka, jehož jedna polovina bude nastavovat 1015 (obr 1) a druhá polovina bude nulovat klopný obvod 102 (obr 1 v (1J), napíklad nulováním signálu CSRESN (obvod 3205 bez potíží vydrží na jednom výstupu krátkodobý zkrat) nebo krátkodobým pipojením log 1 na hodinový vstup tohoto obvodu Další obvody na obr 1 generují signály CSLO a CSHO (výbrové signály pro jednotlivé osmice dynamických pamtí) a signály ovládající multiplexery adresy dynamických pamtí Dvojice klopných obvod 1014 generuje osmý bit osvžovací adresy dynamických pamtí Na obr 2 je také obvod, který vytváí výbrový signál pro pam EPROM podle vztahu CSROM = 15N BOOT (3) Na obr 2 je zapojení muttiptexer adresy dynamické pamti RWM, které muitipiexují vodie adresové sbrnice mikropoítae, hradlované výstupy registru adresy stránky ramdisku a osmý bit osvžovací adresy dynamické pamti RWM Integraní len RC zpožuje sestupné hrany signálu CSN a tím zpožuje otevení výstupních datových budi dynamických pamtí Jeho použití bylo vynuceno relativn pomalou reakcí obvodu 3212 (1036 na obr 3 v [1]) na konec výbrového signálu Docházelo ke kolizi na datové sbrnici mikropoítae a tím i k havárii celého systému (programové) Déle je na obr 2 pam EPROM s disketovým zavádcím programem Je naznaeno použití pamti typu 2716 s kapacitou 2 kb, ale je možno použít beze zmny zapojení pam s kapacitou až 32 kb (tj bu typ nebo odpovídající kapacitu sestavit z pamtí o kapacit menší) V tomto pípad by bylo možno celý systém vetn pamtí ROM Spectra natahovat** blokovými penosy z této pamti EPROM mikroelektronika 23

24

25 lo c i 9 I S? N,c Q I O " N <4 io (O K S& ti ^Nio<oN«oOíS?:^C5^ 00C C5C3C3 & & * u > TO * O 5 2 i f r 1 T 1 It IV i J fv p 1 I KÍ Na obr 3 je zapojení dynamických pamtí RWM (celkem dv osmice obvod nebo ekvivalentních), dávající celkovou kapacitu 512 kb Jsou zde také rezistory, které oddlují výstupy osvžovacího ítae (820R) a multiplexer adresy dynamické pamti RWM (47R) Tuto pamf lze sestavit i z obvod s menší pamtí, pop jen z jedné osmice obvod, je však nutno patin pepoítat konstanty ramdisku v tabulce disku v BIOSu a pípadn upravit i adresaci pamtí na vstupech multiplexer adres dynamické pamti Na obr 4 jsou obvody logiky zálohování obsahu dynamické pamti RWM Základ je tvoen integrovanými obvody komparátorem naptí 1059, ítaem 1058 (v provedení CMOS) a tveicí hradel NND (také v provedení CMOS) Pokud je napájecí naptí nad mezí, kdy zaíná peklápt komparátor 1059, jsou na adresové vstupy dynamických pamtí pivádny výstupy multiplexer V okamžiku dosažení komparaní úrovn je procesor požádán o pidlení sbrnic (aktivací signálu BUSRQN) a v okamžiku potvrzení žádosti (signálem BUSKN) je peklopen klopný obvod z hradel NND 1057 a odepnuto napájení loi, 34, 35 a 36 Tímto postupem se spolehliv zabrání náhodnému pepsání obsahu dynamických pamtí bhem nabíhání a vypínání zdroje Integrované obvody TTL mají bez pítomnosti napájecího naptí velmi velký výstupní odpor, takže se ehovají jako by byly ve stavu vysoké impedance ( tetí stav") Experimentáln bylo zjištno, že toto ešení je spolehlivjší, než použití obvod s tístavovými výstupy, které se pi vypínáni napájecího naptí mohou mžikov aktivovat a zpsobit nežádoucí zmnu obsahu nkterých pamových bunk Obr 4 Zálohování pamti V prbhu zálohovacího cyklu jsou napájeny pouze obvody pamtí RWM a obvody 1057 až 59 Z jednoho hradla 1057 je vytvoen multivibrátor, který má periodu pi napájecím naptí 2,7 V asi 1 hs Výstupy ítae 1058 jsou nyní pipojeny na adresové vstupy dynamických pamtí, signál RSN je zkrácen asi na 0,5 až 1 jis pi naptí 2,7 V Nové typy pamtí mají totiž podstatn menší odbr, pokud nejsou aktivovány Obvody zálohování byly vyzkoušeny s nkolika rznými typy dynamických pamti od rzných výrobc odbr z náhradního zdroje byl mezi 20 a 45 m pi naptí na pouzdru pamti 3,0 V Pi tomto naptí nebyl zjištn výpadek uchovávané informace ani v jednom pípad, každá ze zkoušených osmic pamtí byla takto provozována po dobu dvou hodin 12 Obvody pipojeni disketové mechaniky Obvody pipojení disketové mechaniky jsou znázornny na obr 5 až 7 Pro ovládání disketové mechaniky jsou nezbytn nutné obvody na obr 5 0 6, obvody na obr 7 jsou obvody kanálu DM, které jsou vhodné pi vyšších penosových rychlostech pro záznam na disketu (napíklad mechaniky 5 1/4" s kapacitou 1,2 MB záznam HD-High Density) Pi použití mechanik s poloviní hustotou záznamu, oznaovaných u formát IBM DD (Double Density), není adi kanálu DM nutný, penos dat je možno provádt programov Na obr 5 jsou obvody hodinové základny adie floppy diskové mechaniky, separátoru dat a prekompenzace zápisu na disketu Tyto obvody jsou navrženy tak, aby data na disket byla záznamov kompatibilní se záznamem formátu IBM System 34 Double Density (MFM), používaným v poítaích ady PC-XT Prvním lánkem hodinové základny je krystalem ízený multivibrátor z invertor TTL, kmitající na kmitotu 16,000 MHz Klopným obvodem 1015, šestnáctkovým ítaem 1019 a klopným obvodem 1018 jsou vytváeny hodinové signály pro ízení íslicového fázového závsu, adie FD a adie DM Obvody prekompenzace zápisu dat jsou tvoeny tybitovým registrem 1020 a polovinou dvojitého tykanálového multiplexer 1021 Mají za újcol zvýraznit odstup mezer a jedniek nahrávaných dat pro snížení vlivu kolísání rychlosti otáeni diskety v disketové mechanice Obvody separátoru dat mají za úkol oddlit data od hodin v signálu, jdoucím z diskové mechaniky Protože záznam na disketu je jednostopý, je nutno použít speciální kódováni, pi kterém je možno zaznamenat do jednoho penosového kanálu data i hodiny zárove Vzhledem ke kolísání otáek disketové mechaniky totiž nelze zaznamenávat bloky sériových dat bez zakódování synchronizaního hodinového kmitotu Obvody separátoru dat se skládají z ízeného íslicového fázového závsu (1022, 23, 24) a vlastního separátoru dat, který je tvoen klopným obvodem 1018, hradly 1011 a klopným obvodem 1022 Fázový závs je ízen signálem VCO z adie, kterým se povoluje zasynchronizování fázového závsu Ten se díky obsahu pamti PROM 1024 zasynchronizuje již pi píchodu druhého impulsu a je v tomto stavu udržován, pokud je signál VCO aktivní Výstupem jsou dva signály mikroelektronika 25

26 mm liáism data BI EU OD 09 OD O OE OB OE OC OF OD OF OE 00 OF O 1 OB 1B OC 1C OD ID OE 1E OF 1F 00 Obsah PROM 1024 (MH74188) Obr 5 Hodiny, separátor a prekompenzace zápisu DW (data window datové okno) a RDDT (read data tená data), které jsou vedeny ke zpracování do adie typu Na obr 6 je schéma propojeni adie typu s ostatními obvody, pomocná hradla adie a registr ovládání disketových mechanik Je vhodné pipomenout, že adi typu je v RVHP vyrábn v BLR (oznaeni CM 609) a v NDR (U8272D) Dále se na trhu objevuje pod oznaením npd765, nap od firmy NEC Bližší informace o tomto obvodu najdou zájemci v [41 Registr ovládáni disketových mechanik je tvoen tybitovým registrem 1040 Využity jsou ti bity, dva pro výbr píslušné mechaniky a jeden pro ovládání motoru Mechaniky musí mít 26 mikroelektronika nastaveny vnitní propojky tak, aby se zapnutí motoru ovládalo souinem signál spuštní motoru a výbru mechaniky Pitažení hlaviky se ovládá souinem signál výbru mechaniky a vnitní pipravenosti mechaniky V BIOSu není využíván signál REDY mechaniky, protože ne všechny mechaniky jej poskytují, ale poítá se s maximální možnou dobou, za kterou je mechanika od aktivace pipravena (u použité mechaniky FD1053 firmy NEC to bylo 0,8 s) Na obr 7 je schéma zapojení adie kanálu pímého pístupu do pamti (DM) (není nutný pi použití zápisového hodinového kmitotu 500 khz) Lze jej ale zapojit a v patici adie DM (8257), pokud není kanál pímého pístupu do pamti využíván, propojit následující vývody na píslušné logické úrovn: Q2 log 0 TC log 0 DCK2N log 1 HRQ log 0 EN log 0 Obvody adie pímého pístupu do pamti jsou tvoeny vlastním adiem (1033) a posuvným tybitovým registrem 1030 Ten zajišuje vždy na jeden požadavek o penos dat kanálem DM trvání signálu DRQ2 po dobu ty period hodinového signálu To zabezpeuje peneseni práv jednoho bajtu adiem Registr horní poloviny adresy 1031 zajišuje pítomnost horních osmi adresových bit na adresové sbrnici, protože horní polovina adresové sbrnice je muttiplexována s datovou Hradla ND obvodu 1029 spolu s oddlovaem 1032 zajišují jednoduché a v tomto pípad postaující pekódování ídící sbrnice mikroprocesoru typu 8080 na ídící sbrnici Z80 a zpt

27 [>1 9? DBO DMC qqj 082 D83 DB* DBS DB6 DB7 2 CS20 až 27 CS26až2F mmr\ unii HIIIIIIII iiiiiiii tamní gpiiblil lilii llllfli IIIIIIII IIIIIIII Obr 7 adi DM pro FDC i RD WR MEMRQ, RESET DO Dl D2 D3 D4 D5 D6 D7 CS10C17 O_ RD m WRCLK CLK INDEXN/SECT VftPROTECm RD DT DW 'R DT PSO PSI WE WRITE GTE LCT/DIR VCO DÍVE SELO DRIVE SELI MOTORON Obr 6 Pipojení disketové mechaniky 2 POUŽITÉ SOUÁSTKY, PRKTICKÉ PROVEDENÍ Použité souástky byly z ady 74LS Co se týe praktického provedení, platí zásady uvedené v [i] Propojovací kabel musí být co nejkratší, pokud možno typu twist" nebo alespo mezi každými dvéma živými vodii musí být tažena zem Musíme si totiž uvdomit, že vlastn prodlužujeme sbrnici procesoru 21 Seznam použitých int obvod 74LSOO 74LS04 74LS05 74LS08 74LS10 74LS38 74LS74 74LS109 74LS153 74LSt57 74LS174 74LS175 74LS MÁC , 2, 3, 4, 5, 6, , 8, 25, , 10, 29, IO 26, 27 IO 13, 14, 15, 22 IO 18 IO 21 IO 34, 35, 36 IO 23 IO 12, 20, 30, 40 IO IO (16 ks)

28 , 3 POPIS PROGRMOVÉ ÁSTI Úvodem této ásti lánku je vhodné pipomenout základní zásady organizace soubor na disku v operaním systému CP/M Logická zaízení a ásti soubor jsou ta, na která se obad modul BDOS, zatímco modul BIOS zajišuje propojení požadavk modulu BDOS dále na konkrétní fyzická zaízení (disketové mechaniky) a fyzické soubory na nich Z tohoto je zejmé, že pi použití vhodných pekódovávacích algoritm v modulu BIOS je možná jiná struktura dat na fyzických discích, než kterou pedpokládá BDOS Je dokonce možné mít na každé z šestnácti možných disketových mechanik jiný formát záznamu dat Operaní systém CP/M poítá s následující logickou strukturou záznamu dat na disketu: vta záznam dlouhý 128 bajt, alokaní blok poet vt (konstanta BLS viz dále), které jsou alokovány (vyhraženy) pomocí jednoho bitu v bitové alokaní map disku lato konstanta je vždy mocninou dvou, minimáln je rovna osmi Fyzická organizace dat na disku je následující: sektor minimální záznam, který lze na disk umístit, stopa datový objem dosažitelný bez pohybu hlaviky (tato definice má význam pouze pro disketovou mechaniku, avšak i v pípad ramdisku se tento pojem používá, i když zde ztrácí svou fyzikální podstatu) Pokud se nepoužívá klasicky zformátovaná 8" disketa, je ve velké vtšin pípad fyzický sektor vtší než vta, je jejím celistvým násobkem Obdobn alokaní blok bývá celistvým násobkem fyzických sektor Pro pekódování se používá tzv blokující deblokující algoritmus Kostra použitého algoritmu je pevzata z [2] Výpis programu BIOS (Basic Input- Output System) je pipojen Pedpokládá se následující umístní systémových modul v pamti: CCP od adresy 0D600H BDOS od adresy ODEOOH BIOS od adresy OECOOH Ramdisk má kapacitu 480 kb (32 kb je nultá stránka, o níž již byla e v pedešlé ásti lánku), je formátován po stopách o velikosti 4 kb, první dv stopy jsou vyhrazeny pro systém, skutená kapacita ramdisku je tedy 427 kb S touto kapacitou je také nutno poítat pi tvoení konstant v tabulce DPB pro ramdisk velikost alokaního bloku je zvolena 2 kb (tj pi dané kapacit nejmenší možný) Pokud se aplikuje jiný ramdisk (o jiné kapacit), je nutno pepoítat konstanty tabulky DPB (Disk Parameter Block) Totéž platí i pro použiti jinak formátované diskety Jednotlivé položky tabulky DPB mají následující význam: SPT (Sectors Per Track) poet sektor na stopu, piemž sektorem se 28 mikroelektronika myslí vždy 128 bajt Pokud je disketa oboustranná, tak se vtšinou uvažují jako stopa oba povrchy, tzn dvojnásobná kapacita BSH (Block SHift) posun bloku Je to dvojkový logaritmus potu vt v alokaním bloku BLM (Block Mask) maska bloku Poet vt v alokaním bloku minus jedna Je to vlastn adresa poslední vty v alokaním bloku EXM (EXtend Mask) maska rozšíení Poet logických rozšíení (po 16 kb), adresovaných jednou položkou adresáe minus jedna Je dána takto: BLS DSM <256 DSM >=256 1 kb 0 2 kb kb kb kb 15 7 DSM (Disk Size Max) maximální velikost disku, to je celková kapacita diskové jednotky v alokaních blocích minus jedna (adresa posledního alokaního bloku) DRM (DiRectory Max) maximální velikost adresáe, poet položek, adresáe minus jedna dresá musí zabírat celistvý poet alokaních blok Platí: DRM = (X * (BLM + 1) * 4) 1 kde X je poet alokaních blok adresáe L0, L1 (LIocated 0,1) alokováno 0,1 Jedná se o první dva bajty alokaní mapy disku Jednika v 7 bitu 0 bajtu rezervuje 0 blok atd CKS (ChecK Sum) kontrolní souet Poet sektor adresáe testovaných pi zápisu na pracovní médium OFF (OFFset) posunutí Jedná se o poet stop rezervovaných na poátku disku Vtšinou jsou tyto stopy používány pro uložení systému Podrobný popis výpisu programu BIOS neuvádím, funkce jednotlivých ástí programu je objasnna komentái pímo ve výpisu zdrojového textu Další ástí programového vybavení je program výstupu na obrazovku v módu 64 znak na ádek Tento program je uveden také ve výpisu zdrojového textu v assembleru, BIOS pedpokládá jeho umístní nad videopamtí od adresy 06800H v zakryté" ásti pamti Proti jiným znakovým výstupm na obrazovku je program doplnn ástí umožující zpracovávání ídicích znak podle SCII Ped jeho voláním se musí zrušit mapování pamti a po provedení výstupu opt obnovit Perušení není nutno zakazovat, je používán perušovací mód 2 a obsluha se provádí v horní polovin pamti To však platí pouze pokud máme zarueno, že ukazatel zásobníku míí do horní poloviny pamti, což není vždy splnno Z toho dvodu je nejjednodušším ešením perušení zakázat Tabulka generátpru znak je použita z programu D-Writer 666 ZO Svazarmu, je však možno použít každý generátor s eskými znaky, který má znaky umístny v horní polovin bajtu a pro jeden znak potebuje osm bajt Tabulku generátoru znak získáme z programu D-Writer nap po povelu EXT-B povelem SVÉ genchrcs" CODE 35708,1064 (nahrajeme na pásku) 21 Vytvoeni a oživeni systému Pro první pokusy pedpokládejme, že máme na pásce nahrané následující programy ve formátu ZX Spectrum: 1 Program znakového výstupu na obrazovku(nahráváme od 06800H) 2 Generátor znak (nahráváme od 07000H) / 3 Modul CCP (nahráváme od 0D600H) 4 Modul BDOS (nahráváme od ODEOOH) 5 Modul BIOS (nahráváme od OECOOH) Ped jejich nahráváním zakážeme pístup BSICu do oblasti systému nap povelem CLER Po nahrání všech tchto soubor mžeme teoreticky zaít pracovat pod operaním systémem CP/M Po spuštní systému píkazem RNDOMIZE USR se smaže obrazovka a vypíše se otazník Pokud odpovíme y, probhne formátování ramdisku, jinak není ramdisk formátován (pi startu po výpadku napájecího naptí), je vypsáno úvodní hlášení BIOSu a systém se ohlásí nap 0> Nyní však potebujeme disketovou mechaniku a nahranou disketu se základním programovým vybavením Pokud jsme se nerozhodli pro stavbu adie disketové mechaniky (a už z jakýchkoliv dvod) a máme pouze ramdisk a kazetový magnetofon, je teba nejprve vytvoit program T- PECOM, který nám umožní komunikaci s magnetofonem pod systémem CP/M Tento program je nutno vytvoit pod operaním systémem Spectra, peložit, nahrát do pamti a pomocí krátkého pomocného programu ve strojovém kódu jej penést do ásti pamti od adresy 001 OOH Zde mžeme s výhodou využít možností pipnout si nultou stránku ramdisku doprosted systémové pamti a program, který má být nahrán od adresy 001 OOH do ní nahrajeme od adresy 081 OOH Pi pipnutí nulté stránky jako systémové pamti bude již umístn od adresy 001 OOH Prvním píkazem, který musíme zadat po ohlášení se systému, je SVÉ 8 TPECOM ímž nahrajeme tento program na ramdisk Mžeme využívat (nyní již pomrn velkou), programovou základnu používanou majiteli poíta SHRP, pracujících pod operaním systémem CP/M s ramdiskem a kazetovým magnetofonem Prostednictvím mgf pásky lze lehce vymovat programy a data mezi majiteli tchto dvou rzných typ poíta, po pipojeni 8" disketové mechaniky lze vymnit programy prakticky se všemi majiteli profesionáln vyrábných poíta, pracujících pod systémem CP/M 4 UTERTUR 1 j Juík, : Postavte si mikropoíta programov kompatibilní se ZX Spectrum Roenka matérského radia Mikroelektronika 1988, s 4 [2] Richte, K, Zajíc, J: Operaní systém CP/M pro mikropoítae Knižnice CSVTS, svazek 14 díl 1, Praha 1986 [3] Johnson,, Osborne, L: The programmes CP/M handbook McGraw-Hill, London 1983 [4] INTEL, Santa Clara, US: Component Data Catalog Intel Corporation 1981

29 Z ' Z Z *í- l i * _ 28 t* B I 3 5 * 25 * : * 40 BIOS E3LÍ 45 Uu ' EQL 4EC00 #D60 s: uív 22 c 3DCS SEKDSk ESU EQL 4DE00 * IQBYTE ESU * : velikost alokacninc- blánu 70 BLnSI ESU :del Ka fyzického sektoru 32 HSTa i 2 ESU 512 E HÍW «r í y 2 i c k y c h sektoru na stope 90 H5TSPT ESU {logických vet na íyz sekt 2 20 HSTBLK E3U a 205 i iogick ych vet na stopu i 18 CPMSPT ESU 4*18 i 15 maska cisla vety 122 SECMSK ESU -J 225 dvaikovy logaritaus HSTsLK 230 SECSHF ESU dl i w 5 WRLL ESU WRDIR ESU l 145 URUl EQU M ESU * EQT EQU * BPLRW EQU 48B2 165 GPLFT EQU * DTL EQU #00FF 175 SRTHUT EQU #00CF 180 HLTNL EQU * DL EQU *80E5 190 SC ESU * CR EQU #000D 200 LF EQU « coaut EQU * CHQHE EQU *0002 E15 CBELL ESU * CBS ESU *0008 ->25 CTB EQU * CLF ESU LF 235 CFF EQU «000C 240 CCR EQU CR 245 CROLL EQU * CPSE EQU * CCLU EQU # CUP EQU * CRI6H EQU # CT EQU #00 1B 275 CBGRL EQU #081E 2S0 FDCHSR EQU * FDCBTR EQU * FDCTMR EQU 800/ TERCNT EQU #0B2F 300 RETRY EQU SEKSIZ EQU RDSKOF EQU QR6 BIOS SECTRS EQU -CCP/SEKSI :vektor skoku na 350 podprogramy BIQSu 355 JP BDOT 360 WBOOTE 365 JP WBOOT 370 JP CDNST 375 JP CONIN 380 JP CONQUT 385- JP LIST 390 JP PUNCH 395 JP RELER 400 JP HOHE 405 JP SELLSK 410 JP SETTRK 415 JP SETSEC 420 JP SETLH 425 JP RED 430 JP WRITE 435 JP LISTST 440 JP SECTR 445 JP FORHF {tabulky pro disky raadisk 480 kbyte 470 LPBSE 475 LEFW 0, DEFN 0,0 950 {inicializace 485 LEFW LIRBUF 955 vstup po pocatecnia zave- 498 DEFN LPBLKR 960 {dni systeau pocatecnia 495 LEFW CHK0R 965 {zavadecea z paaeti ROH 508 LEFW LL0R 970 BuOT 585 Floppy disk 368 kbyte 975 XOR 510 LEFW TRNSF, 980 LL (IOBYTE), 515 LEFW 0,0 985 LL CSEKLSK), 528 LEFW LIRBUF 990 LL (HSTCT), 525 LEFW LPBLKF 995 LL (UNCNT), 538 LEFW CHKBF 1000 LL HL, HLSLT 535 LEFW LL8F 1005 CLL TEXTCO JP 60CPH 545 transf oraacni tabulka 1015 WBOOT 558 {sektoru floppy disku 1028 LI 555 TRNSF 1025 LL SP, # fyzicky sektor 1030 XOR LL (HSTCT), 578 {Hlava 0: V 1040 LL (UNCNT), 575 LEFB 88,01,02,03 { LL C,8 580 LEFB 16,17,18, CLL SELLSK 585 LEFB 32,33,34,35 { CLL HOHE 598 LEFB 12,13,14, CLL LOLSY 595 LEFB 28,29,30, {konec zavlekani, iniciali 600 LEFB 08,09,10, zace a vstup do systeau 685 LEFB 24,25,26, SOCPH * 618 LEFB 84,05,06,87 { LI 615 LEFB 20,21,22, LL,»C3 620 {Hlava 1: 1098 LL (0), 625 LEFB 36,37,38, LL HL, WBOOTE 638 LEFB 52,53,54, LL (1),HL 635 LEFB 68,69,78,71 { LL (5), 648 LEFB 48,49,50,51 { LL HL, BDOS LEFB 64,65,66,67 { LL (6),HL 650 LEFB 44,45,46, LL BC,# LEFB 60,61,62, CLL SETBH 668 LEFB 40,41,42,43 { 1138 XOR 665 LEFB 56,57,58,59 { OUT (6), LL (FBCTIH), 675 {tabulka LPB pro fldppydisk 1145 LL (HSTCT), 688 LPBLKF 1150 LL (UNCNT), 685 LEFW 18*4SPT 1155 LL (#F681 ), 698 LEFB 4 B5H 1168 IN, (FLCHSR) 695 LEFB 15 {BLH 1165 CP #FF 700 LEFB 0 EXH 1170 JR Z6OCPH0 785 LEFW 170 {LSH 1175 LL, # LEFW 63 DRH 1180 OUT (6), 715 LEFB 128 { L XOR 720 LEFB B L OUT (6), 725 LEFW 16 CKS 1195 LE HL,FLCSPE 730 LEFW 2 íoff 1200 CLL FBCOUT CLL HOHEF 740 {tabulka LPB pro raadisk QCPH8 745 itrack (stopa) 8 4 kbyte 1215 LL,#FB 750 LPBLKR 1228 LL I, 755 LEFW 8*4 SPT 1225 IH LEFB 4 BSH 1230 LL HL, INTERT 765 LEFB 15 {BLH 1235 LL (#FEFF),HL 770 LEFB 0 {EXH 1248 LL, (SEKLSK) 775 LEFW 235 LSH 1245 LL C, 780 LEFW 63 { LRH 1250 El 785 LEFB 128 {LB 1255 JP CCP 790 LEFB 0 L LEFW 16 { CKS 1265 {uvodni hlášeni BIOSu 800 LEFW 2 OFF 1270 HLSLT LEFB cff 818 podprograey ukládáni a 1280 LEFH *64K CP/H 815 icteni systeeu z prvních 1285 LEFH "ver 226* 820 {stop raadisku 1298 LEFB CCR,CLF,CLF 825 LOLSY 1295 LEFH " BIOS for 830 XOR 1308 LEFH "ZX Spectru 835 JR RWSYS 1305 LEFH * Jurik * 840 SVESY 1310 LEFH "1988" 845 LL,#FF 1315 LEFB CCR,CLF 850 RWSYS 1320 LEFH " raadisk 855 LL BCBIOS-CCP 1325 LEFH "size 472" 860 LL LE, LEFH " kbyte* 865 LL HL,CCP 1335 LEFB CCR,CLF,0 870 OR JR NZRWSYSB 1345 {podprograay pro V/V 888 EX LE,Hl RWSY5B 1355 istav klávesnice 890 LI * neni stisknuto 895 LL RLSKOF 1365»FF = je pipraven znak 900 OUT (3), 1370 CONST 985 LL, # CLL INKEY 910 OUT (4), 1380 OR 915 LLIR 1385 RET Z 920 LL, # LL,-l 925 QUT (4), 1395 RET 930 RET cteni 940 {podprograay funkci BIOSu 1410 CONIN znaku z klávesnice

30 1415 PUSH HL 1935,C 1420 HL,STT 1940 (SEKSCR), 1425 C0NCS SRL 1430 CLL Cl 1950 SRL 1435 CP *g" 1955 (SEKSEC), 1440 JR Z, CONCS 1968 RET 1445 CP "q" JR Z, CONCS 1978 {peklad cisla sektoru 1455 RES 0, (HL) 1975 jv BC poaoci pekladové 1460 CQNCS {tabulky v DE 1465 POP HL 1985 SECTR 1470 RET 1990 H,B 1475 CONCS 1995 L,C 1480 BIT 8, (HL) 2000, (SEKDSK) 1485 JR ZC0NCS ND 1490 RES 0, (HL) 2010 RET Z 1495 JR CONC EX DEHL 1500 CONCS DD HLBC 1505 SET 0, (HL) 2825 L, (HL) 1510 SET 1, (HL) 2030 H, JR C0NCS RET {vystup znaku z C na konzolu 2045 { nastaveni adresy na 1530 CONÍRIT 2050 adresu z BC 1535 Dl 2055 SETDH 1548 XOR 2068 (DHD),BC 1545 OUT (4), 2065 RET 1558 LU (STCK),SP SP,#6FFF 2075 {provedeni operace ctni 1560 CLL COOUT 2080 {sektoru z disku 1565 LU SP, (STCK) 2085 RED 1570, , (SEKDSK) 1575 OUT (4), 2895 ND 1588 El 2100 JR NZ, REDF 1585 RET 2185 REDR CLL DHPOS 1595 {tisk znaku z C registru 2115 JR Z, REDR LIST 2120 CLL TRNSR 1605 {vložit podprograa výstupu 2125 DE,HBUF 1618 znaku z C registru na 2138 CLL REDSR 1615 tiskárnu 2135 HL, DHBUF 1620 RET 2140 DE, (DHD) BCSEKSIZ 1638 stav tiskárny 2150 IR 1635 LISTST 2155 XOR 1640 {vložit podprograa testu 2160 RET ' 1645 {pipravenosti tiskárny 2165 REDR0 16S0 {prijaout znak 2170 CLL TRNSR ^ 1655,-l 2175 DE, (DHlD) 1660 RET 2180 CLL REDSR XOR 1670 {drováni znaku z C 2190 RET 1675 PUNCH 2195 REDF 1680 {drova nepipojen 2208 XOR RET 2205 (UNCNT), INC 1695 cteni znaku ze sniaace 2215 (RÉDOP), REDER do 2220 (RSFL6), 2225 HRUL 1710 sm*ac nepipojen, cte se 2230 (NRTYPE), 1715 vzdy konec zaznaau (CTRL Z) 2235 JP RHOPER 1720, RET 2245 {provedeni <operace zápisu i {sektoru na disk 1735 podprograay obsluhy disku 2255 WRITE , (SEKDSK) 1745 nastav nultou stopu 2265 ND 1750 aktuálního disku 2270 JR NZ, HRITEF 1755 HOME 2275 WRITER 1768, (HSTHRT) 2280 CLL DHPOS 1765 OR 2285 JR Z, WRITR JR NZ, HOHED 2290 DE, DHBUF 1775 (HSTCT), 2295 HL, (DHD) 1780 HOHED 2388 BCSEKSIZ 1785 XOR 2305 IR 1790 (SEKTRK), 2310 CLL TRNSR 1795 RET 2315 DE, DHBUF EX DEHL 1885 {vyber diskové aechaniky 2325 CLL REDSR 1810 spéci f i kované C registrea 2330 XOR 1815 SESK 2335 RET 1820,C 2340 MRITR CP CLL TRNSR 1830 HL, DE, (DHD) 1835 RET NC 2355 EX DEHL 1840 (SEKDSK), 2360 CLL REDSR 1845 L, 2365 XOR 1850 DD HLHL 2378 RET 1855 DD HL,HL 2375 HRITEF DD HLHL 2380 XOR DD HLHL 2385 (REDOP), 1870 DE, DPBSE 2390,C 1875 DD HL,DE 2395 (MRTYPE), 1880 RET 2480 CP HRUL JR NZCHKUN 1898 {nastaveni stopy dané 2410 BLKSIZ/ registrea C 2415 (UNCNT), 1908 SETTRK 2428, (SEKDSK) 1905 (SEKTRK),BC 2425 (UNDSK), 1910 RET, 2430 HL, (SEKTRK) (UNTRK),HL 1920 nastavem sektoru 2448, (SEKSCR) 1923 {daného registrea C 2445 (UNSEC), 1930 SETSEC 2450 {test pokr v neal zápisu 2455 CHKUN 2460, (UNCNT) 2465 QR 2470 JR Z, LLOC 2475 jpokr v neal zápisu 2480 DEC 2485 (UNCNT), 2490, (SEKDSK) 2495 HL, UNDSK 2508 CP (HL) 2505 JR NZ, LLOC 2510 {stejne disky, stejne stopy? 2515 HL, (UNTRK) 2520 CLL STCHP 2525 JR NZ, LLOC 2530 {stejný sektor? 2535, (SEKSCR) 2540 HL, UNSEC 2545 CP (HL) 2550 JR NZ, LLOC 2555 priprava adresy pro 2560 {pristi zapiš 2565 INC (HL) 2570, (HL) 2575 CP CPHSPT 2580 JR CNOOVF 2585 { dal si stopa 2598 (HL), HL, (UNTRK) 2608 INC HL 2605 (UNTRK) HL 2618 { shoda není teba predecitat NQOVF 2620 XOR 2625 (RSFLB), 2630 JR RHOPER 2635 {zapiš do alokovaného 2640 {je teba predecist 2645 LLOC 2650 XOR 2655 (UNCNT), 2660 INC 2665 (RSFLB), 2678 RHOPER 2675 XOR 2680 (ERFLB), 2685, (SEKSEC) 2690 (SEKHST) 2695 {je aktivni vyrovnávací 2700 paaet? 2705 HL, HSTCT 2710, (HL) 2715 (HL), OR 2725 JR Z, FILHST 2730 {ano Obsahuje požadovaný 2735 {sektor? 2740, (SEKDSK) 2745 HLHSTDSK 2751 CP (HL) 2755 JR NZ, NOHTC 2760 {Stejný disk Stejná stopa? 2765 HL, (HSTTRK) 2771 CLL STCHP 2775 JR NZ, NOHTC 2788 {stejný disk ii stopa 2785 {Stejný sektor? 2790, (SEKHST) 2795 HLHSTSEC 2800 CP (HL) 2805 JR Z, HTCH 2810 {požadovaný jiný sektor nez 2815 {ten ve vyrovnávací paaeti 2820 NOHTC 2825, (HSTHRT) 2830 OR 2835 CLL NZHRHST 2840 {napln vyrovnavaci paaet 2845 FILHST 2858, (SEKDSK) 2855 (HSTDSK), 2860 HL, (SEKTRK) 2865 (HSTTRK),HL 2870, (SEKHST) 2875 (HSTSEC), 2888, (RSFLB) 2885 QR 2890 CLL NZRDHST 2895 XOR 2908 (HSTHRT), 2985 {pesun data do nebo 2910 {z vyrovnávací paaeti 2915 HTCH 2928 (SEKSCR) 2925 ND SECHSK 2938 L, H, 2940 SRL H 2945 RR L 2951 DEHSTBUF 2955 v DD HE 2960 EX DEHL 2965 HL, (DHD) 2970 BC, 128

31 IN» l, LB, (REDOP) JR NZRNHOVE 2998 zapis, ozna a obrat seer 2995 LB, 3998 LB (HSTNRT), 3995 EX DEHL 3819 pesun 128 byte 3915 jz (HL) do (BE) 3826 RNHOVE 3925 EX BEHL 3938 IDIR 3835 data byla ipesunuta z /do 3848 jhstbuf 3845 LB, (NRTYPE) 3858 CP NRDIR 3855 LB, (ERFL6) 3868 RET NZ zapis do adresare jpravest ihned je trefc 3875 OR 3688 RET NZ 3865 XOR 3898 LB (HSTNRT), 3895 CLL NRHST 3188 LB, (ERFLG) 3185 RET prevod logického cisla 3129 ssektoru na fyzické 3125 pra raadisk 3139 vstup: (SEKSEC), (SEKTRK) 3135 vystup: HL - pocatecni adresa sektoru o 3145 delce 126 byte 3158 TRNSR 3155 LB, (SEKTRK) 3168 LB E, LB D, 3178 SRL B 3175 RR E 3188 SRL B 3185 RR E 3198 SRL B 3195 RR E 3288 :v B fyzicky track 3285 v E nizsi bity adresy 3218 LB,B 3215 BB RDSKOF 3228 OUT (3), 3225 SRL E 3238 LB HL,84888 ^235 LB,E 3248 BB,H 3245 LB H, 3258 LB, (SEKSCR) 3255 SRL 3268 RR L 3265 OR H H 3278 LB 3275 RET 3288 j 3295 joperaci s raediskee 3388 jvystup Z - 2 není teba je teba 3318 BHPOS zjisteni vyrovnávacího nutnosti bufferu použiti pro 3315 LB BE, (BHB) 3328 LB HL, BB HE 3330 LB,H 3335 NB IC RET Z 3345 i-3,d 3358 NB 8C0 '^o55 CP #C RET 3378 podprogra«ctni /zápisu 3375 :sektoru z raedisku 3338 REBSR 3385 LB BC, , * Bí 3488 aui (4), 3485 IR 34ia, OUT <41 «3428 Z T 3425 RET :podprograe pro 16 bitové 3440 : porovnáni 3445 : vstup: HL - iuntrk) nebo 3450 (HSTTRK) 3455 : (SEKTRK) 3468 vystup: Z n ^ - iu 3 sjtis i 3465 I razné 347e STCHP 3«75 BE, (SEKTRK) 3488 LB L 3485 CP E 3490 RET NZ 3495 LB,H 4815 NB»C«3580 CP B 4828 JR Z -FBCHS RET 4825 LB, FBCHS podprogra«povelu FBC 4835 LB (ÉRFLB), 3520 vstup: HL - adresa eocatku 4649 LB, (ERFL60) 3525 datového bloku 4845 QR 3530 FBCQUT 4850 JR NZFBCHS C, FBCBTR 4855 LB, (ERFL6) 3540 I, (HL) 4868 OR 3545 INC HL 4865 JR NZFDCHS rbcoua 4878 RET 3555 IN, i FBCHSR) 4875 FBCHS ND XC» 4988 XOR 3565 CP # JR FBCHS JR NZFDCQU FBCHS DUTI 4895 LB, (PRETRY) 3530 w h NZ,FBCOU DEC 3585, (FBCHSR) 4185 LB (PRETRY), 3590 RET 4118 LB -l RET Z 3680? podprogr aa vstupu výsledku 4120 JR FBCHS :po provedeni povelu FBC 4125 WRHS 5610 : vstup: HL - adresa poátku! 4138 JR NZNRHSTN 3615 ukládám dat 4135 NRHSTR 5628 B - délka bloku 4148 BSEKSIZ 3625 FBCIN 4145 WRHSR1-6^,8 C, FBCBTR 4158 IN, (FBCHSR) 3635 FDCI CP #FB 3648 IN, (FBCHSR) 4168 JR Z, WRHSR NB *C CP *D CP C JR Z NRHSR JR NZ,FBCIe 4175 JR NRHSR INI 4188 NRHSR JR NZFDCI INI 3670 RET 4198 JR NZHRHSR BEC B 3688 podprogra*y fyzického 4288 JR NZ, NRHSTR 3685 zápisu nebo ctem 4285 OUT (TERCNT), 3690 sektoru floppydisku 4218 XOR 3695 vstup : (HSTBSK) - disk 4215 RET 3788 í HSTTRK i - stopa 4228 NRHSR (HSTSEC) - sektor 4225 LB» l 3718 pres WRKST - zapiš 4238 RET 3715 pres RBHST - ctni 4235 NRHSTW 3728 : zápisu je/cte se HSTSIZ 4248 LB BSEKSIZ 3725 byte z/do HSTBUF 4245 NRHSN :vystup : nastaveni (ERFL6) 4258 IN, (FBCHSR) 3735 NRHST 4255 CP #BB 3748, # JR Z, NRHSN LB L,#8B 4265 CP # JR FBCHST 4278 JR Z, NRH5R RBHST 4275 JR HRHSN1 3768, # NRHSN L,# OUTI 3778 FBCHST 4298 JR NZ,NRHSW LB (FDCRW+1), 4295 DEC B 3788 LB,L 4388 JR NZNRHSTN 3785 LB CDKRE6), 4385 OUT (TERCNT), 3798 XOR 4318 XOR 3795 (ERFLS), 4315 RET 3889 RETRY LB (PRETRY), 4325 jpodprograa nastaveni BH 3318 FBCH kontroléru CLL WIT 4335 vstup: L - bity R/N z TC 3328 CLL SELTRK 4348 BE - poc adresa 3825, (HSTTRK) 4345 BC - délka bloku 3830 (FDCRN+3), 4358 STBHC 3835, (HSTSEC) 4355 LB BC, HSTSIZ , 4369 LB BE, HSTBUF 3845 SUB STBRCB 3858 JR NC, FBCHSB 4378 LB, # LB,B 4375 OUT (#28), 3868 INC 4388 LB,C 3865 (FDCRN+5), 4385 OUT (#25), 3870 XOR 4398 l 3875 JR FBCHS OR L 3888 FBCHSB 4488 OUT (#25), 3885 INC 4485 LB,E 3898 LB (FDCRM+5), 4418 OUT (#24), 3895, B 3908 FBCHS OUT (#24), 3985 LB (FBCN+4), 4425 RET 3910 RLC RLC 4435 ipodprograe nastaveni stopy 3928 LB B, 4448 floppy disku z HSTTRK 3925 LB, (HSTBSK) 4445 vystup: (ERFLS), (PCN) 3938 OR B 4458 SELTRK 3935 (FDCRN+2), 4455, (HSTTRK) 3948 HL,FBCRW 4468 OR 3945 Dl 4465 JR ZHOHEF 3950 CLL FBCBUT 4478 LB (FDCSC+3) > 3955 LB, (DHREB) 4475 LB, (HSTBSK) 3968 BIT 7, 4488 LB (FBCSC*2), 3965 LB HL, HSTBUF 4485 LB HLFBCSC 3970 LB C, FBCBTR 4490 CLL FBCOUT 3975 LB DHSTBLK 4495 JR HOHEF CLL WRHS 4580 spodprograe fyzického 3985 El 4585 i nastaveni nechaní ky na 3998 (ERFL68), 4518 nultou stopu 3995 LB B, HQKEF 4888 LB HL,FBCRES 4528 CLL NIT 4085 CLL FBCIN 4525 LB, (SEKBSK) 4018 LB, (FBCRES) 4538 LB (FDCHOH+2),

32 HL,FDCHQM 5065 C, 5585 rutina volana pri kazd 4548 CLL FDCOUT 5070 CLL FDCOC 5598 preruseni 4545 HDMEF0 5075, (SECTOR) 5595 KEYB 4550 IN, (FDCMSR) 5080 C, 5608 HLKS BIT 7, 5085 CLL FDCOC 5685 KLOOP 4568 JR Z,HQMEF C, B, (HL) 4565, 5095 CLL FDCOC 5615 INC B 4578 OUT (FDCDTR) 5108, (SECTOR) 5620 JR Z, KCH, 4575 H0MEF INC 5625 INC HL 4588 IN, (FDCMSR) 5110 CP DEC (HL) 4585 BIT 7, 5115 JR NZFORMT DEC HL 4598 JR ZHOMEF HL,FDCRES 5648 JR NZKCH 4595 IN, (FDCDTR) , (HL),-l 4680 BIT 5, CLL FDCIN 5650 KCH 4685 PUSH F 5135, (FDCRES) 5655,L 4610 H0HEF ND *C HLKS IN, (FDCMSR) 5145 CP * CP L 4628 BIT 7, 5150 JR Z, FORMTF 5670 JR NZ, KLOOP 4625 JR Z,HQHEF2 5155, (HED) 5675 CLL CIN 4630 IN, (FDCDTR) OR 5680 OR 4635 POP F 5165 El 5685 RET Z 4640 JR ZHOHEF RET NZ 5690 HLKS RET 5175 INC 5695 CP (HL) JR FORMT JR Z, KREP 4655 podprograa f oraatovani 5185 FDCOC 5785 EX DE,HL 4668 raadisku 5190 IN, (FDCMSR) 5710 HLKS FORMR 5195 ND «C CP (HL) 4670 Dl 5200 CP * JR Z, KREP 4675 RDSKOF 5205 J R NZ, FDCOC 5725 B, (HL) 4680 OUT (3) 5210,C, 5730 INC B 4685, * OUT (FDCDTR), 5735 JR Z, KNEW 4690 OUT (4) 5220 RET, 5740 EX DE,HL 4695 HL, * B, (HL) 4780 DE,* podprograa hlášeni chyby 5750 INC B 4785 BC,*7FFF 5235 v prubehu formátováni 5755 RET NZ 4710 (HL),*E FORMTF 5768 KNEW 4715 IR 5245 HL, HLSFO 5765 E, 4728, * CLL TEXTCO 5770 (HL), 4725 OUT (4), 5255, (SEKTRK) 5775 INC HL 4730 RET 5260 CLL CONUM 5788 (HL), HL, HLÁŠEN 5785 INC HL 4748 podprogram výstupu zprávy 5270 CLL TEXTCO 5790, (KS9) 4745 na konzolu 5275 RET 5795 (HL), 4758 TEXTCD 5280 CONUM 5880 INC HL 4755, (HL) 5285 PUSH F 5805,E 4760 OR 5290 CLL CONUM 5810 (HL), 4765 RET Z 5295 POP F 5815 KEND 4770 INC HL 5380 RRC 5820 (K58), 4775 PUSH HL 5305 RRC 5825 SET 5, ( I Y+8) 4780 C, 5310 RRC 5830 RET 4785 CLL CONOUT 5315 RRC 5835 KREP 4790 POP HL 5320 CONUM INC HL 4795 JR TEXTCO 5325 ND #8F 5845 (HL), DD, 5858 INC HL 4805 podprograa spouštni 5335 BIT 4, 5855 DEC (HL) 4810 dlsketove mechaniky 5340 JR NZCONUM RET NZ 4815 WIT 5345 SUB , (KS) 4828 Dl 5350 JR C0NUM (HL), 4825 HL,FDCTIM 5355 C0NUM INC HL 4838, (HL) 5360 INC 5880, (HL) 4835 OR 5365 C0NUM JR KEND 4848 JR NZ, WIT DD, * , 5375 C, 5895 klávesnice CP/M Spectr 4858 OUT (6), 5380 CLL CONOUT 5900 : (C) DaJe ,FDCTMR« RET 5905 CÍN 4860 (HL),fi 5390 HLSFO 5910 BC,*FEFE 4865 WIT DEFM "Bios err: " 5915 D, El 5400 DEFM "formát err or" 5920 KLOOP 4875, (HL) 5405 DEFM on track " 5925 D 4888 CP FDCTMR+l 5410 DEFB E,*1F 4885 JR NC, WI T HLÁŠEN 5935 CP (HL),FDCTMR 5420 DEFB CCR,CLF, JR NZ, DLI 4905 RET E,*1E jpodprograa obsluhy / 5950 DLI 4915 podprograa f oraatovani 5435 jpreruseni 5955 CP jf loppydisfcu 5440 INTERT 5968 JR NZDL FORMF 5445 Dl 5965 E,*1D 4930 CLL HOHEF 5450 PUSH F 5970 DL2 4935, PUSH DC 5975 IN, (C) 4940 FQRMF PUSH DE 5980 CPL 4945 (HSTTRK), 5465 PUSH HL 5985 ND E 4950 PUSH F 5470 PUSH IY 5990 JR ZNONE 4955 CLL SELTRK 5475 IY,STT píznak rady 4968 CLL FORMTR 5480 CLL KEYB 6000 :D - píznak sloupce POP F 5485 HL, (TIMER) 6005 KEY 4970 OR 5490 INC HL 6010 C,D 4975 RET Z 5495 (TIMER),HL 6015 H, DEC 5500 HL,FDCTIM 6020 LH 4985 JR F0RHF8 5505, (HL) 6025 B, OR 6038 D,L 4995 f or aatovani jedne stopy 5515 JR Z, INTER E FORHTR 5520 DEC 6048 L0QP XOR 5525 (HL), 6045 RRC 5010 FORMU 5530 JR NZ, INTER JR C, TRNS (HED), 5535 OUT (6), 6855 DD HL,DE 5820 Dl 5540 INTER JR LQ0P2 5025, POP IY 6065 HL=8*RD 8* (0-4) 5838 (FDCFRM+2), 5550 POP HL 6870 :SC-SLOUPEC (8-7) 5035 FQRMT POP DE 6075 TRNS 5048 (SECTOR), 5560 POP BC 6880 DD HL,BC 5045, (SEKTRK) 5565 POP F 6085 CLL KCPS 5050 C, 5570 El 6890 JR NZ NOEXTD 5055 CLL FDCOC 5575 RET 6095 CLL SYMBOL 5868, (HED) JR NZ, NOEXTD

33 " " 2 Y 8 y ' M 6185 DE DD HL, DE 6115 JR NOSYM 6128 NQEXTD 6125 CLL KCPS 6138 JR NZ,N0CPS 6135 DE, DD HL, DE 6145 NQCPS 6158 CLL SYMBOL 6155 JR NZ, NOSYM 6168 DE, DD HL, DE 6178 NOSYM 6175 DE, TBLE 6188 BIT 1, UY+0) 6185 JR Z, TRNS DE, TBLE TRNS DD HL, DE 6285, IHL) 6218 JR EXIT 6215 KCPS 6228 BC,#FEFE 6225 IN, (C) 0, BIT RET 6248 SYMBOL 6245 BC,*7FFE 6258 IN, (C) 1, 6268 RET 6265 NONE 6255 BIT 6278 INC D 6275 RLC B 6288 JR CKLOQPl zadna 6285 klapka 6290 XOR 6295 BIT 6388 JR 0, ( IY+B) NZEXIT EXIT RES 1, (IY+B) 6315 C, 6320 B, RET « TBLE 6340 HL PISHEN 48 BYTE DEFB DEFH 0 "aqlbp" 6355 DEFB 13,32 -~6368 DEFH zsw29ol 6365 DEFB DEFH xde38i ke" 6375 DEFH *cf r47ujn* 6388 DEFH *vgt56yhb* 6385 VELKÁ PISHEN 48 BYTE 6398 DEFB DEFH "Q10P" 6488 DEFB 13, DEFH "ZSN29QL" 6418 DEFB DEFM XDE38IKM* 6428 DEFH "CFR47UJN" 6425 DEFH VST56YHB* 6438 jshiftovne ZNKY 48 BYTE II H 6435 DEFM 6448 DEFB DEFM II 1, 13,32 " 6450 DEFB DEFM "i 1 )= " 6460 DEFM "*\ *+" 6465 DEFM 6470 DEFM 6625 DEFB 6630 DEFB "L*,0, *X*,#E4 *F7, *3", "8" #E9, "K", H* *E3,"F\#F DEFB 4", "7*,# 6650 DEFB *F5,*EE *V* DEFB DEFB 6655 DEFB G,*F4, 5 "6*,#F9, *H" DEFB DEFB B" PUSH BC 6685 PUSH HL PUSH IY IYSTT 6680 PUSH DE WIT2 CLL INKEY 6715 OR 6728 JR Z,NIT PRESS PUSH F C,28 D, 6750 Dl BEEP0 BD 6770 EX (SP),IY 6775 EX (SP), I 6780 EX <SP),IY EX < SP),IY 6790 DJNZ BEEP1 6795,C 6888 ND RLC 6810 RLC 6815 RLC 6820 RLC 6825 OR OUT (tfe), 6835 DEC C 6848 JR NZBEEPB 6845 POP F 6858 RES 5, (IY+0) 6855 POP IY 6868 POP HL 6865 POP DE 6870 POP BC INKEY El RET PUSH IY 6900 PUSH BC 6905 PUSH DE 6910 PUSH 6915 HL IYSTT 6928 BIT 5, ÍIY+0) 6925, (KS8) 6930 JR NZ, F IN 6935 XOR FIN POP HL 6950 POP DE 6955 POP BC 6960 POP IY 6965 RET : následuje pracovni oblast B IQSu GRG #F BEGDT EQU a 6475 IDII ZNKY 48 BYTE DEFB 0,1,17,"1* 700e DHD DEFS DEFB "0", 16, DIRBUF DEFS SEKSIZ 6490 DEFB 26 19,23, 2* 7*10 LL0R DEFS DEFB "9,15, tl0f s DEFS DEFB 24,4,5, "3* 7020 CHK0R DEFS ió 6585 DEFB "8*, 9, 11, CHK0F DEFS DEFB 3,6, 18, * DMBUF DEFS SEKSIZ 6515 DEFB 7", 21, 18, STCK DEFS ri JL 6528 DEFB 22,7,28, *5" 7848 TIMER DEFW DEFB "6*, 25, 8, 7845 FDCTIH DEFB HL EŠTIN 7050 STÁT DEFB DEFB 0,tCl, B q,"l" 7055 KS8 DEFB 0, 0,0, 6548 DEFB -5-0*, *p*, 13, KS4 DEFB 0,0, 0, DEFB #D,#D3,#C KS8 DEFB DEFB *2", *9*, #CF 7070 KS9 DEFB DEFB 1 ",8, "x",#c KS DEFB DEFB #D7, *3*, "8" 7880 PRETRY DEFS 1 *565 DEFB #C9, *k", e" 7885 DMREG DEF-S i 6570 DEFB ic3,*f ",td DEFB 4, "7*,#C 7095 :nasleduje pracovní ob: 6588 DEFB <D5,#CE, "v" 7100 íblokujlciho/deblokuj DEFB g",#d4,"5* 7105 :algaritau pro obsluhu DEFB *6*,fD9, *h" 7118 jfloppy disku 5 1/4* 6595 DEFB b* 71*5 1S sek/trk 40tr ks 6688 VELKÁ EŠTIN DEFB 0,*E1, Q, zadana disková adresa 6610 DEFB "8*, *P",13, SEKDSK - uloženo na ai '* DEFB #F,#F3,#E5 71u5 SEKTRK DEFS Á * 6620 DEFB "2", "9", tef 7148 SEKSEC DEFS 1 SEKSCR DEFS 1 diskova adresa fyz sekt HSTDSK DEFS 1 HSTTRK DEFS 2 HSTSEC DEFS 1 cisio požadovaného fyz sektoru SEKHST DEFS 1 príznak H5TBUF aktivní HSTCT DEFS 1 pr4znak odloženého zápisu HSTNRT DEFS 1 cítac nealokovanych zápisu UNCNT DEFS 1 diskova adresa dalsi vety v nealokovanee bloku UNDSK DEFS 1 UNTRK DFF5 2 UNSEC DEFS 1 kod chyby ERFL6 DEFS l ERFL60 DEFS 1 priznak požadavku na ctni RSFLG DEFS 1 jpriznak cteci operace (=1) REDOP DEFS 1 t p zápisové operace NRTYPE DEFS I vyrovnávací paeet HSTBUF DEFS HSTSIZ j nasleduje pracovní oblast obsluhy radíce floppy jdisku typu FDCRW 7330 DEFB FDCFRH-H DEFB DEFB 8, 0,8, 8,0 N,E0T,6PL_RN 7345 DEFB DTL 7350 f oreat 7355 FDCFRH 7360 DEFB FDCSC DEFB *4D,1,N,SC 7378 DEFB 6PL_FT,DD 7375 set cylinder 7388 FDCSC 7385 DEFB FDCSIS DEFB *8F,B,B 7395 sense interrupt status 7488 FDCS1S 7485 DEFB FDCHOH-H DEFB * hoee 7428 FDCHOH 7425 DEFB FDCSPE-H-I 7438 DEFB *07, i spéci fy - nastaveni 7448 jpocatecnich paraaetru FDC 7445 FDCSPE 7450 DEFB PCN-B-t 7455 DEFB Í83SRTHUT 7468 DEFB HLTND 7465 spresent cylinder nueber 7470 PCN 7475 DEFS i 7488 saktivni hlava 7485 HED 7498 DEFS sektor 7588 SECTOR 7505 DEFS $eisto pro uloženi 7515 operace FDC 7528 FDCRES 7525 DEFS 7 výsledku ENDDT EQU DTSIZ EQU 8 8-BE6DT R6 ifcfc 7555 Dl 7568 JP INTERT 7565 vstup do systeeu po í zavedeni z pasky ORB #FF8B Dl 7585, * OUT (4),,«FB 7688 I, 7685 HL, INTERT 7618 (*FEFF),HL 7615 IH SP,*FF7F 7625 HL,*FB8B 7638 BC, (HL),*FC 7648 DEiFBBl 7645 IR 7658 C,CFF 7655 CLL CONOUT 7668 C, m? B

34 DEFW -, CLL CONOUT 7670 El 7675 CLL CONIN 7680 CLL CONIN 7685 CP v 7690 JR NŽPRECH CU FORNR 7700 CLL SVESY 7705 PRECH SP, # JP BOOT 5 *C- 12 i********-******************* s i: coomt : 25 * * 32 #*****«#» *****#********«** potípdrogr am výstupu 45 v racdu 64 znaku na ádek 50 KOI -8CS CONOUT 0R3 65 LI) 70 JP 75 DRCO DEFW 80 DDCUR DEFB 85 BI3P DEFS TSCRL TBCHR DEFB ESU tabuika adres podprogramu, 110 'zpracovávajících vystup 115 znaku TBCON 130 DEFW CONIC 00- e 135, CONIC 01-' 140 DEFW COHOME 02- B 145 DEFW CONIC 03- C 150 DEFW CONIC 04- D 4 rr, i jj DEFW CONIC 05 E 160 DEFW CONIC t 06- F 165 DEFW COBELL 07- G 170 DEFW COBS 0S- H 175 DEFW COTB 09- I 180 DEFW COLF 0~ J 185 DEFW CONIC 0B- K 190 DEFW COFF 0C- L 195 DEFW COCR 0D- M 200 DEFW CONIC 0E- N 205 DEFW CONIC 0F~ O 210 DEFW CONIC 10- P 215 DEFW CDROLL 11- S 220 DEFW COPGE 12- R *? r «- i J DEFW CONIC 13- S 230 DEFW CONIC 4-1 T 235 DEFW CONIC 15- U 240 DEFW COCLLI 16- V 245 DEFW CONIC 17- W 250 DEFW COUP 18- X 255 DEFW CONIC1 19- Y 260 DEFW CORIGH 1- Z 265 DEFW COT 1B- [ 270 DEFW CQNIC1 1C DEFW CONIC1 1D DEFW COBORD DEFW COINVE 1F- 290 TBCS 295 DEFB 32 # DEFB 144 a 305 DEFB DEFB 145 ~c 315 DEFB 146 :~d 320 DEFB 148 e 325 DEFB DEFB DEFB DEFB 149 i 345 DEFB DEFB 32 'u 355 DEFB DEFB DEFB 150 ~n 370 DEFB 151 o 375 DEFB DEFB DEFB 152 i~r 390 DEFB 153 s 395 DEFB 154 j't 400 DEFB 155 u 405 DEFB DEFB DEFB 32? 'e 420 DEFB 157 k 425 DEFB 158 ~z 430 DEFB DEFB 159 r 440 DEFB DEFB DEFB 32 M «455 DEFB #6802 HL, (DRCO) (HL) CDO 20,20 4 #7000 N * 460 DEFB DEFB DEFB 129 ~C 475 DEFB 130 i D 480 DEFB 132 E 485 DEFB DEFB 32 v 495 DEFB DEFB 133 'I 505 DEFB 140 ~U 510 DEFB DEFB DEFB DEFB 134 N 530 DEFB 135 ' 535 DEFB T DEFB JJL 545 DEFB 136 R 550 DEFB 137 ~S 555 DEFB 138 'T 560 DEFB 139 *U 565 DEFB DEFB 131 'E 575 DEFB DEFB 141 *Y 585 DEFB 142 ~Z 590 DEFB DEFB DEFB DEFB DEFB COO 625,C 630 CP JR C, COCB 640 BIT 7, 645 JR Z,C SUB 128* RET C 660 H,0 665 L, 670 DE, TBCS 675 DD HE 680, (HL) 685 COO0 690 PUSH F 695, (DISP+3), 705 POP F 710 CLL CODPR 715 XOR 720 (DISP+3), 725 HL, (DDCUR) 730 INC HL 735, CP L 745 JR NZ,C INC H 755 L, COOl 765, CP H 775 CLL ZSCROLL 780 C (DDCUR),HL 790 CQQCUR 795, CLL CQQPR 805 RET podprogramy 820 ridici znaky CQCB 835 DD, zpracovávající 840 L, 845 H,0 850 DE, TBCON 855 DD HL,DE 860 E, (HL) 865 INC HL 870 D, (HL) 875 EX DEHL 880 JP (HL) 885 CONIC 890 HL,COQ 895 CONIC0 900 (DRCO),HL 905 RET 910 CONICl 915 HL, CONIC 920 JR CONIC0 925? 930 COHQHE 935 CLL COCCUR 940 COHQM0 945 HL,0 950 (DDCUR),HL 955 JR COOCUR COBELL 970 HL, DE, CLL RET 990 * COBS CLL COOCUR 1005 HL, (DDCUR) 1010, L 1025 OR H 1020 JR Z, COOCUR 1025 DEC HL 1030,#FF 1035 CP 1040 JR L~ NZC L, JR C COTB CLL COOCUR 1070 HL, (DDCUR) 1075,L 1080 DD, 1085 ND #F L, 1095 CP JR NZC0Q INC H 1110 L, JR C OLF 1130 CLL COOCUR 1135 HL, (DDCUR) 1140 INC H 1145 JR COOl 1153 «1155 COFF 1160 HL,* SE, # XOR 1175 (HL), 1180 BC, 24*32* IR JR COHOH COCR 1205 CLL COOCUR HL, (DDCUR) L, JP C J 1230 COROLL C005, (TSCRL), 1250 RET COPGE 1265 XOR 1270 JR CCC COCLLI 1285 HL, (DDCUR) COCLL0 PUSH HL 1300 INC HL 1305, CP L 1315 JR Z, COCLLI (DDCUR),HL HL PUSH CLL C, 32 COQ 1340 POP HL COCLLI JR CQCLL XOR 1360 (DISP+3), COOCUR HL CLL POP RET (DDCUR),HL COUP 1395 CLL COOCUR 1400 HL, (DDCUR) ' 1405 DEC H 1410,#FF 1415 CP H 1420 JR NZCQUP INC H 1430 COUP JP CQ ? CORIGH 1450 CLL COOCUR 1455 HL, (DDCUR) 1460 INC HL 1465, CP L 1475 JR NZ,CQRIG INC H 1485 L, , CP H

35 1588 JR NZ,CQRIG CQOPR 1980 INC H 1505 L, PUSH F 1985 INC DE 1510 DEC H 1758 CLL TRNCG 1990 DJNZ C00PR CQR POP F 1995 RET 1520 JP CQQ SUB * 1765 L, 2005 : podprogram pevodu adresy 1530 OT 1778 H, stisknutého znaku 1535 CLL COOCUR 1775 DD HL, HL HLCOTl 1780 DD HL, HL 2820 TRNCO 1545 C0T DD HL,HL 2825 HL, (DDCUR) 1550 JP CONIC EX DEHL 2838,H 1555 C0T HL,TBCHR 2035 ND # HL, (DDCUR) 1808 DD HE 2048 RRC 1565 CP EX DE,HL 2845 RRC 1570 JR C, COT HL, (DISP) 2858 RRC 1575, , (DISP+2) 2055 SR L 1530 C0T C, 2060 PUSH F 1535 H, , DD,L 1590 (DDCUR),HL 133e C00PR L, 1595 HL, CQT2 1335, (DE) 2075,H 1680 JR COT PUSH F 2080 ND #F CQT BIT 8,C 2085 QR # HL, (DDCUR) 1850 JR NZCQ0PR H, 1615 CP , (DISP+3) 2895 (DISP), HL 1620 JR CC0T ND 2100 POP F 1625, JR Z,CQQPR3 2105, CQT , #0F 2110 RL 1635 L, IS75 ND (HL) 2115 (DISP+2), 1640 (DDCUR), HL 1888 (HL), 2120 RET 1645 CLL COOCUR 1885 C0QPR HLCQO 1890 POP F 2130 podprogram scrollovani pri 1655 JR C0T JR C00PR {reziau scroli, pri režimu C00PR tpage pouze provede pesun 1665 CQBORD 1905, (DISP+3) 2145 jkurzoru, v HL vraci novou 1670 HL, C0BGR ND 2150 {pozici kurzoru 1675 JP CONIC JR Z,C00PR CQB0R8 1920, #F SCROLL 1685 C, 1925 ND (HL) 2165, (TSCRL) 1690 ND # (HL), 2170 OR 1695 OUT (#PE), 1935 CQCPR JR Z, SCRPG 1700 JP CONIC 1940 POP F 2188 PUSH HL 1705 > 1945 RRC 2185 CLL #0DFE 1718 COINVE 1950 RRC 2190 POP HL 1715 RET 1955 RRC 2195 H, RRC 2208 RET 1725 : podprogram tisku znaku z r 1965 CQ0PR SCRPG 1730 na pozici (DDCUR) 1970 XOR (HL) 2210 H, (HL), 2215 RET RNDr Stanislav Uliiansky, Komenského 51, Košice lfanumerický alebo grafický displej je jednou z najdóležitejších asti mikropoítaa V súasnosti sú na displej osobných mikropoitaov kladené už pomrn vysoké nároky Na ich konštrukciu sa v moderných mikropoítaoch používájú takmer výluné špecializované VLSI kontroléry, ktoré znané zjednodušujú realizáciu týchto obvodov V našich podmienkach nemá konštruktér mikropoítaa k dispozícii v súasnosti žiaden typ takéhoto video kontroléra, preto mu ostává jediná možnost* zostavif píslušné obvody z dostupných 10 nižšej integrácie, hoci na to spotebuje takmer 10x viac obvodov Na stránkách R už bolo publikovaných niekotko zapojeni TV displejov róznej zložitosti (ND-1, ND-1Z, 8080 MC-DI) Preto som pvodne nemal zámr publikovaf alšl a pomeme ziožitý typ zapojenia, ktoré je na homej hranici amatérských možnosti Opakovanie tematickej úlohy MIKROKONKURZU R 87 na konštrukciu inteligentného TV displeja ma však podnietilo k tomu, aby som predsa len spracoval popis displeja, ktorý som postavil k svojmu amatérskému osobnému mikropoíta Základné technické údaje: Formát zobrazenia textu: 32/64 znakov x 15 (16) riadkov Formát zobrazenia semigrafických znakov: 32/64 znakov x 30(32) riadkov Raster znaku: 8x8 bodov Repertoár znakov: 128 štandardných znakov pódia normy SCI znakov, ktoré si móže zvoli uživatel* Generátor znakov je fixný v EPROM typu 2716 Pri použiti EPROM typu 2732 sa rozšíri repertoár znakov až na 512 Módy zobrazenia znakov: normálny znak, inverzný znak, blikajúci znak, znak s dvojitou šfrkou, zatemnný znak, možno nastavit 8 úrovní jasu pre každý znak Pre každý znak je možné navolit rubovotnú kombináciu uvedených módov zobrazenia Typ displeja: Displej s vlastnou obrazovou památou 2x 2kB, ktorá je súasou adresového priestoru mikroprocesora s prioritou pristupu procesora do tejto památe Rolovanie obrazu: Je zabezpeené obvod mi TV displeja s možnostou jemného rolovania po jednotlivých TV linkách nahor alebo nadol Stredovanie obrazu: Pozíciu obrazu na obrazovke TV prijímaa je možno nastavovat v horizontálnom aj vertikálnom smere mikroelektronika 35

36 Popis zapojenia Pre pochopenie innosti tohoto displeja už nevystaíme len so samotnou schémou zapojenia, ako napíklad v pípade pomeme jednoduchého displeja 8080 MC-DI [5], ale je potebné popísat aspo najdóležitejšie prvky a funkciu použitého riešenia by tento popis nezabral píliš veta miesta, snažil som sa ho urobit o najstrunejším, no pitom dostatone pesným a výstižným Pesvdil som sa však, že urobit takýto popis pre zapojenie pozostávajúce z 54 IO už nie je len isté technickou záležitosou, ale na svoje si príde aj literárn a výtvarné umenie itaterom, ktorí nie sú oboznámení s princípmi innosti TV displejov, odporúam sa vopred oboznámit aspo s lánkami z predchádzajúcich roníkov R [1 5] Kvóli strunosti tu neuvádzam obvyklú blokovú schému zapojenia, ale celý popis sa bude viazat na úplnú schému zapojenia, ktorá je uvedená na obr 1 na str 40, 41, a na ostatné doplujúce taburky a obrázky Popisovaný displej vytvára na obrazovke raster 51 2 x 256 bodov Pretože jeden znak je zobrazovaný v rastri 8x8 bodov, znamená to, že mžeme zobrazit 64 znakov v 32 riadkoch To odpovedá práv rozsahu 2048 znakov na celú obrazovku, Pretože nie sú obvodmi displeja generované trvale zatemnné riadky ako napr v displeji ND-1, pri zápise textu musíme znaky zapisovat len do každého druhého riadku, o nám dává celkove 16 zobrazitelných alfanumerických riadkov Je to sice podstatné menej riadkov ako 24 viditelných riadkov v ND-1, avšak ^vaka vášej medzere je text na tomto 'displeji ovefa pehrad nejší Hlavným úelom tohoto riešenia je však to, aby bolo možné v semigrafickom režime pokryt znakmi celú plochu obrazovky V aifanumerickom režime nám však toto riešenie umožuje umiestnit do odderovacích prázdných riadkov zobrazenie diakritických znamienok nad verké aj malé písmená, vaka omu tu máme možnost nauit" tento displej sloveninu alebo eštinu, o je pri rastri znaku 8x8 bodov obtiažne realizovatefné Vyššie uvedený raster zobrazen ia je urený zapojením obvodov primárnej asovej základné, ktorá pozostáva z obvodov E3, D3, D4, E4, D5, E7, E8 Prvým stupom tejto asovej základné je oscilátor, vytvoený z invertorov E3, ktorý pracuje na frekvencii 12 MHz Pretože táto frekvencia je už pomrn vysoká pre bžné obvody TTL, je vhodné v tomto stupni použit obvod typu 74S04 resp 74LS04 Za oscilátorom následuje kaskáda deliov 1:16, 1:16 a 1:3, ktorými je vytvoený celkový deliaci pomr 1:768 Prvé dva stupn tejto deliky je potebné osadit synchrónnymi ítami typu Výsledný produkt z tejto kaskády signál P9 s frekvenciou khz slži ako signál, z ktorého sa odvodzuje horizontálny zatemovací a synchronizaný impulz Druhý stupe primárnej asovej základné je tvoený obvodmi 1/2 D5, E7, E8 vytvárajú deliku 1 :320, ktorá zabezpeuje tvorbu 320 TV riadkov a signálu o frekvencii 48,8 Hz pre obvody vertikálneho zatemovania 36 mikroelektronika a synchronizácie Z celkového rastru 768 bodov x 320 riadkov spadá do viditernej zóny 512 bodov x 256 riadkov To odpovedá pomrn vetkému pokrytiu plochy obrazovky TV prijímaa, vaka omu sa objavuj problémy s ostrostou kresby v rohoch obrazovky a je nevyhnutné zabezpeit možnost pesného nastavenia pozície obrazu na Qbrazovke Túto úlohu plnia obvody tvorby zatemovacích a synchronizaných impulzov Horizontáln zatemnenie a synchronizácia sú odvodené z výstupu P9 prvého stupa primárnej asovej základné (P9 = HZTZ) Invertovaný signál HZTZ je pivedený na vstup posuvného registra E9 (74164), ktorý je ovládaný hodinovým signálom Q0 resp \Q asové posunutie, ktoré je vytvárané v tomto obvode, je potebné na zabezpeenie správného zobrazenia v súvislosti s použitím vyrovnávacích registrov Cl, C3 Z vhodného výstupu tohoto obvodu sa odoberá signál HZTP, ktorý sa využívá na vytvorenie signálu ZT v obvode E6/6 Je taktiež pivedený na vstup alšieho posuvného registra D9, ktorý zaistuje možnost nastavenia obrazu v horizontálnom smere Toto nastavovanie sa realizuje vofbou vhodného výstupu na D9, z ktorého sa odoberá spúšací impulz pre MK0 C9 (1/ ), ktorý generuje horizontálny synchronizaný impulz o dížke 4,5 až 4,9 ns Jemné nastavenie pozície obrazu v horizontálnom smere je tiež možné urobit votbou signálu P3 alebo ÁP3 ako hodinového signálu pre posuvný register D9 Obdobným spósobom ako pre horizontálny rozklad sa zo signálu BP8 = VZTZ vytvára v E6/6 signál ZT a po volitefnom spozdení obvodom D8 sa v C9 (druhá polovica obvodu) vytvára vertikálny synchronizaný impulz o dížke 160 jis Horizontálny a vertikálny synchronizaný signál sa pomocou hradla EX-OR B9/3 sítavajú do úplnej synchronizanej zmesi SYNC, ktorá je vyvedená na špiku 15 konektora K4 Primárná asová základa sa využívá len na vytváranie zatemovacích a synchronizaných signálov, iba signály P0 až P3 sa zúastujú na tvorb zobrazenia znaku ako adresa bodu znaku na TV riadku, P0 -h P2 pri zobrazení normálneho znaku a P1^-P3 gri zobrazení znaku s dvojitou šíkou Všetky ostatné adresovacie signály, ktoré urujú adresu TV riadku v znaku, adresu znaku v riadku a štipci sú generované sekundárnou asovou základou Prvý stupe tejto sekundárnej asovej základné, pozostavajúci z obvodov C5, D5 1/2, F5 1/2, generuje 6bitovú adresu znaku na riadku urenú signálmi S0 až S5 Tento íta je inkrementovaný signálom Q2 = P2 pre normálny znak a signálom o polovinej frekvencii Q2 = P3 pre znak s dvojitou šíkou Toto riešenie umožuje dynamicky kombinovat na jednom riadku normáln a široké znaky bez nutnosti zdvojovat zápis znaku pre široký znak k sú všetky znaky na riadku s dvojnásobnou šíkou, potom poas trvania aktívnej asti riadku sa staí naadresovat len prvých 32 znakov, ostatné znaky, hoci sú zapísané v obrazovej památi, nebudú zobrazené Poas zatemnenej asti riadku je inkrementácia ítaa blokovaná signálom HZTZ prostredníctvom hradla E6/3 Horizontálny synchronizaný impulz vynuluje tento íta a pre každý TV riadok sa zaína poítat odznova Druhý štupe sekundárnej asovej základné je tvoený obvodmi D6 a D7 Výstupné signály BS0 BS2 urujú adresu TV riadku v znaku a dalšie signály BS3 BS7 urujú 5 bitovú adresu znakového riadku (32 možných -znakových riadkov) Tento íta je inkrementovaný horizontálnym synchronizaným impuizom HSYNC v a- se, ke nie je aktívnv vertikálny zatemovací impulz (VZTZ = H) a je nulovaný vertikálnym synchronizaným impuizom široká paleta zobrazovacích možností, ktoré poskytuje tento displej, je zabezpeená použitým spósobom organizácie obrazovej památe Táto památ pozostáva z dvoch úplné samostatných 2 kb blokov památe RM, ktoré sú zostavené z 8 ks Tieto bloky sú z pohradu mikroprocesora organizované ako súasf jeho operanej památe Použité adresovacie obvody umožujú takmer rubovotne rozmiestnit tieto bloky v celom priestore 64 kb konáhle procesor adresuje obrazovú památ, pripájajú sa adresové vodie památí na adresovú zbernicu procesora prostredníctvom prepínaov adresovej zbernice, zostavených z obvodov typu (10 05, B5, B6, B7) Pripojenie památí na datovú zbernicu procesora sa realizuje pomocou odderovaov typu MH3216, priom základnou zvláštnosou je tu to, že pre každý památový blok máme samostatný oddeova datovej zbernice Vaka tomuto riešeniu nie sú datové vodie týchto památových blokov navzájom pospájané a preto sa z hradiska vnútorných obvodov TV displeja javí obrazová památ ako jediný blok 2k, ale so 16 bitovou datovou zbernicou Táto organizácia obrazovej památe sa potom využívá tak, že 8 bitov reprezentuje znakový bajt a druhých 8 bitov zas píznakový bajt Preto potom nazýváme památový blok realizovaný obvodmi BIL, B1H, B2L, B2H ako obrazovú památ pre píznaky a památový blok s obvodmi B3L, B3H, B4L, B4H ako obrazovú památ pre znaky Každému bajtu v památí znakov odpovedá píznakový bajt v památí príznakov s adresou vyššou o 2k v rámci adresového priestoru procesora a s rovnakou adresou v rámci obvodov displeja Pokiar sa majú zobrazovat znaky v rovnakom móde zobrazenia, potom na zápis znaku staí jeden bajt, priom pedpokládáme, že památ príznakov je naplnná požadovaným obsahom Pokiar je potebné zapisovat znaky s róznym módom zobrazenia, potom sa musia do obrazovej památi zapisovat 2 bajty znakový aj píznakový Datová zbemica památi znakov DZX sa obvyklým spósobom pripája na adresové vodie 3 až 10 generátora znakov, ktorý je v památi EPROM typu 2716 Najnižšie tri adresové vodie EPROM sú napojené na signály BQO, BQ1, BQ2, ktoré reprezentujú adresu TV riadku v znaku Na výstupoch obvodu C4 máme v paralelnej podob prítomnú osmicu bitov, ktoré odpovedajú požadovanému zobrazeniu svtlých a tmavých bodov v znaku Táto paralelná informácia sa neprevádza okamžité na sériový tvar, ale pechodné sa uchovává vo vyrovnávacom registri C3 (MH3212) Výstupy z obrazovej památe pre píznaky DPX sa pripájajú na druhý vyrovnávací register Cl, opáf s IO MH321 2 Tieto dva vyrovnávácie registre Cl, C3 sú riadené signálom STBV tak, aby sme na ich výstupoch malí

37 vždy platnú informáciu pre zobrazovaný znak vtastnú znakovú as aj píznakový as Pomocou týchto vyrovnávacích registrov sa odstrauje spozdenie, ktoré by inak bolo spósobené prechodom informácie o zobrazovanom znaku cez generátor znakov v památi EPROM Pretože pre normálny znak a znak s dvojnásobnou šíkou je potebné menif obsah vyrovnávacích registrov v odlišných okamžikoch, signál STVB je vytváraný prepínaom D2 (74157), priom pre normálny znak je STVB = PO PI P2 (výstup F3/6) a pre široký znak je STBV = CD3 (výstup D3/12) Výstupy z vyrovnávacieho registra C3 sú pipojené na vstupy multiplexera C2 (74151), na ktorého adresové vstupy, B, C sú pipojené signály QO až Q2 Tieto signály sú, ako už bolo spomínané, vytvárané zo signálov SO až S3 pomocou prepínaa D2 (74157) Tým je zabezpeené správné vytváranie zobrazenia bodu v znaku v závislosti na zvolenom type znaku (normálny resp široký) Multiplexer C2 je naviac prostredníctvom vstupu S hradlovaný signálom z F3/8, o je signál s periódou okolo 1 s vytváraný multivibrátorom E2 Samotný signál z multivibrátora je však ešte hradlovaný signálom z výstupu Cl/04 prostrednfctvom hradla F3/12 Tento obvod zabezpeuje funkciu blikania obrazu, ktoré je povolované nastavením bitu DO = H = log 1 v príznakovom baite Výstupné signály VIDEO a VIDEO z multiplexera C2 sú cez sústavu z hradiel Dl pivedené na vstup E3 dekodéra El, realizovaného pomocou obvodu typu MH 3205 V závislosti na stave výstupu Cl/06 sa preto potom realizuje normáln afebo inverzné zobrazenie znaku Výstupný signál Cl/08, odpovedajúci bitu D2 v príznakovom bájte, je oznaený ako DBL a zabezpeuje prepínanie obvodu D2, teda obvodu prepínania zobrazenia normálneho znaku a širokého znaku 9x TR23 IKSY82) R12 1k2 C*5 V alší signál Cl/10 = D3 v stave D3 = H = log 1 spósobuje, že sa prostredníctvom riadiaceho vstupu El zablokuje dekodér El, vaka omu sa zatemuje zobrazenie rovnako ako sa zatemuje poas signálu 2 = H = log 0, ktorý je pivedený na povolovací vstup E2 obvodu El K zatemneniu zobrazenia dochádza však taktiež poas doby, kedy je obrazová památ pipojená na zbernicu procesora a signál SEL (pipojený na vstup hradla 5/08) je v aktívnom stave L Vaka tomu sa rušenie zobrazenia na obrazovke poas zápisu dát do obrazovej památe realizuje ako ierne iarky vytrhávané z bieleho obrazu ko je známe, toto rušenie sa nedá jednoduchým spósobom odstráni V tejto podob však pri bielom pišme na iernom pozadí bude minimalizované dresové vstupy dekodéra El sú pipojené na alšie 3 bity (D4, D5, D6) vyrovnávacieho registra pre píznaky (obvod Cl) V závislosti na stave týchto bitov sa potom pri aktivácii dekodéra prostredníctvom povolovacích vstupov El, E2, E3 aktivuje do stavu L jeden z výstupov 0 až 7 Na tieto výstupy je potom pipojený obvod prevodníka TV úrovní, ktorý je realizovaný tak, že každému z výstupov 0 až 7 dekodéra El priratfuje inú úrove jasu Schéma tohoto prevodníka je uvedená na obr 2 Realizovaný je na malej samostatnej doske plošného spoja, ktorá je spojená s doskou displeja káblom prostredníctvom konektora K4 Je to vlastn velmi jednoduchý pevodník D/ rozlišujúci 8 analogových úrovní Prvá verzia tohoto prevodníka bola spojená s vf TV modulátorom V tomto pípade sa vyžadovala negativna modulácia a preto bolo vhodné, že dekodér El má výstupy aktivn v stave L Celé zapojenie preto obsahovalo len 3 tranzistory, niekolko diod a pasivné prvky Ketf som však realizoval verziu displeja so 64 znakmi nou moduláciou v tranzistorovom stupni nedávala rozumnú možnost nastavovania jednotlivých úrovní jasu, ukázalo sa ako jediné vhodné, aj ke trochu nákladné, riešenie s tranzistormi p-n-p spínajúcimi v áktívnom stave rezistory Rxa (X=1 až 9) na napáiie +5 V V sútovom bode x potom získáme potebné napátie s odstupovanými ampiitúdami, ako je to schématicky znázornné na obr 3 Odstupovanie amplitúd sa dá nastavovat zmnou rezistorov Rx 3 Na závr popisu zapojema uvaazam ešte struné údaje o ostatných obvodoch displeja Obvody 05, B5, B6, B7 (4x 74157) tvoria pepína adresovej zbernice pre památ Tento pepína pripája památe na adresovú zbernicu procesora ke je signál SEL = H, tj ke chce procesor ítat alebo zapisovat dáta do obrazovej památe Súasne tento signál prostredníctvom invertora 6/12 a hradla 5/8 zatemuje obrazovku poas pístupu procesora do památe Na vstupy XI týchto prepínaov sú pipojené adresové vodie BO až B9 adresovej zbernice procesora Na druh sadu vstupov X0 sú pipojené priamo vodie SX prvého stupa sekundárnej asovej základné, zatial o výstupy BSX druhého stupa asovej základné idú najprv do sumátora, realizovaného obvodmi C6, C7, a až odtia! ako signály BQX idú na vstupy prepínaa adries V sumátore sa realizuje súet dvoch 8 bitových hodndt MODULO 256, kde druhou vstupnou veliinou je obsah registra C8 Pokial je v registri C8 zapísaná hodnota 00H, potom sa ni nedeje Ke však do nho zapíšeme hodnotu napíklad OFH, potom v okamžiku, ke sa na obrazovke VIDEO) (BIEL) VIDEO 2 VIDEO 3 VIDEO 4 WÓE05 VIDEO 6 VIDEO 7 VIDEO 8 (IERN) SYNC 0V -TL \K4/15\ <*5V Obr 3 Schematické znázornenie vzahov medzi amplitúdami výstupného signálu z prevodníka TV úrovn pre jednotlivé signály VIDEO X a SYNC Obr 2 Pevodník signálov video a syne na úplný videosignál s rozlišením osmich úrovní jasu na riadok, kvalita obrazu cez modulátor už pestala vyhovovat Preto som realizoval priamy vstup video signálu do televízora obdobným spdsobom ako v [6] V tomto pípade však potebujeme pozitivnu moduláciu (najvášia amplitúda odpovedá úrovni bielej) Pretože priama inverzia signálu s negatívzaína písaf prvý aktívný televízny riadok, obrazová památ a generátor znakov je adresovaný tak, že sa z nich vyberajú údaje, ktoré odpovedajú šestnástemu TV riadku Inkrementáciou registra C8 o +1 sa posúva obraz o 1 TV riadok nahor, dekrementáciou sa posúva o 1 TV riadok nadol Cyklickým opakováním tejto inkrementácie alebo dekrementácie sa realizuje takmer spojité posúvanie obrazu smerom nahor alebo nadol, ktoré je vetmi píjemné na oi a znižuje zrakovú únavu pri dlhšietrvajúcej práci s poítaom Obvyklé rolovanie obrazu o jeden znakový riadok pri píchode znakov CR LF sa potom realizuje ako cyklus 16 inkrementácií v smyke s asovým spozdením, ktorého zmnou sa nastavuje požadovaná rýchlost rolomikroelektroníka 37

38 i ' Spojmi vania Pracujem s profesionálnym poítaom s displejom typu VT 100, ktorý má realizované toto spojité rolovanie a preto viem oceni jeho výhody Výstupný signál BQ7 zo sumátora nie je využívaný ako adresový vodi, ale zabezpeuje prepínanie horného a dolného bloku obrazovej památe znakov a príznakov K tomuto prepínaniu musí dochádza v okamžiku, ke sa ukoní kreslenie 127 riadku a má sa zaa kreslit 128 TV riadok K zmene hodnoty BS7 = BQ7 z L na H dochádza pri nábežnej hrané signálu HSYNC, ktorý inkrementuje ítae D6, D7 by nedochádzalo ku kolízii medzi dolnou a hornou astou obrazovej památe pri pepínaní, je potebné zaistit, aby na uritú dobu a vo vhodnom okamžiku bolí obidve památe odpojené Dosahuje sa to tým, že signály BQ7 a BQ7 sú poas doby horizontálneho synchronizaného impulzu (4,5 fis) zahradlované v obvodoch F7/6, F7/11 signálom HSYNC Zapojenie obvodov dekodéra adries je v podstat štandardné Je zabezpeené úplné dekódovanie adries, priom je možné zvolit uloženie bloku 4 kb obrazovej památe fubovofné v rámci každého z ósmich blokov 8 kb Jedinou zvláštnosfou dekodéra adries je to, že vaka použitiu samostatných odderovaov adresovej zbernice pre památ znakov a památ príznakov bolo nevyhnutné zdvojit obvody generácie signálov CS a DCE pre oddetovae s IO typu 3216 V zapojení, ktoré je uvedené na obr 1, je obrazová památ pre znaky uložená na adresách E000H až E7FFH a památ pre píznaky na adresách E800H až EFFFH Nakorko je použité rozdelenie obrazu na riadky a stípce v mocninách ísla 2 (64 x 32), je zostavenie tabuky adries pre jednotlivé pozície na obrazovke jednoduché a nie je potebné ho zvláš uvádza Pri zobrazovaní 256 TV riadkov z celkového potu 320 je pokrytá takmer celá plocha obrazovky, priom v rohoch obrazovky sa stávajú písmená vaka astigmatizmu neitatefné Tento problém je zvláš citerný, ke chceme použit zobrazenie so 64 znakmi na riadok Preto som realizoval doplujúci obvod, ktorý predlžuje vertikálny zatemovací impulz tak, že sú zatemnné tiež pósledné dva (30 a 31) riadky Po odpovedajúcej zmene polohy vertikálneho synchronizaného impulzu vystredení obrazu je už itaternosf lepšia Zapojenie tohoto obvodu je uvedené na obr 4 Pokiar nepoužíváme TV pijíma aj na bžné úely, je možné tento problém vyriešit jednoducho zmenšením vertikálneho rozmru obrazu pestavením píslušného ovládacieho prvku na TV pijímai Vytvoením žatemnenej asti aktívnej zóny obrazu však je možné docielit niektoré zvláštn efekty V tejto žatemnenej zón sa móže realizovat nulovanie riadku alebo zápis nového obsahu riadku, vaka horizontálna zmna obsahu omu sa riadku stane neviditerná a pri spojitom rolovaní textu sa na dolnej hrané obrazu bude vynára už hotový zapísaný riadok Taktiež je možné realizovat rolovanie obrazu o jeden riadok (jeden dvojriadok) spát s minimálnou programovou podporou Konštrukcia displeja a prevodníka TV úrovní Displej bol realizovaný ako súas amatérského poítaa TOM 84 na univerzálnej doske plošného spoja vefkého európskeho formátu o rozmeroch 235 x 180 mm Spojový obrazec tejto došky bol uverejnený v roenke R 87 MIKROELEKTRONIK (typ V 215 ME) Osadenie tejto došky integrovanými obvodmi a aišími súiast- ZT 30 zobrazuje sa 30 riadkov ZT 32 zobrazuje sa 32 riadkov Obr 4 Doplkový obvod, ktorý zabezpeuje predlženie zatemnenia tak, že je zatemnný aj 30 a 31 riadok kami je uvedené na obr 5 Sú použité konektory typu 6F89654 (31 kolíkové, pozlátené), priom konektory K1 a K2 sú pre systémovú zbernicu mikropoítaa, na K4 sú vyvedené výstupy VIDEO a SYNC a K3 je zatiar nevyužitý Na tento konektor je možné vyviest výstupy z generátora znakov (obvod C4) a potom nahradit památ EPROM pipojením na simulátor EPROM, o dovolí dynamicky mnit súbor zobrazovaných znakov pomocou programu Póvodne sa na doske rátalo s památou 2 x 1k, o vystaí na formát 32 x 32 znakov Ke som realizoval úpravu na formát 64 x 32 znakov, nezostalo mi už iné riešenie než umiestni alšie památe na,,poschodie opatrným spájaním dvojíc obvodov s medzerou asi 2 mm medzi ich púzdrami, aby sa aspo trochu zabezpeilo ich chladenie Iba signály CS nie je možné privádza ku dvom púzdram paralelné, ale je potebné na hornom z ich opatrné odhnút nožiku a C5 pipojit drótikom Takto vytvoená dvojica je zasunutá v pátici, vyrobenej z dostupných 16 vývodových pátíc rozezáním a zlepením potebného potu kontaktov Toto netradiné riešenie som si mohol dovolit kvóli tomu, že v poítai je umiestnený malý ventilátor, ktorý sa stará aspo iastone o chladenie systému Displej má v tejto podob už odjazdených" niekofko desiatok hodin a zatiar sa br mikroelektronika Rozloženie súiastok displeja DIS-84 na univerzálnej doske s plošnými V215ME (medzi konektormi K1 a K2 chyba obvod 74157)

39 neobjavili žiadne problémy s památami RM Trošku problémov robí pática pre památ EPROM, kde sa obas objavujú bodové poruchy zobrazovania znakov (nadbytené biele bodky v znaku), ktoré sú spósobené nedokonalým kontaktem památe EPROM v pátici a zmiznu po ich peištní Obvody 05, F3, F4, F5, F7 sú umiestnené mimo hlavné spojové perte- Potebné plóšky pre umiestnenie týchto obvodov sa získali úpravou pomocných plošiek medzi konektorami (pre 05 a F5), pipadne plošiek, na ktoré sa pripájajú samotné konektory (pre ostatné doplnné obvody) Obvod prevodníka signálov VIDEO a SYNC na úplný TV signál je realizovaný na malej doštike jednostranného plošného spoja Pesný obrazec spojovej došky neuvádzam, nakofko by bolo vhodné urobit jeho úpravu nahraaením pevných rezistorov R x3 trimrami, o umožní presnejšie nastavovat jasové úrovn pre jednotlivé stupn jasu Kedže sa jedná o pomrn jednoduché zapojenie, takýto návrh zvládne každý Napriek tomu, že sa jedná o pomrn zložité zapojenie, pri jeho oživovaní vystaíme s logickou sondou a osciloskopom, pomocou kterého nastavíme oscilátor na požadovaných 12 MHz a postupné kontrolujeme jednotlivé priebehy na výstupoch primárnej a sekundárnej asovej základné Rovnako skontrolujeme a nastavíme požadovaná dížku pre impulzy HSYNC a VSYNC Pokiar nemáme generátor znakov v památi EPROM, možno funkciu displeja skúšat tak, že jednotlivé výstupy v pátici pre EPROM pipojíme postupné na zem krátkým drótikom, priom sa nám majú vytvárat na obrazovke ierno-biele zvislé pásiky usporiadané pódia toho, ktoré výstupy máme uzemnné Památe RM osadzujeme až po dokonalom preskúšaní funkcie dekodéra adries, oddefovaa datovej zbernice a prepínaa adresovej zbernice Pri oživovaní má displej voi iným obvodom obrovskú výhodu v tom, že sa nám innost displeja vermi názorné prejavuje na obrazovke, o vermi pomáhá pri hradaní pípadných závad Pri precíznej práci pri zapájaní došky mdže táto pracovat takmer na prvé zapnutie Programová obsluha displeja DIS 84 Napriek tomu, že tento displej je zložitejší než napr ND-1, jeho programovanie sa nekomplikuje, naopak v niektorých ohfadoch sa stává jednoduchším Prvou programátorskou úlohou pri oživovaní tohoto displeja je naprogramovanie generátora znakov, ktorý je v památi EPROM typu 2716 Táto památ nám pri rastri 8x8 bodov na jeden znak dovofuje vytvoit až 256 znakov Pitom je využitá do posledného bitu Prvých 128 znakov s D7 = 1 odpovedá súboru SCII znakov Namiesto riadiacich nezobraziterných kódov možno zadefinovat rdzne semigrafické symboly Spdsob naprogramovania znaku je zejmý z píkladu uvedeného na obr 6 pre znak E V displeji 8080 MC-DI bol použitý rovnaký spdsob kódovania znakov v generátore znakov s EPROM typu 2708 až na inú polohu znaku 5 x 7 v rastri 8 x 8 Je preto možné použit tabufku znakov vytvorenú pre tento displej aj pre displej DIS-84 DRES 228H 229H 22 H 22BH 22CH 22DH 22EH 22FH KÓDY 7CH 40H 40H 70H 40H 40H 7CH 00H Obr 6 Píklad kódovania znaku v generátore znakov Druh sadu znakov s D7 = 1 si móže navrhnú každý sám pódia svojich požiadaviek Možno sem umiestnit napíklad celú grécku abecedu a rdzne symboly používané vo vdeckotechnických textech, ale tiež rdzne grafické obrazce, ktoré sa dajú využívat na vytváranie obrazov a na hry Kto má tlaiare, ten sa bude snažit prispdsobit tieto znaky tomu, o vie jeho tlaiare Pre displej DIS-84 však mdžeme vytvoit tiež generátor znakov s 512 symbolmi pri použití památe typu 2372, priom adresový vodi 11 tejto památe je napojený na bit D7 píznakového bajtu (vi obr 1) To nám umožuje programovým nastavováním tohoto bitu ovládat vorbu dvoch súborov po 256 znakov V súbore riadiacich kódov SCII je dvojica SO, SI, ktorú možno použit na takéto prepínanie Z vyššieuvedeného vyplývá, že celý znakový bajt sa využívá na vorbu znaku Mód zobrazenia znaku je ovládaný píznakovým bajtom V tabufke 1 je uvedené priradenie módov zobrazenia jednotlivým bitom píznakového bajtu, v tabufke 2 sú zas uvedené kódy pre všetky možné kombinácie módov zobrazenia V obvyklom alfanumerickom režime sa pri nulovaní displeja musí zabezpeit zapísanie celej obrazovej památe príznakov zvoleným kódom módu zobrazenia, napíklad 00H pre 64 znakov na riadok v normálnom zobrazení, 04H pre 32 znakov na riadok v normálnom zobrazení Realizácia kurzora je vermi jednoduchá a spoívá v zápise kódu pre inverzný a blikajúci znak do píslušného miesta památe príznakov Programová obsluha rolovania obrazu je zejmá z toho, o už bolo uvedené v popise zapojenia Pre zabezpeenie innosti displeja v bežnom alfanumerickom režime už mám vypracovaný program, ktorý vznikol úpravou programového modulu OUTDIS napísaného pre displej ND-1 Nebol však zatiar preskúšaný v rámci celého monitora mikropoítaa TOM-84, na ktorom ešte stále pracujem, preto jeho výpis zatiar nepripájam Semigrafické možnosti displeja sú také bohaté, že zaína byt problémom ich všetky pln využívat Nakofko však je výbr znakov a módov zobrazenia realizovaný nastavováním jednotlivých bitov v znakovom a príznakovom bájte, je ich ovládanie pomrn jednoduché a dá sa realizovat ako nastavovanie a nulovanie programových masiek pre obidva bajty Úplné na závr uvádzam ešte jeden námt, urený pre majiterov farebných televízorov Bity D4 D6 píznakového bajtu sa využívajú na ovládanie jasu zobrazenia znaku Je však možné zmnit zapojenie tak, že sa využijú na ovládanie farby Potrebnú úpravu zapojenia neuvádzam, pretože som sa touto otázkou zatiar nezaoberal Tabuka 1 Význam bitov píznakového bajtu D0 Blikanie Dl Inverzia D2 Dvojitá šíka znaku D3 Blokovanie zobrazenia (programové zatemnenie) D4 Jas (Farba R) D5 Jas B (Farba G) D6 las C (Farba B) D7 Prepínanie súboru znakov v EPROM 2732 Tabuka 2 Kódy pre programovanie módov innosti displeja X0H 64 znakov na riadok, normáln zobrazenie XI H 64 znakov na riadok, blikajúci znak X2H 64 znakov na riadok, inverzné zobrazenie (biele pozadie) X3H 64 znakov na riadok, inverzný a blikajúci znak X4H 32 znakov na riadok, normáln zobrazenie X5H 32 znakov na riadok, blikajúci znak X8H 32 znakov na riadok, inverzné zobrazenie X7H 32 znakov na riadok, inverzný a blikajúci znak X8H až XFH zatemnenie zobrazenia 0XH maximálny jas znaku 7XH minimálny jas znaku 8XH až FXH navolená druhá sada 256 znakov v EPROM 2732 Výsledný kód píznakového bajtu sa ziskava lineárnou kombínáciou uvedených možností (X je Tubovorná hodnota 0 až F) Tabuka 3 K1, K2, K4 Zapojenie konektorov Kontakt K1 K2 K4 1 zem zem zem 2 +5 V +5 V +5 V 3 INT 3 zem 4 INT 2 5 V 5 INT 1 zem V 7 14 zem VIDEO 1 8 I V VIDEO 2 9 I 2-15 V V1DEQ PIP VIDEO CSO (KBD) VIDEO CS1 (KBD) VIDEO IOW VIDEO IOR VIDEO MW SYNC 16 5 MR 17 4 INT 18 3 Ml 19 2 B 20 I HL 21 0 DEN 22 D7 STSTB 23 D6 HO 24 D5 ÍT 25 D4 RES 26 D3 ose 27 D2 RTL 28 Dl RDY 29 DO 4>2TTL V +5 V +5 V 31 zem zem zem Literatura: [1] Peterka, L: Televizní displej I R/ 3/1984, str [2] Peterka, L: Televizní displej II R/ 4/1984, str [3] Smutný, lfanumerický displej ND-1 R/B 2/1983, str [4] Smutný, E: Displej ND-1Z R/B 6/1985, str [5] Sojka, E: Televizní displej MC-DI R/ 5/1987, str [6] Tma, M: TV monitor k ZX Spectru R/ 8/1987, str 304 mikroelektronika 39

40

41

42 Ing Juraj KSNICKÝ, Steinerova 6, Košice Osobné poítae TRI 800 XL a TR1 130 XE sú vybavené sériovým interfejsom, na ktorý je možné pripoji tlaiarne typu TRI, pružný disk a iné pídavné zariadenia Problém pripojenia tlaiarne s interfejsom CENTRONICS popr IRPR (SMEP) ku TRI je v popedí záujmu viacerých použivatepov týchto osobných poítaov Najastejším riešením, aj pri iných typoch poítaov, je využitie vorného tzv USER PORT a snaha riadif žiadaný typ interfejsu vlastným ovládacím programom Pokiaf sa podaí prepísa smrník v operanom systéme ukazujúci na riadiaci program ttaiame, je možné používat systémové píkazy LPRINT, OPEN, PRINT#, LIST "P: at Takéto riešenie pedpokládá detailné informácie o operanom systéme a je podmienené zavedením programu, ktorý zmodifikuje operaný systém Problém nastane, ak si aplikan programové vybaven ie samo nastavuje smrníky riadiacich programov logické priradenie fyzických pídavných zariadení alebo tvrdo volá systémové ovládae Technickým riešením problému je riešenie technicko programového vybavenia jednoduchého adaptéru, ktorý na jednej stran emuluje interfejs TRI a na stran druhej riadi interfejs pripájanej tlaiarne Takto rieši problém napr firma GE pre svoje tlaiarne kompatibiln s TRI a COMMODORE Pri použití súasnej mikropoítaovej súiastkovej základné ide o jednoduchý emulaný mikropoíta zložený z niekorkých obvodov a napájaný priamo z pripájanej tlaiarne Predmetom tohto píspvku je popis TRI intefejsu, tak ako bol získaný pokusným meraním, návrh technického a programového vybavenia emulaného mikropoítaa postaveného na u nás najdostupnejšej súiastkovej základní mikroprocesora MHB 8080 s vlastným zdrojom Popis interfejsu TRI pre pripojenie tlaiarne je potebné chápat ako súhrn informácií, ktoré sa podailo získat bez dokumentácie, len meraním pomocou osciloskopu, logického analyzátoru a dedukcie, o by asi bolo logické Preto tento popis nie je úplný, nerieši všetky možné chybové stavy, ale postauje na spofahlivé emulovanie TRI seriál interfejsu Všetky íselné údaje vo výpise komunikaného protokolu sú v hexadecimálnej sústave POPIS TRI SERIÁL INTERFCE** TRI seriál interfejs je z technického hradiska asynchronný sériový penos s jedným STRT a jedným STOP bitom bez použitia paritného bitu Interfejs pracuje v logike TTL na krátku vzdialenost výsokou penosovou rýchlostou baudov 42 mikroelektronika

43 ' c DO Dl D2 D3 04 D MEMR MEMW O I CS1 CS2 - CS3 02 TTL RES <5 V GND 12 L/ 8 li / 6 18 v / Li / / H 29 10/ 2±C 9 11/ 19 10?/ / \U 21 *5 V >- RD_ WR\ O I CS rm4x 64p ni J 33k TtM *5 V GND n *5 V T100 Obr 2 Zapojenie interfejsov Stavové hlásenie tlaiarne je posielané po prfkaze OPEN a v pípade, že je všetko v poriadku, má tvar: c) STTUS 80, 4E, 1F, 00, ED Do komunikácie vstupujú ešte dva špeciálne znaky, ktoré som nazval: d) CK 41 tlaiare potvrdí píjem e) SBLK 43 po tomto znaku tlaiare vyšle svoje stavové hlásenie Datový blok Datový blok je Standardn dlhý 40 znakov a je doplnný 41 znakom, o je opát kontrolná suma TRI nevyšle nikdy datový blok inej dížky aj keby mal tento obsahovat o len jeden platný znak Dížka datového bloku je urená parametrom v operahom systéme V datovom bloku má výnimoné postavenie znak 9B, ktorý je možné chápat ako znak ukonujúci dáta ÉOT resp EOF nakorko sa ním doplní datový blok do definovanej dížky (40) pri píkaze CLOSE Píkaz CLOSE spósobí výstup bžného dátového bloku, ktorého obsahom je zbytok vyrovnávajúcej památe doplnný resp ukonený znakom 9B Riadiaci signál CMD je aktívny pri vysielaní riadiaceho píkazového bloku Grafické znázornme komunikaného protokolu CMD Obr 3a Interpretácia píkazu Open n, code, aux, "P CMD Obr 3b Vytíaenie naplnenej vyrovnávacej památe resp interpretácia CLOSE Definovat pesné asové limity, znázornné na obrázku ako t, sa mi nepodailo, ale tento as je zhora obmedzený tak, aby programové vybavenie partnerského mikropoítaa stihlo bez problémov vyhodnotit prijatú informáciu a vyslat odpov ádové sú to ms a operaný systém TRI pri pekroení niektorého z týchto asov hlási chybový oznam Výnimoné dlhý je as Tp, ktorý by bolo možné uviest v sekundách Tento as je využitý na vytíaenie pijatého dátového bloku a vyhovuje aj najpomalším tlaiaram bez vyrovnávacích památí Pri pohrade na takto definovaný interfejs tento budi dojem jednoduchosti a úelnosti Je na škodu vci, že ho firma TRI nepublikuje Pri analýze jednotlivých znakov v riadiacich štruktúrach je možné zistit ich význam Z hradiska emulácie tlaiarne, ktorá nepozná iný stav ako REDY a v každom inom pripade narušuje protokol, je význam týchto znakov nepodstatný až na jeden, a to je adresa Z porovnán ia riadiacich štruktúr a z pokusných zapojení som uril, že je vhodné reagovat na prvý znak ako na adresu, o je v pípade tlaiarne 40H Úplný obraz emulovaného TRI interfejsu poskytuje výpis zdrojového textu ovládacieho programu zapísaného v assembleri 8080 POPIS TECHNICKÉHO VYBVENI DPTÉR TRI INTERFEJSU Technické vybavenie bolo navrhnuté na dostupnej súiastkovej základní na báze mikroprocesora MHB 8080 a jeho podporných obvodov by bolo možné jednoducho zamnit centrálny procesor za iný, napr Z80 resp 18085, resp využit univerzáinu procesorové ást aj na riadenie podobného interfejsu pre COMMODORE C 64, je technické vybavenie rozdlené na dve asti: a) Centrálny procesor b) Interfejs tlaiarne a sériový interfejs TRI Použitie památí EPROM 2708 a RWM 2114 bolo vynútené ich relativné najlepšou dostupnosfou Daleko ekonomickejšie je možné postavit riadiaci procesor na báze 18085, pipadne MHB 8748 Zapojenie využívá pre vstupno výstupné operácie adresy z pamáfového priestoru a adresný dekodér rozdefuje památ následovn: adresách vyšších ako 4000H sa Pri aktivujú tzv zrkadlové" adresné priestory Všetky riadiace signály, potebné na ovládanie interfejsu sú vyvedené na 30 kontaktový konektor FRB a plošný spoj je riešený tak, aby sa signály na oboch plošných spojoch dostali na odpovedajúce si kontakty, o ufahuje ich spojen ie Doska interfejsu obsahuje programovatelný íta 8253, aby bolo možné jednoducho vydlit frekvenciu mikroelektronika 43

44 port x16 pre USRT 8251 z O^TTL Použitie tohto obvodu je možné oceni ak je potebné pipojit ku adaptéru sériovú tlaiare a riadiaci program musí pepínat prenosovú rýchiosf z na 200, resp 300 baudov Pre úely napojenia sériových tlaiarní je technické vybavenie interfejsu doplnné jednoduchým prepínaom na hradlách 7400 s využitím programovo ovládaných výstupov 8251 RTS a CTS Uvedený riadiaci program nerieši pripojenie sériovej tlaiarne, a v pípade poteby ho je možné modifikovat Ovládanie paralelných tlaiarní s interfejsom IRPR/CENTRONICS apod riadiaci program zabezpeuje prostredníctvom programovatefného obvodu MHB8255 Technické riešenie poskytuje 8 dátových tfodiov, 4 riadiace a 4 stavové vodie Ostává ešte nepoužitý port B Riadiaci program, uvedený v prílohe, je písaný pre interfejs IRPR, preto sú signály oznaené názvami tohto interfejsu Signál DT/Í umožuje jednoduchým nastavením potenciálu log 0 resp log 1 riadit polaritu výstupných dát Vášina tlaiarní umožuje nastavit polaritu prepínaom i prepojkou, ale pokiar tomu tak nie je, napr CONSUL je potebné mnit, riadiaci program, o spósobí problémy ak je už adaptér vyrobený a oživený pre iný typ tlaiarne Podobné v pípade, že vznikne problém polarity riadiaceho signálu, sú na plošnom spoji interfejsu dve rezervné pozície pre FubovoFný 14 resp 16 vývodový integrovaný obvod so štandardným napájaním, o by málo stait v pípade jednoduchých úprav v zapojení interfejsu Podrobnjší popis technického vybavenia nie je potebný, nakoko ide o známe a asto publikované zapojenie štandardných súiastok POPIS RIDICEHO PROGRMU Riadiaci program je možné logicky rozdlit na dve asti podra typu použitej tlaiarne: a) technicky nezávislá, b) technicky závislá Nezávislú ást riadiaceho programu tvoí inicializácia programovaterných obvodov a emulovanie TRI interfejsu pomocou MHB8251 Pódia typu použitého interfejsu je potebné modifikovat podprogram TLCZNK tla jeden znak na tlaiare Tento riadiaci program vyhovuje vášine tlaiarní dostupných pre užívatefov TRI u nás V pípade poteby je v památovom priestore EPROM dostatok vorného miesta, aby bolo možné programovými prostriedkami riadit aj iný typ zložitejšfch interfejsov Riadiaci program pre atari interface Kas Obr 4 Obrazce plošných spojov došky centrálneho procesora X601 pr iradenie CWTM EQU 1803H adrcw 8253 TIMO EQU 1800H adrpre TIMO CUSRT EQU 1001H CW 8251 DUSRT EQU 1000H dat reg 8251 CWPIO EQU 2Q03H CW 8255 P EQU 2000H adr PB EQU 2001H adr port B PC EQU 2002H adr port C PCI EQU 2003H bit oper PC phase 0 LXI SP0B00H zásobník inicializacia obvodov 8251 ST CWTM LXI H x16 hz MOV L ST TIMO MOV H ST TIMO CLK delene 44 mikroelektronika 8253 MVI 36H TIMO/MOD 3 MVI 4EH 8 b/l stop no par ST CUSRT MVI, RxE / TxE ST CUSRT

45 :: preber z znak ukoneny vytlaí : potvrdí REDY CLL WCMD cakaj na CMD MVI B 5 LXI H, CMDBL 5 r i ad znakov CLL DT data CLL WNCMD koniec cmd? CMDBL CPI 40H adr t laciarne JNZ STRT ina adresa CLL CK moja adresa potvrdím CMDBL +1 : : operacia CPI 53H open? JNZ DTBL nie tak data MVI B, 6 ak : LXI HODP MOV CM CLL VZNK INX H DCR B JNZ LC JMP STRT open vyšlí status tabodpoved do atari open prijem dat bloku v dlzke 40 znakov + kontrolna suma do vyrovn pamate DTBL LXI HBUFF MVI B,41 : dlzka bloku CLL DT CLL CK' potvrdeníe prevzatia vytla pijaté data na tlacíaren LXI MVI CLL CLL JMP HBUFF B40 TLC CK STRT podprogrami data sa ukonen i e oper ita j jeden znak z atari znak? ic rdy?

46 DT: CLL MOV INX DCR RZ JMP vyšli CZNK M, H B DT CK do atari MVI CLL RET C41H VZNK Tato cast programu je premenl íva podlá typu pripojenej tlaciarne Zmnou podprogramu TLC alebo TLCZN je mozne mnit interface ******************************** vyšli data na tlaiare HL-DR vyr pamate poet znakov TLC: MOV CM MOV C CPI 9BH : ukoncovaci JZ ETLC znak dat komec dat CLL TLCZN : tla znak INX H DCR B JNZ TLC RET MVI COH kod pre LF CLL TLCZN MVI CODH kod pre CR r CLL TLCZN I RET tla jeden znak C-znak 1 / IRPR interface / TLI: TL2 : J2: PC NI 1 C-0 / rdy? JNZ TLCZN PC prepojka NI 2 polarity dat data alebo negované data JNZ TLI MOV C CM mverzia dat JMP TL2 MOV C ST P data na interf MVI OFH PC7=-strob dat SC / ST PCI PC NI 1 C-1 potvrdod tla JZ JI cakaj na C MVI OEH zhod SC strob ST PCI PC cakaj na C-0 NI 1 interface rdy JNZ J2 RET tabulky ODP: DB 43H 80H 4EH, 1 FH 0 OEDH dephase org 800h : RWM priestor CMDBL: DS 5 pikaž blok BUFF: DS 41 prijatie dat ZÁVR end Zapojenie, riadiaci program, ako aj došky plošných spojov, boli použité pre stavbu funkného vzoru, ktorého sporahlivá innos bola ovovaná na zapojení TRI 130XE a Dl 00 Tlaovo orientované programy ako SPEEDtlaiare Dl 00 ako SCRIPT používali TRI tlaiare Obr 6 Rozloženie súiastok na doškách procesora a interfajsov X601 a X602 (na doske procesora nutno doplnit rezistor R3z+5Vna vývod 6 IO 3205) Zoznam súiastok a) Integrované obvody MH ks c) Kondenzátory MH ks MHB ks KR580VI53 (8253) 1 ks ZSSR 10 pf keramický 1 ks MH ks 64 pf keramický 9 ks (bypass) MH ks b) Rezistory 20 pf elektrolyt 1 ks MH ks 1 kn 2 ks MHB ks 15 kn 1 ks djiné MHB ks 3,2 ko 1 ks MHB ks 220 n 4 ks dioda K201 1 ks MHB ks ks Kryštál 18,432 MHz 1 ks

47 Ing leš Podroužek, Budovatel 2743, Varnsdorf Základní technické údaje: Mení odporu: 4 rozsahy, od 1 Mení kapacity: do 30 MQ 5 rozsah, od 10 pf Mení tepíoty: 1 do 80 jif rozsah, od 0 C do 100 C (v kapalin) Mení odporu Pro velikost pevodu pevodníku D1GI 2 platí podle II] vztah: P = K R íi (1) kde K = kc (k=1,16 bylo zjištno experimentáln pro dané zapojení MK0 1 podle obr 2), R je odpor v kfi a C je kapacita v pf vnjšího aso- 'vacího obvodu Neznámý odpor rezistoru R x v kq se vypoítá ze vztahu (2), kde Cd je kapacita kondenzátoru (vetn vlastní kapacity pípravku) volená pepínaem rozsah Sériový rezistor R3 = 0,33 kil je na zaátku mení kalibrován (promnná R9) R* - ( P)/(2375,68 C n )-033 (2) Pevod P je snímán 10x a do vzorce se dosazuje jeho prmrná hodnota V tab 1 jsou informativní údaje pro toto mení rozsah 6 až 9 Méení kapacity Pro hledanou kapacitu kondenzátoru v mf odvodíme ze vzorce (1), že C K = ( P)/(2375,68 R ) (3) kde R je celkový odpor rezistoru (vetn sériového odporu R3, který je i zde kalibrován) Vlastní kapacita pípravku je pibližn 200 pf informativní údaje pro toto mení jsou v tab 1, rozsah 1 až 5 Teoreticky možnou rozlišovací schopnost udává poslední sloupec tabulky Tab 1 Mení kapacity a odporu nrozsah 100 EfiiÉflÉl pevodu PF/ 470 0,01 až až 275 KM až 2670 MM K3H až 2110* 5 0,1 2110* až 8410* C4nF] mený odpor RÍOJ ktyj pevodu až až až až mikroelektronika 47

48 Mení teploty Pro mení teploty byl jako sníma zvolen na trhu dostupný perlikový termistor 13NR15 (odpor R25 = 10 Cl až 30 kfi materiálová konstanta B = 2800 až 3600 K, barevné oznaení erná a modrá teka, výkonová citlivost neudána) Pro pevodník DIGI 2 by byl vhodnjší termistor 14NR15 s vtším odporem R25 (30 Q až 100 kn)[2j Závislost odporu termistoru na teplot d je dána vztahem R = R 25 exp B (1/298-1/( )) (4)' Obr 1 Schéma pípravku na mení fí, C, 9 Míme tedy opt odpor Z obr 1 je patrné pipojení termistoru k pípravku V sérii s termistorem je rezistor R6, kterým zmenšujeme jeho výkonovou ztrátu a zárove optimalizujeme velikost pevodu P v souinnosti s asovacím kondenzátorem Cl pevodníku DIGI 2 Ten je pipojen sekcí pepínae rozsah PMc v poloze 11 Výkonová ztráta je menší než 3 mw, tj mén než 10% z maximálního pípustného zatížení termistoru této ady Pro mení teploty v kapalin to postauje pro dosažení termoelektrického režimu Nelineární závislost odporu termistor na teplot je aproximována logaritmickou regresí: 0 = a + b In P v (5), kde a, b jsou souinitele získané regresí Pracovní rozsah 0 až 100 C byl rozdlen do 6-ti podrozsah tak, aby korelaní souinitel byl pibližn roven jedné (0,999) Konstrukce pípravku Schéma zapojení je na obr 1 Vzhled pípravku (i s pevodníkem DIGI 2) je na str 47 Základem je krabika vyrobená z oboustranného kuprextitu tl 1 mm o rozmrech 70 x 50 x 32 mm, spojená pájením ve styných plochách Dvanáctipolohový típatrový pepína (typ PM) je pišroubován v levé polovin krabiky a drží i krycí organické sklo tl 2 mm, chránící popisový štítek Vtšina souátek je pipájena pímo na kontakty pepínae nebo konektor Na pední stn je zásuvka konektoru DIN 5/180 Je pipájena po obvodu píruby ke stn krabiky Na zadní stn je pilepena konektorová zásuvka WK46515 Ve volném prostoru vpravo nahoe je pipevnn mikrospína B593, který se používá ke kalibraci sériového rezistoru R6 pi mení teploty Pro mení odporu a kapacity se používá držák mených souástek, který je k pípravku pipojen tížilovým plochým ohebným vodiem, zakoneným zástrkou konektoru DIN Mené souástky se upínají do upravených krokosvorek (rozte 20 mm) Vodie 48 mikroelektronika Obr 2 Schéma zapojení pevodníku DIGI2

49 jsou s krokosvorkami spojeny pájením Horní krycí destika je též z organického skla o tl 5 mm Ped montáží je teba souástky pesn zmit (R n, C n ) Usnadní se tím práce pi kalibraci pípravku Rezistor R7 nahrazuje chybjící potenciometr P2 (obr 2 ) Rezistor R1 je drátová spojka Spojení S6 a S7 na konektoru WK nahrazuje chybjící mikrospína z hledáku digitizéru Ped pipojením pípravku k DIG1 2 zkontrolujeme zapojení konektoru WK Musí souhlasit s protikusem Jeho ásti nejsou zajištny proti pootoení Protože otoený konektor nebo nepipojený pípravek nemohou zpsobit havárii ani programu ani pevodníku, postaí si pamatovat, že nápisy TESL na konektoru patí nap k sob Programové vybaveni Program je dostaten vybaven komentáem Má dv ásti: BSIC a strojový kód, ve kterém je podprogram pro obsluhu programovatelného ítae pevodníku DIGI 2 Program je dialogem mezi uživatelem a poítaem Pi správném plnní pokyn, pokud ovšem není pepína rozsah v jiné poloze než je zadáno, dojde ke správnému mení Po petení krátkého komentáe se objeví MENU, umožující další volbu Pi mení odporu a kapacity je nutné po kalibraci zadat rozsah Pi jeho chybném zadání, chybné kalibraci nebo pi stisku M, skoí bh programu opt na MENU Pi mení teploty se rozsah volí automaticky I zde se provádí kalibrace, po které je možné zadat korekci teploty, aby bylo dosaženo souhlasu s teplomrem * Pi oživování pípravku je teba zmnit hodnoty C od 1428 a R n od 1528 podle výsledk kalibrace Podobn je teba upravit regresní funkce (podprogram 8000) a hranice podrozsah v podmínkách od 1080 Peteení obsahu programového ítae 8253 pi mení odporu a kapacity je hlídáno testem jeho výstupu OUT 0 (íta 0) Pi vynulování jeho obsahu se zde objeví log 1, která je zjištna porovnáním s maskou 7FH V pípad shody pokrauje program vynulováním registrového páru HL a tato nulová hodnota se vrací do BSICu To je zaregistrováno v podprogramu rozsah" a na obrazovce se objeví pokyn Zvol vtší rozsah" Naopak, pokud je pevod velký (íta je v innosti krátkou dobu a rozdíl P je malý), je hlášeno Zvol menší rozsah", takže prakticky nelze mit špatn Kalibrace a oživení pípravku Jak již bylo díve uvedeno, je pro urychlení seízení pípravku vhodné pesn zmit R a C Odpor sériových rezistor se zjišuje programov pi každém mení Kalibrace rezistor R3 pevodníku se provede zkratováním svorek R x Jeho odpor se vypoítá ze vzorce (2) bez odetení hodnoty 0,33 kil (tj pibližný odpor kalibrovaného rezistor) Podobn se vyhledá i skutený odpor kombinace R3 + R6 pi mení teplot K doladní pípravku na všech rozsazích byly použity normály Jejich hodnoty jsou voleny tak, že se mení pekrývá na jednotlivých rozsazích Tím je zajištno i vzájemné porovnání jednotlivých sousedních rozsah Výpis programu Mení R, C, 0 s DIGI2 CLS 6 PRINT"HERICI PÍPRVEK" V 8 PRINT:GOSUB2600:REH LEGEND 10 GOSUB2900 : CLS : G0SUB OSUB2900:CLS:GOSUB GOSUB2900SCLS s GOSUB R=26 : GOSUB3000 s G0SUB2 100» REMF00TRH TEXT 20 GOSUB2000 = REM Cekej 180 DIMQ (20) 182 DEFFNZ <X t O) = 1NT <X*10 D-*- 5) /10"D 194 REM************************* 196 REN HENU 198 REM************************* 200 CLSsPRINTí5,0"M E N U" 210 PRINT610,0" 1 Heren i odporu" 220 PRINT"2-Mereni kapacity' 230 PRINT"3 Hereni teploty" 240 PRINT'4-Konec programu" 245 PRINT'5-Nahrani programu" 250 GOSUB2050 s REH VOLB 300 ONVL < V«> G0SUB1 400,1500, 1000, 9999, GOTO REH***90*909*************** 1002 REH HERENI TEPLOTY 1004 REH************************ 1006 CLS SPRINT "HERENI TEPLOTY" 1008 PRINT'Pouzíty sníma - 13NR1S 1010 PRINT~Rozsah teploty - 0 Z 100 stc v kapalíne" 1012 PRINT K pevodníku DIGI2 pipoj pri-pravek na Maeni teploty" 1014 PRINTtPRINT*Nyni provedeme kalibraci pevodu' 1022 PRINT"Termistor zkratujeme mikrospi- cen, který podržíme a soucas 1024 PRINT~ne stiskáme tlaítko ' SGOSUB2000 " 1024 PRINT&12,0SPC (255) SPC (255) 1028 GOSUB7000SREH KLIBRCE 1030 R=24 s G0SUB3000 : GOSUB : 6OSUB PRINT&12,0SPC <2551 {SPC <255) 1034 R=14:GOSUB3000:REM PODTRŽENI 1038 R=24:GOSUB3000:P=0:T1= GOSUBS000 s REH HERENI 1048 R1=HEX<FFFF>-Q-R:T= REH PRINTÍ23,0"Rl="FNZ<Rl,0>a,23 f 10"P*a="FNZ«l,0>"R="FNZ<R t 0> 1052 IFR1<0 0R R1 >65535-RTHENPRINT627,0"Mimo rozsah -> MENU " : GOSUB2000: GOTO IF *= "H " THEN REH 0 az IFR1 >37000 ND R1 <»59400THEN REH 14 az IFR1) ND RK-37000THEN REH 30 az IFR1 >11500 ND R1<=18000THEN REH 40 az IFR1 >7900 ND R1<=11 500THEN REH 50 az IFR 1)4000 ND R1 < =7900THEN REH 70 az IFR1 >1532 NO R1<=4000THEN GOSUB2200SREH TEXT PRINT«12,0RO*SPC<5> 1188 PRlNT616,0'Merena teplota" SPRINT 1190 PRINT"T=" TB<9> "stup Celsia* 1192 T=T+TlsT=FNZ<T,l> 1194 PRINT6202T 1196 UIT<20) :FRINT620,2SPC<7> 1198 IF P 1 THEN P=l:PRINT&20,2T626,0f 1202 INPUT"Korekce teploty" TI :PRINT626,21"stCelsia" 1210 IFINKEY*=*'THEN GOTO200 s REH HENU 1400 REM************************ 1402 REH HERENI ODPORU 1404 REM************************ 1406 CLSSPRINT62,0"MERENI ODPORU" 1408 PRINT"K pevodníku DIGI2 pipoj pri-pravek na mereni odporu a kapa -city 1409 PRINT"Meri odpor v intervalu 1 Ohm - 30 MOhm" 1410 PRINT"Po pipojeni pokrauj stiskem tlaítka " 1412 GOSUB2000 s G0SUB7 100! REM KLIBRCE R 6 C 1414 PRINTÍ10,0SPC <255 > SPC<255> {SPC<128> 1416 R=1356OSUB3000sR=24!GOSUB3000sGOSlíB2100 = GOSUB IF*="4"OR*='M"THEN R=17sGOSUB3000:IFINKEY*='M"THEN PRINTíl5,0sINPUT*Zvol rozsah <6~9>"{B* 1423 IFB*<"6" 0R B6 > "9" THEN GOSUB5000 s GOSUB R1=HEX<FFFF) -QsREM PRINT623,0'Rl="Rl«23,14"Prevod = "O 1428 IFB*="6"THENC=84:D= IFB*="7'THENC= 1:0= IFB»="8"THENC=965E-2:D= IFB0="9"THENC=103E-3:D= REMIFB*="10"THENC=3E G0SUB2100 : GOSUB Rl=Rl/237568/C-R PRINT619,0"Mereny odpor" 1454 IF R1>=1 ND R1 < 1000THEN IF RD1000THEN Rl=FNZ <R1,4) * IF R1<0 THENR1= GOSUB4000 : REH ohm 1466 GQT Rl=Rl/1000sRl=FNZ <R1,2) 1474 GOSUB4100 sreh megaohm 1476 G0TD PRINTÍ22, 0"R="622, 10"kiloohmu" :R1=FNZ <R1,D) 1482 PRINT622, 2R GOSUB2800sPRINT*22,2SPC<30> 1492 IF*="M*THEN G0T GOSUB2100 s GOSUB2300 s GOSUB2000 s PRINT62 1, 2SPC <30> SG0T REM *********************** 1502 REM HERENI KPCITY 1504 REM *********************** 1505 REM HERENI KPCITY 1506 CLS:PRINTé,2,0"MERENI KPCITY" 1508 PRINT"K pevodníku DIGI2 pipoj pri-pravek na mereni odporu a kapa -city 1509 PRINT"Heri kapacitu v intervalu 10pF - 80 mikrofarad" 1510 PRINT*Po pipojeni pokrauj stiskem tlaítka " 1512 GOSUB2000SGOSUB7100 REM KLIBRCE R 6 C 1514 PRINT610,0SPC<255> SPC<255> SPC<128> 1516 R=1 3 t 6OSUB3000 : R=24: GOSUB3000 : G0SUB2 100

50 " I 1518 G0SUB2 ««:REM CEKEJ 152* IF*«'4'THEN R=1?:GOSUB PRINT&15,# tinput"zvol rozsah <1~5>"C* 1528 IFC8C "1* OR C«)'5'THEN * GOSUB5000SGOSUB6 * 1532 GOSUB2160:GOSUB Rl=HEX(FFF) REM PVNT423,0"Rl="Rl}623,13*Prevod Q=" IFC*='1'THENR=1026:O=2 154# IFC*="2'THENR=10399sD= IFC*»'3"THENR=101íD=l 1544 IFC8«'4'THENR»96!D* IFC8*"5*THENR=0sD= 1548 Cl=Rl/ / CR+R9) 2 155# PRINTÍ,19,0"Merena kapacita" 1552 IFC1>=1 NO Cl< 1000THEN IFCD1000THEN1S C1=FNZCC1,4>» GOSUB O0TO Cl«Cl/1000eCl«FNZCCl,2> OSUB S0T PRIMT«22,0"C*'&22,U"nanofarad"5Cl*FNZCCl,D) 1572 PRINT«22,2C GOSUB2000»PRXNT622,2SPCC30> 1574 IF I NKEY6*"M " THEN G0T01S REM************************ 2882 REM CEKEJ 2884 REM*** ********************** «INKEY**IF6*"THEN20Í WXTC10) sreturn 2848 RETURN 2858 REM******»«****»*»»»»»» 2852 REM VOLB 2854 REM************************ 2868 V8*INKEY6íIFV6«*'THEN UlT(18> treturn 2188 REM************************ 2182 REM TEXT 2184 REM************************ 2118 PRINTI27,0'Pokracuj stisk** tlaítka' 2115 RETURN 2288 REM************************ 2282 REM TEXT REM************************ 2218 P*INT6290"HENU - prošla, podrž H"» 2215 RETURN 2388 REM*«*w»»* *»»»»»»»»»»»»»» 2382 REM TEXT REM************************ 2318 PRIMTi29,0"Mavrat na MENU - spatnou volbou rozsahu'} 2315 RETURN 2488 REM*********************** 2482 REM TEXT REM*****p******»********** 2484 PRIMT&2S,4~Zvol v«tsi rozsah" :SOSUB2 100»G0SUB PRINT825,8SPC(28> 2418 RETURN 2588 reh»****»**»»»»»»»«*»» 2582 REM TEXT REM*********************** 2584 PRINTI»25,8'Zvol aensi rozsah' <G0SUB2188:60SUB PRINT425,8SPC<2 > 2518 RETURN 2488 REM*********************** 2682 REM TEXT REM************************ 2606 PRINT"Leg«?nda" 2408 PRINT"Tento prograa slouží pro obsluhu" 261 PRINT"*er iciho pípravku k /D pevod-' 2612 PRINT"niku Pípravek uaoznuje" 2614 PRINT"»ereni odporu rezistoru, kapací-" 2616 PRINT"ty kondenzatou a teploty 2618 PRINT"Spojeni s prevodntke* je prove -' 2628 PRINdeno konektore* UK nápisy TESL " 2622 RETURN 2638 PRINT"k sobe Merena sbucastka se up-" 2632 PRINT"ne do píslušných krokosvorek " 2634 PRINT"Rx nebo Cx spojených konektore* " 2636 PRINT'0IN 5/180 Upnuti souástky *usi " 2638 PRINT"byt spolehl i ve Pro *ereni teplo-' 2640 PRINT"ty je sniaac pipojen tez konk-" 2642 PRINT"tore* DIN 5/180 Následující ta~" 2644 PRINT"bulka ukazuje funkce pepínae " 2646 RETURN 2650 REM************************ 2652 REM TBULK 2654 REM************************ 2656 PRINT" PEPÍN ROZSHU" 2658 PRINTÍ2, 1CHRS < 15) "P" 2660 M=2 5 6OSUB PRINTr2,31CHR* < 15) 566, 1CMR8 < 15) *S" 2664 M=6 s GOSUB PRINT66,31CHR*C15)"N"j624,lCHR*C15>"K"íM=24:GOSUB PRINTÍ24,31CHR*<15)"J" 2670 S= 1 1 GOSUB2820! GOSUB S=9! 6OSUB2820 í GOSUB S=2 = GOSUB2820 1G0SUB S«31 í GOSUB2820 s G0SUB PRINT&4,2"Poloha"é4, 12" Funkce" 63, 22'Rozsah "65,21 "od do" 2680 PRINT48,2" 1 az 5"47,ll"*ereni"69,ll"kapacity" 2482 PRINTí8,21'10pF 80MF" 2684 PRINT613,2"6 az 9"íl2,ll *ereni"614,ll"odporu" 2686 PRINT613,21"10h«3 MG"614,29"-"} 2688 PRINT618,2" 11 *617, 1 l"*ereni "619,11'teploty" 2698 PR INT4 18, 2 1 *0 100s t C 2692 PRINT422, 2' 12 "622, 13"zea'622,23CHR* (15) 00000" 2698 RETURN 2708 REM************************ 2702 REM TEXT REM************************ 50 mikroelektronika 2706 PRINT"Pri šeeni dan veliiny je nut-" 2708 PRINT"ne zvolit rozsah dle tabulky" 2710 PRIT"a ídit se instrukce*! 2712 PRINT"Kdyz presto nedojde k aerenipo-" 2714 PRINT"citac nereaguje na stisk tlait-" 2716 PRINT*ka, je chyba v pipevnni sou-" 2718 PRINT"castky nebo je souástka vadna" 2728 PRINT"Pri aerem velkých hodnot soucas' 2722 PRINT"tek je pri nevhodnea rozsahu do-" 2724 PRINT"ba aereni delsiznente rozsah 2750 RETURN 2800 REM************************ 2802 REM LINK vodorovné 2804 REM************************ 2808 F0RI =2TO30 S PR I NT6M, I CHR* C 1 5) " 0" s NEXT 281 RETURN 2820 REM************************ 2822 REM LINK svisle REM************************ 2828 F0RI=3T05sPRINT6I,SCHRÍ<15) "T " s NEXT 283 RETURN 2850 REM************************ 2852 REM LINK svisle REM************************ 2858 F0Rl=7T023spRINT6I,SCHR4(15>"T"íNEXT 2868 RETURN 2988 REM************************ 2902 REM STRNK 2904 REM************************ 2906 R*26 s G8SUB300 s G0SUB2 100 : GQSUB200 : RETURN 3080 REM************************ 3002 REM P0DTRH 3804 REM************************ 3018 FORI»OTO30sPRINT4R,ICHR*C15) "Q" :NEXTTRCTURN 4088 REM»»********»»** ********* 4082 REM TISK VYSLEKU-OUPOR 1 < 4004 REM*********************** 4004 PRINT622, "R='622,ll*oh«u"j 4008 RETURN 4108 REM*********************** 4102 REM TISK VÝSLEDKU -ODPOR REM*********************** 4104 PRINT622,0"RS "622, 11'aegaohau' 4108 RETURN 4208 REM*********************** 4202 REM TISK VYSLEDKU-KPCIT RÉM*********************** 4206 PRINT422,0"C="622,ll'pikofarad" RETURN 4300 REM*********************** 4302 REM TISK VYSLE0KU-KPCIT REM«»»»»*»»»»*»»»**»»»»» 4306 PRINT622,0'C=»'622,ll*«ikrofarad* RETURN 500# REM************»»»»»*»*» 5002 REM HEREN 5004 REH»»*»«* *»»»»»»»»»»*-* 5005 REM HEREN 5006 FORI»0TO Q(I>« NEXTI 5012 FDRI-0TO O CD-UORDCHEX (40001,1) 5016 NEXTI 5050 O*# 5055 FORI>1TO Q=Q+Q Cl) 5062 REM PRINTQjOCI) 5065 NEXTI 5070 Q=»FNZ <0, 1) / RETURN 6000 REM*********************** 6005 REM ROZSH 6010 REM*********************** 6015 F0RI-0T IFO Cl) «< 1000THEN IFOCI)«>6S100THEN NEXTI 6056 RETURN 6108 REM*********************** 6105 REM Haly rozsah 4110 REH*»***»*****»»«********» SUB IFV6-"1'THEH1418 *118 IFV*-'2'THEN1526, 4200 REM*********************** 6205 REM Války rozsah 6210 REH***»»*»*******»***»»*** OSUB2S IFV8-"1'THEM IFV*-'2"THEN REM*********************** 7002 REM Kalibrace teploty 7004 REM*********************** OSUB R«=HEX CFFFF) ~Q 7024 PRINT414,0"R*'R 614,13"Prevod 0=' RETURN 7100 REM*********************** 7102 REM Kalibrace R 6 C 7104 R*=14 * GOSUB PRINT"Kal ibrace aereni R 6 C 7108 PRI NT"Zvol i*e rozsah 6" 7110 PRI NT" Zkratuje** svorky R" 7112 PRINT~Stiskne*e tlaítko a ti* je ka- librace skonena 7114 R»2538OSUB3000 t GOSUB BOSUBS Rl-HEX CFFFF) R9»Rl/199537t2tR9«FNZCR9,3) 7134 PRINT627,0"Odpor pevodníku ÍT**R9'kilooha'» imit C25) 7138 RETURN 8002 REM PP8M TEPLOT 8010 ROS*'Rozsah 0 az 14 stc' 8012 T* *L06CR1> G0T011B6 802# ROS* "Rozsah 14 az 30 stc" B022 T *L0GCR1> 8024 BOTO1184

51 " M3Í RQ*=" Rozsah 30 az 40 stc" 8032 ^ *106 <R1> 8034 G0T RO*="Rozsah 40 az 50 stc" 8042 T= *LOG(R1> 8044 G0TO RO**'Rozsah 50 az 70 stc" 8052 T= «L0G<R1> 8054 G0T ROS«"Rozsah 70 az 100 stc" 8042 T= »LOG<R1) 8064 G0T END REM*********************** REH NHRNÍ PROGRMU REM************* ********** PRIMT624,9~Prosi«, zapni IFIMKEY«=*"THEH49998 aagnetof on~626,0~a stiskni nejake tlacitko PRINT628,0~Nahrava«!" CLtHEX (6000) PRINT624,0"ProsiM, vypni Magnetofon a po PRINTH26, 0"kracuj volbou z senu GOSUB2000 * CLS trun180 ~&28,9SPC (10) 4000 F3 PT E 30 KUT 30 «4003 D3 77 OUT 77 w 4007, 3E FF MUT FF P3 74 OUT 74 t 400<» OUT 74 t MOU,C 4*0C OUT 79 y 400E TN 79 y J?7 OP F Ví JM itoe 4014 rr 7F f:p \?r f* i <? <B MOU *, 401 r TM 4 401E 67 MOU M, 401F FB ET 4020 C9 RET 4 ory i>9> LXI H 0Í< RFT Výpis podprogramu Mení asové prodlevy s 8253" Hodnoty R a C n v programu jsou postupn upraveny Nejpracnjší a a- sov nejnáronjší je kalibrace termistoru Problém je i v tom, že se jeho vlastnosti mohou asem zmnit Pokud je k dispozici ultratermostat, který umožuje udržet cejchovanou teplotu dostaten diouhou dobu, je výsledek kalibrace velmi dobrý Je teba dbát i na stejnou hloubku ponoru snímae a teplomru Náhradou za ultratermostat mže být nádrž s možností vytápní o objemu asi 51, do které vložíme menší nádobu se snímai Rychlost ohevu nebo chladnutí musí být dostaten malá Pesnost meni Pesnost mení je závislá, jak již bylo uvedeno, na velikosti pevodu Z tohoto dvodu je ošetena programov volba rozsahu Informativn platí, že asové prodlev 1 ms odpovídá pevod 2048 jednotek (relativní chyba asi 0,05 %) V praxi, pi mení odporu v porovnání s namenými hodnotami íslicovým multímetrem RFT G , to pedstavuje chybu menší než 1 % Pi mení kapacit a odpor se porovnávaly výsledky mení s pístrojem RLC10 Byly zjištny rozdíly až 10 % Jiné midlo není momentáln k dispozici Pi mení teploty závisí chyba na kvalit kalibrace a pesnosti aproximace Nemusí pekroit 0,1 C Lze využít malé tepelné kapacity perlikového termistoru (malá setrvanost) ke sledování rzných fyzikálních dj, nap fázových pemn tuhnoucích vosk apod Závr zatozuji všechna perušení inicializuji íta, Qf - idii slovo do stádae a odtud do ítae slabika ffh obsahu ítae do stádae napínání nižšího bajtu * vyššího bajtu ítae íf! adresa iniciál i zovanáho MHO z regc do stádae nahozeni MKQ 1 je MH3 1 ješt nahozen? Jestliže ano, tu log / m D7 a vrací se opt na tení 07, dokud nepetu log 1 pokud se neítalo znovu, tak budu íst obsah ítae jinak jdu na nulování ragpáru H,L tení nižšího bajtu Qí ukládáni ho do registru L tení vyššího bajtu q ukládán ho do registru H povoluji perušení a vrací se z podprogram do BSICu nuluji obsah reg páru H,l, protože naítaná hodnota je chybná a vracím se do BSICu Micí pípravek byl postaven jako doplnk digitizéru 2 pro další využití jeho pevodníku DIGI2 Náklady na jeho stavbu jsou asi 250 Ks Materiálové náklady na DIGI2 jsou asi 700 Ks Jednoduchá konstrukce a dobrá reprodukovatelnost výroby umožují i amatérskou stavbu Podmínkou použití je poíta IQ 151 se standardním vybavením Pípravek má jednu polohu pepínae neobsazenu, takže je možné pipojit ješt další sníma odporového nebo kapacitního typu Literatura [1] Podroužek, : Digitizér 2 Varnsdorf, SPŠ ] Termistory Roenka sdlovací techniky Praha, SNTL 1965 [3 ] Podroužek, : Jednoduchý digitizér matérské rádio 8, 9/87 [4] Mikroprocesor 8080 a základní obvody CSVTS 1982 Konstrukce, stavba a oživeni pevodníku DIGI2 pro IQ 151 Konstrukce pevodníku Konstrukce pevodníku DIGI2 je odvozena od pedchozího typu pevodníku ureného pro jednoduchý digitizér {3] DIGI2 je sluitelný s mechanikou tohoto zaízení Jeho vlastnosti jsou lepší v porovnání s pedchozím typem v dosažené reprodukovatelnosti a rozlišovací schopnosti Ve spojení s vylepšenou mechanikou vznikl Digitizér 2, jehož popis však není pedmtem tohoto píspvku Dále budou popsány pouze podstatné zmny, nebo popis pedchozího pevodníku byl uveejnn (8253) loi (viz též obr 2), který obsahuje ti nezávisle pracujicí sestupné ítae K nmu pibyl adresový dekodér 105, který vytváí signál S pro výbr ítae dresa je 74 až 77H Dva použité ítae O a 2 pracují nezávisle v módu O, s perušením na konci ítání Výstup OUT ítae je po volb módu na úrovni L Po vložení nové pedvolby OUT zstává ve stejné úrovni a íta zahájí ítání po píchodu H na vstup GTE Po doítání na nulu pejde OUT na úrove H a zstane na ní, dokud registr ítae není opt pedvolen Výbr ítae se provádí adresovými bity I a O (pedvolba ítae O L, L: Cl L, H: C2 H, L) Pro zápis ídicího slova (CW) jsou tyto bity H, H Tvar slova CW zapisovaného do registru CWR je následující: bit D7 06 D DO Místo programového ítae byl pou- programovatelný íta KR580V153 žit význam voíba ítae tení/zápis volba módu ítání binární dekadické V našem pípad pro mód 0, binární ítání a zápis/tení v poadí nižší bajt vyšší bajt, jsou tvary ídicích slov pro íta CO 30H, Cl 70H a C2 B0H Obsluha ítae je patrná i z výpisu programu ve strojovém kódu dresa pro zápis CW je 77H a pro tení/zápis (IN/OUT) ítae CO je 74H Na vstup CLK jednotlivých íta je piveden hodinový kmitoet 2048 khz Spouštcí impuls pro GTE je u ítae CO získán z výstupu 3 104, zapojeného jako monostabilní klopný obvod (MKO) Jeho vstup 2 je v klidové úrovni H, což zajišuje 1010b a rezistor R5 MKO je nastaven bitem DO programové pes 102, který musí být aktivován signálem Š, vytváeným adresovým dekodérem 106, je-li adresován 78 až 7BH Smr toku dat obousmrného oddélovae datové sbdmice je ízen signálem DC, který je vytvoen dvma hradlyj08c, d, ve funkci logického souinu HIOR Pi tení dat je DC = L Druhý bit datové sbrnice Dl je uren též pro hlášení peteení ítae, které je signalizováno úrovní H výstupu OUT 0 v prbhu ítání Tetí bit D2 je zde ve významu ukonení asové prodlevy, hlášení z výstupu MKO o úrovni L je dáno pes logický souet 1010a a 107a Umožuje další pokraování programu bez zbyteného ekání V pípad, že pevodník bude využit pouze k micímu pípravku, lze vypustit 103, obvod pro ošetení mikrospínae a logický souet 101 Oa, c a Í07a lze nahradit sledovaem ze dvou invertor Velikost pevodu DIGI2 je asi 29x vtší než pedchozího pevodníku Proto došlo i ke zmenšení kapacity asovacího kondenzátoru MKO Relativní chyba pevodu je asi 0,05% Velikost pevodu je úmrná rozdílu hodnoty pedvolby ítae (FFFFH = a obsahu ítae po doítání Stavba pevodníku Protože se v amatérských podmínkách pedpokládá jednorázová kusová výroba a výroba oboustranných desek plošných spoj je obtížná, bylo použito mikroelektronika 51

52 1' technologie ovíjených spoj drátem se samopájitelnou izolaci o prmru 0,1 mm Po rozmístni souástek na desku (mže být užito univerzální desky, umožni lepši upevnní souástek) z libovolného izolaního materiálu nepodléhajícího tepelné degradaci o rozmrech 135x92 mm se souástky propojí pímo podle schématu Ideální k tomu úelu je stavebnice Univerzál, kterou vyrábí ZP Nový Bor a do škol dodává n p Komenium Souástí této stavebnice je ovíjítko Pájecí body tvoi zpravidla vývody lo nebo jejich patic Ovíjftkem vytvoíme v pájecím bod dva až ti závity, drát utahujeme a pokraujeme k dalšímu spojovanému bodu, kde po ovinutí drát perušíme pomocným nástrojem, který slouží i pro vedeni drátu (držíme jej v levé ruce) Pájeni je teba provádt ist s minimáln nutným množstvím pájky a pimeným množstvím tavidla Spoje vedeme pímo, peliv a pozorn, nesmí dojit k nekontrolovatelnému poškozeni izolace teplem pájecího hrotu Spojení pevodníku s mechanikou nebo micím pípravkem je provedeno ohebným plochým vodiem 8x0,3 nebo 8x0,5, který je veden v drážce 11x2,8 mm na spojovací desce a na druhé stran je zakonen konektorem WK se 12-ti vývody Oživováni pevodníku Ped oživováním se vyplatí pelivá kontrola všech spoj Je to obtížné, ale vyplatí se to Teprve potom pipojíme desku ke zdroji Vzorek byt oživován laboratorním zdrojem BS525 Kontrolujeme zejména naptí stabilizátoru, které má být asi 5 V Odbr pevodníku by ml být okolo 250 m (U,*) by nevznikly úbytky naptí v napájení IO, je teba tyto spoje náležit zesílit (nkolik prez nebo použít tlustší vodi) Do vypnutého poítae zasuneme výnos, do nho pevodník (nezakrytovaný), zapneme poíta a monitor a sledujeme jeho obrazovku Pokud se objeví za pítomnosti modul BSIC 6 a VIDE032 známé Basic r&ady, je vše zatím v poádku Pokud se objeví smsice znak po celé obrazovce, poíta vypneme a odstraníme zkrat na adresové sbrnici Pokraujeme nahráním programu Ten se skládá ze tí ástí a jeho nevýhodou je, že je píliš dlouhý V této fázi potebujeme pouze ást z pílohy 2 a k tomu pidáme v BSICu podprogram Mení u ádek 5000 Na ádku 5062 zrušíme REM a na ádek 5080 vložíme místo RETURN nap WIT (50): GO TO 5000 Je úelné si i tento krátký program spolu s programem ve strojovém kódu od adresy 4000 nahrát Zajistíme se tak proti jeho ztrát pi zacyklení poítae Pokud se po odstartování programu objevuji na obrazovce snímané pevody (je pochopiteln nutné mít pipojenu mechaniku nebo micí pípravek pozor na špatn pipojený nebo otoený konektor WK), je vše v poádku V pípad, že pevodník pracuje špatn, kontrolujeme jednotlivé signály, poínaje CS pro 101 a 102, spouštcí impuls pro MKO nebo GTE ítae, stav OUT ítae apod Ke kontrole staí školní logická sonda BK 121 Po oživení zabudujeme desku do modulové krabiky, kterou opatíme 52 mikroelektronika Výpis strojového kódu spojovacího programu 6000 C C C C DB CCaCdbC c T B 'L F F* F6 06 D GC <r v S x 6020 C9 0E 01 CO F FF I M y ORi' ef 83 5F C9 CD C,D C o _IM! 'am! 'il! F8 5F 2E 4C 3E CO F3 4F CD 09 "x_l> S M 'sgm ' F2 4E 60 CO F CO > r N ' M ')z"m ') E 00 CD D C CO E5 CO >U M!'-BC'M4'eM D5 CD Ol 79 8B C2 27 F2 83 5F D5 EB 4'UM!'QyjB'r _Uk F8 5F 19 Dl Cl C5 CO Cl *x_ QEM! 'qi xl 6090 C ES CD D5 EB 2 F8 5F Cl 79 8 'e«4'uk*x_ Qy 600 D C2 92 F7 70 C C2 92 F7 CO CD B wx,b wm4'um! 60B0 Dl 79 BB C2 92 F7 Cl FB E9 O'? F 5F EB CO F5 61 GyB wc i"z_kmua 60C FC 5F FE 5F 3E OF E í~ 1 _ ' _S > S 60D6 86 1E 06 0E 06 CD ID C2 D5 60 1L FC 0E 04 BU V 1 60E0 CD E 4C CO rc 5F CO 3B 61 E5 2 M a LM'a*l_Mae# 60F6 F 5F CD CD F 5F 4E 23 CO 27 z_hjokm, a*z-n0h E3 28 7C 85 E3 C2 FC 60 2 F 5F FC ac+ 1 5cB 1 '*z_dh* F 09 CD FE 5F CO 3B CO Cl j Mjfa«**_«aKM»o E 9F C3 2 F F CD 93 F5 79 > S C"u C _M uy F F6 06 D C2 2C 61 C9 4C CO Ov S B,aILM»aM 6140 C E C 00 2 CE CE C*a> 2 *N "Na! D 60 CD 67 F EB 21 8 ' 8' *='Mgr*Tbk!< CO F F 62 c *'M9'i b eb b 6170 CO E 45 CD 5 F F D M9 ' >EM/u!9 ' b * CD B9 60 3E 06 CD 5 F EB 'H9 ' > MXu*í> k* CD 88 CE C C 85 C D 'M8NP9 '**0 1 5J CO CD FC 61 a! 6 XQ ='M9'Mta Ol E8 61 CD EB Q ham9'*p k 61C0 2 CE D 61 CD E C *N PaM9 ' > S Ij 61 D6 3E 8 D3 87 3E CE 00 CO > S > 2 *8 "N H 61E0 FC 61 CD 7C CO C3 D CF 2 CE 61 EB CD!aHlHCZO*Nak*B M 61F6 F5 61 C F 7C 9 67 C9 2 CE uacg'l o I gi*n T E C F BE 23 C **Í6J b*«/>*b b 6216 EB EB C3 FF 61 EB C9 CD kswrkc0ak0í"p IH CE C CD 47 F6 1F 3E +b*n "8 C='MGv > F EB E FE 40 C 56 2 *Tbk! <c>míjy CD 47 F6 18 CD 98 F4 D2 3B 62 3E 1E b2 MGv M trb> C9 O CD 47 F C IZftFÍMGv BY C FF 60 FF 00 FF 00 FF 00 FF 00 FF 00 bcb0 1 štítkem DIGI2 orientovaným stejn jako na ostatních modulech IO 151 (nesmí dojít k opanému zasunutí do poítae) Nyní je možné vložit do poítae celý program Spojovací ást programu (viz výpis) slouží pro jeho nahrávání Obsahuje hlaviku programu a teplý start BSICu Program lze celý nahrát stiskem 5 programového ME- NU Do poítae se pak vkládá známým postupem pro nahrávání v monitoru Pevodník DIGI2 je souástí stále se rozšiující stavebnice Ve spojení Integrované obvody IO 1 KR 580 VI 53 (8253) 10 2 MH 3216 IO 34 E 555 (NE 555) 10 5,6 MH MH , 10 MH M 723 flbristory TR 151 (161) R1, 2 39 kil R3, R5, R7, 8, 9 3,9 ko R10 12 O R11 1,8 kq R12 6,8 ka 4 Souástky použité pro stavbu s vylepšenou mechanikou vznikne Digitizér 2 Jeho programové vybavení je dnes již dost rozsáhlé a rovnž se neustále rozšiuje, takže se nevyplatí program run vkládat z výpisu, ale nahrát jej pímo na kazetu nebo disketu To platí i pro micí pípravek Dokumentace a programové vybavení je k dispozici na SPŠ ve Varnsdorfu, kde vám rádi pomohou radou i skutkem, ovšem pochopiteln v rámci konených asových možností R13 1,2 kil Pí, 2 0,1 Míl/N TP 280 Kondensátory Cl TE if/15 V C2 TK nf C3 TK pf 04, 5 TC nf (MPT Pr 96, TGL Ostatní souástky pevodníku Objímka DiL 14 Objímka DÍL 16 Objímka DIL 24 Konektor FRB TY Konektor WK Konektor WK ks 2 ks 1 ks 1 ks 1 ks 1 ks

53 tng Jaroslav švehla, VoronéžsW nám 2, 62$ 00 Brno K uchování vtšího množství dat rzného charakteru byl vytvoen relaní interaktivní databázový systém BIOS pro mikropoítae ady MZ-700 a MZ-800 <v módu MZ-700) Tento systém umožuje interaktivní formou definovat, modifikovat a zpracovávat data dvou typ v tabulkové form Databáze je organizována ve form tabulek pojmenovaných vlastním jménem ádky tabulky pedstavují jednotlivé záznamy databáze, kde každý záznam má volitelný poet položek (sloupc) libovolného jména a formátu Pfklmt Jméno databáze: LIDÉ mu JMÉNO PÍJMENÍ TELEFON VK Jana Krátká Ivoš Pech Oto Mann Píklad ukazuje organizaci databáze UDÉ, která obsahuje ti nezávislé záznamy o tyech položkách (JMÉNO, PÍJMENÍ, TELEFON, VK) FORMÁT DT Databáze rozlišuje dva formáty dat: formát 1 numerická data (reál nebo integer), formát 2 textová data (etzce libovolných znak vetn eské abecedy) Obsah položky je nulový, jestliže = 0 (formát 1) anebo = (formát 2) UKZTEL ZÁZNMU Ve struktue databáze je obsažen ukazatel, který ukazuje na jeden ze záznam databáze Tento záznam se nazývá bžný záznam" a je to záznam, se kterým se momentáln pracuje a na kterém (resp od kterého) se budou provádt píkazy Obsah tohoto ukazatele se mní bu v souladu s výsledkem uritého píkazu anebo jej mže uživatel zmnit pímo VÝBR ZÁZNM Databáze umožuje výbr libovolné podmnožiny záznam (píkazy O,, H viz PÍKZY"), podle zvolených kritérií, nad kterými se budou provádt píkazy D, P, X (viz PÍKZY") Tyto vybrané záznamy se nazývají aktivní záznamy" IMPLEMENTCE Uvedený interaktivní databázový systém byl realizován na poítai SHRP MZ-821 (v modu MZ-700) ve dvou modifikacích: a) v jazyku S-BSIC (MZ-1Z013) interpret: b) ve strojovém kódu, jako produkt kompilátoru S-BSIC COMP Pro lepší názornost uvádím modifikaci v S-BSICu Uživatel má možnost po nahrazení konstrukcí IF ERROR GOTO a RÉSUMÉ za BREK ON a BREK OFF a jiným postupem definice eské abecedy (viz 12 13) uvedenou verzi zkompilovat STRUKTUR DT Vzhledem k tomu, že program byl vytváen pro základní konfigurací mikropoítae, bez vnjších periferii pouze s magnetofonem, byla jediná struktura, dostupná pro uchování dat v pamti, pole Tato skutenost zpsobuje výrazné degradování databáze v oblasti její variability a rozsahu Pro fyzické uchování dat bylo využito dvou potí, které uchovávají jak informace o struktue databáze, tak vlastní data, která tvoí její obsah Pole DFfi(N) Pole obsahuje informace o jménech databáze a všech položek, kterých mže být libovolný poet X Dále obsahuje obsahy všech položek formátu 2, pro všechny záznamy v takovém poadí, v jakém jsou v databázi uvedeny (tj zleva doprava a shora dol viz píklad) B Pole TF(N) STRUKTUR PROGRMU I když jazyk BSIC není optimální pro strukturované programování, pi tvorb programu bylo pihlíženo k tomu, aby program byl co nejitelnjší a nejsrozumitelnjší Proto je celý program dlen do programových celk, které zaínají na ádcích XXOOO a koní na ádcích XX990 Tyto programové celky mají charakter podprogram, které vykonávají píslušné akce daného píkazu a jsou volány rozskokovou tabulkou na zaátku programu X X-t-1 X+2 N jméno databáze jméno 1 položky jméno 2 položky jméno X položky data data data Od ísla ádku jsou uloženy nkteré podprogramy spolené pro innost programu (definice obrazovky, ošetení chyb, definice eské abecedy, servisní modul apod) innost programu a umístní píslušných podprogram jsou zejmé z grafických schémat X+2 X+3 N potet záznam poet položek v 1 záznamu potet položek formátu 2 formát lpol formát 2 pol Pole obsahuje informace o struktue databáze (velikost a formáty) a obsahy všech položek formátu 1 Píklad uložení databáze v polích: Uložení: JMÉNO Jana Ivoš PÍJMENÍ TELEFON Krátká Pech DP$ Uf»É JMÉ- NO PUiieyj TELE- Jana Krátká Ivoš Pech FON TF Dimenze obou polí má uživatel možnost upravovat na ádku 20 podle toho, jaký charakter budou mít ukládaná data Musí mít ovšem stále na pamti, že: pro DF$(n) n>x pro TF (n) n>x+2 Jestliže tedy bude mít položky pouze formátu 1, potom mže pole DF$ zkrátit na úkor pole TF a naopak POZOR, pi použití píkazu Z je teba mít na zeteli, jakou strukturu bude mít databáze zavádná z 4 magnetofonu formát X pol data data OBSLUH PROGRMU R1DS Program pracuje v interaktivním režimu a tudíž i nezauený uživatel je schopen ho ovládat Obrazovka je rozdlena do dvou ástí: horní ást informaní, dolní ást konverzaní V informaní ásti jsou vypisovány výsledky provádných píkaz a systémová hlášení V konverzaní ásti probíhá veškerá konverzace mezi systémem a uživatelem Po zavedení S-BSJCu a zdrojového programu RIDS do pamti a po jeho spuštní se objeví na obrazovce úvodní hlášení, ve kterém je uživatel tázán, zda si peje definovat eskou abecedu Jestliže ano, pak z CMT bude naten a proveden soubor ve strojovém kódu mlkroelelctronilca 53

54 1] ' ESKY PCG Jestliže ne, pak tento soubor nenf potebný k innosti databáze Po stisknutí píkazu? je uživatel informován o všech jemu dostupných píkazech Poznámka: Prvním píkazem musí být vždy G nebo Z (viz dále), jinak systém reaguje chybovým hlášením Po píkazu G nebo Z se doporuuje specifikovat formát tisku píkazem Y, protože implicitní nastaveni tisku je omezeno pouze na tisk 1 položky bez uvedení jmen píkazy V konverzaní ástí obrazovky systém indikuje píznakem stav, kdy oekává jednopísmenový kód píkazu Z tisu úvodní / obrazovky/ ^jžti^píkaz*^^ 0 [300] [ / tisk všech / f pika2ú " * [ ] ] [ w /tisk potí / j)0fs,tf, IP j [ [ [190) ] ( ) [ ] ] ' tisk jména,/ DB, potu potu pot bžný zázr J potu aktivnch záznamu /tisk jmen / W ísel c L / formátu / / položek / [ ) [ ] [ ] [ ) ] [ ] l [ ] [ ] [ ] pesun u_ko - zatele vped /bžn zózny /ti položku/ /a její obsah/ JET vyhledej záznam / tisk naleze-/ /né položky/ 7 *7 o kolik / pesun ukazatele vzad /tisk nového / / bžn zázn / /t 7 ýnovy obsah / [ ] [ ] [ ( L ] [ fb ti 7 / položku /*" xi /tišit* 7 / položky / ulož nový obsah prove píkaz ' ' / cti 7 /novy obsah # /ItT 7 / kolik / ulož nový obsah 54 mikroelektronika zruš záznamy / tisk nového 7 bežn zazn / 7 y novy zazn [ TlT utp/ ho ped bezny a ucsn 0

55 r Pro nékteré píkazy víz Implementaní omezení Píkazy pro databázi? dostupné píkazy Vypíše všechny dostupné píkazy a jejich význam G vytvoení struktury databáze Definuje se jméno databáze (tabulky), poet položek záznamu (=poet sloupc tabulky), jména položek a formáty dat obsažených v položkách Strukturu databáze lze pozdéji prostednictvím jiných píkaz modifikovat K zrušení databáze Zruší nejenom obsah databáze, ale i její strukturu Z zavedení databáze Zavede díve vytvoenou databázi <Qb -V J cti nový / 7 záznam / z CMT do paméti (obdoba Load) Je-li soubor s databází chránén heslem, pak uživatel musf toto heslo specifikovat U uloženi databáze Stávající databáze se uloží na CMT (obdoba Savé) Existuje možnost chránit ukládanou databázi heslem R stav databáze Rozepíše stávající strukturu databáze (jméno, poet záznam, poet položek, ) béžný záznam a poet aktivních záznam) Q konec innosti Ukoni innost RIDS, používá se po pedchozím použití píkazu U B Píkazy pro záznamy ulož 08 bez hesla tisk poštu z, soutu, prúm J st odchyl / / > 7 zázn na ko- pipoj nový nec D8 a u6, ho bžným # -T i i rozepiš záznamy ^ 1 ti položku / 4 / a nové N / / jméno / prove pejmenování ulož OB pod heslem / definuj fstrukturu databáze vytvo novou databázi feti pot její /obsah a poch prove pikaž R' I tisk 'chybového hlášení KONEC /ti pedch j Tpol jméno a/ /form nové p / vytvo novou pol a naptá ji nulovou hodn 1 r«7 j rušenou # í položku / ZXL, zruš položku ve všech záznamech zave 08 do pamti J I / I pevod všech Izázn do množ prove píkaz "R" /ti pot, její, 7obsah a podj /minky výbn/ prove píkaz ~R' ti druh / tisku a ktefré položky tisk / F chybového hlášení fiv ^lo» y heslo ^ souhlasí I vložení záznamu Vsune nový záznam ped bžný a nový záznam uiní béžným B pidání záznamu Pidá nový záznam na konec databáze a uiní ho béžným Do zrušení záznam Zruší n záznam poínaje bžným (vetn) a béžným uiní následující nezrušený záznam Je-li poet rušených záznam vtší než poet záznam od bžného do konce databáze, pak se zruší pouze záznamy od bžného do konce databáze a béžným se stává záznam ped prvním zrušeným POZOR, ruší se pouze aktivní záznamy! +n pesun ukazatele bžného záznamu dopedu Uiní béžným ten záznam, který má poadové íslo o n vtší, než stávající béžný záznam Dosáhne-li se konce databáze, stává se béžným poslední záznam -n pesun ukazatele bžného záznamu dozadu Uiní bžným ten záznam, který má poadové íslo o n menši, než stávající béžný záznam Dosáhne-li se zaátku databáze, stává se béžným první *(4)záznam v -'Pn výpis záznam Funguje stejné jako pikaž D s tím rozdílem, že neruší záznamy, ale vypisuje je na obrazovku ve formátu zvoleném píkazem Y Tisk se pozastavuje po každém stisknutí mezernfku, dalším stiskem mezemfku lze pokraovat Zrušeni tisku se provede klávesou Q H inicializace množiny aktivních záznam Pevádí všechny záznamy do množiny aktivních záznam operace ND V množin aktivních záznam ponechá pouze ty záznamy, jež splují zadanou podmínku O operace OR Do množiny aktivních záznam pidá ty neaktivní, které splují zadanou podmínku Y selekce tisku Specifikuje formát tisku PO- ZOR, pi tisku do ádku lze tisknout pouze 3 položky (vzhledem k omezené šíce obrazov- mikroelektronika 55

56 7 GOTO GOTO GOTO GOTO GOTO " ) ' ky) v libovolném poadí, a to s maximální délkou etzce 10 znalc (delší etzec je zprava zkrácen formát 2) C Píkazy pro položky C položky databáze afoímátrt P l0íkách < elsla - i mé M pidání položky Pidá novou položku do struktury data- ' 0bsah této P,ožky je v každém, záznamu nulový (viz Formát dat) zmna jména n i- méno J specifikované Je-li položky íslo specifikované položky pak = zrnni Y 0 jméno databáze F zrušení položky Zruší libovolnou položku databáze L nalezení položky Nalezne první záznam s položkou ieiíž mem e C íl u i e uživatel - Bžným záinanaleze"ý záznam anebo 2ííáM tóíi nena i de,í se >* hledání fo u Za záznamem, pokrauje do konce databáze a dále pokrauje znamu átku databáze do báného zá S vyhledání a zmna Provádí zmnou totéž co píkaz L, s následnou nas,eanou obsahu položky E zobrazení položky Vypíše obsah libovolné položky bžného záznamu, v zobrazení a zmna Provádí totéž co píkaz E, s následnou zmnou obsahu položky X statistika P ve e IP íl statistických údaj na základ obsahu položky POZOR vyislovaná položka musí být formátu V Vypotené údaje jsou: poet záznam (aktivních): souet prmr standardní odchylka POZOR, vyísluje pouze aktivní záznamy! CHYBOVÁ HLÁŠENÍ *** CHYBNÝ VSTUP! *** Indikuje chybu pi operaci INPUT: formát 2 místo formátu 1: POZOR ne naopak! chybné íslo položky položka formátu 2 u píkazu X nenumerická specifikace položky nebo formátu formát položky = 1 nebo 2 *** PRÁZDN DTBÁZE I *** Pokus o provedení píkazu nad databázi s nulovým potem záznam DTBÁZE nevytvoena i *** Neproveden prvotní píkaz G nebo Z r* PC,T PEKROEN! *** Další záznam do databáze není možný z dvod pekroení kapacity pamti Použito u píkaz I, B, M *** ZRUŠTE DTBÁZI! *** U píkazu F, když uživatel ruší poslední položku databáze IMPLEMENTNÍ OMEZENÍ 56 mikroelektronika a) Pi zadávání parametr pro píkažy se položka vždy specifikuje svým íslem a ne jménem (lze zjistit píkazem C)» b) formát položky se vždy specifikuie svým íslem: 1 2 numerická data textová data c) nepoužívejte SHIFT + BREK, došlo by ke zhroucení systému ESKÁ BECED RIDS umožuje používat velká i malá písmena a také háky a árky pomocí klávesy GRPH Napíklad, napsání slova provede touto posloupností UENÍ se RPH Í?f? za P'ná háky a árky a LPH vypíná háky y a árky Protože písmena E a U mohou mít až ti varianty, je jejich piazení toto: El =Igraph] + H3 (ú] = (6aphU [p[ tjh = Igraph] +jw 0 = ÍGRPHl +[u] C v^p«s programu RIDS 10 REM *** RIDS m 11 CLS: CURSOR 16,6: PRINT "R I D S"-CURS0 R 14, : PRINT "JSSt " 12 CURSOR 1,12: IWUT "DEFINOVT ESKOU BECEDU? (/N) > " í0px :0Px=LEFTx(0Px^i) 13 IF 0Px= " THEN PRINT: PRINT "JE NUTNÝ SOUBOR N CMT: >ESKY PCG<!":CURS0R 15 ^PRINTCHRxíxTF),- PLV": LIMIT xfoo LOD ESKY PCG" USRxFOOO) : LIMIT MX PO KE x6bcf,x3b,xl 14 ON ERROR GOTO COLOR,,7,0 20 DF=560 : NTF=500 NZD= DIM DFx(DF),TF(NTF), IP(N2D),TS(6) 30 CLS:OK=-1:Z=0 35 GOSUB GOSUB 35O00 53 MUSIC "05" 55 PRINT " 60 GET 0Px : IF 0Px=" THEN PRINT OPx 65 IF 0Px=«W" THEN GOSUB 3408 GOSUB GOTO IF 0Px="Q" THEN CONSOLE - CLS END 80 IF 0Px=?" THEN GOSUB 1 80: GOTO 5 90IF (0Px<>"G")*(0Px<>"Z")*(0K=-1) THEN GOSUB 34000: CURSOR 5,5: PRINT "Ht DTB ZE NEVYTVOEN < **+" : 50 «* QP*= R" THEN H GOSUB 2OO0:GOTO IF QPx="C* THEN GOSUB 3000= GOTO IF 0Px= +" THEN GOSUB 4060 GOTO 310 0PK= ~" ÍÍL t*n GOSUB 50 0 : GOTO IF 0Px="L" THEN GOSUB 6000: GOTO IF 0Px="S" THEN GOSUB 7000 : * S E ^ GOSUB 8000: GOTO IF 0Px="V" THEN COSI 9000= GOTO IF 0Px= D" THEN GOSUB 10O00:GOTO 31 2O0 IF 0Px=" I THEN GOSUB GOTO IF 0Px=*B" THEN GOSUB 12006: GOTO IF 0Px="P" THEN GOSUB 13000: GOTO IF 0Px= H T>EN GOSUB 14000: GOTO IF 0Px="N" THEN GOSUB 15 0=GOTO 310 S0 IF 0Px="F" THEN GOSUB 16000: GOTO IF 0Px=»U THEN GOSUB 17000, GOTO IF 0Px="Z" T1EN GOSUB : IF 0Px= G" THEN GOSUB : IF 0Px= H" THEN GOSUB 26600: GOTO IF 0Px= THEN GOSUB : GOTO 31 JF 0Px="0" THEN GOSUB 22080: GOTO IF 0Px=»X«THEN GOSUB GOTO IF QPX="Y" THEN GOSUB 24006: GOTO IF 0Px="K" THEN PRINT: INPUT " POTVR TE! </N) > ",Ixif LEFTx(Ix,1)="a«THEN IF <OPx=»K")#<LEFTxcIx,t)<>i ) Dv JHEN 300 GOSUB :CURS0R 5, SPRINT CSx : C0T U QK=0:G0T REM ***? HB P m 1005 G0SUB PRINT "PIKŽ VYZNÁM" 1020 PRINT * 1040 PRINT "? INFORMCE 0 PRIKZEC 1050 PRINT " R STV DTBZE" JÍSa ^1^ l C POLOŽKY DTBZE" 1070 PRINT +tn3 POSUV UKZTELE VPRE 108 PRINT " -CN3 POSUV UKZTELE VZD PRINT " L NLEZENI ZZNMU" 110 PRINT " S JKO L SE ZMNOU* lilo^print " E ZOBRZENI OBSHU POL 1120 PRINT " V JKO E SE ZMNOU" 1130 PRINT " DCNJ ZRUŠENI ZZNMU" " 1 VLOŽENI ZZNMU PED 1150 PRINT " B PIDNÍ ZZNMU N K UNcC 1160 PRINT * Pt NI ROZEPSNÍ ZZNMU" " "Hnu 1162 CURS0R 2, C0NS0LE 18,6,2, INPUT "DLSI PÍKZY? (/N) >"0px 1166 IF LEFTx(0Px,1)<> " THEN G0SU PRINT "PIKŽ VYZNÁM" 1169 PRINT " PRINT " M PIDNÍ POLOŽKY" 1180 PRINT * N PEJMENOVNÍ POLOŽKY CMT" 1210 CMT" ND 1266 OR ZI" PRINT " F ZRUŠENI POLOŽKY" PRIMT U ULOŽENI DTBZE N PRINT " z ZVEDENI DTBZE Z HHJNT " G VYTVOENI DTBZE" PKÍNT " K ZRUŠENI DTBZE" P* 1 **1 H KTIVIZCE ZZNMU" PRINT " KTIVIZCE - OPERCI PPINT " 0 KTIVIZCE - OPERCI P* 7 l * STTISTIK DT" PR1NT 7 SELEKCE TISKU" PR 7 *» konec PRE S DTB return REM *** R STV DTBZE «** GOSUB PRINT "DTBZE t *,DFX(0) PRINT "ZZNMU : "TF<0) PRINT "POLOŽEK : í TF ( 1 PRINT PRINT "BEZNY ZZNM PRINT " P0C= IF TF(0)= THEN FOR 1=1 TO TF<0> 2090 IF IP(I)=0 THEN P0C=P0C NEXT I 2116 PRINT "KTIVNÍCH ZZNMU : *POC 299 RETURN 3006 REM *** C POLOŽKY #** 3605 GOSUB FOR 1=1 TO TFíl) fí»i 2) íw>fx(i),t8(26jí F^ 3030 NEXT I 3990 RETURN 4O0 REM *** + POSUV VPED *»* 4605 IF TF< )=0 TKEN GOTO INPUT "0 KOLIK >"KCLIK <KOLIK<0, + CKOLIKOINT(KOLIK)) TH EN GOSL 37600: GOTO Z=Z+KOLIK 4036 IF Z>TF(0) T) N Z=TF(0) 4990 K0LIK=1 : REM *** - POSUV VZD m 5605 IF TF(0)=0 THEN GOTO INPUT "0 KOLIK >"K0LIK 5615 IF (KOLIK<0)+(KOLIKOINT(KOLIK) ) TH EN G0SU : GOTO Z=Z-KOLIK 5030 IF Z<1 TTEN Z= GOTO REM *** L VYHLEDNÍ ZZNMU *** 6005 IF TF(0T=0 THEN GOTO INPUT "POLOŽK >"SL

57 NEXT GOTO ) ) ) ) ) ) í F0R i PIDNÍ S ) 6 20 IF <SL>TF<1) )+<SL<l)+<SLOINT(SL) TFEN GOSUB 37000: GOTO 6G IF BS(TF(SL+2) )=1 THEN INPUT "OBS H > PR:GOTO imn OBSH >"PRx 6040 PP=0:KOLIK= IF SL=1 THEN O FOR 1=1 TO SL IF BS(TF( 1+2) )=2 THEN PP=PP NEXT I 6075 POC=PP 6080 IF BS(TF(SL+2) )=1 TFEN PP=PP+TF ( 1 ) +1+Z+TF ( IF TF<6XZ+1 THEN FOR I=Z+1 TO TF<0> 6110 IF DFx(PP)=PRx THEN Z=I : GOTO PP=PP+TF<2) 6130 NEXT I 6140 PP=POC+TF ( 1 ) IF Z<1 TFEN 6190 ils POP T=1 Tft 6160 IF DF*(PP)=PR* THEN 2=I GOTO PP=PP+TF(2) 6180 NEXT I 6190 GOTO PP=2+TF ( 1 ) +Z*<TF ( 1 ) -TF ( 2 ) )+SL-POC 6210 IF TF<0X2+1 THEN FOR I=Z+i TO TF<0) 6220 IF TF<PP)=PR THEN Z=I:GOTO PP=PP+TF<1)-TF<2) 6240 I 6250 PP=2+TF 1 1 +SL-POC ) 6255 IF Z<1 THEN FOR 1=1 TO IF TF(PP)=PR THEN Z=I GOTO PP=PP+TF(1)-TF(2) 6290 FEXT 'I 6990 RETURN 70O0 REM *** S VYHLEDNÍ ZMN *** 7005 IF TF(0>=@ THEN GOTO GOSUB IF KOLIK= THEN CURSOR 2, CONSOLE 186,2, IF BS(TF(SL+2) )=1 THEN INPUT NOVY OBSH >"TF< <Z-i)*<TF<l)-TF<2) )+SL+TF( 1 ) +2-P0C ) GOTO O30 INPUT NOVY OBSH >",DFx< <2-1)»TF ~T2)+P0C+1+TF<1>) 7990 RETURN 8000 REM *** E ZOBRZENI POLOŽKY **+ 8O05 IF TF(0)=0 THEN GOTO INPUT CISLO POLOŽKY >"SL 8015 IF <SL>TF<l)>+<SL<l)+<SLOINT<Sp) THEN GOSUB GOTO P0 = IF SL=1 THEN O FOR 1=1 TO SL IF BS<TFU+2)>=2 THBI P0C=P0C NEXT I 8055 GOSUB 340O IF BS<TF(SL+2))=1 THEN PR1NT "OBS H = TF((Z-l)*{TF(l)-TF<2))+SL+TF<l)+2- POC) :GOTO PRINT OBSH =,DF*( (Z-1)*TF<2>+ POC+TF < 1 ) RETURN 900G REM *** V ZOBRZENI ZNN «* 9005 IF TF(0)=0 THEN GOTO GOSUB 8O GOTO REM *** D RUŠENI ZZNHU *** IF TF ( 0 ) =0 THEN INPUT "KOLIK > KOLIK IF (KOLIK<0>+(KOLIK<>INT(KOLIK)) T HEN GOSUB 37000: GOTO IF KOLIK=0 THEN IF KOLIK>=TF (0)-Z+l THEN KOLIK=TF <0)-Z+l : P0C=<Z-l)*<TF(l)-TF<2))+TF<l) PP=KQLIK* ( TF ( 1 ) TF (2 ) IF PP<1 THEN O FOR 1=1 TO (TF(G)-Z)*(TF(1)-TF(2) ) TF(POC)=TF(POC+PP) P0C=P0C NEXT I POC= ( Z-1 ) +TF ( 2 ) +TF ( 1 ) PP=K0LIK*TF(2) IF PP<1 THEN FOR 1=1 TG <TF<0)-Z)*TF<2> M)Fx<POC)=DFx<POC+PP) P0C=P0C NEXT I IF K0LIK=1 THEN FOR 1=1 TO KOLIK IP( Z+I )=IP(Z+KOLIK+I NEXT I 1015O IF Z+KOLIK>TF(0) TFEN Z=Z TF(0)=TF(0)-KOLIK GOTO REM *** I VLOŽ ZZNM *** IF ( ( <TF (0)+l)*<TF<l)-TF<2) )+TFCl) +2)>NTF)+( ( (TF(0)+1)*TF(2)+TF(1) )>DF) T FEN GOSUB 38000: GOTO IF Z= TfCN Z= POC=TF(0)*(TF(1)-TF(2) )+TF(l) PP=TF(1)-TF(2) IF <TF<0)-Z+1)*<TF<1)-TF<2))<1 TH EN O30 FOR 1=1 TO <TF<0)-Z+1)*<TF<1)-TF< 2 ) TF(POC+PP)=TF<POC) 1105 P0C=P0C NEXT I 1107 P0C=TF< )*TF(2)+TF<1) PP=TF(2) IF TF<2)*(TF(0)-Z*1X1 THEN FOR 1=1 TO TF<2)*<TF<0)-Z+1> DFx<POC+PP)=DFx< POC) 1111 P0C=P0C NEXT I POOPOC+l 1114 PP=(Z-1)*(TF (1)-TF(2) )+TF(l) GOSUB FOR 1=1 TO TF(1) PRINT li- -í IF LEFTx< JSx,l)=*" THEN PRINT DF xu) 1117 IF BS<TF<I+2) )=1 THEN INPUT > TF(PP):PP=PP+1:G0T INPUT M > DFx<POC):POC=POC+l NEXT I IF TF(0)-2<0 TFEN FOR 1=0 TO TF(6) IP(TF(G)-I+1)=IP(TF(0)-I) NEXT I IP(Z)= TF{0)=TF(O) RETURN 120O0 REM *** B PIDEJ ZZNM *** IF <<<TF<0)+1)*(TF<1)-TF<2))+TF<1) +2>>NTF)+<<TF<6)+1)*TF<2)+TF<1)>DF) THE N GOSUB 380OG GOTO PQC=TF<1)+TF<2)*TF10)+1 12O20 PP=TF<l)+TF<0)*<TF(l)-TF<2)) Z=TF(0) GOTO G0 REM *** p TISK ZZNMU *** 130O5 IF TF(0)= THEN GOTO INPUT "KOLIK >"KOLIK IF <K0LIK<0)+<K0LIK<>INT(K0LIK>) T HEN GOSUB 37060: GOTO P2=(Z-1)*TF<2)+TF<1) PP=<Z-1)*<TF<1)-TF<2))+TF<1)+3=P1 = GOSUB IF <LEFTx<OLx,l)= ">*<LEFTx(JSx,l )="" ) THEN PRINT SPC(3) 1=1 TO TS< O ) : PRINT LEFTX<DFX<TS< I ) ),9) TB(I*10+5 )í:n XT IPRINT:PRINT " ":CONSOLE 3,162, FOR I=Z TO TF<0) IF IP(I)=1 THEN P2=P2+TF<2) :PP=PP+ TF <1)-TF<2) :GOTQ IF P1=K0LIK THEN IF LEFTx<OLx,l)= THEN O60 FOR J=1 TO TF<1) IF TF< J+2)=l TFEN PP=PP+1:G0T IF TF< J+2)=2 THEN P2=P2+1:G0T PRINT J " IF LEFTx<JSx,l)="" THBI PRINT DF X<J)i" "i PRINT IF BS(TF( J+2) )=1 THEN PRINT TFÍPP ) : PP=PP+1 : GOTO PRINT "i DFx<P2) :P2=P NEXT J GOTO PRINT SPC<3) i :FOR J=1 TO TS<0) IF TF<TS< J)+2)=-l THEN PRINT TF<PP -TS<J+3)+TS<J)-l) GOTO 13107, PRINT LEFTx < DFx ( P2+TS ( J+3 ) ),9) PRINT TB(J*10+5) ÍCXT J PRINT P2=P2+TF<2):PP=PP+TF<1)-TF<2> Z=Z IF LEFTX(0LX,1X> " THEN PRINT " P1=P GET IX: IF <LEFTx< Ix,l)=" "MKLEFTx <OPx,l)= P") TFEN GOSUB IF LEFTx<Ix,l)="Q" THEN FOR 1=1 TO 500: NEXT I:GOTO NEXT I 1313 IF P1O0 TFEN Z=Z RETURN REM *** POLOŽKY **» INPUT "PEDCHÁZEJÍCÍ POLOŽK >"SL IF (SL<0) + (SLOINT<SL) )+<SL>TF<l) TFEN GOSUB 370O0:GOTO O PP= IF SL<1 TFEN FOR 1=1 TO SL IF BS<TF<I+2) )=2 THEN PP=PP NEXT I 1406 INPUT "JMÉNO NOVE POLOŽKY > PRx INPUT "FORMÁT NOVE POLOŽKY >,PR IF <PR<>1)*<PR<>2) THEN GOSUB 370 GOTO IF PR=1 TFEN IF <TF<0)*<TF<1)-TF<2 ) )+TF<l)+2+TF<0) )>NTF THEN GOSUB 38000: GOTO IF (TF<O)*TF<2)+TF<1)+TF<0) )>DF T HEN GOSUB 33000: GOTO IF PR=1 THEN P0C=TF<l)+2+<TF<l)-TF (2) )*TF<G) :PQ=TF<0) :GOTO P0C=TF<1)+TF<6)+TF<2) :PQ=TF(0) IF TF < 0 ) =0 THEN FOR 1=1 TO TF<6) IF TF<2)-PP<1 TFEN FOR J=1 TO TF(2)-PP 1412 DFx<POC+PQ)=DFx<POC) :P0C=P0C NEXT J 1414 DFx<POC+PG)=" PQ=PQ-l IF PP<1 THEN FOR J=1 TO PP 1416 DFx<POC+PQ)=DFx<POC) : P0C=P0C NEXT J NEXT I TF<2)=TF<2)+1:G0T IF TF(O)=0 TFEN FOR 1=1 TO TF<0) IF TF( 1)-TF<2)-SL+PP<1 THEN FOR J=1 TO TF ( 1 ) -TF í 2 ) -SL+PP 1422 TF ( POC+PQ ) =TF < POC ) : POC=POC-i NEXT J TF< POC+PQ) =6 :PQ=PG IF SL-PP<1 THEN FOR J=1 TO SL-PP TF < POC+PQ )=TF( POC ):P0C=P0C NEXT J NEXT I TF<1)=TF(1) POC=(TF(1)-TF<2))*TF<0)+TF<1) IF P0C-SL-2C1 TFEN FOR 1=1 TO POC-SL TF(P0C+1)=TF(P0C> P0C=P0C NEXT I POC=TF<2)*TF<0)+TF(1) IF POC-SL< 1 THEN FOR 1=1 TO POC-SL DFx (POC+l)=DFx( PQC) 1438 F0C=P0C NEXT I TF < SL+3 ) =-PR 1441 DFx<SL+l)=PRx GOTO REM **+ N ZNN JMÉN POLOŽKY *** INPUT "PEJMENOVÁVÁN POLOŽK >" L IF <SL<0)+(SL>TF<1) )+<SLOINT<SL) THEN GOSUB 37000: GOTO O20 INPUT "NOSE JMÉNO >"PRx DFx<SL)=PRx RETURN REM ** F ZRUŠENI POLOŽKY ** IF TF(1)-1<1 THEN GOSUB :CURS OR 8,6:PRINT "*** ZRUŠTE DTBZI! *** RETURN INPUT RUŠEN POLOŽK >",SL IF (SL<l)+(SL>TF<l))+<SLOINT<SL> THEN GOSUB 37000: GOTO 16O PP= IF SL=1 THEN FOR 1=1 TO SL IF BS(TF(I+2) )=2 THEN PP=PP ICXT I IF BS<TF<SL+2))=1 THEN P0C=TF<1)+ 2-PP+SL : P6=l : GOTO P0C=TF(1)+PP+1:PG=1 mikroelektronika 57

58 GOTO ) ) ) : PRINT: ) 13 ) CONSOLE: ) 1 ) ) 3 ) IF TF<»)=0 THEN FOR 1=1 TO TF< > IF TF(2)-1<1 THEN FOR J=i TO TF<2) DFx < POC =DFx ( PQC+PQ ) : P0C=P0C ÍCXT J 1614 PQ=PQ NEXT I TF(2)=TF(2)-1:GQTQ IF TF ( 0 ) =0 THEN FOR 1=1 TO TF(O) IF TF(1)-TF(2)-1<1 THEN FOR J=1 TO TF(1)-TF(2) TF(POC)=TF<FOC+PQ) :P0C=F0C NEXT J 1624 PQ=P NEXT I TF(1)=TF(1) P0C=SL IF (TF(1)-TF(2))*TF(0)+TF(1>-SL+1< 1 THEN FOR 1=1 TO (TF(1)-TF(2) )*TF(0)+TFí 1 ) -SL TF ( POC ) =TF ( POC P0C=P0C+i NEXT I 1635 POC=SL IF TF(2)*TF (0)+TF( D-SL+Kl TFEN FOR 1=1 TO 7F<2)*TFÍO>+TFQ)-SL+l DFx ( POC )=DFx( POC+1) P0C=P0C , NEXT I GOTO 20O REM *** U SVÉ *+* IF TF<0)= THEN GOTO 36OO INPUT "CHRÁNIT ZPIŠ? <rt/n) >"OPx IF LEFTx(OPx,l)="N THEN PRx=",> "GOTO IF LEFTx i OPx,l ><> «" THEN PRINT:PR INT CSX PRINT GOTO INPUT "HESLO >",PR*CLS GOSUB 34OO0 i CURSOR 135: PRINT CHi* ( xtf í " RECC RDPLY" J=TF(0)*(TF(l)-TF(2)>+2+7F(l) K=TF(0)*TF(2S+TF(1) WOPEN Df x(0j 1703 PRINT/T PRx 176*0 PRINT/T J PRINT/T K FOR 1=0 TO J PRINT/T TF ( I NEXT I 1714 FOR I= TO K PRINT/T DFx(I) NEXT I CLOSE 1725 as 1799 RETURN REN *** 2 LOD *** IF 0K= THEN INPUT "EXISTUJÍC! DT BZI ZRUSIT?(/N) > 0Px : IF L FTx(0Px,l )<>" THEN INPUT "JMÉNO DTBZE Z CNT >"OPx G0SU CURSOR 165:PRINT CHRx(xTF)" PLY ROPEN OPx INPUT/T PRx IF PRx<> i i i THEN PRINT: INPUT HESLO? >"iopx : CLS:IF PRxOOP x THEN CLOSE : INPUT/T J INPUT/T K 18O20 FOR 1=0 TO J 1803 INPUT/T TF< I) 1804 NEXT I 1805O FOR 1=0 TO K IWHrr/T DFx(I) NEXT I 1808 CLOSE FOR 1*0 TO TF(0):IP(I)=0:NEXT I FOR 1=3 TO TF( l)+2-tf(i )*8S(TF(I) I Z=1:OK*0:TF(3)=-TF(3) JSx=" :OLx= N" 1899 GOTO REM *** G VYTVOENI DTBZE *** IF 0K=-1 THEN INPUT "EXISTUJÍCÍ DTBZI ZRUŠIT? (/N) > OPx 58 mikroelektronika " IF L FT*CGPX,1K>»" THEN PRINT: PRINT CEKEJTE PROSÍM!" FOR 1=0 TO DF DFx(I)=" 1903 NEXT I FOR I=0 TO NTF TF ( I ) = NEXT I FOR 1=0 TQ NZD IP(I)= NEXT I CONSOLE l,23,l,38 : as:curs0r 2, 1 :C ONSOLE 1, INPUT "JMÉNO NOVE DTBZE " PRx INPUT "POTVRTE VYTVOENI (/N) OPx 1909O IF LEFTx(0Px1)O"* THEN 0K*-1G0 TO INPUT POET POLOŽEK DTBZE " TFM> IF (TF(1K1)+<TF( 1)<>INT(TF (i) ) T HEN GOSUB 37006: GOTO INPUT "POET POLOŽEK FORMÁTU 2 TF(2) IF (TF(2K0>+<TF(2)OINT<TF(2>>> T HEN GOSUB 37800: GOTO IF < DF-TF < 1 ) -TF ( 2 ) <6 ) + NTF-2-2*TF ( (1)+TF(2K0) THEN PRINT:PRINT SPC(2)KSx GOTO 1910O DFx(0)=pRXPQC= FOR 1*1 TO TF(1> PRINT: PRINT "PaOZK*I INPUT " JMÉNO "DFx(I) INPUT FORMÁT,"TF(I+2) IF <TF(I+2)<>l)*(TF(I+2><>2) THEN GOSUB 3700 GOTO IF TF(I+2)*2 THEN P0C=P0C NEXT I PRINT: INPUT "NEJíttE OPRVY? (/N) "OPx * 1918 IF LEFTx i OPx, 1)0 "" THEN INPUT OPRVOVNÁ POLOŽK SL IF (SLOINT (SL) )+(SL<l) + (SL>TF(l) THEN GOSUB 370 0:G0T INPUT "ZMNIT JMÉNO? (/N) " >OPx 1921 IF LEFTX(0Px,1)O"" THEN INPUT " NOVE J* NO " DFx(SL) INPUT ZMNIT FORMÁT? (/N) iopx IF LEFTx(0Px,l)O"" THEN INPUT " NOVY FORMÁT ",PR IF (PR01)*(PR<>2) THEN GOSUB :GOTG IF <TF(SL+2)=2)*(PR=1) THEN POC=PO C-1:G0T IF (TF(SL+2)=1)*(PR=2> THEN POC=PO C+l IF ( DF-TF ( 1 > ~POC<0 ) + ( NTF-2-2+TF ( )+POC<0> THEN PRINT: PRINT $PC<2> KSx : PRI NT: GOTO TF(SL+2)=PR 1926 GOTO as : CONSOLE :CURSOR 1,17:PRINT Cl, maaoab NOV DTBZE ========= TF(3)=-TF(3):TF(2)=POC:Z=0:RETURN REN ** HKTIVIZCE ZZNMU *** IF TF(0)=O THEN GOTO FOR 1=1 TO TF(0) IP(I)= NEXT I GOTO REM *** OPERCE ND *** 210O5 IF TF(O)=0 THEN GOTO GOSUB 3O FOR 1=1 TO TF (O) IF IP(I)=0 THEN GOSUB POOPOC+TFÍ2) :PP=PP+TF(1)-TF(2) NEXT I GOTO REM *** 0 OPERCE OR *** IF TF(0)=0 THEN GOTO 36O GOSUB FOR 1=1 TO TF( > IF IP(I)=1 THEN GOSUB P0C=P0C+TF(2):PP=PP+TF(1)-TF(2) NEXT T 2299 GOTO REM **+ X STTISTIK ** IF TF(0)= THEN GOTO INPUT "Pa02K >,SL IF (SL<1)+(SL>TF(1) )+(SLOINT(SL) +(BS(TF(SL+2) )=2) THEN GOSUB 3700 : GOTO INPUT TKÉ STNRTNI OOCHYLKU? ( /N) > QPx GOSUB PRINT DFx(SL): PRINT PP= IF SL-Kl THEN FOR 1=1 TO SL IF BS(TF(I+2))=1 THEN PP=PP NEXT I 2305 Pl=0:P2=0:P3=0:POC=TF(l)+3+PP FOR 1=1 TO TF(O) IF IP(I)=1 THEN Pi=Pl+l 2309 P2=P2+TF ( POC 2310 POC=POC+T ( 1 ) -TF NEXT I 2312 PRINT ZZNMU ="P PRINT SOUET = P IF Pl= THEN P2=P2/Pl PRINT PRMR " = P IF LEFTxíOPx, THEN POC=TF ( 1 ) +3+PP 2317 FOR 1=1 TO TF(O) 2318 IF IP(I)=1 THEN P3=P3+(TF<P0C)-P2r POC=POC+TF ( 1 ) -TF ( NEXT I PRINT PRINT " STNRTNI ODCHYLK ="SQR(P3/P1) RETURN REM *** Y SELEKCE TISKU *** CONSOLE 1,23,1,38=CLS:CURS0R 2,1C ONSOLE 1,23,2, INPUT "KOLIK ZOBRZIT POLOŽEK SL IF (SL<0)+(SL>TF<1) )+(SLOINT(SL) THEN COSI GOTO IF SL= THEN OLX*"N" :TF(3)=BS(TF( 3) > -GOTO G13 INPUT "DO RDKU? (/N),-OLX: PRINT IF (LEFTx(QLx,1)="")*(SL>3> THEN SL= FOR 1*1 TO TF(1> TF( I+2)=BS(TF( 1+2) 2404 NEXT I FOR I* TO 6:TS(I)=0 NEXT I P1* FOR 1*1 TO SL PRINT "CISLOM" POLOŽKY" INPUT PR IF (PR<l)+(LEFTx(ax,l)<> ")»(PR< =P1)+(PR>TF(1) )+(PROINT(PR) ) THEN GOSUB GOTO P1«PR IF LEFTx(ax,lK> THEN IF PR-Kl THEN FOR J*1 TO PR IF BS(TF( J+2) )=2 THEN TS(I+3)=TS( I+3)+l NEXT J TS(I)=PR:TS(O>*TS(0> TF(PR+2)*-BS(TF(PR+2>> IF (LEFTx(0Lx,l>O"")#(Pl=TF(l)> THEN NEXT I PRINT INPUT "ZOBRZIT JMÉN POLOZE K? (/N) JSx as : CURSOR 1,17:PRJNT Cl, 2499 RETURN REM m SUBRUTIN KTIVCE 1 +» 3001 INPUT "POLOŽK >">SL IF (SL<t)+(SL>TF(l) )+(SLOINT (SL) THEN GOSUB 37000: GOTO INPUT "<,> NEBO = (KTERÁ Z NICH?) >"OPx IF ( LEFTx (OPx, )<>">")*(LEFTx(0Px, O 1 ) "=")*(LEFTx(OPx,l )<>' <") THEN GOSUB 37600: GOTO IF BS(TF(SL+2))=1 THEN IW>UT "HOD NOT >"PR:GOTO INPUT "HODNOT >"PRx POC=0:PP= FOR 1=1 TO SL IF BS(TF( 1+2) )=2 THEN P0C=P0C+1:G OTO PP=PP NEXT I PP=TF(l)+2+PP 3010 POC=TF( 1)+P0C RETURN

59 ) ( M * REM *** SUBRUTIN KTIVCE 2 *** IF BS(TF (SL+2) )=2 THEN IF LEFT*<0Px, 1)=**<** THEN IF PR>TF( PP) THEN IF LEFTx<0px,l)="=" TFCN IF PR-TF PP) TF N IF LEFTx(0PX/l)= > THEN IF PR<TF( PP) THEN GOTO IF LEFTx(OPx,l )="< THEN IF PRx>LE FTx( OFx(POC) -LEN(PRx) THEN IF LEFTx(OPx,l)= = THEN IF PRx=LE FTx(DFx<POC),LEN(PRx) ) THEN IF LEFTx(OPx,!)=> THEN IF PRx<LE FTx(OFx(POC), LEN ( PRx ) ) THEN GOTO IP(I)=0 : RETURN IP(I)=1:RETURN REM»* MITING *** GET lx : IF <UEFTx(lx,l)<> ")*(L FT x(lx,l)<>-q ) THEN RETURN REM *** UVO *** CONSOLE = CURSOR 0, CSx= ===================== KSx=" : PRINT Cl, 3 CSX FOR 1=1 TO 16:PRINT Cl, 3 KSx : KT I PRINT Cl, 3 CS* FOR 1=1 TO 6=PRINT Cl, 3 KSx : NEXT I 3367 PRINT Cl, 3 CSX CSx= " KSx="I I" CURSOR 12,3: PRINT CSX, FOR 1=4 TO 11:CURS0R 12,I=PRINT KS X : FEXT I CURSOR 12, 12: PRINT CSX CURSOR 12, 9: PRINT CSx CURSOR 16,5:PRINT "DTB2E" CURSOR 16,? PRINT "R I D S" CURSOR 14,10PRINT V32 (4887)* CURSOR 15, 11: PRINT (C) SVEHL" CURSOR 15, 14 PRINT STISKNI? KSX= *** KPCIT PEKROEN! *** PSx= *** PRÁZDNÁ DTBZE! *** CSx= *** CHYBNY VSTUP! *** RETURN REM *** KONSOL HORNÍ *** CURSOR 2, CONSOLE 1,16,2, CLS RETURN REM *** KONSOL DOLNÍ *** CURSOR 2, CONSOLE 18,6,2, CLS RETURN REM *** PRÁZDNÁ DTBZE ** GOSUB CURSOR 5,5:PRINT PSx RETURN REK *** CHYBNY VSTUP *** PRINT: PRINT SPC<5),CSx : PRINT RETURN REM *** KPCIT PEKROEN *** GOSUB CURSOR 5,3:PRINT KSx RETURN REM «* OŠETENI SYST CHYBY *** 39O10 GOSUB RÉSUMÉ CLS: FOR 1=0 TO NTF PRINT Dfx(I)íTB(25)IPm,TF<I> GET IXIF LaFTx(lx,l)= «THEN GOS UB IF LEFTx<Ix,i)= Q" THEN NEXT I RETURN Definice eského generátoru znak FO60=DB E Cl F0 /»# a!xh F068= ED B0 11 C6 Cl /OM t«a F016= ED B6 11 E8 Cl / M Xa F018=O EDB0 1108C2/M 6 F02O= ED B C2 / M F 28= ED B C2 / M 06 F030= Q> B C2 /M 6 F038= ED B@ 11 8 C3 / M u F040=01 10 DO ED BO 11 0 C3 /,M u : t,<e> B ZZNMU N KONEC F048= ED-BO 11 E8 C3 /OM Xu *? F 50= ED BO C5 i M & FO58= ED BO 11 8 C6 / M PRIK7 VYZNÁM F060=O ED BO 11 C3 C6 / M,x4 F66B=01 ee 00 ED BO 11 F0 C6 / m n*, INFORMCE 0 PÍKZECH F070= ED BO DB El C9 / iuh R STV DTBZE F 78= E /hzb> "B C POLOŽKY DTBZE FÓ80=8 48 3E / H> HO +LN3 POSUV UKZTELE VPED F688= /-/> / jvjrbbb -TNT POSUV UKZTELE VZD Ft?9 = /< F093=8E E E 00 / B FBBB ", 1 S NLEZENI JKO L ZZNMU SE ZMNOU F0O= C 40 3C Z JBb\8< E ZOBRZENI ubshu POLOŽKY F08= E E 00 /f ~ V JKO E SE ZMNOU F0B0= C O / (RBBb\ DCN3 2RUSENI ZZNMU F0B8= /e 8 I VLOŽENI ZZNMU PED BEZNY PIDNÍ Fí«0= C 02 3C 40 3E 00 /( F0C8=C C C 00 / B <0B< PCN3 ROZEPSNÍ ZZNMU F0D0=4tí 20 1C 20 3C oo 5C 00 Z8 < \ F(*D8=E E 00 / TxDDx DLSJ PÍKZY? (/N) > F0E6= C C 00,'hP\bBb\, F0E8= E /X*RB~BB PIKŽ VYZNÁM F0F0= /( :F F0r8=28 6C /(l M PIDNÍ POLOŽKY F 100= C 42 7E 02 3C GO / 0<B _ < N PEJMENOVNÍ POLOŽKY F ZRUŠENI POLOŽKY F108= /dtd8 U ix ožení databaze na cmt Fll = E 00 /fx Z ZVEDENI DTBZE 7 CMT " G VYTVOENI DTBZE F 118= E E 00 /( F120= C 42 ZE 2 3C 00 /( <B~< K ZRUŠENI DTBZE F128= C 00 /RjRBBBC H K1 IVIZCE ZZNMU F 130=5C C 00 /\( KT IV1ZCE - OPERCI ND F138= /XxRBBx 0 KTIV1ZCE - OPERCI OR F14O= C 00 / JBBbV X STTISTIK DT F148=8 40 3C C 00 / 0<BBB< Y SELEKCE TISKU,F150= C O /RJBBBB< 0 KONEC PRE S DTBZ1 F158= C 42 3C 00 /(,<BB< F 160= /8TD8 :F168=O / «G I I DTB7E I 1 R I D S I I I V32 (481VB7) I I <C> SVEHL I STISKNI? PIK POUŽITI BTK 7 E R 1 ii S - ZVEDENI V BSICU : REUY LOD "RIBS-JSS(C)' FOUNB 'RJDS-JSS (C) LOBING "RIUS-JSSvO" REUY RUN R I D S JSS(C)-19o7 UEFINUVT ESKOU BECEDU? (/N) > JE NUTNÝ SOUBOR CMT: >CESKY PCG< i PLY I I BTBZF I I RIUS I I I V32 (481987) I I (C) SVEHl 1 STISKNI? I I I I *C CEKEJTE PROSÍM! JMÉNO NOVE DTBZE LIB POTVRTE VYTVOENI (/N) POET P0L07EK DTBZE 3 POET POLOŽEK FORMÁTU 2 2 POLOŽK 1 JMÉNO PÍJMENÍ FORMÁT P0LU2K 2 JMÉNO JMÉNO FORMÁT POLOŽK 3 JMÉNO TELEFON FORMÁT 1 NEJKE OPRVY? (/N) OPRVOVNÁ POLOŽK 2 ZMNIT JMÉNO? (/W) N ZMNIT FORMÁT? (/N) NOVY F0RM1 2 NEJKE OPRVY? (/N) N 1 PÍJMENÍ FORM! = 2 2 JMÉNO FORMÁT = 2 3 TELEFON FORMÁT = 1 DTBZE! LIDE 7ZNHU : O POLOŽEK : 3 BEZNY ZZNM i 0 KTIVNÍCH ZZNMU : O v \ KOLIK ZOBRZIT POLOŽEK 3 DO RDKU? (/N) ÍSLO lpolo/ky? CISIO 7PUL0ZKY 1 CISLU 3 POLOŽKY 3 ZOBRZIT JMÉN POLOŽEK? (/N) mikroelektronika 59

60 *B *- 1 PÍJMENÍ ) KRÁTKÁ 2 JHENO > JN 3- TELEFON > rrjjhenl ) 1 VÁNIC 2 JMÉNO > JOSEF 3 TELEFON > 4132 *- KOL IK > 1 DTBZE : LIDE ZZNMU í 2 POLOŽEK i 3 - BE7NY Z2NM : 2 KTIVNÍCH Z/NHU : 2 EXISTUJÍC! DTBZI ZRUŠIT? (/N) ) JMFNO DTBZE 2 CMT > LIDE i PLY HESLO? > SHRP DTBZE i LIDE ZZNMU : 2 POLOŽEK : 3 BEZNY Z2NM : 1 *p O KOLIK > 3 JMÉNO PÍJMENÍ TELEFON JN KRÁTKÁ 3271 KOIIK > 999 JHENO PRIJHENI TELEFON JN KRÁTKÁ 3271 JOSEF IVNIC 4132 *P O KOLIK > 2 JMFNO PÍJMENÍ TELEFON JN KRÁTKÁ 3271 KOLIK > 10 JHENO PÍJMENÍ TELEFON JN KRÁTKÁ 3271 PETR HNN 1427 KTIVNÍCH 7ZNMU : 2 KOLIK ZOBRZIT POLOŽEK 3 DO RDKU? </N) N CIS10 1 POLOŽKY 1 CISLU 2 POLOŽKY j2 CISLU 3 POLOŽKY 3 ZOBRZIT JMÉN POLOŽEK? (/N) *F *V CISLU POLOŽKY > 1 OBSH = IVNIC CISLO PULU/KY > 3 OBSH» 4132 *X POLOŽK > 3 TKÉ STNDRT NI ODCHYLKU? (/N) ) TELEFON ZZNMU = 2 SOUET * 4Ó98 PRMR STNDRTN1 ODCHYLK - 92? * PEDCHÁZEJÍCÍ POLOŽK > 1 JMÉNO NOVE POLOŽKY > VEK FDRH1 NOVE POLOŽKY ) 1 DTBZE í LIDE ZZNMU : 2 POLOŽEK : 4 BEZNY 72NM : 1 KTIVNÍCH 1 7ZNMU r 2 3 *B *k *L NOVY OBSH > PÍJMENÍ > HNN 2 JMÉNO > PETR 3 TELEFON ) 1427 DTBZE : LIDE ZZNMU : 3 POLUZEK : 3 BFZNY IZNM : 3 KTIVNÍCH 7ZNMU : 3 POLOŽK >? OBSH > JN JMÉNO PRIJHENI TELEFON «*0 POLOŽK > 1 <»> NEBO * (KTERÁ Z NICH?) > * HODNOT > TOMN DTBZE : LIDE ZZNMU : 2 POLUZEK : 3 BEZNY ZZNM : 2 KTIVNÍCH 22NHU : O POLOŽK > 3 <»> NEBO * (KTERÁ Z NICH?) > < HODNOT > 2000 DTBZE : LIDF ZZNMU :? POLOŽEK : 3 *N *C *P RUŠEN POLOŽK > DTBZE - LÍBE 3 ZZNMU : 2 POLUZEK : 3 BFZNY ZZNM : 1 KTIVNÍCH ZZNMU : 2 PRFJME NUVVN POLOŽK > 3 HOV JMÉNO > JH PÍJMENÍ 2 VEK JM KOLIK > 3 FORMÁT = 2 FORMÁT = 1 FORMÁT - 2 «S JN KRÁTKÁ 3271 POLOŽK > 3 OBSH > 4232 *P BEZNY ZZNM : 2 KTIVNÍCH 7ZNMU 5 1 KOLIK > 3 PRIJHENI > KRÁTKÁ VEK > O JM > JN 1 PÍJMENÍ > HNN 2 VEK > 0 3JM > PFTR JMÉNO PÍJMENÍ TELEFON JMFNO PRIJHENI TELEFON JOSEF IVNIC 4232 PETR HNN 1427 *K NOVY OBSH > 4132 *H POTVRTE! (/ío > *R DTBZE : LIDE ZZNMU : 3 FOLOZFK : 3 DTBZE : LIDE ZZNMU : 2 POLOŽEK : 3 BEZNY ZZNM 2- I I 1 DTBZE I I R I D S 1 I I BFZNY 2ZNM : 2 KTIVNÍCH ZZNMU : 2 I V32 ( ) I I (C) SVEHL I KTIVNÍCH ZZNát : 3 *U STISKNI? 60 mikroelektronika CHRÁNIT ZPIŠ? (/N) > HESLO > SHRP i RECORDPLY *0 REDY ****************************************

61 Jan Krejí, BouUova 1104, Praha 9 Pro vytvoení programu Skicák mne inspirovalo nkolik skutenosti Pedevším jsem poteboval pro nkteré své programy dokonale graficky provedené obrazovky bu jako úvodni obrazovku, nebo funkní ást programu (napíklad mapy, plánky a podobn) Dále to byl mj kolega mg Líbeš, který vytváel obrazovky tak, že si nejprve pipravil a dokonale promyslel svj návrh mimo poíta, napíklad na papíe a ten pak pomocí milimetrového papíru rozložil na jednotlivé body, tak jako je tvoena obrazovka Tyto body pak penesl jako jednotlivé bajty do basicového programu (do DT), vytiskl obrazovku, nahrál ji a tak s nf bylo možné pracovat dál Tato metoda se mi zdála jako jedna z nejdokonalejších, ale tak pracná, že jsem se rozhodl njakým zpsobem ji ulehit Samozejm, že nejdokonalejši by bylo rozložit signál z televizní kamery, vytvoit videodigitizr, anebo si jej koupit, i použít jinou mechanickou metodu, nebo dokonalejší programový prostedek le v té dob jsem ml k dispozici pouze 1 programy, které pracovaly na obrazovce dosti hrub a obraz vytváely pomoci ar a obrazc, nebo i pímým kreslením na obrazovku po- "mocí svtelného pera nebo myši Zaal jsem proto pracovat na programu, který by využíval shora uvedenou metodu s rozložením pedem pipraveného návrhu na jednotlivé body a jejich systematickým penesením do pamti poítae Pro rozklad pedlohy se mí nejlépe osvdil prhledný milimetrový papír se zdraznným rastrem 8 mm, tedy osm bod Používám formát 4, který je svými rozmry optimální pro rozklad kreseb, tisk i fotografií Prsvitný papír piložím na kresbu, umístím do zvolené polohy a odeítám jednotlivé osmice bod (v podstat bajty) ve zdraznném tvereku 8x8 bod a vkládám je pomocí funkce INPUT programu Skicák do pamti Spectra Postupuji systematicky od levého horního rohu obrázku, po jednotlivých ádcích až k pravému dolnímu rohu Po vložení všech ástí programu do pamti se program spustí píkazem RUN To platí i pro pípady pi perušení nebo vypadnutí z programu Hlavní nabídka ( menu") Spustíme-H program, ocitneme se v hlavní nabídce (menu) Na obrazovce se objeví název programu, isio jeho verze a seznam funkcí nábídky (v rámeku) Funkcí je celkem pt Oznaeny jsou vždy íslem a názvem K jejich vyvolání je teba stisknout píslušnou íslici 2 EDITOR Musíme zvolit jednu ze tí pracovních pamti Možnost práce se temi obrazovkami" oceníme pi modifikaci již hotových obrazovek, pi jejich míchání a prolínání Po zvolení ísla pracovní pamti se dostaneme do EDITORu Ten bude popsán samostatn v následující kapitole LIST Tato funkce je urena pro prohlížení obsahu jednotlivých obrazovek Stiskem libovolné další klávesy (krom klávesy Q") listujeme jednotlivými obrazovkami, jejichž íslo bliká vždy v pravém horním rohu obrazovky Návrat do hlavní nabídky je klávesou 3 L0D Umožní peíst data z mgf pásku do jedné ze tí pracovních obrazovek Zvolená obrazovka se informativn zobrazí Návrat do hlavní nabídky je automatický 4 SVÉ Na mgf pásek bude podle volby zaznamenán obsah jedné ze tí obrazovek (oblastí pamti) Obrazovka Od adresy Délka Z toho vyplývá, že pi nahrání do obrazovky je nutné uložení blíže specifikovat, nebo použít píkazu SCREEN& Pi vyvolání se zobrazí informativn zvolená obrazovka Návrat do hlavní nabídky je automatický 5 HELP Funkce popisuje vlastnosti povel EDI- TORU v pípad, že ztratíte orientaci pi obsluze programu Postrádá pouze popis vedlejší funkce kurzorových kláves EDITORu Ta bude popsána v následující ásti Návrat do hlavní nabídky je automatický Popis EDITORu Klávesou 1 z hlavní nabídky a po volb pracovní obrazovky se dostáváme do EDITORu nositele myšlenky programu Slouží k penášení grafické informace z pipravené pedlohy a k další úprav obrazu pomocí nkolika povel Obrazovka je rozdlena do dvou ástí Ve spodních dvou ádcích (v editaní zón) je nabídka povel EDI- TORU a souadnice kurzoru Tím mžeme pohybovat pomocí kurzorových kláves 5, 6, 7, 8 po zbývající, horní ásti obrazovky Povely aktivujeme stiskem poáteního inverzn zdraznného znaku na klávesnici poítae Destruktivn psobící povely, pi kterých dochází k podstatným a nevratným zmnám na obrazovce, voláme souasným stiskem kláves znaku a kláves CPS SHIFT nebo SYMBOL SHIFT Program umožuje práci v celém rozsahu obrazovky (192 bod 24 ádk) Dva ádky jsou vtšinou skryty Objeví se až po najeti kurzoru do zmínné oblasti Blikající kurzor vymemikroeiektronika 61

62 zuje oblast pro vstup grafických informací oblast 8x8 bod Je to v podstat bžná tisková pozice, kterou dále budeme nazývat znakovka Kurzorové klávesy mohou plnit ješt jednu pomocnou funkci Pi stisku kurzorové klávesy (5, 6, 7, 8) zárove s klávesou SYMBOL SHIFT dojde k pekopírování znakovky z místa kurzoru na vedlejší pozici urenou stisknutou kurzorovou klávesou Tato funkce není v programu nikde uvedena, ani ve funkci HELP hlavní nabídky Popis povel EDITORu INPUT Hlavní povel, kterým penášíme informace z pedlohy nkolika zpsoby Stiskem pouhé klávesy 1 vstoupíme do grafického INPUTu Uprosted obrazovky se nám zobrazí osmkrát zvtšená znakovka, na které je kurzor Oblasti PPER jsou vyznaeny znakem O" a oblasti INK tmavou plnou makovkou Pi invertovaném obrazu je to obrácen V editaní zón objeví nová nabídka s komentáem Kurzorem ve zvtšené znakovce mžeme pohybovat pomocí kurzorových kláves Klávesou 0 mníme pod kurzorem oblast z INK na PPER a obrácen Povel CLS plní dv funkce, prostým stiskem C se obnoví pvodní grafická informace ve znakovce, nebo se souasným stiskem CPS SHIFT se celá znakovka vymaže Povelem Q QUIT opouštíme zadávání na dané pozici a vracíme se bu do editoru, nebo pokraujeme v plnní znakovky vpravo od souasné pozice, i na dalším ádku, pokud jsme plnili poslední tiskovou pozici na pedchozím ádku Druhou variantu povelu INPUT vyvoláme stiskem f* souasn s CPS SHIFT V tomto pípad budeme každou tiskovou pozici, na které je kurzor, plnit po jednotlivých bajtech osmkrát zadáme hodnotu Pi vkládání jednotlivých hodnot je zobrazena také nabídka variant vkládání Mžeme totiž hodnoty zadávat ve tech íselných soustavách, nebo vytisknout na pozici kurzoru znak, nebo celou pozici vyplnit jednou hodnotou Máme také možnost se vrátit k zadávání od prvního bajtu Pi vložení prázdného etzce ukoneném ENTER vynecháme jeden bajt Ten zstává nezmnn Takovýmto zpsobem je možné mnit ve znakovce pouze jeden nebo nkolik bajt Zpsob zadávání uríme prvním znakem ve vkládaném etzci Nabídka tchto znak je v prvním editaním ádku Návrat z tohoto typu povelu je automatický Podobným zpsobem, jako tyto dv varianty povelu INPUT, pracují i programy pro vytváení nových znakových soubor (SCII, UDG), napíklad TY- POGRPH nebo 4D UDG a pod Nic nám nebráni použít program SKICÁK i tímto zpsobem, staí si uvdomit, kde jsou v pamti uloženy jednotlivé obrazovky Tam by se ukládaly i nov vytvoené znakové soubory Po vytvoení by je bylo nutné pemístit na místa v pamti podle našeho zámru a zmnit píslušné systémové promnné, pro SCII promnnou CHRS 23606/7 a pro UDG promnnou UDG 23675/6 62 mikroelektronika MEM Funkce usnaduje penos a množení" stejných znakových pozic na obrazovce Stiskem klávesy M" se souasným CPS SHIFT zaznamenáme znakovku pod kurzorem do mezipamti Vyvolat na pozici kurzoru ji pak mžeme kolikrát chceme stiskem kláves M a SYMBOL SHIFT Další funkce pracují s celou obrazovkou a jsou ureny pro úpravu vtších ástí nebo celých obrazovek BRV Vyvoláním aktivujeme novou nabídku, která nám nabízí ti možností Zmnit INK nebo PPER v celém obraze, nebo celou obrazovku invertovat INV Návrat do EDITORu je automatický COPY Provede kopii obrazovky na tiskárn ' (ZX PRINT a jeho ekvivalenty) Kopíruje však všech 24 ádek i DEL Funkce DELETE je z nejdestruktivnjších Má dv podoby První, vyvolávaná stiskem kláves D souasn s CPS SHIFT, maže oblast Display filé, tj oblast pamti, která uruje, kde je INK a kde PPER (prvních 6144 bajt obrazovky) Druhá, aktivovaná stiskem kláves D a SYMBOL SHIFT, maže oblast atribut, tj oblast, která uruje barvy a další vlastnosti znakových pozic (posledních 768 bajt obrazovky) EXCH EXCHNGE Povel, který umožuje zmnu pracovní obrazovky NEW Nejdestruktivnjší, stiskem klávesy N souasn s CPS SHIFT se maže celá pracovní obrazovka OVER Tato funkce smíchá obsahy dvou obrazovek pracovní se zvolenou

63 2800! znakovkách posouvá oblast atribut Ve všech pípadech jde o tzv destruktivní scroli, to znamená, že co je mimo obrazovku, je vymazáno Funkce spolu s povelem OVER nám dovolí pesné rozmístit a zkombinovat vytvoená díla obrazovkami od adresy Jsou to asi 4kB pamti, které mohou být využity pro další rozšíení a vylepšení programu Pro rozšíení basicového programu není již místo Pro jeho správnou funkci je nutné vypustit poznámky v ádcích REM 3320) 3 (brv^ C COPY J ÍDElj TLy iri Yinput ^graficky J 30Q0> í 1 NPUT \hodnota J 3363^ 3403^1 3800^ Q EXCH ^ ^NEW ^ 3810^ 3383^ 362Cft (TO C^T) C T) T I 'test kláves S&678, posuf> kurzor test klávesy 0 GOSUB 3312 /uráíií / hod typu / noty / / tisk 1 bajtu / 2xUSR 3190 I GOSUB 3232 test klávesy C zvtši poítadlo test klávesy 0 GOSUB 3312 f tiskni navrženou znakovku GOSUB 3232 tiskni novou I polohu kurzoni QUIT Funkce návratu do hlavní nabídky ROLL Po aktivaci stiskem klávesy R m- žeme pomocí kurzorových kláves pohybovat obrazovkou do všech smr a to temi zpsoby Samotným stiskem nkteré kurzorové klávesy se posouvá (scrotluje) display fite po jednom bodu Se souasným stiskem CPS SHIFT se posouvá display filé daným smrem, ale po jednom znaku {osmi bodech) Pi stisku se SYMBOL SHIFT se po Popis struktury a funkce programu Uloženi v pamti Program Skicák je v pamti poítae uložen ve tech ástech basicový program, strojové rutiny a pam obrazovek, vlastn dáte programu Uložení jednotlivých ástí je patrné z obr 1 Podstatnou ást pamti zabírá Basicový program, podporovaný ve své funkci rutinami ve strojovém kódu, které jsou umístny na konci pamti ped UDG Obrazovky jsou uloženy tsn za hasiovým programem asi uprosted pamti RM Jediná volná pam je za Struktura a funkce programu GOTO 1 Gjp Y Funkní diagramy programu Skicák ou na str 62, kde je ást hlavní nabídky a na str 63, kde je popsána mikroelektronika 63

64 struné funkce EDfTORu V diagramech jsou orientan uvedena ísla ádk Program Skicák nahrajeme s autostartem od ádky 6000 a strojový kód uložfme na pásku za nj V ádcích od 7000 je v programu uložena informace o rozmístní eských znak v UDG Struktura a funkce EDITORu EDITOR funkce 1 hlavní nabídky je uložen mezí ádky 2800 a 5000 Jeho grafické schéma je na str 63 Jedná se o podobnou strukturu, jako v pípad hlavní nabídky, je zde ale i nejsložitjší problém programu pohyb kurzoru po obrazovce a vyhodnocení jeho pozic v pípad práce na nejnižších dvou ádcích obrazovky To vše má za úkol podprogram od ádku 3408, který je opakovan volán po testu klávesnice na volaný povel Další, vnoené podprogramy tohoto podprogramu, jsou využívány také nkterými funkcemi editoru (IN- PUT a MEM) Popis použitých strojových rutin, rutin v ROM a neobvyklých vlastnosti BSICu Rutiny strojového kódu zaínají od adresy První je rutina COPY 24 ádk, využívá podprogramu ROM 3762 Další rutina užívá povel ROLL pro posuv display filé o znak dol Rutina posouvá ob ásti obrazovky o znak dol Následujících sedm rutin je použito ze známého programu SUPERCODE První dv (64744 a 64756) slouží pro penesení obsahu viditelné obrazovky do pracovní pamti a naopak Tyto rutiny využívají skoro všechny povely a funkce programu Rutiny a nejsou využity, zstaly v pamti po úpravách pedchozích pracovních verzí První vymní obsahy obrazovky a pracovní pamti a druhá naplní urený obdélník v obrazovce jedním znakem Následující ti podprogramy používá funkce BRV mní INK v celém obraze, mní PPER v celém obraze a provede inverzi obrazovky Pak následuje rutina funkce OVER a za ní rutiny pro funkci ROLL posune Display filé o znak vlevo, vpravo, posune Display filé o bod vlevo, o bod vpravo, o bod nahoru a o bod dol Posuv atribut ídí rutiny vlevo, vpravo a nahoru Další rutiny jsou pro mazání jednotlivých oblastí obrazovky 653% maže atributy a maže Display filé Od adresy zaíná uživatelská grafika se znaky eské abecedy (viz ádek 7000) Program používá ve své funkci nejen tchto rutin, ale i nkteré programy ROM a zmny systémových promnných, ale také v manuálu nepopsané funkce Basicu pro tisk v editaní zón (ádek 3236) Pro mazání editaní zóny volá rutinu 3438, pro zmnu barvy editaní zóny mní systémovou promnnou BORDCR 23624, pro zmnu potu editaních ádk mní systémovou promnnou DF_SZ a pro scroll obrazovky nahoru o ádek volá rutiny 3190 nebo 3582 Námty pro další vylepšení a razšffení programu Skicák Každý program, tak jako jiná /lila lidského intelektu a rukou, je možné dotvoit zlepšit zjednodušit a polidštit" Program SKICÁK v 10 není v tomto ohledu žádná výjimka, zdá se mi, že spíše naopak Mým prapvodním cílem bylo dovést program k jakés takés dokonalosti vytvoením grafického editoru typu GEM a ovládat jej joystickem, myší nebo svtelným perem Ovšem lovk míní a vci se mní Objevil se program RT STUDIO a tak jsem skromn ustoupil a zjednodušil svj prográmek tak, aby byl i vedle tohoto velikána" užitený a alespo ásten doplnil nkteré jeho funkce Rád bych však v této ásti upozornil na jisté slabiny a rezervy programu V první ad postrádá místo pro rozšíení BSICu To by se dalo ešit bu posunutím obrazovek smrem ke konci pamti, anebo využitím prázdného místa nad nimi a pevedením nkteré ásti BSICu do strojového kódu, napíklad ízení kurzoru BSIC také mžeme mírn zahustit" úpravou jeho struktury vypuštním poznámek, nebo vytvoením podprogram pi nkolikerém opakování operací (viz ádky 114, 116, 118 test klávesnice) Také zmenšení potu ádk a využití funkce VL pro ukládání celoíselných Volno B8IC (asi 0,5k) promnných by uvolnilo njaký prostor Ve funkci se dá program zdokonalit pedevším v práci s barvami Zvolený tisk kurzoru (transparentní obarvení INK8, PPER8 na ádcích 3432 až 3448) se projeví zejména pi zpracovávání obrazovek s mnohobarevnými, blikajícími a zdraznnými plochami kurzof nám bude na viditelné obrazovce v tchto místech rušit FLSH a BRIGHT Pi nejbližšfm dalším vyvolání obrazu z pamtí se však obraz obnoví v pvodním stavu Zde by bylo vhodné program zdokonalit tak, aby testoval hodnoty barev ped umístním kurzoru a navracel je do pvodního stavu po jeho dalším pohybu Rovnž by stálo za to doplnit program vhodnou rutinou pro obsloužení chyb a perušení, té by se dalo využít i pi návratu z jednotlivých funkcí a do hlavní nabídky Odpadly by tak testy klávesy Q" *** Skicák Ul0 *** 1 - EDITOR a - LIST 3 - LORD 4 - SRUE 5 - HELP *** Jan Krejí *** Zaátek Basicového programu podle systémové promnné PROG Bez pipojeného Interface konec Basicového programu, asi 39,5k > T RMTOP = 39999/zaátek první N obrazovky w XI * O ><M zaátek druhé obrazovky JO O >«* 8j» e * v X3 O zaátek tetí obrazovky %+ 90 zaátek volné pamti c a >» c zaátek strojových rutin ^3 o 1- v 4* <0 UDG zaátek UDG mikroelektronika Obr 1 konec pamti 65536

65 LET GO GO PRINT : : : NEXT INPUT " PRINT BNPUT LET LET j POKE BEU ) PRINT r) : IF LET ) GO IF ( 1 REM * PROGRM SKICK * 2 POKE 33624,56: CLS 3 DIM m (8) : LET 02=156: LET au = LET X 1=0 LET y 1=0 : LET zve =0: LET rop=0: LET Sk=0: LET S* = LET 01=64: LET POT=0: LET X= - 0 y =0 : LET kurz =22528+X +y *3 2: LET atr=ttr <x,y) 5 REM Í»enut 6 CLS : T 7, ED JTQp" 15 PRINT T 0, LIST" 16 PRINT T 11,10 "3 - LORD 17 PRINT T 13,10 "4 - SUE 18 PRINT flt 2,4"*** S k i C á fc 010 ***" 10 PRINT ttlflt 0,12" 1086" 20 PRINT flt 20,6"*** <Jan Krej 21 *PRINT flt 15,10 "5 - HELP" 22 PLOT 27,27: ORU 0,115: DR U 100,0: DRflU 0,-115: DRW -100, 0 30 IF INKEY*= 1" THEN GO TO IF INKEY *s 3" THEN GO SUB 3 268: GO TO 6 34 IF INKEY*="4" THEN GO SUB GO TO 6 36 IF INKEY *="2" THEN GO TO IF INKEY* 5 THEN GO TO TO REM LIST 114 LET 02=156: LET Ran =40000: 60 SUB 3312: PRINT FLSH 1 BRIG HT 1 T 4,28 "1": PUSE 0: IF IN KEY*="q" OR INKEY*= 0" THEN GO T O LET 02=183: LET Raa=46912: GO SUB 3312: PRINT FLSH 1 BRIG HT 1 flt 4,28 "2": PRUSE 0: IF IN KEY *= q" OR INKEY *="G THEN GO T O 'fcet 02=210: LET Rap =53824: GO SUB 3312: PRINT FLSH 1 BRIG HT 1 T 4,28 "3": PUSE 0: IF IN KEYS= q" OR INKEY *= "O" THEN GO T O GO TO REM EDITOR 2810 CLS : GO SUB GO SUB GO SUB IF INKEY*= I" THEN GO TO 30 00: LET X =x IF INKEY *=" r " THEN GO SUB : TO IF INKEY * =" i " THEN GO TO 40 00: LET X=X * IF INKEY*= 0" THEN GO SUB IF INKEY*Vc " THEN GO SUB 3 312: RNDOMIZE USR 64599: GO SUB 3308 GO SUB IF INKEY * = "e " THEN GO SUB 3 364: GO SUB IF INKEY *="M" THEN GO SUB IF INKEY *=" " THEN GO SUB IF INKEY *="b" THEN GO SUB IF INKEY *="N" THEN GO SUB 3 404, 2882 IF INKEY *=CHR* 205 THEN 60 SUB 3312: RNDOMIZE USR 65326: G O SUB 3308: GO SUB IF INKEY* ="D" THEN GO SUB 3 312: RNDOMIZE USR 65342: GO 5UB 3308: GO SUB IF INKEY *="q" THEN GO TO IF INKEY*=" ( " THEN LET fcan = 1: GO SUB 3524: GO SUB 3460: GO SUB IF INKEY *="JÍ" THEN LET kan = -1: GO SUB 3532: GO SUB 3460: GO SUB IF INKEY *="&" THEN LET kan = 32 : GO SUB 3460 : GO SUB 3480 GO SUB 3540: GO SUB 3S00: IF zve =1 THEN LET y=21: LET rop=0: GO SU B 3312: GO SUB 3232: LET Z\e= IF INKEY * = " " THEN GO SUB 3 492: LET kaa=-32: GO SUB 3460: G O SUB 3516: GO SUB GO SUB 3408: GO TO REM Bnput 3002 GO SUB FOR i =0 TO 1792 STEP BEEP 005,1/256 v _ 3012 INPUT flt 0,2 "Bap l> E-hex B inh-znakstop"t 1,2 "zadáváš byte " (i/256+1) T 1,21 LIN E s* 3016 IF S*= S OR SS="S" THEN LE T i =0 : TO IF *= " THEN GO TO IF S*(1)="Z" OR S*íl)="Z" T HEN GO SUB 3116: GO TO IF S*(l)="tt" THEN GO SUB 32 08: GO TO IF S*(l) ="*" THEN PRINT T y+(l NO por=l)+(2 ND por=2),x $-* (2) : LET kaa=0: GO SUB 3460: G O SUB 3500: GO TO IF s $ (1) ="B OR S*(l)="b- T HEN GO SUB 3200: GO TO IF CODE S*>=58 OR CODE S*< = 47 THEN PRINT ttlt 0,1 "Spatn * zapsaný znak " t! BEEP 88,20: GO TO IF UL S S >255 THEN PRINT»1 RT 0, l "Pi ti* velké íslo H!" : BEEP 02,24: BEEP 04,20: GO T O LET wej=ul S* 3052 IF je j >255 THEN #1T 0, 1 Pí lil velké íslo!! ": B EEP 08,20: GO TO POKE abc+x + íy+por-yy) *32+i,wej: POKE Ran *a bc +x + (y +po +rop-yy) *32+i,«e 3060 NEXT i 3064 FOR U =0 TO 8: BEEP 002,4+U o: PUSE PRINT #1T 0,1 "Pozice kur zou x="x" y="y+por 3072 PRINT #1 T 1,1 "Chceš pokr aovat v zápisu fl/n 7" 3076 IF INKEY *= n" THEN RNDOMIZ E USR 3438: BEEP 008,3: BEEP 0 09,10: GO TO IF INKEY * = "a " THEN GO SUB 3 100: GO TO GO TO LET x=x + l 3092 FOR w=8 TO 0 STEP -1: BEEP 001,RND*10-W : NEXT m 3098 PRINT BRIGHT 1 FLRSH 1 OU ER l PPER 8 INK 8 T y+sk*por X ", ": PRINT OUER 1 INK 8 PP ER 8 T y+sk+por-(l ND x=0)-(21 ND X =31 ND y =21), X -1+ (32 ND " X =0) - (21 ND X =31 ND y=21) ": GO TO IF x=31 ND PO r =2 THEN LET X =0 : LET y =0 : fop=0: LET por =0: LET a bc =0 : yy=0: 60 SUB 3312: GO SUB 3232: RETURN 3104 IF x =31 ND y+rop>=21 THEN LET x =0 : GO SUB 3284 : RETURN 3108 IF x=31 ND y*rop<21 THEN L ET x =0 : LET y=y+l: RETURN 3112 GO TO IF S*i2 TO = " ) THEN RETURN 3118 IF UL s * (2 TO ) >255 THEN R ETURN 3120 FOR e =0 TO 1792 STEP POKE 163S4+abC+X+ (y +POf -yy *32 +e, UL s * (2 TO ) POKE Ran+ab c+x + (y +por+rop -yy *32+e,UL s*<2 TO ) 3128 NEXT e : RETURN 3200 LET we j=ul ("BIN "+S*i2 TO LEN S*) ) 3204 PRINT #1T 0,1" Decináln " we j : PRUSE 20: RETURN 3208 LET «ej=0: LET kruh= FOR W=LEN S* TO 2 STEP LET we j=wé j+ l (CODE S*(w)-48-7* (CODE s*(w) >=65) ) *16tkruh) 3220 LET kruh=kruh+l 3224 NEXT W 3228 RETURN 3232 POKE 23624,112: RNDOMIZE U SR 3438 _ 3236 PRINT #1T 0,0" BRU:HOP : : : " Y BEL : SXCH 3238 PRINT 81fiT 1,0" OEM :BUER HUXT :HOLL: 3240 RETURN 3244 IF por=0 THEN RETURN 3248 BEEP 001,32: IF por=l THEN LET saer=0: LET por=0: LET y =21 : LET rop=0: GO SUB 3312: GO SUB 3232: GO TO IF POf =2 THEN LET P0T=1: LE T sner =3 : RETURN 3258 CLS : "název obrázku " LINE z* 3260 GO SUB 3364 : 23736, 187 : 5UE ZtCODE Raa, CLS : PRINT T 10,3 "Chcete zkontrolovat /N?" 3262 IF INKEY*="n" THEN GO TO IF INKEY* = "a " OR INKEY * = "" THEN GO SUB 3312: UERIFY z *CODE Ran : CLS : T 10,10 Dodr ý M " : BEEP 02,33: PUSE 4 : GO TO GO TO RETURN 269 CLS : GO SUB 3364: INPUT "n fzev nahrávky LINE x* 3270 CLS : PRINT T 10,6"Nahráv á se obrázek" 3272 LORD X*SCREEN* 3276 GO SUB RETURN 3284 IF y<21 ND por=0 THEN RETU RN 3288 IF por=0 THEN LET por=l: GO SUB 3548: GO TO IF por =1 THEN LET por = LET y*19: LET rop=2: PRINT 8l T 1,26 "y =" y +por +rop " " 3300 BEEP 001,30: LET saer= RETURN 3307 REM zaznan 3308 POKE 64745,01: POKE 64746,0 2: RNDOMIZE USR 64744: RETURN 3310 REM ukaž 3312 POKE 64757,01: POKE 64758,0 2: RNDOMIZE USR 64756: RETURN 3315 REM vyaen 3316 POKE 64785,01: POKE 64786,0 2: RNDOMIZE USR 64784: RETURN 3318 REM iflrufl 3320 RNDOMIZE USR 3438: PRINT 8 1 T 0,1 "Zvo l te stisken ísla": PRINT 81 T 1,1 "1 = INU 2 = TMK 'X - PBPFR" 3324* IF INKEY *="1" THEN GO TO IF INKEY*="2" THEN GO TO IF INKEY*="3" THEN GO TO GO TO INPUT "íslo inkoustu "ink : POKE 64859, i nk: GO SUB 3312: R NDOMIZE USR 64858: GO SUB 3308: - GO SUB 4860: GO TO INPUT "Cisto papíru "pap POKE 64884, pap: GO SUB 3312: RN DOMIZE USR 64883: GO SUB 3308: G O SUB 4860: GO TO GO SUB 3312: RNDOMIZE USR 64809: GO SUB 3308: GO SUB 4860: GO TO IF po r =1 THEN RNDOMIZE USR 3190: PRINT OUER 1T 21,0" 3356 IF por =2 THEN RNDOMIZE USR 3190: PRINT OUER 1T 21,0" RNDOMIZE USR 319 : PRINT OUER 1 T 21,0 "_ 3360 GO SUB 3232: RETURN 3363 REM ÉXCH 3364 INPUT "íslo paaéti?(l-3) Ron 3368 IF R08=l THEN LET 02=156: L ET Ran = IF Roa=2 THEN LET 02=183: L ET Ra* = IF ROP =3 THEN LET 02=210: L ET Ran = GO SUB 3312: GO SUB 3352: R ETURN 3383 REM guer 3384 INPUT "CÍS10 panti (1-3) - " ae r : POKE 64919, IF ne r =1 THEN POKE IF aer =2 THEN POKE 64920, IF aer =3 THEN POKE 64920, GO SUB 3312: RNDOMIZE USR 64915: GO SUB 3308: GO SUB 3352: GO SUB 3232: RETURN 3403 REM BEU 3404 POKE 23624, a t r : CLS : GO SU B 3308: GO SUB 3232: RETURN 3408 REM ízeni kurzoru 3409 LET nast=l 3412 LET saer = IF INKEY*="5" THEN BEEP 00 03, X *10 : X >0 THEN LET sner = l: LET X =X -1 : LET nast=l: GO TO IF INKEY*= 6" THEN GO SUB 3 284: BEEP 0 003, y +10 : y<21 N D por =0 THEN LET saer =2: LET y=u +1: LET nast=l : TO IF INKEY*="7" THEN GO SUB 3 244: BEEP 0003,y+10: IF y >0 ND' por *0 THEN LET y*y-l: LET saer= 3: LET nastal: GO TO IF INKEY *= "8" THEN BEEP 00 03, X *10 : IF X <31 THEN LET saer =4 : LET X =X + 1 : LET nast=l: GO TO IF nast=l THEN PRINT BRIGHT i FLSH l OUER 1 PPER 8 IN K 8 T y+sk*por,x" " 3436 IF saer=l THEN PRINT OUER 1 PPER 8 INK 8 T y+sk+por,x+l 3440 IF saer =2 THEN PRINT OUER 1 PPER 8 INK 8, T y+por-l+sfc,x 3444 IF saer *3 THEN PRINT OUER 1 PPER 8 INK 8 T y+l+por+sk,x 3448 IF saer =4 THEN PRINT OUER 1 PPER 8 INK 8 T y+por+sk,x-l 3452 LET sk=0: LET nast= RETURN 3460 LET cba=0: LET yyy= IF y <=7 THEN LET abc=0: LET yy =0: RETURN 3468 IF y >7 ND y<=15 THEN LET a bc =2048 : yy=8: RETURN 3472 IF y > 15 ND y<=23 THEN LET a bc =4096 : LET yy = 16: RETURN 3476 RETURN 3480 IF POT =2 THEN BEEP 002,25: BEEP 003,30: GO TO IF y =7 OR y= 15 THEN LET kaa =0: LET C ba =2048: LET yyy=7: RET URN 3488 RETURN 3492 IF u =0 THEN BEEP 002,23: B EEP 003,33: GO TO RETURN _ 3500 LET vpr=0: FOR i =0 TO 1792 STEP 256: BEEP 0002, LET vpr *PEEK < abc +x+ y +por-yy ) *32+i 3508 POKE abc+cba+x+kaa+ (y *po r -yy -yyy ) *32+i, vp r : POKE Ran+ abc +cba+x+kaa + (y +por +rop-yy-yyy > *32 +i,vpr 3512 NEXT i : RETURN 3516 IF y=8 OR y=16 THEN LET kaa =0: LET c ba s-2048: LET yyy= I^xaSl ND POr=2 THEN BEEP 001,30: BEEP 001,34: 60 TO mikroelektronika 65

66 LET : BEEP «) f " : mé IF " LET NEXT LET " ",, POKE a,, RETURN 3532 IF x=0 TMN BEEP : B EEP 002,36: CO TO 29* RETURN 35*0 IF y=21 ND POr =8 TMN GO S UB 35*8: LET rop *2: LET y=19: LE T S»er=3: LET n»st*l: GG SUB 3*3 2: LET zve *1 RETURN 35**» RETURN 35*8 POKE 2362* 58: CLS : GO SUB 3312: POKE 23659,0: RNDOMIZE U SR 3582: RNDOMIZE USR 3582: POK E 23659,2: POKE 2362*, 112: GO SU B 3232: RETURN 3600 PRINT 81 T 1,21 "X*" x " 3602 PRINT 81 T 1, 26, "n*" y+por + rop 360* RETURN 3620 REM SOLL 3622 GO SUB 3312: POKE 2362 *,56: GO SUB 36*0: GO SUB * IF por =1 OR P0r»2 THEN RND OMIZE USR 3190: RNDOMIZE USR RETURN 36*2 LET a*=inkey* 36** LET n x (65103 ND a*s' X ) + ( ND a** (") + (651*7 ND *»" '* > + (6*682 ND a**"*" ) (65258 N D a S=CHR* 11) +(6*609 ND a$*chr«10) +(6*935 ND a**chr$ 8) + (6*95 6 ND a*»chr* 9) +(6*978 ND 5") +(6*995 ND a*»"8" >+ (65012 N D a*» 7 ) +(65168 ND a$» 6") 36*6 IF a$«= Q" THEN GO SUB 3312: GO TO *8 IF aí*"q" THEN RETURN 3650 IF n < >0 TMN BEEP 0001,30: RNDOMIZE USR n 3652 GO TO 36* REM OEM taa 3801 GO SUB 3*6*: LET sv*l 3802 FOR i s0 TO 1792 STEP 256: B EEP 0002,30 380* LET «HSV )»PEEK (1638*+abC+X + (y+por-yy ) *32+i) : LET svcsv NEXT i: RETURN 3810 REM OEM ven 3811 GO SUB 3*60: LET SV* FOR i*0 TO 1792 STEP 258: B EEP 0002,30 381* POKE 1638* +abc+c ba +X + (y+por -yy-yyy > +32+Í,w (sv) : pqke Raa+ab e+cba+x + íy+por +rop-yy-yyy) *32+i, m (sv) 3816 LET SVsSV NEXT i : RETURN *000 REM BNPUT *001 BEEP 003,40: BEEP 004,20 *002 LET XZ=1: LET yz=l LET a»5 b = li *003 POKE 23624,112: RRNDOMIZEU SR 3*38: PRINT»1RT 1,6"BLS:BU *00* PRINT 81 T 0,2 "Ov Udání k lávesaai " *006 GO SUB 3600 *010 DIM f $ (8, 8) *018 PLOT 95,63: DRU 0,65: DRU 65,0: DRU 0,-65: DRU -65,0 *020 PLOT 94,62: DRU 0,67: DRU 67,0: DRU 0,-67: DRU -67,0 *030 PLOT 93,81: DRU 0,69: DRU 69,0: DRU 0,-69: DRU -69,0 *032 PLOT OUER 0 95,83: DRU OUE R 1 0, 65 : DRU OUER l65,0: DRU OUER l 0,-65 DRU OUER l-65,0 *03* FOR i*l TO 8: PRINT T»+i, b+1 PPER 5 BRIGHT 1 : NEXT i *0*0 GO SUB 3*64: LET i>l *0*4 FOR j=0 TO 1792 STEP 256 *050 LET ppspeek (Raa+abc+x + (y+p or+rop-yy) *32+j) *060 LET í$íi,l)sstr* (PP -128 > s0 *070 IF pp-128>«0 THEN LET pp*pp *080 LET f*(i,2)s8tr* (pp-6*>»0) *090 IF PP-6*>«=0 THEN LET ppspp- *100 LET f*li,3)=str* (pp-32>*0) *110 IF PP -32 > =0 THEN LET PP*PP- 32 *120 LET f*(i,*)=5tr* (pp-16>=0) *130 IF PP 16 > *0 THEN LET ppspp- 16 *1*0 LET f*(i,5)*str* (pp -8 > *0) *150 IF pp~8>»0 THEN LET ppspp-8 *160 LET fsu,6)*str* <pp-*>*0) *170 IF pp-*>a0 THEN LET ppcpp-* *180 LET *(i,7) =*STR* (pp-2>=0) *190 IF pp-2>«0 THEN LET ppapp-2 *200 LET f*(i,8)t=str* <pp-l>»0) *210 PRINT T a+i,b+l PPER 5 INK i BRIGHT 1CHR* (79+64* (í*í i,1) * 1 > ) CHR* (79+6** ( $ ( i,2) "1") ) CHR* (79+64* ( f * ( i,3)» l ) CHR* (79+64* ( f*(i,*) s* l ) ) CHR* <79+6** ( f * (i,5) *'T) ) CHR* (79+ 64* (f*(i,6) *" 1" > ) CHR* (79+6** ( *(i,7)» 1* > ) CHR* (79+6* * ( f * ( i,8 * ) 1 ) ) *212 LET i*i+l *220 NEXT j *230 LET C*bXNKEY* *235 IF C * * *' C THEN GO TO *000 *236 IF C *"C THEN BEEP 002,30 003,*0: LET S**"0000 : G O SUB 3118: GO TO *002 *2*0 IF c**"5" THEN BEEP 001,XZ + l*yz+l: IF XZ >1 THEN LET XZ=XZ- 1: LET Ssl: LET 00*1: GO TO * mikroelektronika *250 IF c*b"6" THEN BEEP 001XZ +1*1 +y z IF yz <8 THEN LET yz*yz + 1: LET Ss2: LET nosí GO TO *310 *260 IF c**? THEN BEEP 001, XZ + l*l+yz: IF yz > 1 THEN LET yz=tyz-, 1: LET S*3: LET no=l: 60 TO *310 *270 IF C *» 8 " THEN BEEP 001,XZ + l*y Z + 1 : XZ <8 THEN LET XZ*XZ + 1: LET So*: LET no»l: GO TO *310 *280 IF C*b,, 0 THEN BEEP 004,30 : GO SUB *380 *290 IF Cís-q" THEN GO TO *800 *300 GO TO *350 *310 IF S =1 THEN PRINT OUER 1 P PER 5 INK l BRIGHT 1T a+yz, b+xz+l" " *320 IF s»2 THEN PRINT OUER 1 P PER S INK 1, BRIGHT 1T a+yz- 1, b+xz " *330 IF S*3 THEN PRINT OUER 1 P PER 5 INK 1 BRIGHT 1T a+yz+ l,b+xz " *3*0 IF s*4 THEN PRINT OUER 1 P PER 5 INK 1 BRIGHT lt a+yz, b+xz PRINT OUER lt a+yz,b+xz FLSH i BRIGHT 1 *370 GO TO *230 *380 LET d*=screen* (a+yz,b+xz) *390 IF d*b 0" THEN PRINT T a+y Z, b >XZ "(j" : LET f * (yz,xz) «"1 : R ETURN 4*00 IF d*= " THEN PRINT T a+y Z, b+xz 0 : LET f * (yz, XZ ) s 0" : R ETURN *802 GO SUB 3*60: LET i *1 *808 FOR js0 TO 1792 STEP 256 *812 POKE Raa +abc +cba+x+ (y+por +r op-yy-yyy) *32 + j, UL C BIN "+f*(i ) ) *816 BEEP 002,4+ i LET i»i+l *818 NeXT j *820 RNDOMIZE USR 3*38: PRINT # 1 T 0,1 'Pozice kurzoru x* x y =" y +po r *82* PRINT»! T 1,1 "Chceš pokr aovat v zápisu /N 7 *826 IF INKEY *» n " THEN BEEP 00 8,3 BEEP 009,10: GO SUB 4360: 60 TO 2820 *828 IF INKEY**- 4 THEN GO SUB * 8*0: GO TO *83* *830 GO TO *826 *832 LET x*x + l 4-83* FOR W*8 TO O STEP -1: BEEP 0 01, RND + 10-* : w *835 GO SUB *860 *836 PRINT BRIGHT 1 FLSH ti OU ER 1 PPER 8 INK 8 T y+sk+por, X : PRINT OUER 1 INK 8 PP ER 8 T y+sk+por- (1 ND x*0)-(21 ND x *31 ND y *21) X, -1+ (32 ND X *0) - (21 ND x *31 ND y«=21) GO TO *002 *8*0 IF X*31 ND PO r *2 THEN LET X*0: LET y *0 : rop*0: LET por =0: LET a bc *0 yy*0: : GO SUB 3312: GO SUB 3232: RETURN *8*4 IF X*31 ND V+roP>=21 THEN LET X=0: GO SUB 3284: RETURN *8*8 IF X *31 ND y + rop<21 THEN L ET x *0 : LET y=y+l: RETURN *850 GO TO *832 *360 GO SUB 3312: POKE 2362* PEE K (Raa +6200) *86* IF POral OR por *2 THEN RND OMIZE USR 3190: RNDOMIZE USR *865 RETURN 5000 REM HELP 5002 CLS 5010 PRINT '"9RU: - znna bare vných paraae- trú v celé obrazovce" _ 5020 PRINT "BOPY - tisk na ZX printru, všech 2* ádek" 5030 PRINT ' BEL : - S CRPS SHI FT naže dis- play fite se SYMBOL SHIFT aaže atlributy 50*0 PRINT '"SXCH: zovky 5050 PRINT 'BNPUT: u obrazu ly HLS-vra vyaaz? UIT-ZPt i se tr - znna obra dam S CPS SHI FT a znakové ho dnoty 5060 PRINT ait 0,7 "stisknte k lávesu" 506S PUSE CLS 5080 PRINT ' "ffieu : - s CPS SMI FT naze koap- letní obra zovku" 5090 PRINT ' OEM FT - záznaa - S CPS SHI Pix ty na p ozici kurzoru do aezipaa ti se SYMBOL SHIFT ZáPiS z paati d o obrazovky" 5100 PRINT ' BUER - aíchání ob razovek 5110 PRINT ' BUIT - návrat do h lavni nabídky 5120 PRINT '"SOLL - posun obra zu do sarú kurzorovýc h kláves S CPS SHI FT inkoust Se SYMBOL SHIFT attr i 5130 PRINT - buty, ttl T 0, 7 "St i Skn te klávesu" 51*0 PUSE 0: GO TO CLER 39999: LOD CQDE RUN 7000 REM UDG 7001 REM áždéczlíiúsúftóršcú BCDEFGMIUKLMNOPORSTU 1 REM SKICK StrojkOd + UDG 10 FOR i *6*599 TO 6553* 20 REO a : i, 30 NEXT i 110 DRTR 2*3,006,192,033,000,06 *, 205, 178, 01*, 201,033, 255, 087, , 026,119,121, 230, 007, 25*,001,03 2,002,151,018,0*3,027,016,2*1,01 3,0*0,021,121,230,007,254,000,0* 0,024,254,007,032225,213,017,00 0, 007, 167, 237, 082, 289, 02*,215,20 9, 225,021, 037, 12*, 25*, 079, 200, , 082, 235, 225, 02* 193, 033, 223,09 0,017, 255, 090, 001, 22*, 002,237,18 4,062,056,806,032,018, DTR 016,252,201,017,032,00 0, 00*,025,016, 253, 065, 035,016, , 237, 18* 225, 209, 193, 120, ,23 4, 2* 1, 067, 119, 0*3, , 201,01 7, 86* 183, 833, 000, 06* 001, 000, 02 7, 237, 176, 201, 017, 06* 183, 033, 00 0, 06* 006, 027, 197, 006, 000, 800, 00 0, 000, 026, 000, 000, 000, 119, 035, *3,193,016,237,201, *, 006, 027, 19 7, 006, 800, 126, 2*5, 026, DRT 2*1,018,035,019,016,2* 6,193,016,2*0,201,033,000,064, ,035,016,2*9,193,016,2*3,201,01 *, 06*, 033,015, ,026, 001,06 9,213, 197, 067, 062, ,215,124,21 5,122,215,121,215,020,016,2*4, ,087,087,033,000,088,006,003,19 7, 006, 080, 126, 230, 2*8, , ,016, 2*8, 193,016, 2*2, 201,062, *0 DT 197,006,000,126,230, , 119,035,016,2*8,193,016,2* *, , 011, 120, 177, 832, 2*6, 201, 033, 00 0, 06* 085, 062, , 031, 035,09 4, 0* 3, 115, 035, 016, 2*9, 11* , 032, 2*2, 201, 033, 255, 087, 022, 00 0, 062, 192, 006, 031, 0*3, 09* 035, 1 5, 0*3, 016, 2*9, 114, 0*3, 061, 032, 2 * ,183,203,022,8*3,016,251,013,03 2, 2*5, 201, , 06*,01* 150 DT 192,006,032,183,203,03 0, 035, 016, 251, 813, 032 2*5, 201, ,151,818,019,035,016,2*3,213,01 7, 22*, 000, 025, 227, , 225, ,017, 22*, 007, 167, 237, , , 22*, 007, 167, 237, 082, 235, 225, 12 1, 230, 063, 25*, 800, 032, 806, 062, 00 7, 132, 103, 02*, 187, 25* 001, 032, 18 3, 062, 007, 130, 087,121, 25* 160 DT 001, ,033,00 0, 088, 002, 056, 01*, 02*, 006,031,03 5, 89*, 0*3, 115, 035, 016 2*9,119,03 5,013, 032, 2*2, 201, , 098, 06 2, 056, 014, 824, 006, 031 0*3, 094, 03 5, 115,0*3,016,2*9,119,0*3,013,03 2,2*2,281,833,832,088,017,000, ,001, 22*, 002, 237, 176, 062, 056, ,151,018,027,0*3,0162*3213, *, 080, 167, 237, 082, DT 167,237,082,235,225,01 3,121, , 807, 25* 008, 032, 008, 2 3, 017, 22*, 007, 825, 209, 02* 011, 25 4,001, 032, 007, 229, 033, 22*, 087, , 006,124,21*, 007, 103, 02*, 188, 25 4,081, 832, 18*, 122, 21*, 007, 087, 12 1, 25*,001, 032, 175» 281, 033, 000, , 026,119,121, 230, 007, 25*, 08 1,032,002,151,018,035,019,816,2* 1,013,0*0,019,121,230007,254,00 0,0*0,022, 25*, 007, 032, DT 213,017,000007,025,28 9, 02*,217, 209, 225, 028, 036, 12*, 25 *, 072, 832, 20*, 201, 229, 833, 000, 00 7, 025, 235, 225, 82*, , 008, ,120,177,032,2*7,201,033,000, *, 062, 008,119, 035, 0 1,120,177,032,2*7,201198,030, * 0,816, 12*, 808,016, 032, 12*, 000, 02, 088, 828, , 032, 028, 000, 00 0, 085, 006, 060, 066, 068, DT 080,008,016,056,068,12 0, 06*, 060, 000, 868, 060, 066, 06*, *, 066, 068, 000, 060, 126, 00*, 008, , 060, 08*, 056, 008, 016, 008, 0*8, *, 068, ,068, 120,000,0*0,016120,068, * 066, 066, 12 *, 068, 066, 080, 0*0, 016, DT 068, , 060,000,02 0, 008, 028, 032, 032, 032, 032, 000, 0* 0,016, 056, 86*, 856, 00*, 120,000,01 0,020,016,856,016,016,012,000,81 6, 800, 068, 068, 868, 068, SUE 'C 0 de"code 6*599, UERIFY "COde-CODE 6*599,936

67 _ 1 Miloš Skopec, U SantoSky 11 ISO 00 Praha 5 Program NLOG 21 umožuje použit poíta Sord MS jako logický asový analyzátor (k poítai musí být pipojen modul Basic F a EM-5) Umožuje záznam a zobrazeni asových prbh osmi nezávislých logických sign^ú metodou vzorkováni Tato metoda a její nevýhody je podrobn popsána v [1] Pi záznamu te poíta v uritých asových intervalech (doba vzorkování, Tv) data ze vstupního portu a ukládá je do pamti (24 kb) Po naplnni pamti lze zobrazit asové prbhy signál na obrazovce ve tvaru asového diagramu Pi záznamu je možno volit vstupní port, vzorkovací dobu, podmínku zaátku nebo ukonení záznamu a typ záznamu (se spuštním nebo s ukonením) Pi zobrazování se lze procházet" celou záznamovou pamtí, mit délku asových úsek a kmitoet jednotlivých signál, automaticky vyhledávat rzné kombinace úrovní atd Zaznamenaná data se dají uchovat na magnetofonové kazet Bhem zobrazování je uživatel prbžn informován o okamžitém ase a logickém stavu Program se skládá ze tí dílích program, které se postupn nahrají do poítae První program inicializuje systém, definuje pedlohy znak, obsazení VRM atd Dále nahraje druhý program ve strojovém kódu (1 kb), koná! i LOGICKÁ ZEM ~ 2x MH B0 il B1 12 B2 13 B3 DO Dl DC S \gnd Ucc 1 J5 10 BO B2 13 B3 DO Dl \02 D3 DC GND zásuvka pro JOY Sord M5 J-3 - J- J-2 J-i spojit se zemi u Sord M5 -stínni zásuvek JOTnebo kolik 2 zásuvky PHNTER JB-3 -JB-1 JB-2 JB-4 tisk údajú T, dt, STV Obvod k pipojení mených obvod k poítai který je uložen od adresy 7900H a obsahuje pomocné rutiny pro záznam a zobrazení Nakonec nahraje vlastní obslužný program, který je opt v BSICu Ten zajišuje ve spojení s podprogramy ve strojovém kódu všechny funkce logického asového analyzátoru Parametry analyzátoru: Doba vzorkování: se spuštním 6,14»is, 20 hs až 566,7 ps (krok po 2,22 ys), s ukonením 31,1 až 566,7 tis (krok ' po 2,22 ys) Poet kanál: 8 Rozsah záznamové pamti: 24 kb Podmínka spuštní nebo ukonení: lze zadat u jednotlivých kanál log 0, log 1, nebo bez významu Po nahrání všech tí ástí programu se program ohlásí nápisem REDY Nyní mžeme bu spustit záznam, zobrazit asový diagram nebo pracovat s magnetofonem Pi funkci záznam nastavíme nejprve vzorkovací dobu pomocí kurzorových šipek Nastavená doba se prbžn zobrazuje vlevo nahoe Po nastavení požadované doby stiskneme RETURN Poté uríme, zda chceme podmínku (a/n) a (píp) tuto podmínku v binárním tvaru Nakonec vložíme adresu vstupního portu (pozor dekadicky, nebo ped hex íslo napsat znak &) Prakticky pipadá v úvahu port &50 (analýza signálu z magnetofonu) a port &37 (pro použití micího interfejsu viz obr) Pi Tv=6,14 fis lze pro testování nebo demonstraci použít port 1 (íta CTC #1) Nyní, pokud máme nastaveno spuštní podmínkou, se spustí záznam po splnní této podmínky nebo po stisknutí tlaítka RESET Pam se zaplní vstupními daty a vypíše se opt RÉDY Nyní máme opt možnost si vybrat z hlavního menu Pokud bylo nastaveno ukoneno podmínkou (Tv<0), pak se po zadání portu nejprve zaplní celá pam daty (na vyšších rozsazích to trvá až nkolik sekund) a pak se teprve testuje stisknutí RESET nebo splnní ukonovací podmínky Bhem toho se pam stále cyklicky plní dáty Po RESET nebo splnní podmínky se záznam zastaví a opt se vypíše REDY mikroelektronika 67

68 spoítej hrany mezi point a zn tisk f tisk f *0 vykonej zmnu polohy a stavu vstup hledaného stavu ekej na stisknutí ehokoli Pi funkci zobrazení se na obrazovce objeví asové prbhy signál Uprosted obrazovky je svislá perušovaná ára ukazatel Pi levém kraji obrazovky se nachází podobná ára znaka Ukazatelem mžeme pohybovat tlaítky a : Znaku mžeme umístit na žádanou pozici tak, že na mikroelektronika tuto pozici umístíme ukazatel a stiskneme tlaítko z Tím umístíme znaku na toto místo Tlaítky + a * se mžeme s obrazovkou pohybovat" po paméti, tlaítka «- a -> se používají pro rychlejší pohyb po osmi bodech a konen tlaítka < a > umožní pohyb vped nebo vzad o celý rozsah obrazovky (256 bod) Vlevo od ukazatele jsou zelená ísla, oznaující íslo signálu Vpravo je íslo, které uruje okamžitou logickou úrove v míst ukazatele ervená jednika nebo tisk I NENLEZENO!! ekej na stisknutí ehokoli pesu tam pointer

69 ' ' i ' ' ' = H ( modrá nula Na kivkách jednotlivých kanál je log 1 vybarvena erven, log 0 mode a hrany žlut Nahoe na elním panelu se prbžn zobrazuje okamžitý stav v míst ukazatele v hexadecimálním tvaru Pod ním je zobrazen as v milisekundách v míst ukazatele a délka intervalu mezi ukazatelem a znakou Pomocí tohoto intervalu lze snadno mit délku impuls nebo posun hran jednotlivých signál Dále umožuje analyzátor v režimu zobrazení tyto funkce: t po zadání asu v milisekundách se penese ukazatel do píslušného místa, z umístí znaku na místo, kde je ukazatel, c penese ukazatel na místo, kde je znaka, b umístí ukazatel na zaátek pamti, k umístí ukazatel na konec pamti, s po zadání stavu (dekadicky nebo &hex) pesune ukazatel na první místo, kde je tento stav Prohledává se od místa kurzoru do konce pamti, f po zadání ísla kanálu vypoítá prmrný kmitoet signálu v intervalu mezi ukazatelem a znakou (vetn jejich poloh) Kmitoet se vypoítá z potu hran v tomto intervalu, proto je vhodné pro vtší pesnost nastavit jak ukazatel, tak znaku na hranu u toho kanálu, kde chceme mit kmitoet e ukoní režim zobrazení a umožní opt výbr v hlavním menu Poznámky k použití programu: Protože program mní obsah nkterých systémových promnných a uspoádání VRM, je vhodné po skonení práce s ním inicializovat systém (CLL 0, vypnutí poítae) Pokud chceme bhem programu pejít do B- SlCu (nap zmna rychlosti nahrávání na MGF), lze tak beztrestn uinit v režimu hlavního menu po vypsání REDY CTRL+RESET Pokraovat stisknutím v programu lze píkazem CONT Upozoruji, že druhý program v BSIGu není v pamti umístn jako obvykle od adresy 77F2H, ale kvli strojovému programu se nahrává od adresy 8001 (zajišuje inicializaní basicový program) Závér Popsaný program prokáže velmi dobré služby pi analýze a optimálním nastavení signálu z magnetofonu a pi oživování rzných periférií a jiných íslicových zaízení, kde se nepoužívají kmitoty vyšší, než asi 100 khz (nap dálnopis, /D pevodník s C 520D ) Literatura [1] Úvod do techniky logických analyzátor Roenka sdlovací techniky Praha 1987 Seznam promnných hlavního programu a jejich význam: celoíselné: CTC asovai konstanta pro a- sova pi záznamu (8 áž SIGN 255), 1 startovací podmínka, 0 ukonovací podmínka, G poet míst za desetinnou árkou pro tisk asu (2 až 4), HL poloha obrazovky v pamti &0O0 &FFFF, poloha znaky &000 &FFFF, v pamti X x-ová souadnice ukazatele T Q na obrazovce (0 až 255), pomocná promnná, podmínky startu nebo konce 1: záznamu (0 až 255), maska podmínky startu nebo konce záznamu (0 až I C 255), parametr cykl, íslo vstupního portu (0 až 255) reálné: BSE# vzorkovací doba v milisekundách 5667E-3 až +5667E-3, T# pro vstup asu etzcové: $ pro vstup povel, B* pro vstup podmínky v binárním tvaru 1000 ' lei ' ' 1090' 1060' 1070' 1080' Iniciál LOGICKY SOVÝ NLYZÁTOR SCOPWRE COPYRIGHT 1987 VERZE 21 zrnem systému 1090' 1100 ' 1110 type inticlear 25&,69FFC:poke 6701, 694:poke 67035, 3:poke 69FFD ' 1130' Inicializace VRM 1140'»*» 1150' 1160 print UZSTVTR" i cal 1 60E01,0,61000,,60800t cal 1 60E0161E ,,0>csll 60 B81,,,62000, call 60E01,0,60800,,62 C00: cal I 60860,, FFF: cell 60E01, 6FF00, ,, pokew 670BD, pokew 67090, ' 1190' Inicializace barev 1200 ' 1210 ' 1220 for I-60C00 to 613FF step vpoke I,681,6S1,6B1,6B1,6B1,6B1,6B1, nejit I 1290' 1260' Inicializace GII obrazovky 1270' 1280' 1290 K-6S far to 63FF step for J-I to I+61F 1320 vpoke J,(K and 6FF> 1330 K-K+l 1340 next JI 1390' 1360' Definice znaku a spritu view 0,0,31,7:cls:X« for I-62 to 6CB: stchr to Zsnext 1410 stchr to 60tstc hr " " to 6l:*iag for 1 16 to 31:scod I,60iscol 1,15 +<I >23) i 1 oc I to X, 64+16*11 mod 8)snext 1430 stchr " to stchr to stchr " to 6D 1460 Stchr " to 6B stchr " f00000" to 6B stchr "00e020e020e stchr a0f to 6B9 to 6BD 1500 stchr 00e080e020e00000" to 6C stchr "006080e " to 6C stchr to 6C for 1-0 to 7iscod 1,4*I+6Ct seol I, 2: loc I to X-8,64+16*I:next 1540 for 1-8 to 15scod I64sscol 1,4:1 oc I to X, 64* 1 6* I < -8 ) J nex t 1530 stchr "002040fe " to 6e2,l 1560 stchr 000S04f to 683, stchr to 681, stchr " 3c 4299a 1 a c to 680, stchr to 684, stchr to 685,0 1610' 1620' Tisk obrazovek 1630' 1640' 1650 print "W STV : 00Q1» SCOPWRE 1987 WW T» 0000 ms^dt msw rptb(3 2,"- )í Menu : <+ : *4> t,b,k, s,c,z,f,e "icursor (0,7) jrptsf (32, ) KC 1660 print i"iicall 60C print "X <v J vl -viy LOGICKY SOVÝ NLYZTORWr srpth (38 - > 5 71 Tv- 00 P < usl X II X*-! ) rptfi (38, ) j J t rptb (38, >? " print "I 1X6 x -vil lli rsp ÚSTNI U II IIII lli l,s,v LOD, SVÉ, VER IFY II U /vji III e ZOBRZENI II II IIII 16 S rptb (38, ) view 0,16,39, ' 1710' Basic od 8000H, nahraj cm a CHIN 1720 ' 1730' 1740 poke 63001,6FF: pokew , , told Lmcset?": Chain 1000' LOGICKY SOVÝ NLYZÁTOR ' Pocatecni inicializace 1050' 1060 CTC-9: BSEb-0 02ti SIGN-1 i G cis: on 1080 error gosub HERR:goto BEXIT 1090' Horky start zobrazovaní BHQT 1120 HLLB-6000: X-128: goto BZOBR 1130' 1140' Smyka zobrazovaní 1150' BLOOP 1170 print cursor (8, 1) : r ightb (hexfi (peek HL+X) ),2)? cursor (3,3) s numfi ( (HL+X+65FFF+S IGN-1) *abs(bse#>,s-g,g) scursor (19,3)?nu mfi( (HL+X-LB)*BSE#,8-G,G> 1 180HKEY: fi«i nkeyfi 1190HCOMMND 1200 if S«" then goto SKEY cl se if Sthen goto SSPD else if S-":" then g oto SSPI else if then goto BEST e lse if B= *" *" then goto BSST else if ftthen goto BFBS else if then g oto HFSS 1210 if fi«"<" then goto BPGD else if fi =">" then goto BPGI else if fl»"t" then goto fitihe else if fi=» s" then goto BSE R else if S- "e" then goto BEXIT else if B«"e" then goto BCR else if B= z th on goto BZNC 1220 if B f then goto BFRQ else if fi *"k" then goto BKONEC else if H-"b the n goto BBEG1N else goto HKEY 1230' 1240' Posunuti pointeru vlevo BSPD: if X<1 then X-2S5 else X-X-l 1270 cal 1 67E0,,,,X: cal 1 L+X) i goto BLOOP 67FC,,,peek (H 1280' 1290' Posunuti pointeru vpravo 1300' 1310BSPI : i f X >254 then X-0 else X-X+l 1320 cal 1 67E0,,,, X : cal 1 67FC,,, peek (H L+X) : goto BLOOP 1330' 1340' Posunuti obrázku vped 1350' 1 360BSST : i f HL >-257 then goto BLOOP else HL-HL+1 i cal 1 679E,, LB-HL,HLi cal 1 FC,, peek CHL+X): goto BLOOP ' 1380' Posunuti obrázku vzad 1390' 1 400BBST : i f HL< then goto BLOOP el se HL-HL-1 : cal 1 679E,, LB-HL, HL:caI i 6 7FC,,, peek (HL+X) : goto BLOOP 1410' 1420' Posunuti obrázku vped o osm bodu 1430' 1440WFSS: i f HL>-264 then goto BLOOP else HL«HL+8:call 67B61,, LB-HL, HL: cal 1 67 FC,,, peek (HL+X): goto BLOOP 1450' 1460" Posunuti obrázku vzad o osm bodu 1470' 1480SFBS: if HL< then goto BLOOP el se HL**HL-8:call 67B8,, LB-HL, HL: cal 1 6 7FC,,, peek (HL+X) i goto BLOOP 1490' 1500' Posun o obrazovku vped 1510' - f mikroelektronika 69

70 , ( : > ) HP6I : if HL > then goto HLOOP eis* HL-HL+256:call 679E,,,LB-HL,HL:cal 1 6 7FC,,,peek (HL+X) sgoto HLOOP 1530' 1540' Posun o obrazovku vzad 1550' 1560HPGD: if HL< then goto HLOOP el se HL=HL-256:call &79E,,,LB-HL,HL:cal 1 67FC,,,peek (HL+X) igoto HLOOP 1570' 1580' Umístni pointeru na konec 1590' 1 600HKONEC : T 65FFF : goto HPRENOS 1610' 1620' Uaisteni pointeru na zacatek 1630' 1 640HBEG I Nj T 0: goto HPRENOS 1650' 1660' Umístni znaky pod pointer 1670' 16S0HZNC: LB-HL+X : goto HZOBR 1690' 1700' Peneseni pointeru na znaku 1710' 1 720HCR 3 T-LB ' 1740' Penos pointeru na uritou pozici 1750' 1760HPRENOSI X-128: i-f T<128 then X=X-(12B -T) else i-f T>65F7F then X-X+T-65F HL«T+6000-X:goto HZOBR 1780' 1790' Peneseni pointeru na daný cas 1800' 1810HTIME: view 0,6,31,6s input "T Cmsl - " T#: view 0,0,31,7: i-f T#<0 and SIGN-1 or i T#>0 and SIGN-0 or abs(tft) >abs (65FFF*B SE#) then goto HTIME else T-eint (T#/BSE# >sif S1GN-0 then T T+65FFF 1820 goto HPRENOS 1830' 1840* Hledaní daného stavu 1850' 1860HSER: view 0,6,31,6s input "Stav - Tsif T<0 or T>255 then goto HSER 1870 cail 67B1F,256*T,6FFFF-HL-X+1,,HL+X s i-f ( <reg (0>mod 256)and 640)-0 then print Nenalezeno!6 s igoto HCEKEJ 1880 T-reg (3) i view 0,0,31,6:goto H PENOS 1890' 1900' Zobrazeni obrazovky a pointeru 1910' 1920HZOBR: cal 1 679E,,,LB-HL,HL:call 67 E0,,,, X: cal 1 67FC,,,P**k (HL+X) s goto HL OOP 1930' 1940' Vstup do povelové obrazovky 1950' 1960HEXITB print 11 KUVLREDY ** 1970HEXCOHsH i nkeyh: i-f H«M " then goto HEXCOH else i f H«"e" then goto HRET eis e if H-V then goto HRUN else if H- 1 then goto HLOD else if H- s then go to HSVE else if H-"v then goto HVERIF Y else goto HEXCOH 1980' 1990' Navrat do zobrazeni 2000 ' 20 10HRETs print "KU igoto HHOT 2020 ' 2030' Nahrani dat na magnetofon 2040' 2050HSVE: input WJmeno souboru : " Hiif l*n(h>>9 then goto HSVE else savé "cmt:"+h,69ffd,6ffff:gato HEXIT 2060' 2070' Kontrola správnosti nahravani mgf 2080' 2090HVERIFY: input " <vwjmeno souboru t ihsif len<h)>9 then goto HVERIFY else verify Hsgoto HEXIT 2100 ' 2110' Nahrani dat z magnetofonu 2120 ' 2130SLQDs input v 4Jaeno souboru t Hiif len(h)>9 then goto HLOD else old "cmt: "+H: CTC-peek ( 69FFE ) : SIGN-peek <69FF D) 2140 if abs <CTC> >8 then BSE#*CTC* E-3# else BSE*= # 2150 if SIGN-0 then BSE* BSE# 2160 viewsprínt cursor ( 5,3) numh < 1000*B SE#, 4, 2) : view 0, 16,39, 23cgoto HEXIT 2170' 2180' Spuštni sbru dat 2190' 2200HRUN 2210 print "Jftlastav Tv <,s,return> 2220HDISPTVs viewsprínt cursor <5,3) i numh 1000*BSE#,4,2) 2230HDJTV: H-inkeyHsif H-"" then goto HDJTV else if ascii (H) -13 then goto H HOTOVO 2240 if H-"»" then if SIGN-0 and CTC<25 5 then CTC-CTC+1 else if SIGN-1 and CTC> 8 then CTC-CTC-1 else if SIGN-1 and CTC- 8 then SIGN-0: CTC mikroelektronika 2250 if H : then if SIGN-0 and CTC>14 then CTC-CTC-1 else if SIGN-0 then SIGN -lsctc-8 else if CTC<255 then CTC-CTC if CTC-8 then BSE* # eis* B SE#«CTC* E-3# 2270 if SIGN-0 then BSE# BSE# 2280 goto HDISPTV 2290HHOTOVO 2300 poke 69FFD, SIGN, CTC» if CTC<19 then G-4 else if CTC<184 then G-3 else G ' 2320' Vstup a vypoet podmínky 2330' 2340HPODH s Q, E 0 ivl ew 0, 16,39,23: input "Ji -vmpodmink : ía,n),c8x{0,l,x> 3 s H,B H 2350 if H- n then BH-rptH (8, - ) :Q«6FF sgoto HDISPOD 2360 if len <BH) < >8 then goto HPODH 2370 for 1-0 to H«midH <BH,8-I, if H= M 0" then E=E+2"I:goto HDLSI 2400 if H 1 " then E-E+2"'I :Q«Q+2^I i goto HDLSI B 2410 if H< x then HDLS I : nex t I 2430 if 1=10 then goto HPODH 2440HDISPOD: view: print cursor <20,3)sBH:v iew 0,1639, ' 2460' Vstup vstupního portu 2470' 2480HINPORTS input " KWXWXPORT s C 2490 if C<0 or 0255 then goto HINPORT 2500 viewsprínt cursor <34,3) r i ghth (hexh (C),2) : view 0,16,39, ' 2520' Vlastni spusteni sbru dat 2530' 2540 print Wa <w a a wwcekam na spusteni :if H= n then print RESET else print podmiffwfnkou 2550 if SIGN 0 then call 67BFF,, CTC*256+ C,Q*256+E eis* if CTC>8 then call 67900,, CTC+256+C, Q*256+E else if H-"n then c all 678F,, C eis# call 67962,, C, Q*256+E 2560 poke 69FFF,peek (6000) : goto HEXIT 2570' 2580' Mereni kmitotu 2590' 2600HFRQ 2610 if HL+X LB then goto HLOOP else vi ew 0,6,31,6: input Linka {07J - jtsif T<0 or T>7 then goto HFRB else if HL+X> LB then call 67BDD,T*256, HL+X-LB+l,L B eis* call 67BDD,T*256, LB-HL-X+l,HL+X 2620 if reg(3)<2 then pokew 67268, print f T s -»numh(reg<3)*500#/a bs (BSE#) /abs (LB-HL-X),7,2) Hz» 2640' 2650' Cekáni na stisknuti klávesy 2660' 2670HCEKEJ : repeat s H-i nkeyhs unt i 1 H< >* 2680 printsview 0,0,31,7: goto HCOHHND 2690' 2700' Obslouženi chyby INPUT nebo CHT 2710' 2720HERR:if err»25 then résumé else if e rr 18 then print "WGCHYB HGF! ssleep 1 s résumé 2730 print "Err err s "in"? errl f LOGICKY SOVÝ NLYZÁTOR SCOPWRE COPYRIGHT 1987 ORG 7900H OSP EDU 7FEFH STOS S SBR DT OD 20 MIKROSEKUND S VSTUP : B konstanta pro CTC C vstupní port s D startovací podmínka E maska start podm l STRT: CLL BEGIN P0DH1 IN,(C) s vstup dat ND E s maska XOR D s podmínka? JR Z, SPL sáno IN, (S0H) RLC SPL: JR NCPODHl s nebyl o RESET B OUT (02H), skonst do CTC,81H DI pro VDP OUT ( 1 1H>, OUT (11H), s do Rt VDP El 3 pro CTC #2 XOR 3 HLT : HLT 3 cekej na INT JP NZHLT snni konec BEGIN: CLL POP RET KONEC HL 5 obnov HL Dl uz je-zakaz POP DE S vyber n avr adr SP, (OSP) pvodní SP PUSH HL sposledni adres PUSH DE jnavratova adr 0E0H EI pro VDP CLL 01C2H SCTCINT DUT < 1 1H),,31H do R1 VDP OUT ( 1 1H>, CLL 0C3H jvregi CLL 01DFH S CTC3SP RET INI seber data CP H 5 H 07 El zas povol RÉTI i a zpátky Dl sinicializace 43H Dl pro CTC OUT (00H), ctc #0 OUT (01H), ctc #1 OUT <03H>, sete #3 0C7H sete #2 bude OUT (02H), 3 v modu citac HL, INTCT2 s adresa (7004H),HL sppgm sbru POP HL s navrat adr (OSP),SP s schovej SP SP, OSP 2 novy SP PUSH HL suloz nav adr RET RYCHLY SBR DT 6 14 HL0000H s zacatek RM spro data HIKROSEK 5 VSTUP s C VSTUPNÍ PORT 3 D STRTOVCÍ PODMÍNK ' E MSK 3 === == INIT : Dl izakaz INT HL, 0000H s odkud RM B, x LOOP: IN, (C) 3 data ND E maska CP D SPodminka JR NZLOOP 3 jest* ne FSBERi INIR 3 vlastni sbe» RET NZ 3 -instrukce INIR 3 INIR a RET NZ RET NZ 3 se opakuji INIR 3 192x RET NZ INIR RET NZ INIR RET NZ INIR RET NZ INIR RET NZ INIR INIR RET NZ RET NZ INIR RET NZ INIP RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR INIR RET NZ RET NZ INIR RET NZ INIR RET NZ INIR REB NZ INIR RET NZ INIR El 3 povol RET 3 - a je to

71 , i io ' (HL) 87 j trychly SBR DT BEZ PODMÍNKY 5 DD D 5 VSTUP s C port CLL 0454H D 3 «E«*«a3ii DD FSBRES* Dl jzakaz INT ' CLL 0445H jcísla spritu 5 vypoti jstscod c spritu J vypoti jstscol 1 HL0000H s odkud RM BD parametr B0 * 256:: DJNZ PREV B:< FSBRE1: 1N (S0H) RET konec RLC lbylo RESET? 5 JP NCFSBRE1 nebyl TREDL: DB 04H05H, 8SH 08H JP FSBER * sbírej? D Jbity zpt EX FF 'jposledni znak BC j citac radek DJNZ LSUN81 J dal si radek DE, 248 J posl *d sl oupec DD IX DE vpravo E1FH Jto je on JR SKONI t dokoni POSUN OBRZOVKY VPRVO 0 8 ZOBRZENI JEDNE OBRZOVKY HLEDNÍ a OD hl DELK-bc VSTUP * Jako LSUN8 scophare /C/ 1987 HLEDEJ: Dl jzakaz INT VSTUP i DE adresa znaky CPIR jhledej HL odkud zobrazit El J povol INT RET J vrat se OBRZ 0BR1* J Dl PUSH PUSH POP CLL INC BIT JR POP CLL RET ZOBRZENI ZNKY DE HL IX E0 OBRSLO E 5E Z OBI Sn J VSTUP! «poloha znaky J tzakaz INT jadr znaky s odkud- >IX jod 0 sloupe* sloupa jdal si j všech 32? j jeste na i adr znaky I zobraz znaku j hotovo ZOBZN* H jhl >255? OR JR ZDRM3 jneni HL-l j nekresl DRH3* 31 jod spritu PMOVE* PUSH B 8 BC j 8 spritu PUSH HL PUSH F CLL 042BH jgtspos POP F POP HL PUSH F CLL 03CEH jmvsp POP F RESULTi S } POP BC DEC jdalsi ser: DJNZ PMOVE jsx El RET povol! navrat INT DS POSUNUTI SPRITU PO OSE X jpro vypocty s VSTUP : HL nova x-ova sour j ZOBRZENI JEDNOHO SLOUPCE < 8bit> J OBRSLO* TRNS1: TRNS2: DRNÍ* DRN2: E cisto sloupce IX odkud v parnati PUSH CLL DD ND RLC RLC RLC XOR RRC RL INC RRC RL INC DJNZ INC DJNZ, OUT OUT CPL CPL OR OUT INC INC OUT NOP DJNZ INC OR OUT DJNZ POP RET HL3900H jlhroh DE schovej E 14C5H j GBVRH E jvypocat první 1FH j adresy VRM E sloupce SPRSUN*, 23 MOVEl PUSH HL jpocspr PUSH F CLL 042BH jgtspos POP F POP HL PUSH F CLL 03CEH imvsp POP F CP 8 tja 8 sprit*? JR NZMOVl jnani DEB008H jrozdil j POSUNUTI OBRZOVKY VLEVO O 8 SBC HE j poloh x i HOVtí SUB 1 jdalsi sprit# j VSTUP j DE poloha znaky JR NCMOVE j jeste opakuj J HL odkud v pamti RET juz ne 'l-r-timmmwmmnwmmm1 «1i!?? t? LSUNSt PUSH DE f adr znaky 1 PEVOD N BIN TVR PRO SPRITY PUSH HL jodkud-mx > POP IX j VSTUP:: E íslo CLL PRIPR «inicializace j LSUN81 CB j citac radku J mmmmmm*ea*0*eea««eemsa0sa>aenb BE l20h*d*lka rad J LSUN82* INC / jnovy znak PEVOD: B 8 j 8 bitu byt* ND 1FH : modul o 32 l*rev* DB : schovej citac OR D»3 vrchní bity HL, PEDL * Pedlohy CLL 14BDH jpbvrm RLC E INC HL jdalsi znak JR NCPREVt jbit-0 DJNZ LSUNS2 INC HL j druha pedl EX FF * jschovposl ztli INC HL D i3 vrchní bity PREVli C, (HL) jvezei pedl D0 jpro dalsi rad INC HL DD HE : adresa pdr B, (HL) ja ulož ji DD E -r r-r RSUNS* RSUN81* RSUN82* PUSH PUSH POP CLL DEC ND OR CLL INC INC DJNZ EX DD DD EX DJNZ E jlsb->e SKONI* CLL dx-ll * minuly stav POP B, 8 *8 byte JP C B ischovei citac HLRESULT tvysledek I D, < IX) jdata D * hrany PRIPR* Dl B8 j 8 bitu D * vez a i bit jzaroluj CLL HL jzaroluj hrany RET íhl) jdo výsledku HL idalsi vyslad TRNS2 jcel y byte IX jdalsi data D minula data BC icitac bytu TRNS1 jdalsi byte 6CH jasb adr VRM BCB811H jport il a 8x IYRESULT j výsledek LB i schovej citac <C) E j adresu do VDP <C» D, (IY) jdata MERPER* Dl B (IY+í) j hrany INC H : j X úrove L v schovej MERLP* RLC i úrove H DJNZ B j pidej hrany PUSH í 10H), j úrove H POP B 6 j 6x hrany D jdalsi radek MERls IY j piprav XOR (10H) j kesl i hrany INC DEC DRM2 j opakuj 6x ND IY jdalsi data JR H jpridej hrany INC (10H) j kesl i L NEHRÁN* BL j citac OR DRNÍ jdalsi radek JR DE j obnov E El j navrat RET DE HL IX / PRIPR C B BE 1FH D 14SDH HL RSUN82 F,F D D 0 HL DE E D FF" B C RSUN81 E 0 OBRSLO ML ZOBZN adresa znaky jodkud->ix inicializace jnovy znak j citac radku sdelradku«20h Modul o 32 j nejvýš 3 bity jpbvrm adr dal s znaku jdalsi znak jschovposlzn j z vets nejvýš, i 3 bitu ola vypoet adresy jpro dal radek jbity zpt jposlznak zpt j citac radku jnovy radek ji sl zleva kesl i sloupec j adres* znaky j kesl i znaku jzakaz INT HL3900H jadr 1 znaku BB j 8 radku 14C5H : GBVRM DE8B20H * 3b a dslrad jvrat se HERENI PRMRNÉHO KMITOTU VSTUP * linka 0-7 DE délka useku RM HL odkud v RM VYSTUP* HL pqcst hran -I I B0H jzakaz INT i vypoet easky MERLP HL IX»odkud->IX Y HL-l * poet hran-1 C jeaska do C lix-1) * šinul a data (IX) jporse soucas IX jdalsi data SE jcitdsl useku C j zaeasku ZNEHRÁN jnebyl* hrana HL jbyla->zvets D E NZNER1 íde-0? J jeste ne J povol j navrat SBR DT S UKONCOVCI PODMÍNKOU VSTUP t B konstanta pro CTC C vstupní port D podmínka E maska podmínky CLL BEGIN jinicializacs B * ca* konst CTC OUT (02) 81H *DI pro VDP OUT U1H) OUT ( tlh) jrl VDP XOR j*0 El : povol mikroelektronika 71

72 : ) oi ' ' 1 0 FILL: HLT cekej az se JR Z FILL i pam záplni HLUPINT2 plno-zraen < 7004H, HL proced INT HL, 0000H : poat adr RPTs IN, (50H) S smyka cekáni RLC sreset? JP NCRPT nebyl CHLS: CLL KONEC úkone POP HL : adr zaat, dat JR POSUN j posun pamet, UPINT2: EX F, F schovej F IN, <C> data (HL) ulož ND E maska XDR D podmspl nena? JR Z, VEN ano- >skonci EX F, F vrat F INC HL dalsi adresa BIT 7H HL je uz 0? JR NZUP121 5 ne H00H ano- >HL-000 UPI21 El povol RÉTI navrdo smyky VEN: CLL 1S6DH ISNORJ POP DE, zni navradr EX F, F vrat F JR CHLS a vrat se : POSUN USEKU RM 0000H - 0FFFFH VSTUP H1 DRES JEJIZ OBSH PTI N DRESU 0000H POSUN: PUSH HL HL2000H ssehov pedl DE 3000H CLL 0B81H 5 BLKMV2 POP HL Dl zakaz INT 0D0H ípul RM CP H j která? JR CPUL2 $2 pul ka PUSH HL DE6B00H DD HL, DE -0000H HOTOV: PUL2: OR JR CLL Dl POP PUSH SBC EX IR POP DD CLL JR POP JR XDR PUSH EX SBC EX CLL Dl POP DD EX DEC B, H C L : BC-del ka H L Z, HOTOV jnesoupej HL, 0000H D, L E L DE»0 0E61H RM-VRH H,B LB shl-0 DE DE HL, DE B H C L BC-del ka DE HL s HL-odkud DE00O0H BC6000H HL HLBC -0000H B H HC C L BC-del ka LH 5 HL 0E7DH ívrm-rh OBRINI HL OBRINI lcy-0 HL DEHL H L HE B H C L BC-del ka DEHL HL-odkud D E - DE 0 kam 0E61H RM-VRH DE HL60W8H HE B H C L 5 BC-del ka DEHL HL * HL-odkud DE0FFFFH DR EX DEHL XOR CY=0 SBC HE BH CL BC-del ka * INC DE SDE-00BH L CLL H 0E7DH j HL-0-od VRH RM INICILIZCE VRH PO POSUNUTI OBRINI: XOR -0 BC2S00H : nuluj VRH HLBSB0H od barev 2 CLL 0EB1H spdvrh 1EH cer+seda BC0800H HL,0 : bar pro ltre CLL 0E01H jpdvrh DE2000H HL3000H vrat pedlohy CLL 0B81H BLKHV2 Dl z akaz INT HL0C00H CLL 149FH STVWD B0 s barvy pro OB INI: CB 2a 3 tetinu B8 HL BRVY 0BIN2:, (HL) OUT ( 10H), INC HL DJNZ 0BIN2 BC DJNZ OBIN1 El uz povol RET : vrat se BRVY: DB 81H01H01H DB 01H01H01H DB 01H71H END i 1 ' Ing Martin Štpánek, J Jovkova 3256, Praha 4 Multiprocesový operaní systém ZX MULTITSKING pro poítae ZX Spectrum umožuje existentt vfce program v poítai a mže zabezpeit jejich souasný bh Jedná se tedý o nové možnosti používáni sjafcými jsme se doposud setkávali jen u vtších poíta Operaní systém je navržen tak, že pracuie se všemi druhv orooram (BSIC, strojový kód, Pascal atp), pouze se dvma omezeními: maximální yebkoetjednoho programuje bajt místo 48 kb (musí totiž zbýt ješt místo na druhý proces - miramálnél0368 a prostor pro operaní systém) a uživatelským procesm nejsou povoleny nkteré akce, které se týkají režimu perušeni procesoru V systému ZX MULTITSKING mžeme napíklad provozovat, ladit nebo vytváet program na poítai, který poítá zárove jiný program (využití ekacího asu pi dlouhotrvajících výpotech) Další možností je využívání rzných pomocných program pi práci s hlavním programem Jako pomocný program mžeme mít napíklad kalkulátor (viz píloha program KL- KULÁTOR/ZÁPISNlK), kde si provádíme pomocné výpoty a poznámky, aniž bychom ovlivovali hlavní program Velmi výhodnou možností je využití multitaskingu pro elektronický diá, kde jako paralelní proces bží diá, který nás v dob schzek, vzkaz a jiných událostí mže upozornit akustickým signálem a vypsat zprávu na monitor Podstatným rysem operaního systému ZX MULTITSKING je, že uživa- 72 mikroelektronika tel navrhuje programy bžným zpsobem, vytvoené programy jsou zcela normální (bez úprav) a fungují i na poítai bez tohoto operaního systému! Operaní systém ZX MULTITSKING ZX mže pracovat se ZX Microdrive, Interface l, joysticky, tiskárnami a dalšími perifériemi bez omezení ZÁKNÍ POJMY bychom pln využili možností popisovaného operaního systému, musíme si nejprve nco povdt o základních pojmech, se kterými se budeme bhem práce setkávat PROCES je sled inností provádných s uritými daty Procesem zde tedy rozumíme nejen bh vlastního aplikaního programu, ale napíklad i jeho editování, vypisování listingu apod, kdy vlastn bží uritá ást operaního systému v ROM a operuje s daty, kterými je zde náš aplikaní program MULTITSKING je oznaení pro pseudoparalelní zpracování více proces Z hlediska uživatele se zdá, že procesy probíhají zárove, ve skutenosti však procesor stídav pracuje bu pro jeden, nebo pro druhý proces pidlení procesoru procesu znamená, že procesor je pln k dispozici potebám procesu asto íkáme, že proces je obsluhován KTIVNÍ PROCES je proces, kterému je trvale pidlen nebo automaticky stídav pidlován procesor V konkrétním okamžiku tedy mže, ale též nemusí, být procesu pidlen procesor Pokud je aktivních proces více, je jasné, že procesor mže být v každém okamžiku pidlen pouze jednomu z nich PSÍVNÍ PROCES je takový proces, kterému trvale není pidlován procesor Proces je jakoby zmrazen v urité své fázi a nevyvíjí se, dokud se nestane opt aktivním

73 PROCES N POPEDÍ je procesem, který má neustále pistup ke klávesnici, a proto jen s ním mžeme komunikovat Na popedí je tedy v dané dob hlavní proces Dále platí, že na popedí je vždy jen jeden proces PROCES N POZDÍ nemá pístup ke klávesnici standardní rutinou z ROM, takže se mže pouze vykonávat, ale nemže komunikovat Tento fakt pozadí je nezbytný, protože, kdyby mlo popedí i pozadí pístup ke klávesnici, nedalo by se pi stisku klávesy vlastn urit, ke kterému procesu stisk patí (protože oba bží paraleln) Pokud ovšem potebujeme s procesem na pozadí komunikovat, operaní systém nám umožní zámnu popedí s pozadím UCHOVÁVÁNÍ OBRZOVKY PROCE- SU je zachování obrazové informace píslušné procesu nezávisle na procesech ostatních Obrazovku mohou uchovávat oba procesy, nebo jen proces na popedí, pípadn žádný z proces ZPSOB ZVEDENÍ systému Do prázdného poítae nahrajeme program zápisem povelu LOD zxmulti Program se sám spustí a dotáže se nás na nkteré základní parametry Základní hodnota bývá uvedena v závorce za otázkou a pokud s ní souhlasíme, nic nezadáváme a stiskneme jen ENTER Stejné se zachováme, pokud na otázku nejsme schopni odpovdt První dotaz se tyká oddleného uchovávání obrázku, ást pamti urená pro zápis informace, která se zobrazuje na monitoru, se totiž mže, ale též nemusí, uchovávat Pokud se uchovává, má každý proces svou obrazovku Pokud se neuchovává, mají sice procesy obrazovku spolenou, ale mohou se výrazné zlepšit asové charakteristiky bhu obou proces a je k dispozici více pamti Proto, pokud spolená obrazovka není na závadu, volíme radji tento režim Následující dotaz se týká rozdlení pamti mezi procesy Rozdlení pracovní oblasti se dosáhne zadáním délky delšího procesu, která je normáln bajt (bez obrazovky) pi neuchovávání obrazovky a bajt (bez obrazovky) pi uchovávání obrazovky Nápovda nám íká, jak dlouhý má být delší proces, pokud je kratším procesem program 16 kb K rozdlení je nutné ješt podotknout, že proces nemže mít libovolnou délku, ale lze ji nastavovat s krokem 3456 bajt, což je jedna pracovní stránka (úprava zadané hodnoty na možnou se dje automaticky) Pi rozdlení je též vhodné se snažit o maximální rozdíl délek obou proces Tehdy je totiž multitasking nejefektivnjší a procesy bží nejrychleji Posledním dotazem inicializaního programu je doba, po kterou má být proces pidlen po stisku klávesy Pokud jsou totiž oba procesy aktivní, pidluje se jim procesor stídav Klávesnice pitom patí procesu na popedí Pi stisku klávesy ovšem mže být procesor práv pidlen procesu na pozadí a musí dojít k okamžitému pepnutí procesu by pi souvislé práci s popedím nebylo nutné znovu a znovu provádt toto zptné pidlování, zstane procesor bezprostedn po stisku klávesy pidlen popedí na uritou dobu (práv zde zadávanou) Tato vlastnost je zvlášt dležitá pi režimu zachovávání obrazovek, protože jinak by nám pi práci s popedím mohla rušiv problikávat obrazovka pozadí Po zodpovzení otázek se provede inicializace a vytvoení dvou prázdných proces K dispozici je nejdíve menší z proces (tj je na popedí, je mu pidlen procesor a je aktivní, zatímco druhý proces je pasivní) Nyní tedy mžeme zapsat nebo nahrát pomocí LOD menší proces a poté pejít pes menu operaního systému (píkaz VYM) k druhému, delšímu procesu POPIS FUNKCÍ SYSTÉMU Vlastní operaní systém ZX MULTI- TSKING bží na úplném pozadí dvou uživatelských proces, ke kterým se mže chovat rzným zpsobem Režim operaního systému mžeme mnit píkazy z jeho menu, které se nám objeví pi souasném stisku kláves SYMBOL SHIFT a SPCE Po celou dobu zobrazování menu jsou uživatelské procesy pasivní Menu je rozdleno na dv ásti: píkazovou (vlevo) a stavovou (vpravo) Stavová ást nás informuje o režimu operaního systému a procesu tverekem je vždy vyznaen proces, který je v souladu s nápisem V prvním ádku vidíme délku obou proces ve stránkách (1 str = 3456 bajt) a blikáním je oznaen proces, který je na popedí Ve druhém ádku nalezneme, který z proces uchovává obrazovku V dalším ádku je informace o aktivit proces a o ádek níže zpráva o práv pidleném procesu Píkazová ást obsahuje nápovdu zpsobu volání dále uvedených píkaz (píkaz se vždy volá stiskem klávesy odpovídající inverzn zobrazenému písmenu): VÝMN PROCES zpsobí okamžitou zámnu procesu na popedí s procesem na pozadí Pokud je aktivní jen jeden proces, prohodí se pirozen také tato aktivita, takže pvodní pasivní proces na pozadí se stane aktivním procesem na popedí Jestliže se neuchovává obrazovka, musíme poítat s tím, že po pepnutí na druhý proces zstane na monitoru stejná obrazovka, takže by mohlo dojít k nesprávné domnnce, že k pepnutí vbec nedošlo 1 PROCES KTIVNÍ aktivním se stane práv pidlený proces a druhý proces je pasivní ktivní proces bude zárove na popedí 2 PROCESY KTIVNÍ oba dva procesy se stanou aktivními a zane jim být stídav pidlován procesor Chování poítae pi tomto režimu je rzné, v závislosti na tom, uchováváme-li obrazovky Pokud se uchovávají obrazovky obou proces, dojde k jejich pepínání (projevuje se stídavým blikáním obrazovek na monitoru) Jestliže obrazovky nejsou uchovávány, zapisují oba procesy na spolené stínítko a k blikání nedochází Ve speciálním pípad mže obrazovku uchovat jen jeden proces a tehdy stídav vidíme vlastní obrazovku procesu s uchováváním a slouenou obrazovku druhého procesu ZRUŠENÍ PROCESU zpsobí vymazání a inicializaci procesu, kterému je práv pidlen procesor Je to náhrada za píkaz NEW, respektive RND USR 0, z nichž ani jeden nemžeme použít, protože by došlo k odpojení nebo zniení druhého procesu! STOP PROGRMU zastaví bh programu v práv pidleném procesu Na rozdíl od klávesy BREK (kterou se zde nedoporuuje používat) je tento píkaz schopný zastavit i strojový kód ENTER stisk této klávesy opustí zobrazené menu bez zmny režimu operaního systému Krom základních píkaz uvedených v menu existují ješt další mén typické píkazy: X stiskem této klávesy provedeme zrušení obou proces a úplnou inicializaci systému N tato klávesa stídav zapíná a vypíná režim uchovávání obrázku u pozadí (lze ji ovšem používat jen tehdy, pokud jsme pi úvodní instalaci systému požadovali uchovávání obrazovky) Tuto funkci se však nedoporuuje píliš používat, protože vzhledem ke své zvláštní povaze mže asto vést k poškození proces nebo ke zhroucení systému Protože funkce mní rozdlení pamti, dochází k pesunm blok pamti, což mže mít za následek zobrazení nesmyslných znak na obrazovce Pokud k tomu dojde, není to závada a obrazovku píslušného procesu mžeme vymazat bžným píkazem CLS Po petení popisu píkaz bez praktických zkušeností se mže zdát jejich používání složité Pokud si ale vše vyzkoušíte v praxi, zjistíte, že složitost je pouze zdánlivá a že zmny chování v dsledku píkaz jsou-zcela logické a oekávatelné PRINCIP INNOSTI Úkolem operaního systému ZX MULTITSKING je umožnní existence a chodu více program v poítai souasn Protože ve skutenosti procesor nemže obsluhovat více program zárove, je paralelní obsluha proces simulována rychlým pepínáním procesoru mezi procesy Pi každém pepnutí procesoru je ovšem nezbytné zapamatovat si pesn stav procesu v okamžiku jeho zastavení a uložit veškeré informace v registrech procesoru Pi zptném pepnutí procesoru je innost práv opaná Registry procesoru se naplní pvodními hodnotami a proces pokrauje pesn v tom stavu, v jakém byl opuštn Pepínání mezi procesy se dje automaticky Pepínací program je aktivován periodicky podle mikroelektronika 73

74 ' perušováni procesoru vnitními hodinami Protože pedání procesoru mezi procesy nenastává okamžit, ale trvá uritou dobu, je doba, po kterou je procesor pidlen jednomu procesu, stanovena tak, aby pomr ztrátových as pepínání k asm bhu proces byl pijatelný V našem pípad je procesor pidlován procesu na dobu 100 ms Doba pepnutí kolísá podle režimu, takže v nejhorším pípad je ztrátový as procesoru asi 50 % z celkového strojového asu a v nejlepším pípad 14 % Pidlování procesoru se ídí následujícími zásadami Pokud je jeden z proces pasivní, je procesor trvale pidlen procesu aktivnímu Jsou-li oba procesy aktivní, je procesor stídav pidlován obma procesm Pidlováni je periodické a na stejnou dobu Jestliže ale v tomto režimu stiskneme klávesu, je procesor okamžit pidlen procesu na popedí a v následujícím definovaném ase (mnohem delším než základní as pidlení procesoru) zstane procesor pidlen popedí", ímž se zamezí zbytenému opakování této situace pi komunikaci uživatele s programem a zkrátí se odezva procesu na stisk klávesy Poslední možností pidlování je nedobrovolné narušení režimu rozdlování strojového asu vlivem innosti uživatelského programu Pokud totiž uživatelský program zakáže perušení (dlají to napíklad píkazy BEEP, SVÉ, LQD a další), zstane procesor trvale pidlen tomuto procesu, až do povolení perušení Poíta ZX Spectrum není pizpsoben na paralelní zpracování dat Jeho systémové promnné jsou napíklad na pevných adresách a nikoli pod ukazatelem, což znamená, že systémové promnné musí být uloženy Podobná situace je s obsahem obrazovky, který je vždy od adresy Také programy jsou vtšinou vázány na konkrétní absolutní adresy a musí se proto v rámci pepínání procesu celé pesunovat Z dosud uvedeného vyplývá, že nesáhneme-li k technickým úpravám poítae, je jediná možnost realizace více proces jejich penášení mezi pracovní a skladovací pozicí v operaní pamti lgoritmus je pitom navržen tak, že se nepenášejí celé procesy, ale jenom ást pamti rovná délce kratšího procesu Proto má také operaní systém nejvtší úinnost pi maximálním rozdílu délek proces a neuchovávání obrazovky, kdy se penáší pouze blok pamti v délce jedné stránky (stránkování bylo vynuceno práv nutností realizace jednoduchého a rychlého algoritmu pepínání proces) píklad použití PROGRM KLKULÁTOR/ZÁPISNÍK Program KLKULÁTOR/ZÁPISNÍK je ukázkou využívání výhod paralelních program pod systémem ZX MULTIT- SKING Program, jak název napovídá, umožuje provádní bžných aritmetických výpot a zapisování výsledk a jiných poznámek do zápisníkové ásti Celý program je napsán v jazyku 74 mikroelektronika Q X MULTITSKING E) BSIC a instalujeme ho na pozadí hlavního procesu, kterým bude stídav podle poteby kalkulátor nebo hlavní program uživatele Nahrání kalkulátoru provedeme následovn Instalujeme operaní systém ZX MULTITSKING Uchovávání obrazovky radji požadujeme (abychom pro první piblížení nemli problémy s orientací v procesech) a delší proces necháme v maximální délce, což je délka naznaená v závorce Po inicializaci systému se nacházíme v menším procesu a tak program mžeme pímo nahrát KLKULÁTOR/ZÁPISNÍK píkazem LOD kalkulátor** Poté mžeme píkazem VYM v menu operaního systému (zavolá se souasným stiskem SYMBOL SHIFT a SPCE) pejít k druhému procesu a pracovat na nm Když si potebujeme nco vypoítat, zapsat nebo naopak ze zápisníku peíst, pepneme opt píkazem VYM na kalkulátor bychom mohli s kalkulátorem pracovat, uvedeme si zde pehled jeho píkaz Pedn je nutné si uvdomit, že program pracuje ve dvou režimech (kalkulátor a zápisník), mezi kterými pepínáme stiskem ENTER Po prvním spuštní programu se vždy nacházíme v režimu kalkulátoru (nadále se pozná podle zobrazení názvu programu v první ádce) Kalkulátor oekává zapsáni aritmetického výrazu, který má vypoítat Zapíšeme-li tedy napíklad 12*56, zobrazí se výsledek 672, který se zárove uloží do výsledkové promnné v* Ve výsledkové promnné se vždy ^ INICILIZCE ^ ^Oddélené^jjchovóvdn^obrQ20vl<y^?^^^^^J Rozdleni' operaní pcmti?, I Dobo pidleni po stisku klávesy? I Zavedeni ZX Multitasking 2achovóni stovu (ENTER) I * * j Výmno procesu popedí' ~ Jeden aktivní* proces )- j Dva ak tivní" procesy - o rusém procesu 3- *j Stop programu ~ " j t zrušení obou procesu j ] ~ - (vypínáni obrazovky ) "'~ rlr 1 ~ _ nachází poslední výsledek Výsledkovou promnnou mžeme užít v následujícím aritmetickém výrazu (nap v/2 dá nyní výsledek 336) Zadávat mžeme libovolné aritmetické výrazy povolené syntaxí BSICu, tedy obsahující i funkce a relace Nemžeme použít promnných ve výrazu, krom výsledkové promnné v" Pokud chceme poslední výsledek zapsat do zápisníku, zapíšeme místo výrazu 1" Když si chceme udlat v zápisníku jinou poznámku, uvedeme její text znakem-,4 (nap $Ks/rok) Dojde-li pi výpotu k chyb a perušení programu, pokraujeme píkazem GOTO 21 Do režimu zápisníku se dostaneme z kalkulátoru stiskem ENTER V zápisníku mžeme vybírat jednotlivé ádky kurzory nahoru** a ddú Nový text do ádky vložíme stiskem t a zapsáním textu Stiskem!* peneseme samostatnou hodnotu ve vybraném ádku do výsledkové promnné v Stiskem ENTER se dostaneme zpt do kalkulátoru K ovení také mžeme použít programy p1 a i,p2*\ které nahrajeme každý do jednoho procesu, oba je spustíme a režim systému nastavíme na dva aktivní procesy Velmi názorn tak uvidíme, jak systém stídav pidluje procesor Do vtšího procesu (o dostatené velikosti!!!) také mžeme nahrát njakou hru pro 16 kb Spectrum, napíklad mazeman", na níž si mžeme vyzkoušet i zastavení jejího strojového programu funkcí STOP v operaním systému

75 / p ) " 1 CLER 29999: LOD M "CODE 5 INK 1: PPER 6: BGRDER 7 10 CLS : PRINT "ZX MULTITSKING % Stepanek '87 11 PRINT T 20,0 PPER 5 "ENTER-uzi je hodnotu v závorce!!": PRINT "NEVÍTE LI STISKNETE ' ENTER'! 12 PRINT T 3, 0 "Gddelene uchováváni obr: (NE)": INPUT "no/n e? " o* 14 LET spodek=23296: IF o*="a" THEN LET spodek=16384: PRINT T 3, 26 "NO " 16 PRINT : PRINT "ROZDLENI PMTI PRO DV PROCESY" 18 PRINT : PRINT DELSI PROCES BEZ SCR=(31 104) " : PRINT PPER 5 T 12, O " (Pro *mensi'=16kb zadejte 24000)": IF o*="a" THEN PR INT T 7,22 "24192" T 12,26 PPER 5 "17000" 19 INPUT "Kolik bytes? "v*: IF v*= M " THEN LET sv»=(o*="a")*7+ (o*<>"a >*9: GO TO LET sv=int ( VL (v*>/3456>: IF sv>9 OR sv>7 ND o*= "a" THEN PRINT #0T 1,0"PRILIS VELKÝ!": BEEP 2,30: GO TO LET v= *sv 24 LET sm=10-sv-2*(o*="a"): LET m= *sm 25 IF sm>sv THEN PRINT #0T 1,0 "PROCES NENÍ VETSI!": BEEP 2,30: GO TO PRINT T 7, 21 sv*3456 " bytes" T 8, 14 se scr=" sv* bytes" 28 PRINT "-konec pridelene RM=" v, "-hodnota RMTOP ="v-l PRINT : PRINT "KR PROCES BEZ SCR=" srn*3456 " bytes" T 1 3, 14 "se scr=" sm*345ó+6912 " bytes" 32 PRINT "-konec pridelene RM=" m, "-hodnota RMTOP ="m-l PRINT : PRINT "PIDLENI PO STISKU klav=(2s) ": INPUT "Kol i k sekund? "p*: IF p*= " THEN LET p=100: GO TO LET p=50*vl p*: IF p>20o THEN LET p= POKE min, spodek 256* INT (spodek/256): POKE min+l,int (spode k/256): POKE vetsi, v-256*int <v/256): POKE vetsi+l,int (v/256): POKE menši, m-256* INT (m/256): POKE mensi+1, (m/256) : POKE vydrž, 50 CLS : PRINT T 0,0 PPER 6 INK 1"ZX MULTITSKING vlo St epanek 87 POVELY: POPEDÍ (str) : "sm "sv" v-vymena Obr uchovává: 1-1 aktivni ktivni pro: 2-2 aktivni Pidleny pr: z-zrus pro Basic zprava: CS-štop prg ~ENTER-u chová stav 52 PLOT 0,167: DRM 0,-55: DRW 255,0: DRW 0,55: PLOT 105,167 : DRW 0, RNDOMIZE USR startb L OOIOO ************************ * ZX MULTITSKING * ************************ 5 c Martin STEPNEK MEZ DEFW O MEZI PRO TEXT DEFW O ÚVODNÍ INFO KTPROC DEFB 1 KT PROCES POPEDÍ DEFB lklv8tz0br POET DEFB 0 PRCHODY STOPB DEFB 0{PR0 BREK OB DEFB 0PRC, ZÁROVE BSIC EQU #129 MIN VYDRŽ DEFB 120 PO STISKU PRMT EGU MENU DEFB 0 FLG ZOBRZ RMTOP EQU OlOOO TEXTV DEFB UDG EQU DEFM /* Vetsi pro/ RSP EQU DEFM /ces! CHRS EQU TEXTM DEFB E&RSP EQU DEFM /* Menši pro/ CHNS EQU OllOO DEFM /ces! DTDD EQU TEXT DEFB PROG EQU DEFM / / VRS EQU DEFM / / ELI NE EQU <m@o BÉFM / / WORKSP EQU DEFM / / STKBOT EQU DEFM / / STKEND EQU DEFB 127 COPYRIGHT TTRP EQU DEFM / 1987 Marti/ TTRT EQU DEFM /n Stepanek / BORDCR EQU DEFB REPDEL EQU NEZOBR DEFW 0 POZDÍ NEZO FLGS EQU MSG1 DEFB 0 BSIC1 MSG+ ERRNR EQU DRES NI N2 MIN SPI SP2 NVR VETSI MENŠI ORG DISP DEFW DEFW DEFW DEFW DEFW DEFW DEFW DEFW DEFW R I ZEN I PRCSU O UK DOLNÍHO O UK HORNÍHO BEZ SCR O SP PROCES 1 O SP PROCES 2 O NVR DR O PROCES (MEZ) O PROCES (MEZ) MSG DEFB 0 BSIC2 MSG STRT Dl HL, (VETSI ), HL PRO HL, ( MENS I),HL PRO HL, SPODEK (MIN), HL JP ZVED STRTX Dl CLL VYMEN JP ZVED Ó STOP IM 1 RET ÍZENI Dl PRLELNÍCH PUSH F PROCESU, (STGPB) CP 1 JP Z, BREK XOR CEL KLÁVES IN, (254) ND 31 CP 31 JP NZ, STISK, (OB) ZÁROVE CP O JP Z, ROMKEY, (POET) INC (POET), CP 10 MEZ PEPNUTI JP NZ, BEZKEY XOR (POET), POP F JP PROCES VYMEN ROMKEY POP F JP 56 POKR V ROM BEZKEY POP F El RET POKR BEZ KEY BREK STISK XOR (STGPB),, (FLGS) RES 7, (FLGS),, 150 (POET), POP F El JP BSIC PUSH BC BC,#7FFE "OS" IN, (C) ND 31 CP 28 " SPCE + " SS JP Z, MENUQN, (VYDRŽ) B,, 255 SUB B (POET), ZPOZD, (KTPROC) B,, (POPEDÍ) CP B POP BC JP Z, ROMKEY POP F JP PROCES VYMEN POVELY PUSH BC POV BC, #BFFE IN, (C) ND 31 CP 30 "ENTER" JP NZ, POVÍ POVO CLL MENUOFF JP POVKON POVÍ P0V11 BC, #F7FE IN, (C) ND 31 CP 30 " 1 "PROCES JP NZ, POV2 CLL MENUOFF XOR (OB),, (POPEDÍ B,, (KTPROC) CP B mikroelektronika 75 *

76 O X 1 2 ) JP Z, P0VK0N POP BC POP F JP PROCES VYMEN i P0V2 CP 29 "2 5 PROCESY JP NZ, P0V3 INC TJ=1, P0V3 P0V31 (OB), JP POVO BC, #FEFE IN, <C> ND 31 CP 15 "V" VYMEN JP NZ, POV4 CLL MENUOFF, (POPEDÍ) INC (POPEDÍ), CP 3 JP NZ, P0V31, 1 (POPEDÍ), POP BC POP F JP PROCES VYMEN P0V4 * CP 29 "Z " ZRUŠ JP Z, NEW CP 27 } X ZVED JP Z, STRT P0V5 CP 30 "CS"BREK JP NZ, POVó, 1 (STOPB), P0V6 CLL MENUOFF JP P0V11 BC, #7FFE IN, (C) ND 31 CP 23 "N NEZOBRZ JP NZ, POV, (NEZOBR+l) BC, (NEZOBR), BC CP O JP NZ, POVO BC, 6912 (NEZOBR ),BC JP POVO POVKON POP BC, POP F El RET MENUON, (MENU) CP 1 JP Z, POV, 1 (MENU), CLL VYMEN OKÉNKO PUSH HL, BRV B, O DÉLK 256 B HL22528fZCT ZK <HL), INC HL DJNZ ZK STVYO, (POPEDÍ) CP 1, JP Z, STVY! (22590), fpopr JP STVY2 STVY1 LB (22588), fpopr STVY2 HL, (MIN),H CP 64 «KDYZ JP NZSTVY5 SCR, (NEZOBR+l) CP O i * O PRO OB JP NZ, STVY3 mikroelektronika 05060, ? BRV (22620), f SCR (22622), SCR JP STVY STVY3, (POPEDÍ) CP , BRV JP ZSTVY (22622), SCR JP STVY STVY4 (22620), STVY5 SCR+, (OB) CP JP Z, STVY , BRV (22652), KT+ (22654), KT JP STVY STVY6, (KTPROC) CP , BRV JP Z, STVY (22654), JP STVY8 KT STVY7 (22652), KT STVY8, (KTPROC) CP , BRV JP Z, STVY (22686), PRID JP STV STVY9 (22684), PRID STV 10, (KTPROC) CP , (ERRNR) JP Z STVU CP 255 BEZ ERR 05900, ( MS62 ), MSO JP Z, STVÍ 05960, ( MSG2 ), JP STV 12 MSG i STVÍ CP ,0 BEZ ERR ( MSG 1 ), MSG JP Z, STV , (MSGD MSG STV12 CLL MSGX STV14 POP HL JP POV 06220» MSGX, (MSG CP JP ZMSGX2? MSG 1, BRV MSGX2 (22716), MS01+, (MSG2) CP RET Z MSG , BRV (22718), MS RET MENUOFF XOR (MENU), CLL VYMEN? OKÉNKO RET VYMEN PUSH HL { OKÉNKO PUSH DE PUSH BC HL, OKNO DE, BUFFER OKNO BC, 2048, (HL) DÉLK PUSH F 06740, (DE) (HL), POP F (DE), INC HL INC DE DEC BC XOR CP B JP N Z, OKNO CP C JP NZOKNO HL, ZC T DE, B, O TRIB, (HL) PUSH F 07080, (DE) (HL), POP F (DE), INC HL INC DE DJNZ TRIB * POP BC POP DE POP HL RET ZVED Dl NOVE PROCESY CLL STOP , 1 (POPED ID, 07400, (NEZOBR+l), (NEZOBR), (STOPX), (POET), (OB), (MSGD (MSG2), (MENU), HL, ( VETSI ) PRO (MEZ),HL HL, TEXTV (TEXT), HL CLL INIT JR N0VYP STDL HL, (MENŠI) PRO (MEZ >, HL HL, TEXTM (TEXT),HL STDL2 CLL INIT 07800, I, DR= IM El t RET NEW Dl KTULNI PRO: CLL MENUOFF HL, (PRMT) (MEZ),HL HL, TEXTV (TEXT), HL 08020, (KTPROC) CP JP ZSTDL HL, TEXTM (TEXT), HL JP STDL N0VYP2 Dl TYP MINUS IY, BSIC NVR PUSH IY DRES IY, #5C * NP2M PUSH F f SIMULCE PUSH BC i ULOŽENI PUSH DE REGISTRU PUSH HL EXX EX F, F PUSH F PUSH BC PUSH DE PUSH HL PUSH IX PUSH IY (SP2),SP BC, 3456 DE, (MIN) HL, (PRMT) DD HL, BC INC HL (NI ), DE (N2),HL SF CCF

77 ) 2 ) SBC HL, BC EX DE,HL IR, (N2+1) CP 226 HI JP Z, NP2M3 NP2M2 BC,3456 DE, (N2) HL, (NI) DD HL, BC EX DE, HL DD HL, BC JP NP2M1 NP2M3, 1 KT PROCES < KTPROC), JP STDL * 09O4O*PROCES Dl J ULOŽENI /NTENI PUSH F PUSH BC PUSH DE PUSH HL EXX EX F, F' PUSH F PUSH BC PUSH DE PUSH HL PUSH IX PUSH IY 09300, (KtPROC) CP JP Z, PLUS JP MINUS PRZPET POP IY POP IX POP HL POP DE POP BC POP F EX F, F' EXX POP HL POP DE POP BC POP F El RET PLUS ( SF 1 ), SP BC, 3456 BLOK HL, (PRMT) SCF CCF SBC HL, BC INC HL EX DE, HL HL, PI <N1 >, DE (N2), HL DD HL,BC EX DE,HL IR HL, (N2) ZDROJ DE, (NI) icil ÍOOOO BC, 3456 BLOK IR HL, (NI) 10060, (NEZOBR+1) B, 10100, (MIN DD, B CP H JP NZ, P , B CP CLL NZ, SCRPLS 10240, * (KTPROC), SP, (SP2) JP PRZPET P2 BC, DE, (N2) HL, (NI) SCF CCF SBC HL, BC EX DE,HL SBC HL, BC JP PI' MINUS <SP2),SP 10560, < NEZOBR CP CLL NZ, SCRMNS BC, (NEZOBR) HL, (MIN) DD HL, BC EX DE, HL HL, (PRMT) DD HL, BC BC, DD HL, BC INC HL M1 (NI), DE (N2), HL SCF CCF SBC HL, BC EX DE, HL IR BC, 3456 DÉLK DE, (NI) CIL HL, (N2) ZDROJ ilooo IR , (N2+1) CP 226 HI JP NZ, M , 1 llloo ( KTPROC), SP, (SPI) JP PRZPET ? M2 BC, DE, (N2) HL (Ní) DD HL, BC EX DE, HL DD HL, BC JP M1 «11340 SCRPLS, (POPEDÍ) CP JP Z, ULOZSC SCREEN BC, HL, <N2> SCF CCF SBC HL, BC DE, IR RET ULOZSC BC, HL, (N2) SCF CCF SBC HL, BC EX DE, HL HL, BC, » * IR RET SCRMNS, (POPEDÍ) CP JP Z, ULOŽ SCREEN BC, HL, (PRMT) DD HL, BC BC, DE, IR » RET ULOŽ BC, 6912 DE, (PRMT) HL, INC DE IR RET? INIT , # OUT ( #FE ), 12220, #3F I, DEFB 0,0,0, 0,0, HL, (MEZ) XOR BC, SBC HL, BC B,H C,L HL, (MEZ) POP DE jnvrtgv (NVR),DE DR NULUJ (HL), DEC HL : DEC BC CP B JR NZ, NULUJ CP C JR NZ, NULUJ HL, (MEZ) ( PRMT ),HL DE, #3EF BC, # EX DE, HL DR PLNNI UDG EX DE, HL INC HL (UDG), HL DEC HL BC, # ( RSP ), BC (RMTOP), HL HL, #3COO (CHRS), HL HL, (RMTOP) ( HL ), #3E DEC HL SP, HL DEC HL DEC HL (ERRSP), HL I Y, #5C HL, #5CBB (CHNS),HL DE, # 1 5F BC, # EX DE, HL IR EX DE, HL DEC HL (DTDD), HL INC- HL ( PROG ), HL > ( VRS), HL (HL), # INC HL (ELINE), HL ( HL ), #0D INC HL (HL), # INC HL (WORKSP), HL (STKBOT), HL (STKEND), HL 13480, # (TTRP), (TTRT), (BORDCR), HL, # (REPDEL),HL DEC ( IY 58) DEC ( IY 54) HL, #15C DE,#5C BC, #OOOE IR SET 1, (IY+1) CLL #OEDF ( IY+49), CLL #0D6B XOR DE, (TEXT) CLL #OCO XOR DE, TEXT CLL #OCO SET 5, (IY+2) IY, (NVR) PUSH I Y DR Z INIT IY, #5C RET KONEC? DEFB 0 t mikroelektronika 77

78 Ivo Kepinský, Karlovarská S, Plze V oblasti komunikace lovka s poítaem stále roste úloha dialogu, nejastji prostednictvím displeje a klávesnice Zvlášt mikropoítae jsou pro dialog vhodné již svojí koncepci Na druhé stran realizace lepšího dialogového systému není snadná záležitost, navíc je obvykle odtažitá od vlastního ešeného problému, proto asto programátor vytvoí jakousi náhražku, která formou dotaz a odpovdí realizuje dialog Toto ešení je pro programátora výhodné, protože je nenároné na pracnost uživateli, a zvlášt neznalému uživateli, však pináší obtíže pi používání DITEM realizuje dialogovou ást programu, umožuje programátorovi soustedit se pln na vlastní problém, uživateli pak nabízí názorný a srozumitelný dialog Výhody DITEMu Ze strany programátora: mén práce (dialog je hotový), srozumitelnjší program (dialogová ást je oddlena), oddlení návrhu displeje a jeho ovládání, jednoduchý pevod programu na jiný poíta (pizpsobuje se pouze dialogový systém), jeden program mže zabezpeovat nkolik inností (pi použití pístupových práv) Ze strany uživatele: píjemná práce, jednotná forma dialogu pi rzných programech DITEM je realizován pro použití na poítai PMD-85 Jednoduchým DITEM je napsán v BSICu v podob souboru podprogram, které se pipojí k hlavnímu programu Základní pojmy Dialog se uskuteuje pomocí dialogového displeje Tento displej navrhuje programátor ve tvaru zadání dialogového displeje (pomocí píkaz DT) Zadání displeje si DITEM po otevení tohoto displeje pi bhu programu mní na vnitní popis dialogového displeje Dialogový displej se skládá z položek S nimi pracuje programátor pomocí funkcí DITEMu Funkce umožují nap vyplnní hodnoty položky, zápis do položky, výbr položky apod Ke každé položce existují pístupová práva pro výbr a zápis Položka v sob sluuje vlastnosti bodu menu a údaje formuláe Má jednotné zadání, popis Pro speciální typy pístupu lze použít: prázdná množina celý vektor nulový nikdo nemá pístup, univerzální množina celý vektor jednikový všichni mají pístup Položky Položka je z hlediska programu nejmenší, dále nedlitelná ást dialogového displeje Pes ni se pomocí funkcí dialogového systému uskuteuje dialog Položka se skládá z tchto ástí: aktivní bod bod, na který je možno najet kurzorem, a tak vybrat položku, hodnota vlastní hodnota položky (íslo, text atd) Každá z tchto ástí mže chybt, podle toho se rozlišuje použití položky: v systému To znamená, že veškeré zadávání i veškeré zobrazování se provádí pes dialogový systém Program je tím jednak zbaven starostí se vstupy a výstupy, jednak se stává hardwarov nezávislým Dialog mže mít mnoho forem, pro srozumitelnou a jednoduchou obsluhu však jsou nejvhodnjší dv: technika menu uživatel si vybírá z nabídky inností (slouží pro ízení innosti), formuláová technika uživatel vypluje a opravuje údaje formuláe (slouží pro vstup a výstup dat) DITEM umožuje: zobrazení dialogového displeje, vstup z položky, výstup do položky, výbr položky, základní editaci zadávaných údaj, respektování uživatelských práv pro výbr a zápis 78 mikroelektronika ^ pedáváni' údaj vytváeni real-zcce vytváeni Pístupová práva Pro 'pístup do položek jsou vytvoeny skupiny uživatel Každá skupina má jiná pístupová práva Uspoádání do skupin je libovolné, každá skupina mže obsahovat libovolné uživatele, každý uživatel mže patit do libovolných skupin Uživatel má pak práva všech skupin, do kterých patí Rozdlení do skupin uruje programátor Pi urování pístupu se porovná množina skupin uživatele s množinou skupin, které mají právo pístupu do položky Pokud je nalezena alespo jedna shodná skupina, je pístup povolen Informace o skupinách je uložena pozin, urena polohou bitu ve vektoru hodnota bitu uruje pítomnost skupiny Porovnání množin se provádí logickým souinem vektor Pokud je výsledek nenulový, nastala alespo jedna shoda položky uvedena množina skupin, které mají tento druh pístupu povolen Pro každou položku mže být zadána klíová klávesa znaková klávesa, pi stisku které se kurzor pemístí na danou položku (urychlení pesun kurzoru) Zadání dialogového displeje Zadání vytváí programátor jako ást svého programu pomocí píkaz DT V zadání musí uvést: nemnné texty na obrazovce, zadání položek Zadání je ve tvaru: zadání textu zadání textu 1 poet položek (n) zadání položky 1 zadání položky n Zadání textu je ve tvaru: vodorovná adresa na obrazovce, svislá adresa na obrazovce, text

79 Zadání položky je ve tvaru: vodorovná adresa aktivního bodu na obratovou, svisti adresa aktivního bodu na obrazovce Míová klávesa (znak), pístup k výbru položky, vodorovná adresa hodnoty na obrazovce, svislá adresa hodnoty na obrazovce, délka hodnoty (poet znak/, pístup k zápisu do hodnoty Vodorovná adresa klíového bodu a délka hodnoty jsou v popisu displeje použity k indikaci typu položky, proto musí být nenulová Neexistence ásti položky se zadává prázdnou množinou pístupu Zadání dialogového displeje mže být v programu libovolný poet, jejich rozlišení se provádí ped otevením dialogového displeje píkazem RESTO- RE íslo ádku Popis dialogového displeje Popis si vytváí dialogový systém pi otevení dialogového displeje Popis je umístn v poli Q Je složen z popisu jednotlivých položek, každá položka je umístna v jednom ádku pole Q takto: sloupec <h vodorovná souadnice aktivního bodu (pokud je zakázán výbr položky, je tento údaj záporný), 1: svislá souadnice aktivního bodu, 2: klíová klávesa (SCII hodnota klávesy), 3: vodorovná souadnice hodnoty, 4: svislá souadnice hodnoty, 5: délka hodnoty (pokud je zakázán zápis do hodnoty, je tento údaj záporný) Popis existuje po celou dobu setrvání daného dialogového displeje na obrazovce (do otevení jiného displeje) Funkce DITEMu Pomocí funkce mže program komunikovat s uživatelem Funkce se volají píkazem GOSUB íslo ádku Parametry jsou promnné s vyhrazenými jmény, která jinde v programu nesmjí být použita Parametry: CP íslo položky, HO$(CP) hodnota položky, PP pístupová práva uživatele U popisu funkcí je vždy uvedeno jejich jméno (má význam pouze pro lepší porozumní), íslo ádky, použité parametry a innost INIT Musí být použita ped použitím všech ostatních funkcí, a to pouze jednou v programu slouží pro inicializaci vnitních promnných OPEN vstup: PP Provádí otevení dialogového displeje pro práci provede zobrazení textu a aktivních bod a vytvoí popis dialogového displeje podle zadání dialogového displeje a pístupových práv uživatele ped voláním je nutno zvolit dialogový displej píkazem RESTORE CURSOR vstup: CP výstup: CP Provádí nastavení kurzoru na aktivní bod dané položky pokud tato položka nemá povolen výbr aktivního bodu, zkoušejí se postupn následující položky výstupní hodnota CP oznauje položku, kde se kurzor zastavil SET vstup: CP,HO$(CP) Zpsobí zobrazení etzce HO$(CP) v hodnot položky etzec je zarovnán doleva, chybjící znaky doplnny mezerami, pebytené znaky oíznuty SK vstup: CP výstup: HO$(CP) Tato funkce umožuje vstup z dané položky kurzor skoí na první znak hodnoty a uživatel mže hodnotu vyplnit Editaní klávesy: posun kurzoru, CLR smazání hodnoty, EOL ukonení zadávání GET vstup: CP výstup: CP,HOj>(CP) Umožuje výbr položky a pípadný vstup z této položky kurzor je nastaven na aktivním bodu dané položky, uživatel s ním mže pohybovat po aktivních bodech klávesami «- (pedchozí položka a -» (následující položka) nebo klíovými klávesami a klávesou EOL mikroelektronika 79

80 : ) ) ) vybrat žádanou položku pokud nemá položka hodnotu nebo je zakázán zápis (bod menu), innost funkce koní, pokud položka má hodnotu (údaj formuláe), je další innost stejná jako u funkce SK Program DITEM Použiti BSIC-G na PMD-85 pineslo nkolik omezení: volání a umístní funkcí: BSIC-G neumožuje volání podprogram jménem, je tedy nutno volat íslem ádku ísla ádk jsou nemnná, proto je DITEM umístn v oblasti , programátor ji nesmí použít parametry funkcí: BSIC-G neumožuje pedávat pi volání parametry, proto byly vybrány promnné, které program musí ped voláním funkce nastavit, funkce je pak použije jako vstupní parametry, podobn funkce nastavuje výstupní parametry lokální promnné: BSIC-G neumožuje lokalitu promnných, proto mají v DITEMu všechny lokální promnné jméno zaínající písmenem Q, programátor tato jména nesmí použít v programu DITEM používá ti hardwarov závislé funkce: vstup z klávesnice: je realizován pes podprogram monitoru, volá se funkcí USR(-31583) zobrazeni kurzoru: kurzor je znázornn inverzností zobrazení znaku, používají se pro nj pro- a QJ$, zobrazování se mnné QB$ provádí píkazy BMOVE a BPLOT (podprogram 57200) tisk na urenou polohu na obrazovce: BSIC-G neumožuje tisk na libovolnou polohu na obrazovce, monitor však alespo ásten ano je nutno nastavit adresu na obrazovce do pamti na adresách a a nulovat polohu tisku pro BSIC na adrese (podprogram 57100) Promnné Globální promnné: NP maximální poet položek, musí nastavit programátor ped voláním INIT, CP íslo položky, HO$(NP) hodnoty položek, PP pístupová práva uživatele Lokální promnné: Q(NP,5) popis dialogového displeje, QB$ levá polovina kurzoru, QJ$ pravá polovina kurzoru, QC vodorovná souadnice kurzoru, QD svislá souadnice kurzoru, QE vodorovná souadnice tisku, QF svislá souadnice tisku, QG$ etzec pro tisk, OH pomocná promnná, doasné hodnoty, Ql pozice znaku pi editaci, 80 mikroelektronika QK smr posunu kurzoru po aktivních bodech Pomocné podprogramy Tyto podprogramy jsou volány z funkcí Diatemu, programátor je však mže také použít, pokud chce realizovat speciální chování dialogu Popis podprogram je stejný jako u funkcí: PRINT vstup: QE,QF,QG$ Funkce provádí tisk etzce QG$ na pozici na obrazovce urenou QE a QF CURNEG vstup: QC,QD Funkce provádí negaci zobrazení kurzoru na pozici urené QC a QD EDIT vstup: CP,HO$(CP),Q výstup: HO$(CP) Funkce provádí vstup do hodnoty položky CP s editací POUŽITÍ DITEMU Poadí a poet použití dialogových funkcí jsou libovolné, nejdíve je však nutno nastavit nejvtší poet položek NP a provést funkci INIT DITEM neprovádí kontrolu zadání dialogového displeje, ani použití funkcí, to je vcí programátora Pokud se podobná chyba vyskytne, zpsobí bu nesprávné chování dialogu nebo ukonení a hlášení chyby BSICu Všechny vodorovné a svislé adresy na obrazovce, se kterými se pracuje, jsou takové, jako by byly ureny pro REM REM ******************** REM * * REM * DITEM * REM * DILOGOVÝ SYSTEM * REM * PMD-85 * REM * * REM ******************** REM REM REM REM *** INIT *** REM INICILIZCE DILOGU REM PP=* 1 :QB$=" ":QJ$= *?????????" DIM Q(NP,5>,HO$(NP) :QK«1: RETURN REM REM *** OPEN *** REM OTEVENI DILOGOVÉHO DISPLEJE REM DISPLEJE SE ROZLISUJI POMOCI R ESTORE PED VOLÁNÍM REM GCLSR:QC=0:QD= RED QE: IF QE>=0 THEN RED QF, QG$ GOSUB 57100sGOTO RED NP:POR CP«1 TO NPíRED QÍCP, 0),Q(CP, 1 ),QH,QG$ IP (QH ND PP)=0 THEN Q(CP,0)=-Q (CP,0) Q(CP,2)=SC(QG$+CHR$(0)):RED Q( CP,3),Q(CP,4),Q(CP,5),QH IP (QH ND PP)=0 THEN QÍCP, 5)=-Q (CP, 5) QE=Q ( CP, 0 ) : I F QE<0 THEN QF=Q(CP,1) :QG$=**":GOSUB NEXT CP:CP«l:GOSUB 57200:GOTO REM REM *** CURSOR *** REM NSTVENI KURZORU N POLOŽKU REM VSTUP - CP (CISLO POLOŽKY) REM GOSUB IP CP<»0 THEN CP=NP IF CP>NP THEN CP= IF Q(CP,0)>=0 THEN QC-QÍCP, 0 ) :QD»Q(CP,1) :QK=l:GOTO CP=CP+QK:GOTO REM REM *** SET *** REM ZOBRZENI HODNOTY V POLOŽCE REM VSTUP - CP (CISLO POLOŽKY) REM - HOS(CP) (HODNOT POLOŽ KY) REM QE»Q(CP,3) :QF=Q(CP,4) :IF QB<0 TH EN RETURN QG$=LEPT$ ( HO$ ( CP )+" ", BS ( Q (CP,5))) píkaz BMOVE vodorovné 0 až 47, svislé 0 až 241 (242 nelze použít) Pístupové množiny se zadávají jako dekadická ísla reprezentující binární vektor Vektor mže mít maximáln 16 míst, tj mže být 16 rzných pístupových skupin Stejným zpsobem se urí pístupová práva uživatele nastavením promnné PP Výbr položky pohybem kurzoru klávesami -* se provádí podle poadí zadání položek Je proto vhodné zadávat položky v poadí, které odpovídá logickým pohybm kurzoru Pizpsobení pro jiné poítae DITEM je možno pizpsobit pro libovolný poíta s jazykem BSIC, jedinou podmínkou je možnost realizace vstupu z klávesnice, zobrazení kurzoru, tisku na urenou polohu na obrazovce Pizpsobení spoívá v úprav tchto tí funkcí: vstup z klávesnice ádky 56060, 57330, s tím souvisejí kódy editaních kláves ádky 56060, 56070, 56100, 57340, 57350, 57360, zobrazení kurzoru podprogram na pímý tisk podprogram na GOTO REM REM *** SK *** REM VYŽÁDÁNI VSTUPU POLOŽKY REM VSTUP - CP (CISLO POLOŽKY) REM VYSTUP - HO$(CP) (HODNOT POLO ZKY REM GOSUB :GOTO REM REM *** GET *** REM VSTUP S VY3EREM POLOŽKY REM VYSTUP - CP (CISLO POLOŽKY) REM - HO$(CP) (HODNOT POLO ZKY) REM GOSUB 53000:QH=USR(-31583) :IF QH=1 37 THEN IF QH=131 THEN CP=CP-1 : QK=- l : GOTO IF QH=133 THEN CP«CP+l:GOTO FOR QI=»1 TO NP:IP Q(QI,2)=QH THEN CP=QI NEXT QI:GOTO REM REM ** POMOCNÉ PODPROGRMY ** REM * PRINT * REM PRIMY TISK N OBRZOVKU REM QE,QF - POLOH TISKU, QGS - TE XT POKE , QE+64*QF-256*INT(QF/4) : POKE , 195+INTÍQF/ POKE 24065, OsPRINT QG$ : RETURN REM * CURNEG * REM NEGCE ZOBRZENI KURZORU IF QC=0 THEN BMOVE QC-1,QD BPLOT QB$, BMOVE QC,QD-*-l BPLOT QJ$, RETURN REM * EDIT * IF QÍCP, 5)0 THEN RETURN GOSUB 57200:QD=Q(CP, 4 ) :QI= QC=Q(CP,3)+QI-1: GOSUB 57200:QH=US R( IF QH=137 THEN IF QH=14i THEN GOSUB 53000:HO$(CP) =*" : GOSUB :GOTO GOSUB 57200:IF QH=131 THEN QI=*QI-1 ígoto IF QH=*133 THEN QI=QI+1 :GOTO HO$ ( CP ) =MID$ ( LEFT$ ( " +HO$(CP>,QI) +CHR$(QH)+MID$(HO$(CP),QI+1),2) QE=Q( CP, 3 > +QI-1 : QF=Q ( CP, 4 ) :QG$=C HR$ (QH) :GOSUB :QI=QI IF QI=0 THEN QI~ IF QI>Q(CP, 5 ) THEN QI=QI GOTO 57330

27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí.

27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí. Petr Martínek martip2@fel.cvut.cz, ICQ: 303-942-073 27. asové, kmitotové a kódové dlení (TDM, FDM, CDM). Funkce a poslání úzkopásmových a širokopásmových sítí. Multiplexování (sdružování) - jedná se o

Více

METRA BLANSKO a.s. 03/2005. PDF byl vytvořen zkušební verzí FinePrint pdffactory

METRA BLANSKO a.s.  03/2005. PDF byl vytvořen zkušební verzí FinePrint pdffactory METRA BLANSKO a.s. KLEŠ!OVÉ P"ÍSTROJE www.metra.cz KLEŠ!OVÉ AMPÉRVOLTMETRY S ANALOGOVÝM ZOBRAZENÍM Proud AC Nap!tí AC 1,5 A, 3 A, 6 A, 15 A, 30 A, 60 A 150 A, 300 A 150 V, 300 V, 600 V T"ída p"esnosti

Více

PÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY

PÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY PÍRUKA A NÁVODY PRO ÚELY: - RUTINNÍ PRÁCE S DATY YAMACO SOFTWARE 2006 1. ÚVODEM Nové verze produkt spolenosti YAMACO Software pinášejí mimo jiné ujednocený pístup k použití urité množiny funkcí, která

Více

IMPORT DAT Z TABULEK MICROSOFT EXCEL

IMPORT DAT Z TABULEK MICROSOFT EXCEL IMPORT DAT Z TABULEK MICROSOFT EXCEL V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - IMPORTU DAT DO PÍSLUŠNÉ EVIDENCE YAMACO SOFTWARE 2005 1. ÚVODEM Všechny produkty spolenosti YAMACO Software

Více

Správa obsahu ízené dokumentace v aplikaci SPM Vema

Správa obsahu ízené dokumentace v aplikaci SPM Vema Správa obsahu ízené dokumentace v aplikaci SPM Vema Jaroslav Šmarda, smarda@vema.cz Vema, a. s., www.vema.cz Abstrakt Spolenost Vema patí mezi pední dodavatele informaních systém v eské a Slovenské republice.

Více

Ladící pípravek DisplayKit

Ladící pípravek DisplayKit IMFsoft, s.r.o. 26.7.2005 Úvod Ladící pípravek V praxi ped samotným projektováním vlastního výrobku je vhodné ovit samostatnou innost jednotlivých komponent. Pro rychlé ovení správnosti programového vybavení

Více

4 - Architektura poítae a základní principy jeho innosti

4 - Architektura poítae a základní principy jeho innosti 4 - Architektura poítae a základní principy jeho innosti Z koncepního hlediska je mikropoíta takové uspoádání logických obvod umožující provádní logických i aritmetických operací podle posloupnosti povel

Více

Zbytky zákaznického materiálu

Zbytky zákaznického materiálu Autoi: V Plzni 31.08.2010 Obsah ZBYTKOVÝ MATERIÁL... 3 1.1 Materiálová žádanka na peskladnní zbytk... 3 1.2 Skenování zbytk... 7 1.3 Vývozy zbytk ze skladu/makulatura... 7 2 1 Zbytkový materiál V souvislosti

Více

Efektivní hodnota proudu a nap tí

Efektivní hodnota proudu a nap tí Peter Žilavý: Efektivní hodnota proudu a naptí Efektivní hodnota proudu a naptí Peter Žilavý Katedra didaktiky fyziky MFF K Praha Abstrakt Píspvek experimentáln objasuje pojem efektivní hodnota stídavého

Více

Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu.

Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu. Datový objekt [citováno z http://wraith.iglu.cz/python/index.php] Každý datový objekt Pythonu má minimáln ti vlastnosti. Identitu, datový typ a hodnotu. Identita Identita datového objektu je jedinený a

Více

Obsah...1 1. Úvod...2 Slovníek pojm...2 2. Popis instalace...3 Nároky na hardware a software...3 Instalace a spouštní...3 Vstupní soubory...3 3.

Obsah...1 1. Úvod...2 Slovníek pojm...2 2. Popis instalace...3 Nároky na hardware a software...3 Instalace a spouštní...3 Vstupní soubory...3 3. Obsah...1 1. Úvod...2 Slovníek pojm...2 2. Popis instalace...3 Nároky na hardware a software...3 Instalace a spouštní...3 Vstupní soubory...3 3. Popis prostedí...4 3.1 Hlavní okno...4 3.1.1 Adresáový strom...4

Více

Diagnostika u voz s 2-místnými diagnostickými kódy

Diagnostika u voz s 2-místnými diagnostickými kódy Zobrazení Diagnostické y jsou zobrazovány jako impulsy (blikání). Uživatel musí spoítat poet impuls LED diody na diagnostickém zaízení. Nap. íslice 5 je vysláno jako pt impuls (bliknutí), následuje krátká

Více

"DLK 642-Lite Konfigurator" Programové vybavení pro ídicí jednotku DLK642-Lite Instalaní a programovací návod verze 2.1.4 Aktualizace 3.11.

DLK 642-Lite Konfigurator Programové vybavení pro ídicí jednotku DLK642-Lite Instalaní a programovací návod verze 2.1.4 Aktualizace 3.11. "DLK 642-Lite Konfigurator" Programové vybavení pro ídicí jednotku DLK642-Lite Instalaní a programovací návod verze 2.1.4 Aktualizace 3.11.03 V souvislostí s neustálým rozvojem systém, hardwarového a programového

Více

VLASTNOSTI KOMPONENT MICÍHO ETZCE -ÍSLICOVÁÁST

VLASTNOSTI KOMPONENT MICÍHO ETZCE -ÍSLICOVÁÁST VLASTNOSTI KOMPONENT MICÍHO ETZCE -ÍSLICOVÁÁST 6.1. Analogovíslicový pevodník 6.2. Zobrazovací a záznamové zaízení 6.1. ANALOGOVÍSLICOVÝ PEVODNÍK Experimentální metody pednáška 6 Napájecí zdroj Sníma pevod

Více

ORACLE DISCRETE MANUFACTURING ORACLE DISKRÉTNÍ VÝROBA

ORACLE DISCRETE MANUFACTURING ORACLE DISKRÉTNÍ VÝROBA ORACLE DISCRETE MANUFACTURING ORACLE DISKRÉTNÍ VÝROBA KLÍOVÉ FUNKCE ORACLE DISCRETE MANUFACTURING Definice výrobních píkaz Definice výrobních rozvrh ízení zakázkové výroby ízení sériové výroby ízení hromadné

Více

(typy a vlastnosti pípojek) p pojek) Robert Bešák

(typy a vlastnosti pípojek) p pojek) Robert Bešák Sít ISDN (typy a vlastnosti pípojek p pojek Robert Bešák 2 ISDN (Integrated Services Digital Network Náhrada analog. multiplexu FDM za digit. multiplex TDM sí IDN Zavedení centralizované signalizace SS7

Více

B-ISDN, ATM (vlastnosti)

B-ISDN, ATM (vlastnosti) B-ISDN, ATM (vlastnosti) Robert Bešák Rostoucí nároky na penosovou rychlost sí ISDN (úzkopásmová) již pro adu aplikace nestaívybudování širokopásmové sít ISDN Úzkopásmová sí ISDN (N-ISDN, Narrowband ISDN)

Více

PRÁCE S GRAFICKÝMI VÝSTUPY SESTAV

PRÁCE S GRAFICKÝMI VÝSTUPY SESTAV PRÁCE S GRAFICKÝMI VÝSTUPY SESTAV V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - UŽIVATELSKÉ ÚPRAVY GRAFICKÝCH VÝSTUP YAMACO SOFTWARE 2006 1. ÚVODEM Vtšina produkt spolenosti YAMACO Software

Více

STRUKTURA GENEROVANÝCH ZPRÁV

STRUKTURA GENEROVANÝCH ZPRÁV Interface Obsah: ZÁKLADNÍ POPIS Technické informace 2 2 STRUKTURA GENEROVANÝCH ZPRÁV 3 Typ dat 0 Driver ID 3 Typ dat 1 Extinfo 1 6 Typ dat 2 Extinfo 2 6 VARIANTY PIPOJENÍ 7 PIPOJENÍ DIGITÁLNÍHO TACHOGRAFU

Více

MOVIDRIVE M!ni" pro pohony Dodatek k návodu k obsluze. 1 Podporované typy p#ístroj$ 2 Montáž volitelné, dopl%kové desky

MOVIDRIVE M!ni pro pohony Dodatek k návodu k obsluze. 1 Podporované typy p#ístroj$ 2 Montáž volitelné, dopl%kové desky Tato informace nenahrazuje podrobný návod k obsluze! Instalaci provádí pouze specializovaný elektrotechnický personál, jenž dbá na dodržování platných bezpe"nostních p#edpis$ a návodu k obsluze! 1 Podporované

Více

ORACLE MANUFACTURING SCHEDULING ORACLE HLAVNÍ PLÁNOVÁNÍ VÝROBY

ORACLE MANUFACTURING SCHEDULING ORACLE HLAVNÍ PLÁNOVÁNÍ VÝROBY ORACLE MANUFACTURING SCHEDULING ORACLE HLAVNÍ PLÁNOVÁNÍ VÝROBY KLÍOVÉ FUNKCE ORACLE MANUFACTURING SCHEDULING Píprava pedpovdí Parametry plánu finální výroby Plánování materiálových požadavk Pracovní plocha

Více

Dodatek dokumentace KEO-Moderní kancelá verze 7.40

Dodatek dokumentace KEO-Moderní kancelá verze 7.40 Dodatek dokumentace KEO-Moderní kancelá verze 7.40 PODACÍ DENÍK SPIS SBRNÝ ARCH PÍSEMNOST DOKUMENT ÍSLO JEDNACÍ J ODESÍLATELE - Soubor všech jednotlivých DOŠLÝCH a VLASTNÍCH písemností. - Každé písemnosti

Více

DISKRÉTNÍ FOURIEROVA TRANSFORMACE P I NELINEÁRNÍ ULTRAZVUKOVÉ SPEKTROSKOPII

DISKRÉTNÍ FOURIEROVA TRANSFORMACE P I NELINEÁRNÍ ULTRAZVUKOVÉ SPEKTROSKOPII DISKRÉTNÍ FOURIEROVA TRANSFORMACE PI NELINEÁRNÍ ULTRAZVUKOVÉ SPEKTROSKOPII Luboš PAZDERA *, Jaroslav SMUTNÝ **, Marta KOENSKÁ *, Libor TOPOLÁ *, Jan MARTÍNEK *, Miroslav LUÁK *, Ivo KUSÁK * Vysoké uení

Více

KUSOVNÍK Zásady vyplování

KUSOVNÍK Zásady vyplování KUSOVNÍK Zásady vyplování Kusovník je základním dokumentem ve výrob nábytku a je souástí výkresové dokumentace. Každý výrobek má svj kusovník. Je prvotním dokladem ke zpracování THN, objednávek, ceny,

Více

LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická

LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Stední prmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Píjmení: Hladna íslo úlohy: 3 Jméno: Jan Datum mení: 10.

Více

OBSAH... 1 TYPY DATOVÝCH SÍTÍ...

OBSAH... 1 TYPY DATOVÝCH SÍTÍ... Obsah OBSAH... 1 TYPY DATOVÝCH SÍTÍ... 2 KOMUTANÍ DATOVÉ SÍT... 2 PAKETOVÉ DATOVÉ SÍT... 3 ISDN... 4 LOKÁLNÍ SÍT LAN... 5 ŠIROKOPÁSMOVÉ SÍT... 6 DRUŽICOVÉ DATOVÉ SÍT... 7 HODNOCENÍ KOMUNIKANÍCH SÍTÍ...

Více

ORACLE ÍZENÍ VÝROBY ORACLE WORK IN PROCESS KLÍOVÉ FUNKCE ORACLE WORK IN PROCESS

ORACLE ÍZENÍ VÝROBY ORACLE WORK IN PROCESS KLÍOVÉ FUNKCE ORACLE WORK IN PROCESS ORACLE WORK IN PROCESS ORACLE ÍZENÍ VÝROBY KLÍOVÉ FUNKCE ORACLE WORK IN PROCESS Definice standardních výrobních píkaz Definice výrobních rozvrh pro libovolný zvolený interval Definice výrobních píkaz koncové

Více

Promnné. [citováno z

Promnné. [citováno z Promnné [citováno z http://wraith.iglu.cz/python/index.php] Abychom s datovým objektem mohli v programu njak rozumn pracovat, potebujeme se na nj njakým zpsobem odkázat. Potebujeme Pythonu íct, aby napíklad

Více

Ing. Jaroslav Halva. UDS Fakturace

Ing. Jaroslav Halva. UDS Fakturace UDS Fakturace Modul fakturace výrazn posiluje funknost informaního systému UDS a umožuje bilancování jednotlivých zakázek s ohledem na hodnotu skutených náklad. Navíc optimalizuje vlastní proces fakturace

Více

PRAVIDLA RADY MSTA VIMPERK pro vyizování stížností a peticí

PRAVIDLA RADY MSTA VIMPERK pro vyizování stížností a peticí PRAVIDLA RADY MSTA VIMPERK pro vyizování stížností a peticí Rada msta Vimperk v souladu s 102 odst. (2) písm. n) zákona. 128/2000 Sb., o obcích, v platném znní a zákonem. 85/1990 Sb., o právu petiním,

Více

DIPLOMOVÝ PROJEKT ELEKTRONICKÁ ZA ÍZENÍ PRO OSOBNÍ AUTOMOBILY

DIPLOMOVÝ PROJEKT ELEKTRONICKÁ ZA ÍZENÍ PRO OSOBNÍ AUTOMOBILY ESKÉ VYSOKÉ UENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ, KATEDRA MIKROELEKTRONIKY DIPLOMOVÝ PROJEKT ELEKTRONICKÁ ZA ÍZENÍ PRO OSOBNÍ AUTOMOBILY VEDOUCÍ PRÁCE: Doc. Ing. Miroslav Husák,CSc. DIPLOMANTI:

Více

DUM. Databáze - úvod

DUM. Databáze - úvod DUM Název projektu íslo projektu íslo a název šablony klíové aktivity Tematická oblast - téma Oznaení materiálu (pílohy) Inovace ŠVP na OA a JŠ Tebí CZ.1.07/1.5.00/34.0143 III/2 Inovace a zkvalitnní výuky

Více

Vysoká škola báská Technická univerzita Ostrava Institut geoinformatiky. Analýza dojíždní z dotazníkového šetení v MSK. Semestrální projekt

Vysoká škola báská Technická univerzita Ostrava Institut geoinformatiky. Analýza dojíždní z dotazníkového šetení v MSK. Semestrální projekt Vysoká škola báská Technická univerzita Ostrava Institut geoinformatiky Analýza dojíždní z dotazníkového šetení v MSK Semestrální projekt 18.1.2007 GN 262 Barbora Hejlková 1 OBSAH OBSAH...2 ZADÁNÍ...3

Více

ATEUS - APS MINI HELIOS SET

ATEUS - APS MINI HELIOS SET ATEUS - APS MINI HELIOS SET Obj.. 91341611W Uživatelský a servisní manuál Verze 2.1 Pehled sortimentu systému ATEUS - APS mini 91341611W Helios set 9134162W Samostatný tecí modul 9134167W tecí modul s

Více

PEVODNÍKY ELEKTRICKÝCH VELIIN MT

PEVODNÍKY ELEKTRICKÝCH VELIIN MT PEVODNÍKY ELEKTRICKÝCH VELIIN MT ada pevodník typového oznaení MT generan nahrazuje pvodní typovou adu pevodník NC stejného výrobce. Použití: Pevodníky jsou ureny pro pevod elektrických veliin na mronosný

Více

íslicová zaízení Ing. Jaroslav Bernkopf

íslicová zaízení Ing. Jaroslav Bernkopf íslicová zaízení Ing. Jaroslav Bernkopf 22. íjna 2009 OBSAH 1. Úvod... 4 2. Základní druhy íslicových zaízení... 5 2.1 íslicová zaízení s jednoúelovými obvody... 5 2.2 íslicová zaízení s mikroprocesory...

Více

Prezentaní program PowerPoint

Prezentaní program PowerPoint Prezentaní program PowerPoint PowerPoint 1 SIPVZ-modul-P0 OBSAH OBSAH...2 ZÁKLADNÍ POJMY...3 K EMU JE PREZENTACE... 3 PRACOVNÍ PROSTEDÍ POWERPOINTU... 4 OPERACE S PREZENTACÍ...5 VYTVOENÍ NOVÉ PREZENTACE...

Více

Well LP-388 VoIP telefon, 2x Eth. port, SIP, QoS

Well LP-388 VoIP telefon, 2x Eth. port, SIP, QoS 1 Well LP-388 VoIP telefon, 2x Eth. port, SIP, QoS Kód: CKMA107 Produkt: WELL LP-388 VoIP telefon, 2x Eth. port,sip,qos Part No.: 310A528 Výrobce: Well VoIP telefon WELL LP-388 má elegantní business vzhled

Více

ROBEX DK, s. r. o., Slovany 3051, 544 01 Dvr Králové nad Labem tel: +420 499 321 109, fax:+420 499 621 124, DI: CZ27471489 e-mail:

ROBEX DK, s. r. o., Slovany 3051, 544 01 Dvr Králové nad Labem tel: +420 499 321 109, fax:+420 499 621 124, DI: CZ27471489 e-mail: WWW.ROBEX-DK.CZ 1 WWW.ROBEX-DK.CZ 2 Elektronický íta LUCA-2 Elektronický íta LUCA-2 slouží pro ítání impuls od bezkontaktních a kontaktních idel. Umožuje ítání s rozlišením smru (piítání - odítání). Natené

Více

Á D TAJEMNÍKA MSTSKÉHO ÚADU . R 03/2007 PODPISOVÝ ÁD

Á D TAJEMNÍKA MSTSKÉHO ÚADU . R 03/2007 PODPISOVÝ ÁD Á D TAJEMNÍKA MSTSKÉHO ÚADU. R 03/2007 PODPISOVÝ ÁD Zpracovatel: Ing. Jan Kvasnika, povený vedením odboru kancelá starosty Rozsah psobnosti: uvolnní lenové zastupitelstva, pedsedové výbor ZM a komisí RM

Více

DOPRAVNÍ INŽENÝRSTVÍ

DOPRAVNÍ INŽENÝRSTVÍ VYSOKÉ UENÍ TECHNICKÉ V BRN FAKULTA STAVEBNÍ ING. MARTIN SMLÝ DOPRAVNÍ INŽENÝRSTVÍ MODUL 4 ÍZENÉ ÚROVOVÉ KIŽOVATKY ÁST 1 STUDIJNÍ OPORY PRO STUDIJNÍ PROGRAMY S KOMBINOVANOU FORMOU STUDIA Dopravní inženýrství

Více

FMS OEM CHIP ZÁKLADNÍ POPIS 2 INTEGRACE FMS CHIPU DO SYSTÉMU 2 SPI INTERFACE 4 PÍKAZ READ 5 READ: FIRMWARE 5 READ: CAN BUS DATA 5

FMS OEM CHIP ZÁKLADNÍ POPIS 2 INTEGRACE FMS CHIPU DO SYSTÉMU 2 SPI INTERFACE 4 PÍKAZ READ 5 READ: FIRMWARE 5 READ: CAN BUS DATA 5 FMS OEM CHIP Obsah: ZÁKLADNÍ POPIS 2 INTEGRACE FMS CHIPU DO SYSTÉMU 2 SPI INTERFACE 4 PÍKAZ READ 5 READ: FIRMWARE 5 READ: CAN BUS DATA 5 READ:TACHOGRAPH DATA 8 Ing. David Španl Mgr. Vítzslav Rejda 1 /

Více

Párování. Nápovdu k ostatním modulm naleznete v "Pehledu nápovd pro Apollo".

Párování. Nápovdu k ostatním modulm naleznete v Pehledu nápovd pro Apollo. Párování Modul Párování poskytuje pehled o došlých i vrácených platbách provedených bankovním pevodem i formou poštovní poukázky. Jedná se napíklad o platby za e-pihlášky, prkazy ISIC nebo poplatky za

Více

WWW poštovní klient s úložištm v MySQL databázi

WWW poštovní klient s úložištm v MySQL databázi eské vysoké uení technické v Praze Fakulta elektrotechnická Bakaláské práce WWW poštovní klient s úložištm v MySQL databázi Jií Švadlenka Vedoucí práce: Ing. Ivan Halaška Studijní program: Elektrotechnika

Více

Bezdrátový zásuvkový adaptér, stmíva

Bezdrátový zásuvkový adaptér, stmíva 2 719 Synco living Bezdrátový zásuvkový adaptér, stmíva KRF961-E Zásuvkový adaptér ovládaný rádiovým signálem pro spínání a stmívání elektrického osvtlení do 300 W Rádiová komunikace protokolem KNX RF

Více

Univerzální ovlada LP20 DÁLKOVÝ OVLADA S MOŽNOSTÍ UENÍ SE OD PVODNÍCH OVLADA

Univerzální ovlada LP20 DÁLKOVÝ OVLADA S MOŽNOSTÍ UENÍ SE OD PVODNÍCH OVLADA Univerzální ovlada LP20 DÁLKOVÝ OVLADA S MOŽNOSTÍ UENÍ SE OD PVODNÍCH OVLADA NÁVOD K OBSLUZE Výhradní dovozce pro R (kontakt): Bohumil Veselý - VES Tšínská 204 Albrechtice, 735 43 I: 44750498 DI: CZ-6812261016

Více

POPIS A NÁVOD K OBSLUZE

POPIS A NÁVOD K OBSLUZE POPIS A NÁVOD K OBSLUZE PROGRAMOVATELNÉHO REGULÁTORU TEPLOTY ADY TEMPREG 200 TEMPREG 201, 202 firmy SMART BRNO jsou programovatelné regulátory teploty urené pro pímé programové ízení malých elektrických

Více

VYTVÁENÍ VÝBROVÝCH DOTAZ

VYTVÁENÍ VÝBROVÝCH DOTAZ VYTVÁENÍ VÝBROVÝCH DOTAZ V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - VYTVÁENÍ VÝBROVÝCH SESTAV YAMACO SOFTWARE 2003-2004 1. ÚVODEM Standardní souástí všech produkt Yamaco Software jsou prostedky

Více

MEG jako dvoj inný blokující m ni

MEG jako dvoj inný blokující m ni 1 MEG jako dvojinný blokující mni (c) Ing. Ladislav Kopecký, leden 2015 K napsání tohoto lánku m inspiroval web (http://inkomp-delta.com/page3.html ) bulharského vynálezce Dmitri Ivanova, který pišel se

Více

Sbírka zahrnuje základní autory, výbr nejdležitjších prací a spektrum názor Dsledn udržována

Sbírka zahrnuje základní autory, výbr nejdležitjších prací a spektrum názor Dsledn udržována METODA KONSPEKTU Základní informace Kódy úrovn fond Kódy jazyk Indikátory ochrany fondu Základní informace Umožuje souborný popis (charakteristiku) fondu urité knihovny (skupiny knihoven) bez podrobných

Více

DANDO S.R.O č.t. 0902 331 936 X-BAR. Elektromechanická závora. Návod k inštalácii a obsluhe

DANDO S.R.O č.t. 0902 331 936 X-BAR. Elektromechanická závora. Návod k inštalácii a obsluhe X-BAR Elektromechanická závora Návod k inštalácii a obsluhe 1. Kontrola p_ed montáží Než p_ikro_íte k instalaci, zkontrolujte vhodnost zvoleného modelu závory a podmínky pro montáž Ujist_te se, že všechny

Více

UNIMA-KS vf wobbler. Návod na obsluhu vysokofrekven ního wobbleru k PC. UNIMA-KS vf wobbler. 1MHz-1GHz

UNIMA-KS vf wobbler. Návod na obsluhu vysokofrekven ního wobbleru k PC. UNIMA-KS vf wobbler. 1MHz-1GHz Návod na obsluhu vysokofrekvenního wobbleru k PC UNIMA-KS vf wobbler 1MHz-1GHz 1 Vítejte! kujeme Vám, že jste si koupili ící pístroj UNIMA-KS vf wobbler. Tento ístroj lze použít pro mení frekvenních charakteristik

Více

Technický popis. Obsah balení. Popis kamery a jejího píslušenství

Technický popis. Obsah balení. Popis kamery a jejího píslušenství Technický popis Kamera Pijíma -napájecí naptí 9V DC 12V DC -napájecí proud 300 ma 200 ma -penosová frevence 2.4-2.4835GHz 2.4-2.4835GHz -typ modulace FM FM -poet kanál 2 2 -min.intenzita osvtlení 0 Lux(vzdálenost

Více

Pídavný modul rozvaha lze vyvolat z hlavní nabídky po stisku tlaítka Výkazy / pídavné moduly.

Pídavný modul rozvaha lze vyvolat z hlavní nabídky po stisku tlaítka Výkazy / pídavné moduly. Výkaz rozvaha Pídavný modul rozvaha lze vyvolat z hlavní nabídky po stisku tlaítka Výkazy / pídavné moduly. Po spuštní modulu se zobrazí základní okno výkazu: V tabulce se zobrazují sloupce výkazu. Ve

Více

LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická

LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Stední prmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Píjmení: Hladna íslo úlohy: 9 Jméno: Jan Datum mení: 23.

Více

1. Systém domácího videovrátného. 2. Obsah dodávky. 3. Technická specifikace

1. Systém domácího videovrátného. 2. Obsah dodávky. 3. Technická specifikace 1. Systém domácího videovrátného Umožuje audiovizuální spojení s elektrickým videovrátným a ovládání dveního zámku. Základním pínosem tohoto systému je zvýšení komfortu a bezpenosti bydlení. Základní funkce

Více

TECHNICKÝ POPIS MODULU GRAFIK =============================

TECHNICKÝ POPIS MODULU GRAFIK ============================= listů: 8 list : 1 TECHNICKÝ POPIS MODULU GRAFIK ============================= zpracoval: Nevoral schválil: Cajthaml ZPA, k.p. Nový Bor, listopad 1985 4-151-00342-4 list: 1 list: 2 1. VŠEOBECNĚ Obvody realizované

Více

QAW910. Prostorová jednotka. Building Technologies HVAC Products

QAW910. Prostorová jednotka. Building Technologies HVAC Products 2 703 Prostorová jednotka QAW910 Bezdrátová prostorová jednotka Rádiová komunikace, protokol KNX (868 MHz, obousmrn) Ovládání a zobrazení funkcí vytápní místnosti Snímání prostorové teploty Bateriové napájení

Více

Rozvody elektrické energie a pohony

Rozvody elektrické energie a pohony Rozvody elektrické energie a pohony Rozsah pedmtu: p + 1l Laboratorní mení hodiny s periodou týdn (liché a sudé micí týdny) Garant pedmtu: Doc. Ing. Pavel Mindl, CSc. Pednášející: doc. Ing. Pavel Mindl,

Více

Datový typ POLE. Jednorozmrné pole - vektor

Datový typ POLE. Jednorozmrné pole - vektor Datový typ POLE Vodítkem pro tento kurz Delphi zabývající se pedevším konzolovými aplikacemi a základy programování pro mne byl semestr na vysoké škole. Studenti nyní pipravují semestrální práce pedevším

Více

Služba Zvýšená servisní podpora

Služba Zvýšená servisní podpora PÍLOHA 1d Služba Zvýšená servisní podpora SMLOUVY o pístupu k infrastruktue sít spolenosti Telefónica O2 Czech Republic využívající technologie Carrier IP Stream mezi spolenostmi Telefónica O2 Czech Republic,a.s.

Více

Elektronika 2. Vysoká škola báská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. Píklady P1 až P8

Elektronika 2. Vysoká škola báská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. Píklady P1 až P8 Vysoká škola báská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky lektronika. Píklady P až P8 Tutor : Dr. ng. Gajdošík Libor Datum : kvten / 5 Student : Hanus Miroslav [HAN76] Forma

Více

Instalaní manuál. SET Potvrzovací tlaítko, slouží pro potvrzení výbru funkce v OSD menu

Instalaní manuál. SET Potvrzovací tlaítko, slouží pro potvrzení výbru funkce v OSD menu Instalaní manuál Základní popis zaízení: Zobrazení obrazu ze 4 kamerový vstup na jedné obrazovce v reálném ase 4 kamerové vstupy 4 alarmové vstupy 2 alarmové výstupy (jedno relé NO/NC) detekce ztráty videosignálu

Více

Pedání smny. Popis systémového protokolování. Autor: Ing. Jaroslav Halva V Plzni 24.01.2012. Strana 1/6

Pedání smny. Popis systémového protokolování. Autor: Ing. Jaroslav Halva V Plzni 24.01.2012. Strana 1/6 Autor: Ing. Jaroslav Halva V Plzni 24.01.2012 Strana 1/6 Obsah 1 OBSAH... 2 2 NKOLIK SLOV NA ÚVOD... 3 3 MODEL... 3 4 DEFINICE... 3 5 DENNÍ VÝKAZ... 4 6 ZÁVR... 6 Strana 2/6 1 Nkolik slov na úvod Zamení

Více

Jak psát seminární a maturitní práce Manuál pro obory KS, MP

Jak psát seminární a maturitní práce Manuál pro obory KS, MP Stední odborná škola Luhaovice Masarykova 101 Luhaovice Jak psát seminární a maturitní práce Manuál pro obory KS, MP Mgr. Klára Masaová Ing. Iva Bšínská 2008 OBSAH 1 POKYNY PRO VYPRACOVÁNÍ SEMINÁRNÍCH

Více

Návod k obsluze a montáži

Návod k obsluze a montáži Návod k obsluze a montáži Trojfázové relé pro monitorování napájení sít, ada CM Pokyn: tento návod k obsluze a montáži neobsahuje všechny podrobné informace ke všem typm této výrobkové ady a nebere v úvahu

Více

Elektronický rozdlova topných náklad

Elektronický rozdlova topných náklad 2 877 Siemeca WalkBy Elektronický rozdlova topných náklad WHE465... WHE466... Rozdlova topných náklad urený pro dálkový rádiový odeet WHE46. je elektronický pístroj urený pro registraci tepla odevzdaného

Více

Bezpenost dtí v okolí škol z pohledu bezpenostního auditora

Bezpenost dtí v okolí škol z pohledu bezpenostního auditora Bezpenost dtí v okolí škol z pohledu bezpenostního auditora Ing. Jaroslav Heinich, HBH Projekt spol. s r.o. pednáška na konferenci Bezpenos dopravy na pozemných komunikáciách 2008 ve Vyhne (SK) ÚVOD Bezpenostní

Více

Cykly Intermezzo. FOR cyklus

Cykly Intermezzo. FOR cyklus Cykly Intermezzo Rozhodl jsem se zaadit do série nkolika lánk o základech programování v Delphi/Pascalu malou vsuvku, která nám pomže pochopit principy a zásady pi používání tzv. cykl. Mnoho ástí i jednoduchých

Více

Podílový fond PLUS. komplexní zabezpeení na penzi

Podílový fond PLUS. komplexní zabezpeení na penzi Podílový fond PLUS komplexní zabezpeení na penzi Aleš Poklop, generálníeditel Penzijního fondu eské spoitelny Martin Burda, generálníeditel Investiní spolenosti eské spoitelny Praha 29. ervna 2010 R potebuje

Více

VOLEBNÍ ÁD. pro volby výboru a dozorí rady Spolenosti radiologických asistent R

VOLEBNÍ ÁD. pro volby výboru a dozorí rady Spolenosti radiologických asistent R VOLEBNÍ ÁD pro volby výboru a dozorí rady Spolenosti radiologických asistent R razítko Spolenosti radiologických asistent R podpis pedsedy výboru a dozorí rady SRLA R (1) Voliem je každý ádný len SRLA

Více

Prostorové teplotní idlo

Prostorové teplotní idlo 2 701 Prostorové teplotní idlo QAA910 Bezdrátové idlo pro snímání prostorové teploty Rádiová komunikace, protokol KNX (868 MHz, jednosmrn) Bateriové napájení bžnými lánky 1.5 V velikosti AA Použití Pro

Více

Bezdrátový zásuvkový adapter, spínací výstup

Bezdrátový zásuvkový adapter, spínací výstup 2 718 Synco living Bezdrátový zásuvkový adapter, spínací výstup KRF960-E Zásuvkový adaptér ovládaný rádiovým signálem pro spínání elektrických zátží do 10 A Rádiová komunikace protokolem KNX RF (868 MHz,

Více

Pijíma digitální pozemské televize / rozhlasu. Návod k použití. Radomska Wytwórnia Telekomunikacyjna S.A. Revision 1.35_CZE

Pijíma digitální pozemské televize / rozhlasu. Návod k použití. Radomska Wytwórnia Telekomunikacyjna S.A. Revision 1.35_CZE Pijíma digitální pozemské televize / rozhlasu Návod k použití Radomska Wytwórnia Telekomunikacyjna S.A. Revision 1.35_CZE Vážený zákazník, Dkujeme Vám za zakoupení výrobku spolenosti RWT. Výrobek byl navržen

Více

Typ: MTI pevodník stední hodnoty stídavého proudu bez napájení (pasivní)

Typ: MTI pevodník stední hodnoty stídavého proudu bez napájení (pasivní) Typ: MTI 103 - pevodník stední hodnoty stídavého proudu bez napájení (pasivní) Popis funkce: vstupní signál je galvanicky oddlen micím transformátorem uvnit pevodníku. Dále je usmrnn a vyfiltrován. Výstup

Více

Gymnázium. Kromíž. Zpracování textu. Word 1 SIPVZ-modul-P0

Gymnázium. Kromíž. Zpracování textu. Word 1 SIPVZ-modul-P0 Zpracování textu Word 1 SIPVZ-modul-P0 OBSAH OBSAH...2 ZÁKLADNÍ POJMY...3 ZÁKLADY EDITACE TEXTU...4 FORMÁT ODSTAVCE...5 ODRÁŽKY A ÍSLOVÁNÍ...6 TABULÁTORY...7 OHRANIENÍ A STÍNOVÁNÍ...8 STYL ODSTAVCE...9

Více

Síový analyzátor / rekordér pechodových jev

Síový analyzátor / rekordér pechodových jev Technické údaje Síový analyzátor / rekordér pechodových jev Model PQ-Box 200 Detekce chyb Vyhodnocování kvality naptí podle norem EN50160 a IEC61000-2-2 (2-4) FFT analýza do 20 khz Naítání analýz, mení

Více

1 VERZE DOKUMENTU... 4 2 VERZE SOFTWARE... 4 3 ZÁKLADNÍ POPIS... 4 4 ZÁKLADNÍ P EHLED HYDRAULICKÝCH SCHÉMAT... 4 5 HYDRAULICKÁ SCHÉMATA...

1 VERZE DOKUMENTU... 4 2 VERZE SOFTWARE... 4 3 ZÁKLADNÍ POPIS... 4 4 ZÁKLADNÍ P EHLED HYDRAULICKÝCH SCHÉMAT... 4 5 HYDRAULICKÁ SCHÉMATA... Uživatelská píruka Obsah 1 VERZE DOKUMENTU... 4 2 VERZE SOFTWARE... 4 3 ZÁKLADNÍ POPIS... 4 4 ZÁKLADNÍ PEHLED HYDRAULICKÝCH SCHÉMAT... 4 4.1 REGULÁTOREM NEOVLÁDANÝ KOTEL:... 4 4.2 REGULÁTOREM OVLÁDANÝ

Více

17. Elektrický proud v polovodiích, užití polovodiových souástek

17. Elektrický proud v polovodiích, užití polovodiových souástek 17. Elektrický proud v polovodiích, užití polovodiových souástek Polovodie se od kov liší pedevším tím, že mají vtší rezistivitu (10-2.m až 10 9.m) (kovy 10-8.m až 10-6.m). Tato rezistivita u polovodi

Více

DUM 09 téma: Kusovník

DUM 09 téma: Kusovník DUM 09 téma: Kusovník ze sady: 01 tematický okruh sady: Kreslení výkres sestavení ze šablony: 04_Technická dokumentace Ureno pro :1. roník vzdlávací obor: 26-41-M/01 Elektrotechnika 18-20-M/01 Informaní

Více

Manuál přípravku FPGA University Board (FUB)

Manuál přípravku FPGA University Board (FUB) Manuál přípravku FPGA University Board (FUB) Rozmístění prvků na přípravku Obr. 1: Rozmístění prvků na přípravku Na obrázku (Obr. 1) je osazený přípravek s FPGA obvodem Altera Cyclone III EP3C5E144C8 a

Více

LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická

LABORATORNÍ CVIENÍ Stední prmyslová škola elektrotechnická Stední prmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ VIENÍ Stední prmyslová škola elektrotechnická Píjmení: Hladna íslo úlohy: 14 Jméno: Jan Datum mení: 14.

Více

VYUŽITÍ MODULU EXCELENT PRO MANAŽERSKÉ ANALÝZY V APLIKACÍCH VEMA

VYUŽITÍ MODULU EXCELENT PRO MANAŽERSKÉ ANALÝZY V APLIKACÍCH VEMA VYUŽITÍ MODULU EXCELENT PRO MANAŽERSKÉ ANALÝZY V APLIKACÍCH VEMA Ing. Bc. Jaroslav Šmarda Vema, a. s. smarda@vema.cz Abstrakt Ze zkušenosti víme, že nasazení speciálního manažerského informaního systému

Více

Informace pro autory píspvk na konferenci ICTM 2007

Informace pro autory píspvk na konferenci ICTM 2007 Informace pro autory píspvk na konferenci ICTM 2007 Pokyny pro obsahové a grafické zpracování píspvk Strana 1 z 5 Obsah dokumentu: 1. ÚVODNÍ INFORMACE... 3 2. POKYNY PRO ZPRACOVÁNÍ REFERÁTU... 3 2.1. OBSAHOVÉ

Více

Typ: MTA pevodník stídavé elektrické práce v jednofázové síti

Typ: MTA pevodník stídavé elektrické práce v jednofázové síti Typ: MTA 102 - pevodník stídavé elektrické práce v jednofázové síti Popis funkce: pevodník MTA 102 je uren pro mení a indikaci odebrané nebo dodané energie v jednofázové stídavé síti. Výstup je indikován

Více

EXPORT DAT TABULEK V MÍŽKÁCH HROMADNÉHO PROHLÍŽENÍ

EXPORT DAT TABULEK V MÍŽKÁCH HROMADNÉHO PROHLÍŽENÍ EXPORT DAT TABULEK V MÍŽKÁCH HROMADNÉHO PROHLÍŽENÍ V PRODUKTECH YAMACO SOFTWARE PÍRUKA A NÁVODY PRO ÚELY: - EXPORTU DAT DO EXTERNÍCH FORMÁT YAMACO SOFTWARE 2005 1. ÚVODEM Všechny produkty spolenosti YAMACO

Více

PŘEVOD DAT Z PARALELNÍCH NA SÉRIOVÁ. 1. Seznamte se s deskou A/D P/S (paralelně/sériového) převodníku stavebnicového systému OPTEL.

PŘEVOD DAT Z PARALELNÍCH NA SÉRIOVÁ. 1. Seznamte se s deskou A/D P/S (paralelně/sériového) převodníku stavebnicového systému OPTEL. PŘEVOD DAT Z PARALELNÍCH NA SÉRIOVÁ 103-4R 1. Seznamte se s deskou A/D P/S (paralelně/sériového) převodníku stavebnicového systému OPTEL. 2. Měřte jednotlivé kroky podle návodu. - propojení desek stavebnice

Více

PODNIKÁNÍ, PODNIKATEL, PODNIK - legislativní úprava

PODNIKÁNÍ, PODNIKATEL, PODNIK - legislativní úprava PODNIKÁNÍ, PODNIKATEL, PODNIK - legislativní úprava Legislativní (právní) úprava: Zákon. 513/1991 Sb., obchodní zákoník, ve znní pozdjších pedpis. Zákon. 455/1991 Sb., o živnostenském podnikání (živnostenský

Více

F 2.5 OCHRANA PED BLESKEM

F 2.5 OCHRANA PED BLESKEM NOVOSTAVBA RODINNÉHO DOMU Hostivice p.. kat. 1161/57 okres Praha západ investor: Jií a Marie ajovi, Vondroušova 1160/1, Praha 6 F 2.5 OCHRANA PED BLESKEM Vypracoval: ing. Vít Kocourek OBSAH: 1. Pedpoklady

Více

Zadávací dokumentace

Zadávací dokumentace Zadávací dokumentace Vysoká škola báská Technická univerzita Ostrava vyhlašuje výbrové ízení na dodávku výpoetní techniky v rámci realizace projektu Inovace studijních program strojních obor jako odezva

Více

Instrukce pro obsluhu a montáž

Instrukce pro obsluhu a montáž DMTME-96 2CSG133030R4022 M204675 DMTME-I-485-96 2CSG163030R4022 M204675 Instrukce pro obsluhu a montáž Model DMTME-96 : Jedná se o trojfázový multimetr urený pro panelovou montáž, používaný také v jednofázových

Více

RIGORÓZNÍ ÁD UNIVERZITY JANA EVANGELISTY PURKYN V ÚSTÍ NAD LABEM ZE DNE 20. LISTOPADU 2006

RIGORÓZNÍ ÁD UNIVERZITY JANA EVANGELISTY PURKYN V ÚSTÍ NAD LABEM ZE DNE 20. LISTOPADU 2006 Ministerstvo školství, mládeže a tlovýchovy registrovalo podle 36 odst. 2 zákona. 111/1998 Sb., o vysokých školách a o zmn a doplnní dalších zákon (zákon o vysokých školách), dne 20. listopadu 2006 pod

Více

EVROPSKÁ ÚMLUVA O DOBROVOLNÉM KODEXU O POSKYTOVÁNÍ PEDSMLUVNÍCH INFORMACÍCH SOUVISEJÍCÍCH S ÚVRY NA BYDLENÍ (dále jen ÚMLUVA )

EVROPSKÁ ÚMLUVA O DOBROVOLNÉM KODEXU O POSKYTOVÁNÍ PEDSMLUVNÍCH INFORMACÍCH SOUVISEJÍCÍCH S ÚVRY NA BYDLENÍ (dále jen ÚMLUVA ) PRACOVNÍ PEKLAD PRO POTEBY BA 01/08/2005 EVROPSKÁ ÚMLUVA O DOBROVOLNÉM KODEXU O POSKYTOVÁNÍ PEDSMLUVNÍCH INFORMACÍCH SOUVISEJÍCÍCH S ÚVRY NA BYDLENÍ (dále jen ÚMLUVA ) Tato Úmluva byla sjednána mezi Evropskými

Více

Komunikaní adaptér USB - RS-485/422 - virtuální sériový port ELO E216. Uživatelský manuál

Komunikaní adaptér USB - RS-485/422 - virtuální sériový port ELO E216. Uživatelský manuál Komunikaní adaptér USB - RS-485/422 - virtuální sériový port Virtual IDLE ECHO ON OFF COM to Fiber Optics through USB ELO E216 Uživatelský manuál 2 ELOE216ZK001 1.0 Úvod 4 1.1 Použití adaptéru 4 2.0 Principy

Více

Aditivní barevný model RGB pidává na erné stínítko svtla 3 barev a tak skládá veškeré barvy. Pi použití všech svtel souasn tak vytvoí bílou.

Aditivní barevný model RGB pidává na erné stínítko svtla 3 barev a tak skládá veškeré barvy. Pi použití všech svtel souasn tak vytvoí bílou. Model CMYK V praxi se nejastji používají 4 barvy inkoust a sice CMYK (Cyan Azurová, Magenta Purpurová, Yellow - Žlutá a Black - erná). ist teoreticky by staily inkousty ti (Cyan, Magenta a Yellow) ale

Více

Dokumentaní píruka k aplikaci. Visor: Focení vzork. VisorCam. Verze 1.0

Dokumentaní píruka k aplikaci. Visor: Focení vzork. VisorCam. Verze 1.0 Dokumentaní píruka k aplikaci Visor: Focení vzork VisorCam Verze 1.0 ervenec 2009 Modul Focení vzork slouží k nafocení vzork 1. Prostednictvím této aplikace je provádna veškerá práce s fotoaparátem pístroje

Více

Registr. O.S. Hradec Králové, od.c., vložka 8994/95 UŽIVATELSKÁ DOKUMENTACE

Registr. O.S. Hradec Králové, od.c., vložka 8994/95 UŽIVATELSKÁ DOKUMENTACE UŽIVATELSKÁ DOKUMENTACE K ZAÍZENÍ KEEPER 3 M 1 1 POUŽITÍ Zaízení KEEPER 3 M je ureno k limitnímu mení výšky hladiny v nádržích s ropnými produkty a k indikaci pítomnosti pohonných hmot a vody v prostorách,

Více

Role a integrace HR systém

Role a integrace HR systém Role a integrace HR systém Ing. Michal Máel, CSc., Ing. Bc. Jaroslav Šmarda Vema, a. s. Okružní 3a 638 00 Brno macel@vema.cz, smarda@vema.cz Abstrakt Postavení systému ízení lidských zdroj (HR systému)

Více

Základy MIDI komunikace

Základy MIDI komunikace Propojení nástroje a poítae Základy MIDI komunikace MIDI IN, OUT, THRU Možností, jak pipojit klávesy k poítai je hned nkolik. Stále nejrozšíenjší porty pro MIDI komunikaci u kláves jsou klasické MIDI IN

Více

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í. výstup

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í. výstup ELEKTONIKA I N V E S T I C E D O O Z V O J E V Z D Ě L Á V Á N Í 1. Usměrňování a vyhlazování střídavého a. jednocestné usměrnění Do obvodu střídavého proudu sériově připojíme diodu. Prochází jí proud

Více