home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 36 / Flop_Magazin_36_1995_04_Raster_cs_Side_A.atr / bgebpu.cap < prev    next >
Text File  |  2023-02-26  |  2KB  |  1 lines

  1. ¢Rutina pro BGET a BPUT¢Radek ③t%rba, RASTER¢¢Pokud ve sv[m programu pot@ebujete na')st n%jak* data z dan[ho souboru, nej'ast%ji se pou()v* p@)kaz BGET. Zp+sob pou(it) je n*sleduj)c):¢¢N=1   ..')slo pou()van[ho kan*lu¢OPEN #N,4,0,"za@)zen):n*zev" ..otev@en) souboru pro 'ten)¢BGET #N,adresa,po'etbyt+  ..na'ten) dat do RAM od udan[ adresy¢CLOSE #N  ..zav@en) souboru¢¢⇨ten) dat t)mto zp+sobem je velice rychl[ a snadno pou(iteln[. Jedin`m probl[mem ov&em je, (e p@)kaz BGET nen) mezi vestav%n`mi p@)kazy BASIC ROM, ale je to p@)kaz TBASICu. V BASICu jsme omezeni pouze na funkci GET pro 'ten) jednoho bytu. Ta jde tak[ pou()t, ale u( ne tak efektn%:¢¢N=1   ..')slo pou()van[ho kan*lu¢OPEN #N,4,0,"za@)zen):n*zev" ..otev@en) souboru pro 'ten)¢FOR X=adresa TO adresa⇩po'etbyt+-1: GET#N,A: POKE X,A: NEXT X  ..na'ten) dat do RAM od udan[ adresy¢CLOSE #N  ..zav@en) souboru¢¢Na')t*n) t)mto zp+sobem bude trvat podstatn% del&) dobu.¢Proto jsem vyrobil strojovou rutinu, kter* nab)z) stejn[ mo(nosti jako p@)kazy BGET a BPUT. Jej) p@ipojen) k programu a pou(it) je velice snadn[:¢¢1.$¢Na't%te sv+j BASIC program.¢¢2.$¢P@esv%d'te se, (e v*& program nepou()v* @*dek ')slo 32767. Pokud ano, p@em)st%te ho jinam. ¢Povelem ENTER"D:BGEBPU.LB" p@ihrajte jeden @*dek ╱bude m)t ')slo 32767$, na kter[m se nach*z) deklarace a textov* prom%nn* ╱string$ s definic) strojov[ rutiny. ¢¢3.$¢Prove⇦te LIST 32767 a p@em)st%te tento @*dek na za'*tek sv[ho programu. ╱Na jeho p+vodn)m m)st% ho zru&te!$¢¢4.$¢Kdekoli v programu m+(ete pou()vat vol*n) strojov[ho programu um)st%n[ho v textov[ prom%nn[ pro funkci BGET nebo BPUT. Vol*n) je n*sleduj)c):¢¢BGET:¢A=USR╱ADR╱BGP◆$,')slokan*lu,4,adresa,po'etbyt+$¢¢BPUT:¢A=USR╱ADR╱BGP◆$,')slokan*lu,8,adresa,po'etbyt+$¢¢V prom%nn[ A se v obou p@)padech objev) status operace - tj. ')slo chyby v p@)pad%, (e nastane. Jinak je prom%nn* A men&) ne( 128 ╱v&e v po@*dku$.¢¢Pozn*mky:¢Rutina nahrazuje pouze BGET 'i BPUT. Povely OPEN a CLOSE mus)te pou()t stejn`m zp+sobem jako d@)ve.¢Neopom)jejte kontrolovat hodnotu prom%nn[, kterou rutina vrac). V p@)pad% chyby toti( nedojde k vybuzen) ERRORu, ale projev) se to pouze v t[to hodnot%.¢Nezapomete, (e textovou prom%nnou BGP◆ nesm)te v (*dn[m p@)pad% zm%nit. Vedlo by to k po&kozen) strojov[ rutiny a p@i jej)m vol*n) k zablokov*n) syst[mu.¢Tato rutina je ur'ena k voln[mu pou()v*n)...¢