
Rutina pro BGET a BPUT
Radek trba, RASTER

Pokud ve svm programu potebujete nast njak data z danho souboru, nejastji se pouv pkaz BGET. Zpsob pouit je nsledujc:

N=1   ..slo pouvanho kanlu
OPEN #N,4,0,"zazen:nzev" ..oteven souboru pro ten
BGET #N,adresa,poetbyt  ..naten dat do RAM od udan adresy
CLOSE #N  ..zaven souboru

ten dat tmto zpsobem je velice rychl a snadno pouiteln. Jedinm problmem ovem je, e pkaz BGET nen mezi vestavnmi pkazy BASIC ROM, ale je to pkaz TBASICu. V BASICu jsme omezeni pouze na funkci GET pro ten jednoho bytu. Ta jde tak pout, ale u ne tak efektn:

N=1   ..slo pouvanho kanlu
OPEN #N,4,0,"zazen:nzev" ..oteven souboru pro ten
FOR X=adresa TO adresa+poetbyt-1: GET#N,A: POKE X,A: NEXT X  ..naten dat do RAM od udan adresy
CLOSE #N  ..zaven souboru

Natn tmto zpsobem bude trvat podstatn del dobu.
Proto jsem vyrobil strojovou rutinu, kter nabz stejn monosti jako pkazy BGET a BPUT. Jej pipojen k programu a pouit je velice snadn:

1.)
Natte svj BASIC program.

2.)
Pesvdte se, e v program nepouv dek slo 32767. Pokud ano, pemstte ho jinam. 
Povelem ENTER"D:BGEBPU.LST" pihrajte jeden dek (bude mt slo 32767), na kterm se nachz deklarace a textov promnn (string) s definic strojov rutiny. 

3.)
Provete LIST 32767 a pemstte tento dek na zatek svho programu. (Na jeho pvodnm mst ho zrute!)

4.)
Kdekoli v programu mete pouvat voln strojovho programu umstnho v textov promnn pro funkci BGET nebo BPUT. Voln je nsledujc:

BGET:
A=USR(ADR(BGP$),slokanlu,4,adresa,poetbyt)

BPUT:
A=USR(ADR(BGP$),slokanlu,8,adresa,poetbyt)

V promnn A se v obou ppadech objev status operace - tj. slo chyby v ppad, e nastane. Jinak je promnn A men ne 128 (ve v podku).

Poznmky:
Rutina nahrazuje pouze BGET i BPUT. Povely OPEN a CLOSE muste pout stejnm zpsobem jako dve.
Neopomjejte kontrolovat hodnotu promnn, kterou rutina vrac. V ppad chyby toti nedojde k vybuzen ERRORu, ale projev se to pouze v tto hodnot.
Nezapomete, e textovou promnnou BGP$ nesmte v dnm ppad zmnit. Vedlo by to k pokozen strojov rutiny a pi jejm voln k zablokovn systmu.
Tato rutina je urena k volnmu pouvn...
