MEGA.1 ZX                                                 1.CAST
                     Your Spectrum software:
              M E G A  B A S I C + SPRITE DESIGNER
       Preklad a uprava Frantisek Fuka - F U X O F T  1985
----------------------------------------------------------------
                           Jak zacit:
Nahrani YS MegaBasicu je jednoduchost sama. Vlozte:
     LOAD ""
YS MegaBasic je dodavan na  pasku  spolu  s  programem  nazvanym
Sprite Designer, ktery  vam  umoznuje  vytvaret  sprajty,  ktere
muzete potom pouzivat ve svych programech.
                           KLAVESNICE
Jakmile se MegaBasic nahraje, uvidite kratkou  uvodni  zpravu  a
inverzni mezeru v levem dolnim  rohu  obrazovky.  Toto  je  novy
kurzor a udava,kde se budou objevovat vami zadavane prikazy.
YS  MegaBasic  vyuziva  pro  input  celou   obrazovku,    oproti
normalnimu Spectru, ktere ma obrazovku rozdelenou na dve casti.
Zkuste stisknout nekolik tlacitek na klavesnici a  vsimnete  si,
ze se neobjevuji obvykla  klicova  slova...  Misto  toho  vidite
samostatna pismena. Vsechny prikazy musite  zadavat  pismeno  po
pismenu - vlastnost, ktera zmenila klavesnici vaseho  Spectra  v
neco, co se blizi klavesnici normalniho pocitace. Toto  ma  vsak
nevyhodu v tom, ze napr. prikaz PRINT,  ktery  jste  na  Spectru
ziskal  stisknutim  jedineho  tlacitka,  musite   nyni    ziskat
stisknutim peti tlacitek:  P,R,I,N,T.  Proto  vam  YS  MegaBasic
umoznuje mnoho prikazu psat zkratkami.
Nyni nasleduje kompletni seznam klicovych slov  spolu  s  jejich
zkratkami. Slova ktera zde nenajdete nemaji zkratky, a tudiz  je
musite vypisovat cela. Take si vsimnete, ze zkratka prikazu musi
koncit teckou; napr. zkratka z 'CONTINUE' je 'CON.'.
A.TTR          ER.ASE          ME.RGE          RES.TORE
BE.EP          E.XP            M.OVE           RET.URN
B.IN           FL.ASH          NE.XT           R.ND
BO.RDER        F.ORMAT         N.OT            SA.VE
BR.IGHT        GO S.UB         OP.EN #         S.CREEN$
CH.R$          G.O TO          OV.ER           ST.R$
CI.RCLE        I.NKEY$         PA.PER          T.AB
CLE.AR         INP.UT          PAU.SE          TH.EN
CL.OSE #       INV.ERSE        PE.EK           U.SR
C.ODE          L.EN            PL.OT           V.AL$
CON.TINUE      LI.NE           P.OINT          VE.RIFY
DA.TA          LL.IST          PR.INT
D.EF FN        LP.RINT         RA.NDOMIZE
DR.AW          LO.AD           RE.AD
Uvedomte si take,  ze  chcete-li  vkladat  vcelku  prikazy  jako
'GO TO' nebo 'OPEN #', nesmite vypustit mezery, ktere se v  nich
vyskytuji; pocitac rozumi  prikazu  'GO  TO',  ale  'GOTO'  dava
zpravu 'Syntax error'.
Spodni radek obrazovky je pouzit k zobrazovani modu kurzoru.
V nasledujici tabulce jsou uvedeny normalni mody Spectra spolu s
ekvivalentnimi zpravami MegaBasicu:
Mod kurzoru         Zprava v dolnim radku
------------------------------------------
'L'                 CAPS OFF
'C'                 CAPS ON
'E'                 CAPS OFF EXTENDED
'G'                 CAPS OFF GRAPHICS
Mod kurzoru je menen obvyklym zpusobem - pouzitim tlacitek  Caps
Lock, Graphics, Caps Shift a Symbol Shift.
                             EDITOR
MegaBasic ma vyborne schopnosti editace a proto nektera tlacitka
funguji jinak nez u standartniho Spectra:
EDIT              Zkopiruje programovy radek do editacniho radku
TRUE VIDEO        Smaze cely text v editacnim radku
INVERSE VIDEO     Vymaze text napravo od kurzoru
'<='              Presune kurzor na zacatek editacniho radku
'<>'              Vymaze text od kurzoru do konce radku
'>='              Presune kurzor na konec editacniho radku
SCREEN$           Zobrazi automaticky listing (do okna 1)
                  Radek s programovym  kurzorem  bude  prvni  na
                  obrazovce.
OR                Posune  urceny  radek  nahoru  a  zobrazi
                  automaticky listing
AND               Posune urceny radek dolu a zobrazi automaticky
                  listing
STOP              Posune kopirovaci kurzor o jeden znak doleva
NOT               Posune kopirovaci kurzor o jeden znak nahoru
STEP              Posune kopirovaci kurzor o jeden znak dolu
TO                Posune kopirovaci kurzor o jeden znak doprava
AT                Zkopiruje znak pod  kopirovacim  kurzorem  pod
                  editacni  kurzor.   Kopiruje    pouze    znaky
                  standartni velikosti
OVER              Presune kopirovaci kurzor do dalsiho okna
INVERSE           Presune kopirovaci kurzor  do  leveho  horniho
                  rohu urceneho okna
Vsimnete si, ze obrazovka je rozdelena na ctyri  okna,  z  nichz
kazde ma sve specificke urceni: Okno nula zobrazuje  uzivatelsky
input  a  chybova  hlaseni,  okno  jedna  zobrazuje  automaticky
listing,  produkovany  radkovym  editorem,  okno  dve  zobrazuje
vysledky programu a okno tri je vyuzito  pro  zobrazeni  celniho
panelu (viz  dale).  Kdyz  nahrajete  YS  MegaBasic,  muzete  si
myslet, ze na obrazovce je pouze jedno okno, ale to neni pravda.
Na obrazovce jsou ctyri okna, ktera se prekryvaji.
Vsimnete si take, ze druhy kurzor muze byt pouzivanke kopirovani
textu z jine casti obrazovky pod editacni kurzor (input cursor).
Tento kurzor  (kopirovaci)  vypada  jako  blikajici  ctverec  na
obrazovce a  muze  byt  premistovan  pomoci  ridicich  tlacitek.
Kopirovaci kurzor pracuje pouze v oknech nula, jedna a dva.
Jakykoliv radek muze byt editovan bud klasickym zpusobem  ( CAPS
SHIFT + '1' ) nebo pomoci prikazu 'EDIT_'. Za  prikazem  'EDIT_'
musi nasledovat numericky vyraz, ktery udava, ktery radek ma byt
editovan. Jestlize radek s udanym cislem neexistuje,  je  pouzit
radek s nejblizsim vyssim cislem.  Jestlize  takovy  radek  take
neexistuje, zobrazi se chybove hlaseni 'Line not found'.
                KLAVESY DEFINOVATELNE UZIVATELEM
Je mozne naprogramovat  klavesy  horniho  radku  klavesnice  aby
produkovaly  retezec  az  255  znaku  dlouhy.  K  naprogramovani
klavesy pouzijte prikaz 'KEY_'  spolu  s  numerickym  vyrazem  a
retezcem  (oddelenym  carkou).  Numericky  vyraz   udava   ktere
tlacitko ma  byt  nadefinovano,  retezec  udava  co  ma  byt  na
tlacitku nadefinovano. Umisteni znaku ENTER (CHR$ 13) za retezec
vam  umozni  aby  se  nadefinovane  prikazy  ihned   automaticky
provedly. Abyste se nemuseli  zdrzovat  definovanim  tlacitek  s
prikazy 'RUN' a 'LOAD', YS MegaBasic je uz obsahuje:
VERIFY       Obsahuje retezec 'RUN +  CHR$  13'.  Toto  tlacitko
             okamzite spusti program ulozeny v pameti.
VAL$         Obsahuje retezec 'LOAD"":RUN +  CHR$  13'.  Nahraje
             program z magnetofonu a spusti ho.
                         RIDICI KLAVESY
V dobe kdy bezi program je  mezera  (SPACE)  pouzita  jako  nove
tlacitko SHIFT, takze abyste  ziskal  mezeru,  musite  stisknout
dohromady SYMBOL SHIFT a SPACE. O mezere stisknute spolu s jinym
tlacitkem budeme hovorit jako o ridici klavese:
CONTROL F      Zobrazi celni panel (viz dale)
CONTROL E      Zastavi provadeni programu  -  Spectrum  vytiskne
               zpravu 'Escape' a vrati se do editoru.
CONTROL R      Zastavi provadeni programu, sepne BORDER, PAPER a
               INK na jejich pocatecni hodnoty, vytiskne  uvodni
               zpravu a aktivuje editor. Nevymaze program !
                       VYSTUP NA OBRAZOVKU
                       -------------------
                              OKNA
Velikost a vzhled znaku a zpusob jakym mohou byt tisknuty,  jsou
faktory, ktere byly YS MegaBasicem  velice  rozsireny.  Nyni  je
napriklad mozne smerovat vystupni  hodnoty  programu  do  urcite
oblasti obrazovky. Tyto oblasti se nazyvaji 'OKNA' a  mohou  mit
jakoukoliv velikost. Na MegaSpectrum ma 10 oken - cislovanych od
nuly do deviti a vsechna muzete  pouzivat  ve  svych  programech
(i kdyz, jak bylo receno, okna nula az tri  jsou  jiz  pouzivana
systemem).
Kdyz bezi vas program, prikaz  PRINT  automaticky  pouziva  okno
dve. Je ale  mozne  prepnout  vystup  do  jineho  okna  prikazem
'CURRENT_'. Prikazove slovo je nasledovano cislem okna, ktere ma
byt pouzito.
Velikost a poloha okna se definuje prikazem 'WINDOW_', ktery  ma
formu:
WINDOW_y,x,d,w
kde 'y' (cislo radku, ve kterem se nachazi levy horni roh okna)
muze byt nula az 23, 'x' (cislo sloupce, ve  kterem  se  nachazi
levy horni roh okna) muze byt nula az 63, 'd' je  vyska  okna  a
'w' je sirka okna. Protoze  YS  MegaBasic  zavedl  64  znaku  na
radek, obrazovka ma vlastne rozmery 24x64.
Standartni funkce Spectra ATTR a SCREEN$ stale  pouzivaji  stary
souradnicovy system, ale PRINT AT pouziva novy system.  Take  si
uvedomte, ze souradnice prikazu PRINT AT jsou relativni vzhledem
k levemu hornimu rohu urceneho  okna,  zatimco  ATTR  a  SCREEN$
pouzivaji absolutni souradnice.
Po provedeni prikazu 'WINDOW_' se pozice tisku presune do leveho
horniho rohu okna.
                            CLS a CLW
Standartni prikaz CLS je pouzivan  pro  mazani  cele  obrazovky.
Novy prikaz CLW je urcen k vymazani jednoho okna. Slovo  CLW  je
nasledovano jednim nebo dvema cisly. Jestlize  jsou  cisla  dve,
pak prvni udava cislo okna, ktere ma byt vymazano a druhe  udava
o jaky typ 'vymazani'  jde.  Jestlize  je  vlozeno  pouze  jedno
cislo, je pouzito okno, s kterym se prave pracuje. V nasledujici
tabulce 'n' je cislo okna:
CLW_n,0     Vymaze okno (zaplni ho barvou permanentniho papiru)
CLW_n,1     Zaplni okno barvou permanentniho inkoustu
CLW_n,2     Zmeni INK v okne na PAPER a naopak
CLW_n,3     Vymaze pouze atributy
Ve vsech pripadech se pozice pro tisk presune do leveho  horniho
rohu.
Prikaz CLW vzdy pouziva permanentni atributy z  prave  aktivniho
okna. Takze napriklad je-li proveden prikaz CLW_0,0 a aktivni je
okno 3, pak okno nula bude vymazano s pouzitim atributu okna 3.
                          PAN a SCROLL
Pomoci techto prikazu muzete pohybovat okna po jednom  pixlu  do
vsech smeru. PAN posunuje okno do stran,  SCROLL  posunuje  okno
nahoru nebo dolu. Za obema prikazy musi  byt  dve  cisla.  Prvni
cislo udava, zda ma byt okraj okna vyplnen barvou inkoustu  nebo
papiru. Je-li toto cislo  jedna,  okraj  je  vyplnen  inkoustem.
Je-li nula, okraj je vyplnen barvou papiru.  Dalsi  cislo  udava
jak daleko a do jakeho smeru  ma  byt  okno  posunuto.  Je-li  u
prikazu 'PAN_' druhe cislo kladne, okno se posune doprava. Je-li
zaporne, okno se posune doleva.  U  prikazu  'SCROLL_'  -  je-li
druhe cislo kladne, okno se posunuje nehoru, je-li zaporne, okno
se posunuje dolu.
Take je mozne  umoznit  oknum  aby  se  po  vyjeti  z  obrazovky
objevila  na  stejnem  miste  na  protejsi  strane  (wraparound)
pouzitim prikazu 'PANW_' a 'SCROLLW_'
Pomoci prikazu FX muzete urcovat, ktere vystupy se maji tisknout
do kterych oken.
FX_0,n     Urci  okno,  ve  kterem  se  ma  zobrazovat  zadavani
           prikazu a chybova hlaseni
FX_1,n     Urci okno pro automaticky listing
FX_2,n     Urci okno pro uzivatelsky vystup
FX_3,n     Urci okno, ve kterem se ma zobrazovat celni panel
Takze napr. 'FX_0,5' zajisti, ze okno 5 bude zobrazovat  chybova
hlaseni.
                              MODE
Znaky  mohou  byt  nyni  tisknuty  na  obrazovce   ve    ctyrech
velikostech - pomoci prikazu 'MODE_':
MODE_n,1     Vyvola mod 64x24 znaku - maximalni rozliseni
MODE_n,2     Vyvola standartni velikost znaku
MODE_n,3     Vyvola znaky s dvojitou vyskou
MoDE_n,4     Vyvola znaky s dvojitou vyskou i sirkou.  Pri  teto
             velikosti muzete pouzit stinovani (viz dale)
Za slovem 'MODE_' muze byt jedno nebo dve cisla (jako u  prikazu
CLW).  V  jednom  okne  se  muze  vyskytovat  nekolik  velikosti
najednou.
Pri praci v modu 4 muzete  pouzivat  'STIPPLOVANI',  pri  kterem
znaky vypadaji stinovane. Uvedomte si, ze v modu 4 jsou znaky 4x
vetsi a tudiz kazdy pixl  zabere  ve  skutecnosti  pixly  ctyri.
Stipplovani umoznuje urcit sestavu techto 4 pixlu,  cimz  vznika
efekt stinovani. Sestava pixlu se zadava prikazem  'STIPPLE_'  a
cislem z intervalu nula az 15. Cim je cislo vyssi, tim tmavsi je
stinovani.
                              FONT
MegaSpectrum ma v pameti tri druhy pisma. Druh  pisma  s  kterym
ma Spectrum pracovat se urcuje prikazem FONT:
FONT_0   Vyvola standartni znaky
FONT_1   Vyvola 1. set (stejna pismena jako na BBC Micro nebo na
         Acorn Electronu)-ulozen od adresy 48000
FONT_2   Vyvola 2. set (jako Amstrad CPC 464)-od adr. 45000
Prikaz FONT zmeni charaktery pro VSECHNY  tisky,  nikoliv  pouze
pro jedno okno.
                         CHR$,VDU a DOWN
MegaSpectrum ma nekolik novych ridicich znaku:
CHR$ 1-4     Jako MODE 1-4
CHR$ 7       Zinvertuje znak pod kurzorem
CHR$ 24-31   Urci okno, ktere ma byt pouzito pro vystup -  napr.
             CHR$ 24 = okno 0 ; CHR$ 31 = okno 7
Novy prikaz VDU provede totez jako prikaz PRINT CHR$. Napriklad:
VDU_2        Prepne na standartni velikost znaku
VDU_65,66    Vytiskne 'AB'
Retezec znaku muze byt vytisknut pouzitim prikazu DOWN ve forme:
DOWN_y,x,a$
Kde y je radek, x je sloupec a  a$  je  retezec,  ktery  ma  byt
vytisknut. Jestlize retezec dosahne spodniho okraje  okna,  tisk
dale pokracuje opet od vrchu okna.
                        SPRINT a PRINTER
Prikaz SPRINT umoznuje tisk znaku v  jakekoliv  velikosti.  Jeho
forma je:       SPRINT_x,y,a,b,a$
Kde x a y udavaji pozici (v pixlech) odkud ma zacit tisk, 'a'  a
'b' udavaji zvetseni ve smeru x a y, a a$ je retezec,  ktery  ma
byt vytisknut. (U prikazu SPRINT je pozice 0,0  v  levem  HORNIM
rohu)
Prikaz PRINTER umoznuje  vystup  na  periferni  zarizeni  (napr.
na tiskarnu). Za prikazem nasleduje cislo. Jestlize  toto  cislo
je  jine  nez  nula,  vsechny  dalsi  vystupy  pujdou  misto  na
obrazovku na periferni zarizeni. Uzivatel musi do Spectra vlozit
podprogram  ve  strojovem  kodu  pro  vystup  znaku  na  zvolene
periferni zarizeni. Adresa tohoto podprogramu musi  byt  ulozena
na adrese 59934/59935. Znak ktery ma byt vytisten je pri  volani
podprogramu ulozen v akumulatoru. Podprogram  musi  byt  ukoncen
instrukci RET.
                        ***** POZOR *****
Pri pokusu o pouziti 'CLEAR #', 'OPEN #2' nebo 'CLOSE' se system
zhrouti !
                          G R A F I K A
                          ččččččččččččč
                          CHANGE a SWAP
Prikaz  CHANGE  umoznuje  zmenu  urcitych  casti  atributu.   Za
prikazem nasleduji dve cisla -  'maska'  a  data.  Maska  urcuje
bity, ktere maji byt v kazdem atributu meneny.  Data  urcuji,  k
jakym zmenam ma dojit.
CHANGE_1         Maska je negovana (??) -  vsechny  jednicky  se
                 zmeni na nuly a naopak
CHANGE_2         Kazdy byte  atributu  je  ANDovan  s  negovanou
                 maskou
CHANGE_3         Kazdy byte atributu je ORovan s data bytem
Prikaz SWAP je nasledovan dvema cisly v rozmezi  0-255.  Vsechny
attributy ktere  maji  hodnotu  prvniho  cisla,  jsou  nahrazeny
druhou hodnotou.
                              FADE
Prikaz FADE je urcen k produkaovani  efektu.  Nasleduje  za  nim
cislo x v rozsahu 0-255. Pocitac projizdi vsechny atributy a ty,
ktere nemaji hodnotu x dekrementuje. Toto  opakuje  tak  dlouho,
dokud vsechny atributy nemaji hodnotu x.
                             INVERT
U atributu cele obrazovky zameni PAPER za INK a naopak.
                              DEFG
Definuje UDG znaky. Ma format:
DEFG_a$,b1,b2,b3,b4,b5,b6,b7,b8
Predefinuje definovatelny znak obsazeny v a$ podle bytu b1 az b8
Napr.    DEFG_"H",255,255,255,255,255,255,255,255     nadefinuje
graficke "H" jako plny ctverec.
)))))))))))))))))))))))) NAHRAJTE 2.CAST (((((((((((((((((((((((