| | S O R D Creative Computer $$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$ $$ $$$$$$$ $$ $$ $$ $$$$$$$ $$$$$$ $$$$$$ $$ $$$$$$$$$$$$$$$$$ $$$$$$$$$$ $$ $$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$ $$ $$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$ $$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$ $$ $$$$$$$$$ $$$$$$$$$$$$$ $$$$$$$$$ $$$ $$ $$$$$$$ $$$$$$$$$ $$$$$$$$ $$ $$ $$$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$ $$ $$$$$$$ $$$$$$$ $$$$$$$ ####### $$ $$$$$$$ $$$$$$$ $$$$$$$ ####### $$ $$$$$$$ $$$$$$$ $$$$$$$ ####### $$ $$$$$$$ $$$$$$$ $$$$$$$ ####### $$ $$ $$ $$ $$ $$ $$ $$ $$ $$ -------------------------------------------------- | | | SORD M5  | | | -------------------------------------------------- SORD M5 - 1 - OBSAH ===== 1. Uvod ............................................................. 2 2. Strucny popis pocitace ........................................... 2 2.1 Pouzite pameti ................................................... 2 3. Provozovani pocitace ............................................. 3 3.1 Zmeny oproti standardni sestave pocitace M5 ...................... 3 4. Komunikace uzivatele s pocitacem ................................. 4 4.1 Klavesnice pocitace M5 ........................................... 4 4.2 Obrazovkovy editor pocitace M5 ................................... 5 5. Rezimy prace pocitace ............................................ 6 5.1 Rezim okamziteho vypoctu ......................................... 6 5.2 Ciselne a retezcove promenne ..................................... 7 5.3 Promenne typu pole ............................................... 8 5.4 Rezim programovani ............................................... 8 5.5 Zaklady tvorby programu v jazyce BASIC ........................... 8 6. Prace s magnetofonem ............................................. 9 6.1 Pripojeni magnetofonu ............................................ 9 6.2 Doplneni k prikazum, ktere operuji s magnetofonem ................ 10 6.2.1 Rozliseni typu zaznamu ........................................... 10 6.2.2 Provadeni prikazu OLD v modulu BASIC-I ........................... 10 6.2.3 Provadeni prikazu TAPE ........................................... 10 6.2.4 Otaznikova konvence .............................................. 11 6.2.5 Chybove hlaseni .................................................. 11 7. Obecne vlastnosti jazyku BI, BG, BF .............................. 11 7.1 Aritmeticke operace .............................................. 12 7.2 Logicke operace .................................................. 12 7.3 Relacni operace .................................................. 12 8. Doplneni k praci s grafickymi prikazy ............................ 12 8.1 Prikazy operujici se souradnicemi X,Y ............................ 12 8.2 Pomucka pro lepsi spojeni jemne grafiky a spritu ................. 12 9. Pouzivani desitkove a sestnactkove soustavy ...................... 13 9.1 Prevod cisel mezi HEX a DEC ...................................... 13 10. Prace s byty ..................................................... 13 10.1 Adresovani jednoho a dvou bytu ................................... 13 10.2 Prace s binarni soustavou ........................................ 14 11. Par slov k videoprocesoru ........................................ 15 11.1 Pamet VRAM ....................................................... 15 11.2 Nevyzite bloky VRAM .............................................. 16 12. Organizace pameti ROM a RAM ...................................... 16 ---------------------------------------- | | | SORD COMPUTER CORPORATION | | | | SAITO BLDG.2F, 14-16, | | KYOBASHI 3-CHOME | | CHUO-KU, TOKYO 104, JAPAN | | PHONE: (03)562-6061 | | TELEX: 2522745 ( SORD J ) | | | ---------------------------------------- SORD M5 - 2 - 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 HAND. SORD M5 - 3 - 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. 3.1 Zmeny oproti standardni sestave pocitace M5 ==================================================== 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 ). 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. Pochopitelne jen tehdy, neni-li pripojen na dalkove ovladani. SORD M5 - 4 - - modulem 64 KBI, coz je pamet RAM 64 kB. Tato pamet 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 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 v levem a pravem spodnim rohu funguji jako zvednuti voziku u psaciho stroje pro psani velkych pismen abecedy. Tlacitko je nutno drzet sou- casne s tlacitkem znakovym. Tlacitko na leve strane klavesnice meni zobrazovaci rezimy klavesnice a lze jeho pomoci vypisovat prikazy, ktere jsou napsany na vetsine tlacitek. Stiskne-li se 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 SORD M5 - 5 - meni na inverzni L,C nebo G. Ve vsech rezimech funguji i tlacitka . Pri psani textu muzeme kursor posunovat na libovolnou pozici obrazovky pomoci tzv. CTRL funkci ( Viz cast Obrazovkovy editor ), pri soucasnem stisku klave- sy a prislusneho tlacitka. Chybejici mezernik je nahrazen klavesou v prave casti klavesnice. Jako odesilaci ( exekucni neboli provadeci ) klavesa slouzi tlacitko v prave casti klavesnice. 4.2 Obrazovkovy editor pocitace M5 ======================================= Pohyb kursoru po obrazovce je mozny vsemi ctyrmi smery pomoci nasledujicich CTRL funkci ( + ). : : ( 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 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 SORD M5 - 6 - 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 - provadi se - tiskne se mezera - 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 , objevi se na nasledujici radce chybove hla- seni jazyka BASIC "Err 2 in 0" a na dalsi radce "Ready".Klavesa 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 ) 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 SORD M5 - 7 - poradi: +

,,+<8>+<8>,<2>,+<;>,<3>,+<9>, +<:>,+<8>,<8>,+<;>,<2>,+<9>+<9>,,<1>,<0>, ) 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 . 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 = 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- SORD M5 - 8 - 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- SORD M5 - 9 - 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: + - odpovida prikazu END + - 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 ( + , 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 , 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. SORD M5 - 10 - 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 "" 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 "." a za kazdych 256 bytu vytiskne tecku. Pokud dany program nebo data preskakuje, vypisuje: Skip "." 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: * - 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 ) - data nebo program se preskakuji 6.2.3 Provadeni prikazu TAPE ------------------------------- Prikaz TAPE informuje o nahravani nebo preskakovani programu nebo dat nasledu- jicimi zpusoby: * - 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. - data .VM nebo .SC se preskakuji Prikaz TAPE nelze prerusit stiskem ani kombinacemi + nebo +. 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. SORD M5 - 11 - Poznamka: prikazy OLD v jazyce BASIC-I a prikaz TAPE ignoruji typu .LS a .DT. 6.2.4 Otaznikova konvence ---------------------------- Pouzije-li se ve jmenu souboru - programu nebo dat ( tzn. ve ) 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 . 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 ) SORD M5 - 12 - 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 SORD M5 - 13 - 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) SORD M5 - 14 - 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) SORD M5 - 15 - 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 + ( 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 SORD M5 - 16 - 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 zasumutem 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 SORD M5 - 17 - S O R D M 5 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. 11-SEP-89