-- 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 --