home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 32 / Flop_Magazin_32_1994_06_Raster_cs_Side_B.atr / sio.cap < prev    next >
Text File  |  2023-02-26  |  4KB  |  1 lines

  1.           SIO a data na disket%¢¢¢¢     Mysl)m, (e zat)m m*lo program*tor+ p@i tvorb% sv`ch datov`ch b*z), kartot[k a p@i editov*n) textu pracuje p@)mo se sektory. Navykli jsme si z*znamy╱records$ odes)lat do soubor+ pomoc) PRINT #n a ')st s INPUT #n. Soubory ukl*d*me jako celek na disketu  pomoc) SAVE ╱zp%t s LOAD Dn:...$, nebo ve strojov[m kdu pou(it)m CIOMAIN a rutin z tabulky HATABS.¢    P@)m* I/O manipulace se sektory na disket% pomoc) SIO ╱Serial I/O$ a jej) DCB ╱Data Control Block na adres*ch ◆0300..◆030B$ je jednodu&&) a l[pe vyu()v* opera'n) pam%t i stopy ╱traces$ na disket%.¢    Pod)vejme se na kr*tkou uk*zku SIODIR.TBA. Strojov* rutina na'ten* do 6.str*nky ╱@.2..18$ najde a zpracuje VTOC ╱sektory  '. 361..368, ◆0169..◆0170$. Sektor se jako celek ulo() do @et%zce Z◆ p@)kazem na @.32. Parametr ◆5240 ur'uje, (e se jedn* o nata(en) sektoru do opera'n) pam%ti, 'ten). Pak se ]daje o jednotliv`ch souborech vyp)&) na obrazovku. Z v`pisu vid)me kolik a kter[ sektory jsou na disket% obsazeny, a kter[ jsou voln[ pro na&e p@)padn[  pou(it).¢    Na @.76 a d. je uk*z*no, jak vytvo@it/editovat sektor, ulo(it ho na disketu, a pak - podle pot@eby - ho z n) zase p@e')st. Samoz@ejm% (e ve skute'nosti bude Z◆/sektor p@edstavovat n*& z*znam/record, a (e v n%m budou p@esn% stanoveny za'*tky a d[lky  jednotliv`ch polo(ek/pol). Zvol)me si ')slo sektoru a tam z*znam ode&leme ╱@.84$. Vid)me, (e pro z*pis sektoru m%n)me ve funkci USR 1.parametr za ◆5780, t.j. Write. A datab*ze ╱ze dvou z*znam+/sektor+$ je hotova, ulo(ena na periferii. P@e'teme ji a d*le zpracov*v*me ji( zn*m`m p@)kazem ╱viz @*dek 94$. Je samoz@ejm[, (e vlastn) datab*zi si budete tvo@it podle sv`ch pot@eb; TurboBasic k tomu sk`t* dost mo(nost).¢¢    Jist% jste si v&imli vysok[ho ')sla sektoru pro  n*& p@)klad. Na ka(d[ disket%, form*tovan[ s FM# pou()v* opera'n) syst[m celkem 1024 sektor+ ╱3 t.zv. Boot-sektory, 10 sektor+ pro tabulku VTOC  a mapy diskety$; n*m DOS dovoluje obsadit 1009 sektor+. P@esto  v&ak je disketa form*tov*na na 1040 sektor+. T%ch posledn)ch 15 sektor+ lze bez obav pou()t na ka(d[ disket%, i na t%ch, na kter`ch je dod*v*n magaz)n Flop. M+(ete si to zkusit.¢    Budeme-li s FM#-form*tovanou disketou zach*zet jako bychom m%li pro soubory jen 707 sektor+ ╱"single"$, pak na disketu dostaneme u( 333 sektor+ s na&) datab*z). A kone'n%, vy'len)me-li celou disketu pro sv* data, ob% strany jenom sform*tujeme s FM# a budeme m)t 2080 sektor+, tedy 266 kB k dispozici.¢    Ukl*dat sektory m+(eme i do RamDisku ╱RD$. Zrychl) se t)m jejich p@esun sem-tam asi 10-tin*sobn%. Tuto  'asovou  v`hodu zase ztrat)me, kdy( budeme p@esouvat svou datab*zi z RD na disketu ╱jen p@es opera'n) pam%④, p@)mo to nejde$. RamDisk ╱nejl[pe u t.zv. roz&)@en) pam%ti o 256 kB$ mus) b`t definov*n bu⇦ jako D2:, nebo D3: 'i D4: ╱DCB obsluhuje 4 @adi'e$. Pou()v*me-li Q-MEG, pak tento opera'n) syst[m automaticky definuje RamDisk A nejen jako D8:, ale i D3:, a RD B jako D4:.¢    Do DCB ╱a.◆0301$ mus)me tedy vlo(it ')slo @adi'e: POKE 1543,3 ╱pro RD A$, nebo POKE 1543,4 ╱RD B$, a u( putuj) na&e sektory z opera'n) pam%ti na p@)slu&n` RD nebo naopak. Ale pozor: DOSem jsou p@i  zapnut)  p@)stroje p@esunuty 3 boot-sektory do RD A, kter[ my  nesm)me  obsazovat. M*me tedy k dispozici v RD A 1040-3 sektory; v RD B boot-sektory nejsou, ale zato je tento RD men&): m* 467 sec ╱1..467$.¢¢    Deklarovan* rychlost s[riov`ch operac) se sektory je 19,2 kBaud+ ╱pro disketovou jednotku A 1050$. V praxi ale p@esuneme 100 sec * 128 B  z  opera'n) pam%ti do RD jen za m[n% ne( 1 s; a stejn% tak i naopak. P@esun stovky sektor+ z opera'n) pam%ti na D1: bude trvat asi 11,5 sekundy, co( i tak je rychlost dostate'n*.¢¢    V&e co bylo uvedeno pro s[riovou manipulaci s mal`mi  ╱128  B$ sektory plat) v principu i pro SIO a sektory 256-ti bajtov[  ╱disketov[ jednotky XF 551 nebo ATTACK 360$. Do DCB mus)me zapsat po'et bajt+ p@en*&en`ch na jeden z*b%r ╱DPOKE ◆0308,◆0100$. Na  disket% form*tovan[ s dvojitou hustotou ╱kup@. BIBODOSem$ m*me max. 1440  sektor+, co( p@edstavuje 368,64 kB, 'ili ji( ]tlou kn)(ku.¢    Na jednu stranu diskety form*tovan[ s FD# lze ulo(it ne 707 sektor+, jak n*m ukazuje v`pis direktor*@e ╱/-A$, ale dokonce 720  sektor+.¢¢σVladim)r Li&ka a Emil Sl*nsk`, Pardubice¢