-- SORD m.5 ------------------------------------------------------------------ 1. Uvod ************* Dostava se vam do rukou jeden z manualu, ktere si kladou za cil byt prak- tickymi pomuckami pri praci s osobnim pocitacem M5 firmy SORD. Tento manual je urcen jak pro nove uzivatele pocitace, ktere s nim nemaji zadne zkusenosti, tak i pro ty pokrocilejsi. Zacatecnici naleznou v tomto manualu zasady, s jakymi se tvori jednoduche programy a podrobny popis provozovani pocitace M5. Pro ctenare tohoto manualu, kteri jeste neprisli do styku s osobnim pocitacem M5, je zde popsana i jeho obsluha a provozovani. 2. Strucny popis pocitace ******************************* Koncepce pocitace SORD M5 je stejna jako u vetsiny osobnich pocitacu zahra- nicnich i domacich vyrobcu. Pro vstup informaci do pocitace slouzi klavesnice. Vsechny vstupni informace z klavesnice se soucasne zobrazuji na pripojenem standardnim TV prijimaci, ktery je zakladnim vystupnim zarizenim pocitace. Pro trvaly zaznam programu a dat slouzi bezny magnetofon. Napajeni pocitace M5 je reseno vnejsim sitovym zdrojem. Pocitac pracuje v barvach v systemu PAL. Pocitac M5 je vybaven konektory pro pripojeni TV prijimace, videomonitoru, NF zesilovace, dvou ovladacu, tiskarny, magnetofonu a napajeciho zdroje. V zakladni sestave pocitace je modul s jazykem BASIC-I, dokoupit lze moduly s jazyky BASIC-G,BASIC-F a FALC, modul pridavne pameti 32kB a 12 modulu s pro- fesionalnimi hrami. Existuje jeste cela rada dalsich vnejsich zarizeni, ktera se zatim stale jeste v ceskoslovenske obchodni siti neobjevila. Jsou to napri- klad: magnetofon DR-5, tiskarna PT-5, strankovac pameti EB-5, disk FD-5, paralelni a seriovy styk PI-5 a SI-5. 2.1 Pouzite pameti ======================= Pocitac M5 vyuziva ke sve cinnosti pameti typu ROM ( Read Only Memory ), RAM ( Random Access Memory ), DRAM ( Dynamic RAM ) a VRAM ( Video RAM ). Do pameti ROM je program ulozen uz pri jeji vyrobe,nelze jej prepsat a nezmizi ani pri vypnuti napajeciho napeti. U tohoto typu pameti dochazi pri cinnosti pocitace pouze ke cteni ulozenych informaci.Pamet RAM je urcena pro kratkodobe uchovani dat behem prace mikroprocesoru. Lze do ni tedy data jak ukladat tak z ni data i vybirat. Pri vypnuti napajeciho napeti vsechna data ulozena v pa- meti zmizi. V pocitaci jsou pouzity pameti ROM RAM a VRAM a pripojenim modulu EM-5 32kB pocitac obsluhuje i pamet DRAM. Jak jsou jednotlive pameti razeny za sebe je popsano v prirucce HEAP. 3. Provozovani pocitace ***************************** Pred prvym zapnutim pocitace venuj pozornost a dbej nize uvedenych zasad: 1. Pred zapojenim sitoveho zdroje do sestavy pocitace musi byt jeho vypinac v poloze OFF, tzn. vypnuto. Teprve potom je mozne jej zasunout do pocitace a posleze do site. 2. Pri KAZDE vymene programoveho modulu musi byt pocitac vypnut. Jde o to, ze pameti ROM, RAM a DRAM musi mit vzdy na vsech vyvodech spravne napeti, coz pri zasouvani a vyjimani modulu nelze zajistit. Pri zapojovani sestavy pocitace postupuj nasledovne: - nalad na TV prijimaci druhy program cs. televize v pasmu okolo 36. kanalu. - zasun do TV prijimace antenni kabel plnou koncovkou a ved kabel tak, aby dosahl do mist, kde budes mit polozeny pocitac. Dbej na to, aby kabel nijak neprekazel. - umisti pocitac tak, jak ti to bude nejlepe vyhovovat a zasun do zdirky oznacne RF televizni kabel. - do zdirky oznacene CASSETTE zasun konektor snury, na jejimz konci jsou 3 ko- nektory JACK, mas-li i ovladace, zasun je do zdirek oznacenych CONTROLLER a pokud chces pouzivat i zesilovac, pripoj jej svou vlastni snurou ke zdirce SOUND. - zkontroluj, zda-li je vypinac napajeciho sitoveho zdroje v poloze OFF a pak zasun jeho kabel do zdirky oznacene POWER. - nyni zasun do pocitace prislusny modul a jazykem BASIC nebo FALC. Pokud chces pouzivat i pamet EM-5, musis odejmout odklopne vicko a zasunout nejpr- ve modul a pamet do rozdvojky EC-5 a tu potom zasunout do pocitace. - ted je mozne zapojit a zapnout sitovy zdroj. ( Poloha ON ). - na TV prijimaci si dolad obraz. Musi se objevit ( napr. pro BASIC-I ): Basic-I Ready [L] Pozor! Obcas se stane, ze se vlivem pouzivani konektoru RF "vyrobi" u privodu modulacniho obvodu studeny spoj a pocitac potom v urcite poloze kabelu nevysi- la TV signal. Proto je potreba kabelem pohnout tak, aby se pri zapnuti pocita- ce objevilo na obrazovce pri nenaladenem obraze ruseni a obraz pak doladit. Pokud uz byl obraz jednou naladen, staci jen pohnout kabelem (a co nejdrive nechat studeny spoj opravit). 3.1 Zmeny oproti standardni sestave pocitace M5 ==================================================== Zmeny v hardware, ktere realizovali fandove pocitace. 1. V sestave pocitace muze chybet modul s jazykem BASIC-I. Je to dano tim, ze pamet ROM s jazykem lze zabudovat primo do pocitace, a proto je mozne pro- vozovat pocitac bez zasunuteho modulu, coz by normalne nemelo nastat. Zasu- nutim jineho modulu s jazykem se BASIC-I automaticky odpoji. Pokud se tak nestane, nastala v pocitaci hardwarova zavada. 2. V modulech BASIC-G a BASIC-F nemusi byt 4kB SRAM. Standardne jsou pri pou- ziti modulu EM-5 odpojeny a nevyuzity, proto je lze z modulu vyjmout. Pro- jevuje se to mensi spotrebou modulu a jeho mensi vahou. Nevyhodou je,ze bez pouziti EM-5 ma uzivatel k dispozici pamet jen do adresy &7FFF oproti stan- dardu &8FFF ( tzn. jen 4kB RAM na misto 8kB ). 3. Pocitac muze obsahovat oproti standardu jeste navic: - svitivou diodu LED pro indikaci sepleho rele pro dalkove ovladani magnetofonu. Pri vsech prikazech vyzadujicich spolupraci s magnetofomem dioda sviti a to je pokyn pro uzivatele,aby zapnul magnetofon. Toto ma smysl pochopitelne jen tehdy, neni-li magnetofon pripojen na dalkove ovladani (maly cerny jack). - modulem 64 KBI, coz je pamet RAM 64 kB. Tato pamet plne nahrazuje EM-5 a lze ji provozovat v techo rezimech: 32KB RAM - stejne s EM-5 48KB RAM - pripojen je MONITOR ROM a BASIC-I ( 0000-3FFF ROM, od 4000 RAM ) 56KB RAM - pripojen je jen MONITOR ROM ( 0000-1FFF, od 2000 RAM ) 64KB RAM - neni pripojena zadna ROM Modul se ovlada softwareove ( OUT ) a hardvareove ( prepinaci ) takto: OUT &6C,1 - odpoji ROM, jejiz velikost zalezi na prepinacich OUT &6C,0 - pripoji ROM - modulem 64 KBF, KRD nebo KRX (plati priblizne totez co pro KBI) - modulem 64 CPM (plati priblizne totez co pro KBI, navic je jeste disketo- va jednotka) 4. Komunikace uzivatele s pocitacem ***************************************** Uzivatel vstupuje do styku s pocitacem pomoci klavesnice. Obrazovkovy editor mu umoznuje psat nebo opravovat program a provadet ruzne funkce na obou obra- zovkach systemu. 4.1 Klavesnice pocitace M5 =============================== Klavesnice je az na nekolik dalsich tlacitek a chybejici mezernik totozna s klavesnici psaciho stroje.Po zapnuti pocitace je stisknuti kazdeho znakoveho tlacitka indikovano zvukove a soucasne se na obrazovce objevi prislusny znak na pozici kursoru. Pipnuti je mozne programove zakazat. Pridrzenim nektereho znakoveho tlacitka se po urcite prodleve zacne znak opakovane tisknout se sou- casnou zvukovou indikaci. Tato funkce se nazyva AUTOREPEAT a i tu lze progra- move menit. Po zapnuti pocitace je kursor vyznacen blikajicim inverznim L a na obrazovku se pisi male znaky abecedy nebo cislice a dalsi specialni znaky. Tlacitka <SHIFT> v levem a pravem spodnim rohu funguji jako zvednuti voziku u psaciho stroje pro psani velkych pismen abecedy. Tlacitko <SHIFT> je nutno drzet sou- casne s tlacitkem znakovym. Tlacitko <FUNC> na leve strane klavesnice meni zobrazovaci rezimy klavesnice a lze jeho pomoci vypisovat prikazy, ktere jsou napsany na vetsine tlacitek. Stiskne-li se <FUNC> a jedno z tlacitek <1>,<2> nebo <3> meni se zobrazovaci rezim bud na mala pismena ( letters ), velka pismena ( capitals ) nebo na graficke znaky ( graphics ). Kursor se zaroven meni na inverzni L,C nebo G. Ve vsech rezimech funguji i tlacitka <SHIFT>. Pri psani textu muzeme kursor posunovat na libovolnou pozici obrazovky pomoci tzv. CTRL funkci ( Viz cast Obrazovkovy editor ), pri soucasnem stisku klave- sy <CTRL> a prislusneho tlacitka. Chybejici mezernik je nahrazen klavesou <SPACE> v prave casti klavesnice. Jako odesilaci ( exekucni neboli provadeci ) klavesa slouzi tlacitko <RETURN> v prave casti klavesnice. 4.2 Obrazovkovy editor pocitace M5 ======================================= Pohyb kursoru po obrazovce je mozny vsemi ctyrmi smery pomoci nasledujicich CTRL funkci ( <CTRL>+<klavesa> ). <klavesa>: : ( sipka ) - vpravo ; ( sipka ) - vlevo @ ( sipka ) - nahoru / ( sipka ) - dolu ^ - nahoru ] - vlevo _ - dolu Premisteni kursoru provadi nasledujici CTRL: B - kursor na zacatek radku I - tabelator. Doplni mezery k nejblizsi 8. pozici vpravo od kursoru a na tuto pozici umisti i kursor J - LF - kursor na dalsi radek. Na konci obrazovky zpusobi jeji odrolovani K - kursor na pozici HOME ( tzn. 0,0 daneho VIEW ) N - posune kursor na zacatek dalsi radky. Do konce obrazovky provadi CR+LF. Na konci obrazovky provadi jen CR ( nezpusobi odrolovani ) W - provadi CR+LF, na konci obrazovky zpusobi jeji odrolovani Rolovani obrazovky provadi nasledujici CTRL: C - rolovani obrazovky dolu D - rolovani obrazovky vlevo E - rolovani obrazovky nahoru F - rolovani obrazovky vpravo Ostatni funkce provadi nasledujici CTRL: G - pipnuti ( BEL ) H - smazani znaku na kursoru a posunuti textu o jeden znak zpet. Je-li na kur- soru znak CHR(0) smaze se znak pred kursorem a kursor se posune o jeden znak vlevo. ( Ekvivalentni DEL ) L - smazani obrazovky ( lze pouzit pouze v prikazu PRINT, mimo beh programu je ignorovano - nic se neprovede ) M - provede totez, co stisknuti klavesy <RETURN> O - zruseni rezimu INSERT P - nastaveni rezimu INSERT Q - nastaveni rezimu MULTICOLOR R - nastaveni rezimu GII S - nastaveni rezimu GI T - nastaveni rezimu TEXT U - umisti pohled i kursor na obrazovku 0 V - prepne pohled i kursor na opacnou obrazovku X - maze vsechny znaky vpravo od kursoru dokud nenarazi na CHR(0). Pokud na CHR(0) nenarazi do konce obrazovky, zacne mazat znaky od pozice 0,0 dokud nanarazi na CHR(0) Y - prepne pohled na opacnou obrazovku Z - umisti kursor na opacnou obrazovku \ - DELETE ( viz CTRL+H ) Ostatni klavesy ignoruji stisk CTRL: A - nic se netiskne [ - nic se netiskne - - tiskne se minus , - tiskne se carka . - tiskne se tecka 0 az 9 - tiskne se cislice <RETURN> - provadi se <RETURN> <SPACE> - tiskne se mezera <RESET> - zastavi beh programu, mimo beh programu se ignoruje 5. Rezimy prace pocitace ****************************** Je-li do pocitace zasunuty modul s jazykem BASIC, muze pocitac pracovat v re- zimu okamziteho vypoctu nebo v rezimu programovani. Jazyky BASIC umi pracovat s dekadickou ( desitkovou ) a hexadecimalni ( sestnactkovou ) soustavou. Dekadicka cisla se zadavaji normalne jako na beznem kalkulatoru. Pred cisla hexadecimalni soustavy se pise znak & ( CHR(38) ). Zadavaji se maximalne ctyr znakova sestnactkova cisla. 5.1 Rezim okamziteho vypoctu ================================= Obrazovkovy editor popsany v predchozi casti pracuje s textem v rozsahu jedne obrazovky. Text na obrazovce je zaroven ulozen v pameti VRAM ( viz rozlozeni pameti VRAM - obsah obrazovky 0 ). Napiseme-li na obrazovku libovolny text, ktery pocitac neni schopen interpretovat jako prikaz nebo prikazy, a stiskne- me-li provadeci klavesu <RETURN>, objevi se na nasledujici radce chybove hla- seni jazyka BASIC "Err 2 in 0" a na dalsi radce "Ready".Klavesa <RETURN> totiz prerusuje cinnost obrazovkoveho editoru a zpusobuje presun textu z obrazovky ( tedy z pameti VRAM ) do pameti RAM, odkud ji pocitac zacne zpracovavat. V pripade odeslani pro pocitac nesrozumitelneho textu se objevi chybove hlase- ni.Texty, pokud chceme aby je umel pocitac zpracovat, tedy mohou nabyvat pouze tvaru prikazu v rezimu okamziteho vypoctu nebo ve tvaru programovych radek. Prikazy v rezimu okamziteho vypoctu jsou kratke povely uzivatele pro pocitac, ktere se po napsani a po odeslani ( klavesou <RETURN> ) okamzite provedou. Nazornym prikladem je prikaz PRINT. Za mezerou za timto prikazem muze byt libovolny aritmeticky vyraz, jehoz vysledek se objevi po odeslani na nasledu- jici radce. Jako priklad muzeme napsat: PRINT ((2+3)*(8+2))/10. Po odeslani bude na obrazovce: PRINT ((2+3)*(8+2))/10 5 Ready [L] ( Pozn.: [L] je oznacen kursor. Fyzicky by se mely stisknout klavesy v tomto poradi: <FUNC>+<P>,<SPACE>,<SHIFT>+<8>+<8>,<2>,<SHIFT>+<;>,<3>,<SHIFT>+<9>, <SHIFT>+<:>,<SHIFT>+<8>,<8>,<SHIFT>+<;>,<2>,<SHIFT>+<9>+<9>,</>,<1>,<0>, <RETURN> ) Cisla ve vyrazu ( tzn. 2,3,8 a 2 ) se nazyvaji ciselne konstanty. V rezimu okamziteho vypoctu muzeme za sebou napsat nekolik prikazu, ktere ale musi byt mezi sebou oddeleny dvojteckami. Pri dopsani na konec obrazovky samo- cinne odroluje ( pokud to nebylo programove zakazano ). Pro smazani obrazovky je urcen prikaz CLS. 5.2 Ciselne a retezcove promenne ===================================== Kazde cele cislo, se kterym pocitac pracuje je ulozeno ve dvou pametovych bun- kach ( jedna bunka se nazyva byte ),kde muze nabyvat libovolnych hodnot v roz- sahu - 32 768 az + 32 767. Takovato cisla, ktera mohou menit svou hodnotu, se nazyvaji CISELNE PROMENNE. Proto, aby pocitac vedel, kterou promennou ma zpra- covavat, je nutne aby kazda promenna mela sve jmeno. Jmeno promenne musi vzdy zacinat abecednim znakem, ostatni znaky nazvu mohou byt i cislice a dalsi spe- cialni znaky.Delka jmena promenne je omezena na 32 znaku.Jazyk BASIC umi zpra- covavat i text ( retezec znaku ) a ten lze ukladat v RETEZCOVYCH PROMENNYCH. Ciselne promenne se jeste deli na celociselne a realne. V celociselne promenne lze ulozit pouze cele cislo ( tzn. bez casti za desetinnou teckou ) z vyse uvedeneho rozsahu. V realne promenne lze ulozit cislo i s casti za desetinnou teckou. S realnymi cisly vsak umi pracovat jen BASIC-F. Posledni znak jmena promenne nemuze byt vzdy libovolny, protoze urcuje o jaky typ promenne se jed- na. Typ se rozlisuje podle nasledujici tabulky: $ - retezcova promenna jazyku BASIC-I, BASIC-G a BASIC-F # - realna promenna jazyka BASIC-F % - celociselna promenna jazyka BASIC-F V jazycich BASIC-I a BASIC-G muze byt posledni znak jmena celociselne promenne jakykoli, avsak musi byt ruzny od znaku $. S nazvy promennych se v prikazech pracuje stejne jako s ciselnymi konstantami. Jako nazornou ukazku si muzeme napsat nasledujici radky. Kazdy radek musi byt odeslan ( aby jej pocitac mohl zpracovat ), to znamena, ze na konci musi byt stisknuta klavesa <RETURN>. Od teto chvile povazujme odeslani za implicitni ukon a nebudeme na nej tedy pokazde znovu upozornovat. DRAHA=200 CAS=4 RYCHLOST=DRAHA/CAS PRINT RYCHLOST Prikaz <jmeno promenne>=<nejaky vyraz nebo konstanta> nazyvame prirazeni, pro- toze se vlastne prirazuje jmenu promenne vysledek nejakeho vyrazu ( zde napr. promenne RYCHLOST vysledek deleni DRAHA/CAS ) nebo hodnota nejake konstanty ( zde napr. promenne DRAHA konstanta 200 ). Prikaz PRINT v tomto prikladu potom vytiskl obsah promenne RYCHLOST. Zrovna tak muze vytisknout hodnotu vyrazu. Napr.: PRINT DRAHA/CAS Prace s retezcovymi promennymi je obdobna praci s ciselnymi promennyni. Retez- covou konstantou se rozumi libovolna kombinace znaku uzavrena v uvozovkach. Uvozovky slouzi jako oddelovace textu a proto v prikazu prirazeni nemohou byt primo v textu pouzity. Toto omezeni je vsak jen formalni a lze jej snadno obe- jit. Vyzkousejme si ted praci s retezcovymi promennymi: SLOVO1$="VYSLEDEK" SLOVO2$="NASOBENI":MEZERA$=" " VYRAZ$="2*3=":VYSLEDEK=2*3 PRINT SLOVO1$;MEZERA$;SLOVO2$;MEZERA$;VYRAZ$;VYSLEDEK Vsechny informace a data, s nimiz se v jazycich BASIC pracuje, jsou v forme jednoduchych nebo indexovanych ciselnych a retezcovych promennych. Jednoduche ciselne a retezcove promenne jsme prave strucne probrali. Indexovane promenne se nazyvaji tez pole. 5.3 Promenne typu pole =========================== Promenna pole krome sveho nazvu potrebuje jeste k svemu jednoznacnemu urceni i poradove cislo. Protoze ciselna pole budeme potrebovat ruzne velka, je potreba jim vyhradit v pameti pocitace odpovidajici misto. Jestlize chceme pouzivat napriklad promennou JMENO$,ktera bude obsahovat 11 polozek ( 0 az 10 ), musime napsat pred prvnim pouzitim teto promenne prikaz DIM ve tvaru: DIM JMENO$(10) Na jednotlive prvky pole se pak lze odkazovat primo indexem. Napr.: JMENO$(0)="JAN" JMENO$(1)="PAVEL" JMENO$(2)="FRANTISEK" JMENO$(3)="MARTIN" JMENO$(10)=JMENO$(3)+" a "+JMENO$(2) PRINT JMENO$(1) Kdyz ted vyjedes kursorem na radek PRINT, zmenis 1 na 2 a odesles, vytiskne se ti obsah promenne JMENO$(2). Z tohoto ukonu take vyplyva,ze pocitac zpracovava text ktery je zobrazeny na obrazovce od zacatku radky do jejiho konce, nehlede na pozici na ktere se nachazi na teto radce kursor a nehlede na to, jakym zpu- sobem byla radka na obrazovce vytvorena. 5.4 Rezim programovani =========================== Do rezimu programovani se pocitac prepne vzdy sam, je-li odeslan prikazovy radek zacinajici cislici. Prikazovy radek se po odeslani nevykona, ale, pokud je to mozne, ulozi do pameti. V teto fazi pocitac rozlisi chyby typu prilis dlouha vstupni radka a neukonceny retezec znaku. 5.5 Zaklady tvorby programu v jazyce BASIC =============================================== Program v jazyce BASIC ma tvar ocislovanych programovych radku, pricemz cisla radku mohou nabyvat velikosti 1 az 32767. Cisla radku muze uzivatel vypisovat rucne, nebo mohou byt vypisovany automaticky po kazdem odeslani zadanim pri- kazu AUTO ( s prislusnymi parametry ) pred zacatkem programovani ( podrobnosti k jednotlivym zde uvedenym prikazum viz prirucky jazyku BASIC I, G a F ). Pokud chceme zaradit do programu novy radek, staci jej napsat a odeslat. Poci- tac uz si jej sam zaradi na spravne misto,ktere je dano prave cislem radku.Po- chopitelne,pokud chceme zaradit radek mezi dva radky,ktere jdou po sobe s kro- kem 1, napr. mezi radky 10 a 11, tak to nejde, protoze radek s cislem 10.5 za- dat nelze. Proto se pri psani programu doporucuje pouzivat krok 10. Chceme-li opravit nebo doplnit nektery radek programu, musime si jej,pokud neni na obra- zovce, zobrazit prikazem LIST s parametry ( nebo i bez nich ). Napr. chci-li opravit radek 20, odeslu prikaz LIST 20,20 ktery mi zobrazi radek s cislem 20. Ted je mozne radek podle potreby opravit a doplnit. Pote lze radek odeslat. Chceme-li smazat jeden programovy radek, staci napsat jeho cislo a odeslat. Chceme-li smazat vice programovych radku, pouzijeme prikaz DEL s parametry. Pro smazani celeho programu slouzi prikaz NEW. Je-li program hotovy, nebo chceme-li vyzkouset jeho cast, lze jej spustit prikazem RUN. Uvede-li se za prikazem RUN cislo radku, program se spusti od tohoto radku.Beh programu lze zastavit programove, tzn. v programu prikazem END nebo STOP, nebo z klavesnice stisknutim nasledujicich kombinaci: <SHIFT>+<RESET> - odpovida prikazu END <CTRL>+<RESET> - odpovida prikazu STOP Dobehne-li program na svuj fyzicky konec ( tzn. nenasleduje jiz zadny progra- movy radek ) zakonci se jeho beh jako pri provedeni prikazu STOP, s tim, ze se nevypisuje zadna hlaska. Prikaz RUN, jak jiz bylo uvedeno spusti program. Avsak pred jeho vlastnim behem smaze obsah vsech promennych, ktere byly pouzity pred zadanim prikazu RUN ( napriklad jsme neco pocitali v rezimu primeho vypoctu, nebo jsme jiz jednou meli program spusteny ). Pokud potrebujeme mit obsah promennych zacho- van, nelze tedy program spustit prikazem RUN, ale prikazem GOTO s uvedenim programove radky od ktere ma program bezet. Chceme-li mit rovnez obsah pro- mennych zachovan po skonceni programu, musime jej ukoncit prikazem STOP, nebo jeho ekvivalentem ( <CTRL> + <RESET>, nebo neuvedenim END ). Chceme-li, aby program pouzival CTRL kody ( napriklad v prikazu PRINT "UTS", kde U, T a S jsou ridici kody CTRL U, CTRL T a CTRL S ), lze je zobrazit tak, ze se soucasne stiskne klavesa <CTRL>, <SHIFT> a prislusny znak. Ridici znak se pak vytiskne jako inverzni pismeno. Jsou-li v uvedenem prikladu za PRINT inverzni znaky U,T a S, potom tento prikaz tyto znaky nevytiskne, ale provede, coz v praxi znamena, ze prepne pohled a umisti kursor na obrazovku 0, nastavi na teto obrazovce rezim TEXT a v zapeti rezim GI ( cimz se inicializuje gene- rator tvaru znaku, zrusi pripadny VIEW a smaze obrazovka ). 6. Prace s magnetofonem ***************************** 6.1 Pripojeni magnetofonu ============================== Standardne se do sestavy pocitace pripojuje kazetovy magnetofon. Nejlepe vyho- vuje monofonni kazetovy magnetofon s nahravanim a dalkovym ovladanim. Kabel magnetofonu je zakoncen tremi konektory JACK, jejichz funkce jsou nasledujici: barva konektoru - funkce konektoru - zdirka na magnetofonu ------------------------------------------------------------------ bily - vstup dat do pocitace - EARPHONE nebo SPEAKER cerveny - vstup dat do magnetofonu - MICROPHONE cerny - dalkove ovladani motorku - REMOTE CONTROL ------------------------------------------------------------------ Pokud uzivatel vyzaduje pouze vstup dat do pocitace, vystaci si i s obycejnym prehravacem, do ktereho zasune bily jack. 6.2 Doplneni k prikazum, ktere operuji s magnetofonem ========================================================== Nasledujici prikazy spinaji relatko dalkoveho ovladani magnetofonu a vyzaduji vstup dat z magnetofonu nebo na magnetofon data vysilaji: OLD, CHAIN, TAPE, SAVE, VSAVE, VERIFY, SKIP a varianty LIST "<file name>" 6.2.1 Rozliseni typu zaznamu ------------------------------- Jestlize pocitac nahrava program nebo data z magnetofonu do modulu Basic-G nebo Basic-F jinym prikazem nezli TAPE, vypisuje: Find "<file name>.<ID>" a za kazdych nactenych 256 bytu vytiskne tecku. Pokud dany program nebo data preskakuje, vypisuje: Skip "<file name>.<ID>" <ID> vyjadruje typ zaznamu: BI - program v BASIC-I BG - program v BASIC-G BF - program v BASIC-F FC - data nebo program ve FALC CM - data nebo program ve strojovem kodu ( CPU memory ) DT - zaznam dat - program nebo promenne v BASIC-F LS - zaznam dat - program v BASIC-G ( Listing ) SC - zaznam dat obrazovky ( Screen ) VM - zaznam dat ( Video memory ) 6.2.2 Provadeni prikazu OLD v modulu BASIC-I ----------------------------------------------- Jazyk informuje o nahravani nebo preskakovani programu nebo dat nasledujicimi zpusoby: <file name>* - data nebo program se nahravaji. Zaznam je provaden do pameti RAM nebo VRAM od adresy, ktera je uvedena v hlavicce programu. ( Nahravaji se i programy .BG a .BF avsak za normalnich okol- nosti lze zobrazovat, spoustet a editovat jen program v .BI ) <file name> - data nebo program se preskakuji 6.2.3 Provadeni prikazu TAPE ------------------------------- Prikaz TAPE informuje o nahravani nebo preskakovani programu nebo dat nasledu- jicimi zpusoby: *<file name> - data nebo program se nahravaji. Zaznamenavany jsou do pameti RAM od adresy, ktera je uvedena v hlavicce programu. ( Nahrava- ji se i programy .BI, .BG a .BF ) Spustitelny program se spusti, jinak se nahrava dalsi program nebo data. <file name> - data .VM nebo .SC se preskakuji Prikaz TAPE nelze prerusit stiskem <RESET> ani kombinacemi <SHIFT>+<RESET> nebo <CTRL>+<RESET>. Stiskem nektere teto kombinace se pouze prerusi nacitani ( pokud se nacita ) a prikaz ceka na dalsi program nebo data. Prikaz lze re- gulerne zakoncit pouze nahranim spustitelneho programu .CM (nebo resetem ci vypnutim pocitace). Poznamka: prikazy OLD v jazyce BASIC-I a prikaz TAPE ignoruji <file name> typu .LS a .DT. 6.2.4 Otaznikova konvence ---------------------------- Pouzije-li se ve jmenu souboru - programu nebo dat ( tzn. ve <file name> ) otaznik ( CHR(63) ), pocitac pri provadeni prikazu OLD, CHAIN, SKIP a VERIFY porovnava jmena souboru na pasce s uvedenym jmenem jen k otazniku a ostatni znaky jsou mu lhostejne. Napriklad prikaz OLD "MO?" nahraje prvni soubor zaci- najici znaky MO ( pokud je soubor typu, ktery lze do daneho modulu nahrat ). 6.2.5 Chybove hlaseni ------------------------ Chybove hlaseni Err 18 in xxx , kde xxx je cislo radky, se vypisuje, je-li z magnetofonu nacten chybny blok dat. Pricinou Erroru 18 vsak nemusi byt vzdy jen chyba na magnetofonove pasce, ale treba i to, kdyz pri provadeni prikazu VERIFY nesouhlasi data na pasce s daty ulozenymi v pameti, tzn. nacita se jiny soubor, nebo kdyz pri OLD bylo stisknuto tlacitko <RESET>. Prikaz TAPE zadnou hlasku pri nacteni chybnych dat nevypisuje, ale pokracuje dal, to znamena, ze chybny soubor jiz dal nenacita a ceka na dalsi. 7. Obecne vlastnosti jazyku BI, BG, BF ******************************************** Promenne: celociselne ( napr.: A, B, C, POCET, ... ) z rozsahu: -32768 - +32767; 0 - &FFFF. Zabiraji 2 byte retezcove ( napr.: A$, MESIC$, JMENO$, ... ) o obsahu 0-18 znaku. Zabiraji 19 byte Promenne typu pole: celociselne i retezcove. Maximalni pocet dimenzi je 256, rozsah polozky: 0 - 65535 Maximalni delka jmena promenne je 32 znaku. Radkovani programu: 1 - 32767 ( lze pouzivat navesti ) Zobrazovaci rezimy: TEXT - 40 znaku 24 radek znak 5*8 GI - 32 znaku 24 radek znak 8*8 GII - 32 znaku 24 radek znak 8*8 MULTICOLOR - blokove 64*48 bloku rozmeru 4*4 Jemna grafika: rezim obrazovky GII souradnice ( lze -32767 - +32767 ): X: 0 - 255, Y: 0 - 191 16 barev, 8 bodu na 1 lince znaku dvema barvami Sprite: 32 spritu, zobrazit lze nejvys 4 sprity na jedne lince Nelze pouzivat v rezimu TEXT Zvuky: tonovy generator - 3 kanaly - 8 oktav sumovy generator - 1 kanal Periferie: zobrazovac - TV v norme PAL, nebo VIDEOMONITOR tiskarna - paralelni ve standartu CENTRONICS magnetofon - prenosova rychlost 2030 Bd ( lze menit ) joystick - 2 kusy ( v paru packove nebo s koleckem ) 7.1 Aritmeticke operace ============================ operace operator priklad Plati AOS pri provadeni operaci: ------------------------------------- -------------------------------- soucet - + - X+Y zavorky rozdil - - - X-Y funkce soucin - * - X*Y znamenko podil - / - X/Y nasobeni mocnina - ^ - X^3 deleni zbytek po deleni - MOD - X MOD Y MOD soucet a rozdil relacni operace logicke operace 7.2 Logicke operace 7.3 Relacni operace ======================== ======================== logicky soucin - AND rovnost - = logicky soucet - OR nerovnost - <> logicky exklusivni soucet - XOR mensi nez - < logicka negace - NOT vetsi nez - > mensi nebo roven - <=, =< vetsi nebo roven - >=, => 8. Doplneni k praci s grafickymi prikazy ********************************************** 8.1 Prikazy operujici se souradnicemi X,Y ============================================== X,Y - je absolutne zadana pozice. POZOR! Pokud je souradnice bodu 0,0 v levem hornim rohu obrazovky, potom je vzdy v levem hornim rohu AKTIVNI casti obrazovky. To znamena, ze se se zmenou VIEW posune i bod 0,0, pricemz utvary umistene na X,Y stareho VIEW se jiz ne- premisti. STEP X,Y - je relativne zadana pozice prirustkem v osach vuci pozici grafic- keho kursoru ( v BASIC-G a v BASIC-F ). 8.2 Pomucka pro lepsi spojeni jemne grafiky a spritu ========================================================= @ cislo spritu - dosadi za X,Y stredovou souradnici spritu # cislo spritu - dosadi za X,Y rohovou souradnici spritu Priklady: DRAW 0,0,STEP 22,56 GMOVE @0:CIRCLE 10 ( jen v BG ) LOC 1 TO 100,100 LOC #1 TO 100,100 LOC @1 TO 100,100 9. Pouzivani desitkove a sestnactkove soustavy **************************************************** Vsechna cisla zacinajici znakem & pocitac zpracovava jako cisla o zaklade 16, tedy v sestnactkove soustave. Sestnactkova soustava pouziva k vyjadreni cisla znaky 0 az 9 a znaky A az F. Konverze mezi desitkovou ( DEC ) a sestnactkovou ( HEX ) soustavou je zachycena nasledujici tabulkou: dec: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... hex: 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 ... Normalne tedy plati, ze 0=&0000 a 65535=&FFFF, protoze ale pocitac pouziva i zaporna cela cisla, je stred umele posunut a plati tedy: &8000 = -32 768 &FFFF = -1 &0000 = 0 &0001 = 1 &7FFF = 32 767 Priklad: FOR I=0 TO 20:PRINT "Dekadicky:";I;" Hexadecimalne: &";HEX$(I):NEXT I 9.1 Prevod cisel mezi HEX a DEC ==================================== Potrebujeme-li prevest cislo z hexadecimalni soustavy na cislo o zaklade 10 ( tzn. do dekadicke soustavy ), muzeme pouzit primo prikaz PRINT. Napriklad "PRINT &AF". Potrebujeme-li prevest cislo vyjadrene dekadicky na cislo o za- klade 16, pouzijeme funkci HEX$. Napriklad "PRINT HEX$(25328))". Konstanty lze pochopitelne libovolne nahrazovat vyrazy. 10. Prace s byty ********************* 10.1 Adresovani jednoho a dvou bytu ======================================= Rozlozeni bytu v pameti RAM ma nasledujici strukturu ( priklad ): adresa - 1 byte - 2 byte &7300 - 00 - 0100 &7301 - 01 - 0201 &7302 - 02 - 0302 &7303 - 03 - 0403 &7304 - 04 - xx04 je tedy zrejme, ze dva byte se se nectou a neukladaji za sebou, ale podle vztahu ( napriklad pro cteni ): PEEKW(X)=PEEK(X)+256*PEEK(X+1) 10.2 Prace s binarni soustavou ================================== Prace s jednotlivymi bity a jeden byte v binarni forme vypadaji nasledovne: bit: 76543210 obsah: 00000000 - hodnota cisla nula obsah: 00000001 - hodnota cisla jedna obsah: 00000010 - hodnota cisla dva obsah: 00000011 - hodnota cisla tri atd... setovani jednoho bitu: bit: 76543210 - pozice ( KTERY ) obsah: 011X0010 - puvodni hodnota ( OLD ) obsah: 01110010 - nova hodnota ( NEW ) NEW=OLD or (2^KTERY) resetovani jednoho bitu: bit: 76543210 - pozice ( KTERY ) obsah: 011X0010 - puvodni hodnota ( OLD ) obsah: 01100010 - nova hodnota ( NEW ) NEW=OLD and (255-2^KTERY) negovani bytu: bit: 76543210 obsah: 01100010 - puvodni hodnota ( OLD ) obsah: 10011101 - nova hodnota ( NEW ) NEW=not OLD testovani jednoho bitu: bit: 76543210 - pozice ( KTERY ) obsah: 01110010 - puvodni hodnota ( OLD ) obsah: -----?-- - zjistena hodnota ( ASK ) ASK=(OLD and (2^KTERY))/2^KTERY negovani jednoho bitu: bit: 76543210 - pozice ( KTERY ) obsah: 011X0010 - puvodni hodnota ( OLD ) _ obsah: 011X0010 - nova hodnota ( NEW ) NEW=OLD xor (2^KTERY) Priklad jednoducheho programu pro prevod cisla do dvojkove soustavy: 10 CLS:REM SMAZANI OBRAZOVKY 20 POKE &701A,PEEK(&701A)AND(255-2^7):REM VYPNUTI ZVUKU 30 FOR I=0 TO 1000 40 PRINT "K";I,:REM INVERZNI K 50 A=INP(55):REM ZADANI CISLA - CTENI JOYSTICKU 60 GOSUB $BIN 70 A$="":NEXT 80 POKE &701A,145 90 END 100$BIN 110 FOR J=7 TO 0 STEP -1 120 BIT=(A AND (2^J))/2^J 130 A$=A$+NUM$(BIT) 140 NEXT 150 PRINT A,A$; 160 RETURN 11. Par slov k videoprocesoru ********************************** 11.1 Pamet VRAM =================== Videoprocesor ( VDP ) ma 16kB sve vlastni RAM ( oznacovane jako VRAM ), kterou lze adresovat &0000 az &3FFF. Cteni a zapis se z basiku uskutecnuje prikazy VPEEK a VPOKE. Pamet je organizovana nasledovne: a) generator tvaru znaku b) generator predloh pro sprity c) vlastni obrazovka pricemz generatory obsahuji 8 byte informace o kazdem z 256 znaku. Generator zabira tedy 8*256 byte tj. &0800 - 2kB VRAM. Binarne lze potom kazdou jednotlivou osmici zobrazit primo jako tvar znaku: 1. byte - &3C - 00111100 2. byte - &42 - 01000010 3. byte - &42 - 01000010 4. byte - &42 - 01000010 5. byte - &7E - 01111110 6. byte - &42 - 01000010 7. byte - &42 - 01000010 8. byte - &00 - 00000000 Obrazovka zabira 32*24 t.j &0300 byte pameti, pricemz jeden jeji byte oznacuje primo ASCII hodnotu znaku, ktery se na obrazovce naleza. Tvar znaku je bran z generatoru tvaru znaku, z adresy odpovidajici danemu znaku. Je-li na obra- zovce znak A jehoz kod je 65 zacina jeho tvar na adrese o 8*65 byte vetsi nez je zacatek generatoru. Tvar znaku ktery je na obrazovce se meni s kazdou zme- nou 8mi bajtu zacinajicich na teto adrese. Prikaz "PRINT CHR$(I)", kde I je cislo z pozsahu 0 az 255, vytiskne na obra- zovku znak odpovidajici znaku I v ASCII tabulce. Pozor! Prvnich 32 znaku, ( tj. 0 za 31 ) se netiskne, ale provadi, to znamena, ze prikaz provede totez, jako kdyz se stiskne <CTRL> + <klavesa> ( viz kapitola Obrazovkovy editor ). V podstate to znamena, ze znaky ASCII 32 az 255 se tisknou tak, ze se do obra- zovky "vpoukne" jejich kod, zatim co znaky 0 az 31 prikaz PRINT netiskne, ale vola rutiny v MONITORu ROM, ktere dane CTRL kody provadeji. VDP disponuje 32 sprity s vetsi prioritou nez zobrazovani znaku. Sprity jsou specialni animovatelne objekty. Jsou urceny tvarem, barvou, pozici a vsechny jednotnou velikosti. Velikosti spritu jsou zde mozne dve a lze je pripadne dvakrat zvetsit. Zakladni velikost je 8*8 bodu, druha je 16*16 bodu. Sprity se definuji podobne jako znaky, do zvlastniho spritovskeho generatoru predloh. Jednomu spritu lze urcit jednu ze 16ti barev. Pozice se urcuji v rastru 256*192 bodu. Udaje o pozici, barve, cislu predlohy jsou ulozeny v tabulce vlastnosti spritu. Format polozek je nasledujici ( BIT ): N 7 6 5 4 3 2 1 0 ------------------------------------- | 0 | Y-ova pozice | | 1 | X-ova pozice | | 2 | kod predlohy | | 3 |ECB| 0 | 0 | 0 | barva | ------------------------------------- ECB bit nema vyznam pokud je nulovy. Nenulovy ECB znamena, ze sprite se bude zobrazovat o 32 bodu vlevo, nez ma udano v pozici X,Y. Toto slouzi ke schovani spritu za levy okraj obrazovky. Pro zobrazovani spritu ale plati omezeni, ze na jedne TV radce se nesmi objevit vice jak 4 sprity. Pokud jich ma vice stejnou souradnici Y, neni nejvzdalenejsi ( kodove ) sprite zobrazen ( pripad- ne i cast z nej ) a informace o tomto spritu je udana ve status registru. Pozice X a Y jsou absolutni souradnice obrazovky. Pri pouziti prikazu LOC X TO 0,0 je na Y pozici -1. 11.2 Nevyzite bloky VRAM ============================= |---------------------------+-------------+-------------| | nevyuzito | obrazovka 0 | obrazovka 1 | |---------------------------+-------------+-------------| | 0000 - 2800 = 10240 bytes | TEXT | TEXT | | 0000 - 2000 = 8192 bytes | TEXT, GI | TEXT, GI | | 3BA0 - 3BFF = 96 bytes | GI | -- | | 3BC0 - 3BFF = 64 bytes | TEXT | -- | | 3FA0 - 3FFF = 96 bytes | -- | GI | | 3FC0 - 3FFF = 64 bytes | -- | TEXT | | 3B80 - 3BFF = 128 bytes | GII | -- | | 3F80 - 3FFF = 128 bytes | -- | GII | ----------------------------+-------------+-------------| Na adresach &0000 az &1FFF je v BG dalsich 8 obrazovek. 12. Organizace pameti ROM a RAM ************************************ Pamet lze adresovat dvoubytovou adresou v rozsahu &0000 az &FFFF. V oblasti adres &0000 az &1FFF ( 8kB ) se nachazi zakladni programove vybaveni pocitace, tj. MONITOR ROM. Od adresy &2000 do adresy &6FFF je vyhrazeny prostor pro zasuvne moduly. Pri zasunutem modulu rozsirujici RAM se od adresy &7000 do adresy &FFFF se nachazi pamet RAM. Nektere mista v pameti RAM nemuze uzivatel vyuzit pro sve potreby, protoze je vyuziva system. Jsou to tato mista: &7000 - &72FF - zde se nachazeji systemove promenne ( viz prirucka SYSVAR ) Dalsi prostor je vyhrazen pro potreby jazyku basic: &7300 - &7382 - BASIC-I &7300 - &7459 - BASIC-G &7300 - &77F1 - BASIC-F &FF00 - &FFFF - zasobnik navratovych adres procesoru. &FF00 je priblizna hodnota, zasobnik se stale meni ------------------------------------------------------------------------------ Podle ruznych materialu a na zaklade vlastnich zku- senosti sestavil a napsal LZR Soft. V Kladne 1988. Vydani treti,pocet vytisku dle potreby. Vytisteno na tiskarne LA120 firmy DEC. -------------------------------------------------------- pro WWW upravil K5 --