MEGA.2 ZX 2.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
----------------------------------------------------------------
GET a PUT
Je mozne uchovavat cast obrazovky v pameti a potom ji vratit
zpet na obrazovku, do jine pozice. Toto umoznuji dva prikazy:
GET a PUT. 'GET' ulozi obrazovku do pameti a 'PUT' ulozi obsah
pameti na obrazovku. Prikaz 'GET' ma tvar:
GET_0,a,y,x,d,w
Kde 'a' je adresa v pameti, od ktere se ma obrazovka ukladat,
'y' je cislo radky leveho horniho rohu oblasti, ktera ma byt
ulozena, 'x' je cislo sloupce leveho horniho rohu oblasti, ktera
ma byt ulozena, 'd' je vyska oblasti, ktera ma byt ulozena a 'w'
je sirka oblasti.
Prikazy PUT a GET pouzivaji stejne souradnice, jako napr.
standartni SCREEN$ nebo ATTR. 'GET' uklada do pameti nejdrive
display file a potom atributy. Pouzijte prikaz CLEAR k vyhrazeni
casti pameti pro uchovani obrazovky. Muzete vypocitat pocet
bytu ktere zabere uchovana cast obrazovky podle vyrazu:
9 * w * d
Prikaz 'PUT' ma formu
PUT_f,a,y,x,d,w
Kde f udava zpusob, jakym ma byt obsah pameti ulozen zpet na
obrazovku.
f=0 Obrazovka je prepsana obsahem pameti
f=1 Obrazovka je ORovana s obsahem pameti
f=2 Obrazovka je XORovana s pameti
f=4 Jako f=0, ale jsou zachovany puvodni atributy
f=5 Jako f=1, ale jsou zachovany puvodni atributy
f=6 Jako f=2, ale jsou zachovany puvodni atributy
Promenne 'a','y','x','d' a 'w' maji tentyz vyznam jako u prikazu
GET.
SPUT
SPUT je variace prikazu PUT. Prikazem 'SPUT' muzete obrazovku
ulozenou v pameti zvetsovat. SPUT ma formu
SPUT_a,x,y,b,c,w,d
Kde 'a' je adresa zacatku bloku, 'x' a 'y' jsou souradnice
leveho horniho rohu (SPUT pouziva tentyz souradicovy system jako
SPRINT), 'b' a 'c' udavaji, kolikrat ma byt uchovany blok
zvetsen ve smeru 'x' a 'y', 'w' je sirka bloku (jako u GET) a
'd' je vyska bloku (v pixlech ! - t.j. 8 krat vice, nez u GET)
SPUT vzdy zachova puvodni atributy.
RIZENI BEHU PROGRAMU
''''''''''''''''''''
PROCEDURY
YS MegaBasic vybavil Spectrum procedurami s parametry. Nevyhodou
techto procedur je, ze neumoznuji pouzivat lokalni promenne.
Zacatek procedury je oznacen symbolem '@' (zavinac) a jmenem
procedury. Tento prikaz musi byt prvnim na radku. Jestlize
procedura pouziva parametry, musi za jmenem procedury nasledovat
podtrzeni '_' a nazvy promennych oddelene carkami.
Konec procedury je oznacen prikazem 'ENDPROC_'. Pro prehlednost
je mozne pridat za ENDPROC jmeno ukoncovane procedury (napr.
ENDPROC_DISP). Priklad procedury:
9000 @DISPLAY_a,a$
9010 PAPER a:INK 9
9020 MODE_4:STIPPLE_6
9030 PRINT a$
9040 ENDPROC_DISPLAY
Radek 9000 definuje proceduru DISPLAY a urcuje ze je potrebna
jednak numericka promenna (a), jednak retezcova (a$). Radek 9010
nastavi potrebne barvy a radek 9020 nastavi velikost znaku a
druh srafovani. Radek 9030 vytiskne dodany retezec a radek 9040
proceduru ukonci. K aktivovani procedury pouzijte kdekoliv v
programu napr. 'DISPLAY_2,"MEGABASIC"'.
Procedury mohou byt volany pouze v ramci programu, takze nemohou
byt pouzity jako prime prikazy.