home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 25 / Flop_Magazin_25_1993_United_Electronic_Crazies_cs_Side_A.atr / ml.cap < prev    next >
Text File  |  2023-02-26  |  5KB  |  1 lines

  1. N*vod k programu ML2262.TBA¢¢¢¢VYMEZEN     PROSTORU PRO ML V TBASICU¢----------------------------------¢¢    Ve FLOPu ⇨.14 byl uveden program GENMBAS.BAS vymezuj)c) m)sto  pro  stroj*k, kter` se pak nahr*v* sou'asn% s BAS-programem a m+(e   uspo@it m)sto v pam%ti  i na disket%. əel, tento program nejde pou()t v TurboBasicu.  Pomoc n*m zde nab)z) n*sleduj)c) n*vod.¢   Bu⇦ pou(ijeme hotov` "pr*zdn`" program, kter` je p@ilo(en`,  nebo  si  tento pr*zdn` program sami sestav)me.¢    V prv[m p@)pad% m*me na disket% soubor D:ML2262.TUR. Tento soubor tedy nat*hneme v TBasicu ╱po NEW <RET>$ p@)kazem LOAD "D:ML✓.TUR<RET>. Jednodu&e si  ov%@)me d[lku vymezen[ho prostoru ╱je mezi tabulkami n*zv+ prom%nn`ch a hodnot prom%nn`ch$,a po'*te'n) adresu, od kter[ m+(eme ukl*dat  na&e  strojov[  subrutiny:╱Pracujeme v p@)m[m re(imu$  PRINT HEX◆╱DPEEK╱◆84$⇩1$ <RET> ==> ◆372A. Dal&) adresu zjist)me:        PRINT HEX◆╱DPEEK╱◆86$$ <RET> ==> ◆4000. Prvn) ]daj je za'*te'n) adresa na&ich stroj*k+, rozd)l 4000-372A=08D6,  t.j.2262 bajt+. Sem tedy ╱tj.372A..3FFF$  m+(eme p@esunout stroj*k ╱pokud  ho  m*me  v pam%ti$ p@)kazem:    MOVE ODKUD,◆372A,KOLIK. B%(n%j&) bude na'ten) rutiny z diskety otev@en`m kan*lem BGET #n,◆372A,KOLIK. Nebo kone'n% krat&) strojov` program p@)mo na④uk*me z QMEGu.¢    A( nyn) nap)&eme vlastn) TBas-program, anebo ho p@ihrajeme z disku  p@)kazem ENTER...¢¢    Strojov[ programy/subrutiny vol*me z TBas programu p@)kazem:    X=USR╱DPEEK╱◆84$⇩1⇩DIF, ...$ Startovac) adresa subrutiny se m%n) p@id*n)m ka(d[ nov[ prom%nn[ do tabulky  n*zv+ prom%nn`ch. Prvn) subrutina bude tedy za adresou konce tabulky VNTD  ╱◆84.5$ a DIF=0, druh* subrutina v po@ad) bude m)t nap@. DIF=16 ╱je-li d[lka  1.stroj*ku 16 bajt+$, atd.¢    Po ov%@en) funkce na&eho programu s relokabiln)mi strojov`mi subrutinami, je mo(n[ ulo(it soubor na disketu p@)kazem SAVE "D:NAME.EXT" ╱tedy nikoli LIST "D:$ Pozn*mka: Pamatujme, (e p@)kazy NEW, RESET zru&) n*&  program,  stejn%  jako nata(en) dal&)ho souboru p@)kazem LO."D:...$. Nem*me-li vhodn% dimenzovan` "pr*zdn`" soubor,mus)me si ho generovat. Jde to dv%ma zp+soby: z QMEGu a z TBasicu v p@)m[m re(imu.¢¢Vymezen) prostoru pro 200 B z QMEGu:¢¢     Nat*hneme TBasic, p@ejdeme do QMEGu a pak s <RET> do jeho monitoru.¢nap)&eme: 80.90<RET> ==>¢           0080;29 36 29 37 29 37 2A 37¢           0088;2A 37 2A 37 2D 37 2D 37¢           0090;2D 37 .. .. .. .. .. ..¢Nyn) oprav)me ╱3x$ 2A ╱⇩C8 t.j.200$ na F2 a¢              ╱3x$ 2D ╱⇩C8$         na F5,¢tak(e v`pis 80.97<RET> bude n*sledovn`:¢           0080;29 36 29 37 29 37 F2 37¢           0088;F2 37 F2 37 F5 37 F5 37¢           0090;F5 37 .. .. .. .. .. .. .¢Te⇦ sko')me na adresu ◆37F2 <RET> ==>¢           37F2;00 00 00 00 00 00 00 00 a prvn) t@i bajty oprav)me na:¢           37F2;00 80 03<RET> .¢¢    P@ejdeme do TurboBasicu naps*n)m: 2080GO<RET> ==> READY, a hned zap)&eme na disketu jako z*kladn) "pr*zdn`" soubor, nap@.: SAVE "D:ML200.TUR".¢    Nebo je&t% v QMEGu na④uk*me na&e strojov[ subrutiny ╱po')naje adresou ◆372A$, p@ejdeme do TBasicu, nap)&eme sv[ programov[ @*dky a v&e ulo()me na disketu se SAVE...¢     V opa'n[m po@ad) to jde tak[, ale trochu slo(it%ji.¢¢Generov*n) pr*zdn[ho souboru z TurboBasicu¢¢    V&echny p@)kazy se d%jou z p@)m[ho re(imu a bez prom%nn`ch! Nejd@)ve NEW<RET> a ov%@)me si adresu tabulky hodnot prom%nn`ch ╱VVTP ◆86.7$ ==> ◆372A. Chceme-li vymezit prostor 800 bajt+ ╱◆320$ pak sou'et:372A⇩0320=3A4A. Do bufferu ╱od a.◆0100, za'*tek 1.str*nky, z*pisn)k$ ukl*d*me  opraven[  hodnoty pro VVTP ╱◆86.7$,STMTAB ╱◆88.9$,STMCUR ╱◆8A.B$ takto:         DPOKE 256,◆3A4A:DPOKE 258,◆3A4A:DPOKE 260,◆3A4A <RET>, pro STARP ╱◆8C.D$, RUNSTK ╱◆8E.F$ a MEMTOP  ╱◆90.1$  adresu  o  3  bajty  vy&&):           DPOKE 262,◆3A4D:DPOKE 264,◆3A4D:DPOKE 266,◆3A4D <RET>. Te⇦ na adresu ◆3A4A nap)&eme zn*m[ 3 bajty pro p@)m` vklad: DPOKE ◆3A4A,◆8000:POKE ◆3A4C,3 <RET> a kone'n% p@esuneme z  bufferu  opraven[ hodnoty nov`ch adres na spr*vn* m)sta: MOVE 256,◆86,12. Generovan` soubor ulo()me na disketu ╱S."D:ML800.TUR$.¢¢    Podobn% lze vyrobit "pr*zdn`" soubor v A-BASICu,  kde ov&em  nejsou  p@)kazy DPOKE, MOVE a museli bychom pou()vat dekadick* ')sla. Je tedy takov`to soubor mo(no generovat jen z QMEGu. Adresy tabulek jsou jin[ ╱z*visej) na pou(it[m DOSu$, nap@.:¢           0080;1F 00 00 20 00 20 01 20¢           0088;01 20 01 20 04 20 04 20¢           0090;04 20 .. .. .. .. .. .. .¢   Jako uk*zka je p@ilo(en soubor D:UKAZKA80.BAS s vymezen`mi 80-ti bajty pro ML.¢Zde jsou ulo(eny 2 kr*tk[ stroj*ky ╱20 a 17 B, tak(e zb`v* je&t% 43 B$. Program spou&t)me s RUN a vyjdeme z n%j s BREAK. Soubor m+(eme pou()t pro na&e ]'ely ╱pokud n*m sta') on%ch 80 bajt+$ tak, (e p@ep)&eme nebo vyma(eme programov[ @*dky ╱ale nikoli s NEW$. Stejn% tak p@ep)&eme st*vaj)c) strojov[ podprogramy ╱od adresy PEEK╱132$⇩256✓PEEK╱133$⇩1 $ vlastn)mi subrutinami.¢¢Z*v%r¢¢    Ulo()me-li do vymezen[ho souboru novou znakovou  sadu  nebo  nerelokovateln[ soubory, kter[ jsou vol*ny v(dy na ur'it`ch adres*ch, pak v  programu,  hned  na za'*tku mus)me tyto rutiny nebo tabulky p@esunout ╱MOVE ...$ na  jejich  spr*vn[ m)sto v opera'n) pam%ti.¢¢¢¢Mnoho ]sp%ch+ s n*vodem p@eje autor¢