home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 6 / Flop_Magazin_06_1990_United_Electronic_Crazies_cs_Side_A.atr / xf551for.cap < prev   
Text File  |  2023-02-26  |  6KB  |  1 lines

  1. ∮Œá≥Àã¢FORM⇧TY DISKETOV❎ JEDNOTKY XF 551.¢¢Disketov* jednotka XF 551 je schopna form*tovat va 'ty@ech r+zn`ch hustot*ch:¢¢1. Jednoduch* hustota ╱jednostran%$ 720 sektor+-128 Byt+=130 kByt+¢2. St@edn) hustota ╱jednostran%$ 1040 sektor+-128 Byt+=130 kByt+¢3. Dvojit* hustota ╱jednostran%$ 720 sektor+-256 Byt+=180 kByt+¢4. QUAD hustota - 'ty@n*sobn* ╱dvoustran%$ 1440 sektor+-256 Byt+=360 kByt+¢¢Format 4, nazvali jsme ho QUAD hustota, d*v* 'tyrn*sobnou kapacitu proti jednodu&e form*tovan[ disket%, m+(e b`t 'ten jen disketovou jednotkou XF 551, proto(e jsou zde pops*ny ob% strany diskety. Disketov* jednotka XF 551 je opravdu oboustrann*.¢¢Oboustrann` popis a 'ten) diskety je mo(n[ jen ve dvojit[ hustot%, zde tv+rci jednotky nem%li v ]myslu zav*d%t r+zn[ form*ty. Rozd%len) logick`ch sektor+ je toto:¢na p@edn) stran% diskety jsou sektory 1 a( 720 na stop% 39. Sektory s vy&&)mi ')sly jsou na zadn) stran% a to tak, (e sektor 721 na stop% 39 a sektor 1440 na stop% 0. P@epnut) mezi stranami u(ivatel nepozoruje, m* jen dojem, (e se jedn* o disketovou jednotku s 80 stopami.¢¢Form*t 3 ╱dvojit* hustota - Double Density$ je zn*m ji( u(ivatel+m jednotky 1050.¢¢Form*ty 1 a 2 jsou kompaktibiln) k norm*ln) 1050.¢¢Jednou velkou nev`hodou XF 551 je, (e tato jednotka nen) schopn* rozeznat hustotu vlo(en[ diskety p@)mo. Nen) zde, jako u 1050, zapnut poh*n%c) motor a vyzkou&ena hustota diskety. Toto mus) zajistit software. S norm*ln)m DOS 2.5  ╱je dod*v*n p@i koupi jednotky$ nen) mo(no kop)rovat z form*tu na form*t. To, (e tento DOS zahrnuje jen form*ty 1 a 2 nen) tak tragick[, proto(e existuj) jin[ DOSy, kter[ jsou schopn[ pracovat s dvojitou hustotou. P@ece i zde jsou probl[my chceme-li kop)rovat na p@. z jednoduch[ a dvojitou hustotu.¢¢Pln[ vyu(it) kapacity diskety se se dooru'uje u XF 551 hlavn% proto, (e tato jednotka nen) schopn* popsat druhou stranu diskety jako jednotka 1050, proto(e p@i obr*cen) diskety se identifika'n) otvor nal[z* na druh[ stran%. Proto m* smysl vyu()t nov` XF-form*t ╱360k$, p@i kter[ jsou pops*ny ob% strany diskety, ani( by se musela disketa obracet.¢¢Tolik k v`stavb% jednotliv`ch form*t+ disket. Ale jak se form*tuj) diskety zvolenou hustotou a jak se dos*hne, aby jednotka samostatn% rozeznala hustotu vlo(en[ diskety?¢¢K tomu, aby se jednotka nastavila na hustotu vlo(en[ diskety je nutn[ ')st jeden sektor na stopr% 0. Zkou&kami se prok*zalo, (e se k tomu hod) kter`koliv ze sektor+, mimo sektory 1 a( 3. P@e'teme proto pro jednoduchost sektor 4. Jednotka se rozb%hne a 'te disketu se skute'nou hustotou. Jestli(e ji nem+(e ')st, p@epne automaticky na jinou hustotu a( disketu m+(e ')st. Toto je bohu(el velmi 'asov% n*ro'n* pr*ce a trv*, zejm[na p@i p@ep)n*n) z dvojit[ na jednoduchou hustotu, velmi dlouho, proto(e mus) b`t zm%n%n tak[ ozna'ovac) form*t ╱Dvojit`=MFM, jednoduch`=FM$. Stejn% tak trv* velmi dlouho, be( jednotka rozezn*, (e nen) vlo(ena (*dn* disketa.¢¢Proto(e nev)me p@edem, v jak[ hustot% je vlo(en* disketa form*tov*na, nem+(eme s povelem ⇨)st sektor udat (*dnou d[lku ╱◆308 a ◆309=0$. Rutina SIO opera'n)ho systemu hl*s) I/O chybu, kterou ale mus)me ignorovat. T)mto povelem se pouze jednotka sama nastav). Temprve nyn) m+(e b`t vy'tena konfigurace.¢¢T)mto rozezn*m)m hustoty ale nen) rozhodnuto, jestli se jedn* o disketu form*tovanou dvojitou hustotou na jedn[ a nabo na obou stran*ch. Toto mus) uk*zat software na disket%, jak` form*t se na t[to disket% nal[z*.¢¢Konfigurace jednotky je slo(it* ot*zka pro specialisty ve strojov[m programov*n). Mus) b`t zde programov*na SIO rutina, co( se d* vy@)dit jen na strojov[ ]rovni. Ke 'ten) skute'n[ konfigurace slou() povel ◆4E, k nastaven) povel ◆4F. Ke konfiguraci mus) b`t k jednotce povelem ◆4F p@eneseno 12 Byt+. K jejich v`znamu v&ak vzhledem k chyb%j)c) dokumentaci nelze nic @)ci.¢Byt  1: Po'et stop           ╱40$¢Byt  2: Rozsah krok+          ╱1$¢Byt  3: Sektory pro stopu High-Byt ╱0$¢Byt  4: Sektory pro stopu Low-Byt  ╱18-26$¢Byt  5: Po'et hlav           ╱0/1$¢Byt  6: Hustota ╱0=jedn./4=dvoj.$¢Byt  7: Byt+ pro sektor High Byt  ╱0/1$¢Byt  8: Byt+ pro sektor Low Byt ╱120/0$¢Byt  9: Zvolen* jednotka ???¢Byt 10: ???           ╱0$¢Byt 11: ???           ╱0$¢Byt 12: ???           ╱65, A$¢¢Konfigurov*n) jednotky je nutn[ pro jednoduchou, dvojitou a QUAD hustotu, proto(e je zde pou(it stejn` form*tovac) povel. Pro st@edn) hustotu je pou(it povel ◆22. Konfogurace nem* (*dn` vliv na form*t. ¢Povelem ◆21 je disketa form*tov*na na p@edt)m nastavenou hustotu. Nebylo-li konfigurov*no, bude v(dy form*tov*no jednodu&e.¢¢Ke konfigurov*n) jsou pot@ebn[ je&t% n%jak[ Byty:¢Byt 4:   0 pro jednoduchou a dvojitou, 1 pro QUAD¢¢Byt 5:   0 pro jednoduch`, 4 pro dvojit` a QUAD¢¢Byt 6a7: d[lka sektoru, 0/128 pro jednoduch`, 1/0 pro dvojit` a QUAD.¢¢Je-li Byt 4 nastaven na 1, nejsou ]daje ostatn)ch Byt+ d+le(it[, bude automaticky form*tov*no na QUAD hustotu. ¢¢N*sleduje kr*tk` demonstra'n) program, se kter`m je mo(no vy')st konfiguraci:¢¢00010 START    LDA #◆31    DISK¢00020          STA ◆300¢00030          LDA #1      jednotka #¢00040          STA ◆301¢00050          LDA #◆4E    povel¢00060          STA ◆302¢00070          LDA #◆40    'ten)¢00080          STA ◆303¢00090          LDA #Buffer¢00100          STA ◆304¢00110          LDA /Buffer¢00120          STA ◆305¢00130          LDA #6      Timeout¢00140          STA ◆306¢00150          LDA #12     d[lka LOW¢00160          STA ◆308¢00170          LDA #0      d[lka High¢00180          STA ◆309¢00190          JSR ◆E456   SIO¢00200          BPL NOERR   ¢00210          JMP ERROR   chyba¢00220 NOERR    RTS¢00230✓¢00240 BUFFER   .BL 12¢¢Ke konfigurov*n) m+(e b`t pou(it stejn` listing. Je nutno jen vym%nit ◆4F za ◆4E. V ◆303 p@ijde hodnota ◆80. Buffer pro jednoduchou hustotu vypad* takto:¢¢00240 BUFFER   .HX 2701001200000080¢00250          .HX FFOOOOOO