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