- 17 -

Práca s pamätovými bankami mikropočítača
----------------------------------------

Didaktik Gama
-------------

Pre lepšie využitie 80kB RAM v mikropočítači Didaktik Gama uvádzame program, ktorý toto využitie ilustruje :

PRÍKLAD :

Mikropočítač sa dá použit na príjem telegrafie. Predpokladajme že máme vytvorený podprogram na príjem jedného znaku PRIJMI, ktorý má v premennej ZNAK kód prijatého znaku. Chceme prijímať text a ukladať ho do pamäti pre dalšie využitie napr. výpis na tlačiareň. Prijaté znaky budeme ukladať od adresy 32768, pričom RAMTOP nastavíme na hodnotu 32767. Klasické Spectrum dokáže uložit do pamäti 32768 znakov t.j. asi 8,5 stránky textu /64 znakov na riadok, 60 riadkov/.


10 CLEAR 32767				;nastaví RAMTOP
20 LET MEM=32768			;nastavenie začiatku pamäti
30 LET BANK=0				;príznak aktívnej banky
40 GO SUB PRIJMI			;prijmi znak do premennej ZNAK
50 POKE MEM,ZNAK			;ulož znak na adresu MEM
70 LET MEM=MEM+1
80 IF MEM=65535 THEN LET MEM=32768: LET BANK=1:OUT 127,1
					;prepnutie banky
90 GO TO 40

Tento program načíta do obidvoch bánk pamäti prijímané znaky. Upozorňujeme, že tu nie je ošetrený koniec prijímania znakov, ktorý by mohol byť na riadku 60. Týmto programom sa dá teda dostat do pamäti mikropočítača Didaktik Gama 65536 znakov, čo je asi 17 stránok textu. Pre výpis na tlačiareň potom môžeme použit nasledujúci program:


100 IF BANK=1 THEN OUT 127,0
110 LET KMEM=MEM-1			;MEM je nastavené na adresu
					;posledného prijatého znaku
120 IF BANK=1 THEN: FOR I=32768 TO 65535: LPRINT CHR$(PEEK(I)):
    NEXT I:OUT 127,1
130 FOR I=32768 TO KMEM: LPRINT CHR$(PEEK(I)):NEXT I