Showing posts with label FDD. Show all posts
Showing posts with label FDD. Show all posts

Tuesday, December 25, 2018

NCD85 6. Interleave

Pri pohľade na disketu je interleave abstraktný pojem, ktorý nie je každému jasný a nevie ho pochopiť. Ja som sa s interleave stretol prvý krát na PP-06, kde som mal MFM harddisk. Program z Norton Utilities otestoval disk a zistil aký interleave je pre danú kombináciu CPU, radič a HDD najvýhodnejší. Rozdiel vo výkonnosti disku mohol byť obrovský.

Na floppy disketách na CP/M tomu nie je inak. Nevhodný interleave spôsobí, že práca s disketami sa stane utrpením a všetko bude neskutočne dlho trvať. Pri vhodnom interleave sa diskety podstatne zrýchlia, aj keď rýchlosť PC s interleave 1 nedosiahnu. PC používali DMA a boli schopné prečítať celú stopu na jednu otáčku.



https://en.wikipedia.org/wiki/Interleaving_(disk_storage)

Interleave je optimalizácia rozloženia sektorov na stope. Pri interleave 1 idú sektory hneď za sebou 1,2,3,.. Lenže ak computer načíta sektor 1, musí hneď pokračovať v čítaní sektoru 2, pretože ten sa práve nachádza pod hlavičkou mechaniky. Ak to nestihne, pretože má ešte niečo iné na práci, sektor 2 mu ujde a musí čakat kompletnú otáčku diskety (napr. 32 sektorov) než sa zase objaví sektor 2 pod hlavičkou. CP/M potrebuje na spracovanie a deblocking načítaného sektoru troška viac času, ale interleave 1 mu žiadny nedáva. Pri interleave 1 je práca s disketami na NCB85 neznesiteľne pomalá. Ak je na stope 32 sektorov, tak na načítanie celej stopy sa disketa musí otočiť 32 krát, pričom väčšinu času sa čaká na dootáčanie hľadaného sektoru ku hlavičke. Iba malá čast času sa strávi čítaním z diskety. Pri interleave 2 je situácia podobná, len ešte o kúsoček horšia. Sektory idú v poradí: 1,iný,2,iný,3,.... Computer pri objavení sektoru 2 žiaľ stále ešte spracováva sektor 1. Takže dvojka mu zase ujde a musí čakať celú ďalšiu otáčku plus jeden sektor (ktorý už práve čakal) kým sa znovu objaví očakávaný sektor 2.

Interleave 3 je vhodný pre NCB85 na disketách 1.44MB. Po sektore 1 na diskete nenasleduje hneď sektor 2, ale nejaké dva iné sektory a až potom ide sektor 2. To dáva computeru dosť času na spracovanie načítaného sektoru 1, a hneď ako skončí može pokračovat v čítaní sektoru 2 a nemusí čakať kým sa disketa otočí o celú otáčku.

To aký je rozdiel pri rôznych interleave si je možné ľahko odskúšať. Je treba naformátovať disketu s interleave 1,2,3,4,5 .. a následne s každou zmerať čas kým sa prekopčí napr. 20 file na takúto disketu. Treba postupovať od interleave 1. Prvý interleave, pri ktorom odozva výrazne ožije a zrýchli je ten pravý. Pri interleave 3 dokáže computer prečítať celú stopu za 3 otáčky diskety. To je podstatne lepšie ako povedzme 33 (interleave 2, počet sektorov 32, spomalenie 11x). Zbytočne vyšší interleave tiež nemá zmysel, pretože computer potom nečinne čaká a pritom by už mohol čítať. V našom prípade pri interleave 4 by čakal 1 sektor. Pri interleave 4 by sa jedna stopa načítala za 4 otáčky diskety. To je oproti interleave 3 spomalenie o celú tretinu.

CP/M poskytuje možnosť realizácie interleave v BIOSe. To malo zmysel pri hard sectored disketách, kde dierky v diskete určovali začiatok každého sektora. Ale pri soft sektored disketách (bez dierok pre každý sektor) je to radič, kto rozdeľuje stopu na sektory a adresu sektoru zapisuje už pri formátovaní. Tým umožňuje naformátovať stopu s ľubovoľnou sekvenciou čísiel sektorov. Interleave na NCB85 je teda realizovaný pri formátovaní diskety. Utilita FDC.COM generuje čísla sektorov podľa zvoleného interleave.

Konkrétne v metóde generate_sec_numbers v:
https://github.com/ncb85/utilis-and-examples/blob/master/cpm_fdc/main.c riadok 83

Thursday, October 27, 2016

8" MOM MF6400

Maďari, to bol pre nás z ČSSR v rokoch 80tych západ. V Budapešti na trhoch mali platne západných kapiel, rifle, tričká, magneťáky, kazety, tovar o akom sme u nás ani neslýchali. Kedže pri pokuse o vycestovanie do MĽR sa nestrieľalo, tak Čechoslováci jazdili tam. Aj ja som mal tričko a rifle z Maďarska! Západňarsky to bolo aj s disketovými jednotkami.

Podľa obrázkov z webu som po cca 30 rokoch vedel, že MOM (Magyar Optikai Müvek) sú tie pravé SMEP mechaniky. Našiel som len stručné info, zistil som, že boli dva typy MF3200 a MF6400. Tým menej pravdepodobné bolo, že sa nájde papierová dokumentácia od maďarskej mechaniky spred toľko rokov. No a raz mi pri rozhovore EC1045 len tak s úsmevom utrúsil, že má také niečo doma na stole :-) Šťastnou náhodou išlo o dokumentáciu k MF6400. Ochotne mi ju naskenoval, za čo mu týmto tisíc krát ďakujem. Povzbudený som sa rozhodol, že si nejakú MF6400 od lenochoda kúpim. MF6400 na rozdiel od MF3200 dokáže aj MFM, nie iba FM záznam. Kedže sa jedná o jednostranné mechaniky, je kapacita jednej diskety 500,5kB. Interface MOM MF6400 je Shuggart, stačí nasunúť 50 pin konektor.

MOM Budapešt dokázala vyrobiť obojstranné plošné spoje so zelenou maskou a bielymi popiskami. Kabeláž realizovali americkými MOLEX, AMP a TE konektormi. ČSSR počítače sa museli uspokojiť s čokoládkami, maska na plošnom spoji nebola ani zelená ani žiadna. Disketové mechaniky MOM mali formu a fazónu. Designové predné čelo z plastu, premyslený a vymazlený systém uchopenia a centrovania diskety a zatvárania vstupného okienka. Boli vybavené blokovaním otvorenia počas aktivity. Čítací zosilovač realizovaný jediným čipom MC3470. Vyvinuté v spolupráci so SAGEM. Mechanika má optický snímač polohy, kde sa nachádza hlava a sama si generuje signál TG43. Remeň a všetky pružné časti sú aj po rokoch ako nové.


takto prišli od lenochoda (zabudované v Robotron 8-Zoll Beistellgerät für den PC1715)

Na stránkach robotrontechnik.de sa píše, že sú známe iba 4 exempláre tohoto dvojdecku:-) Ale ja viem minimálne o ďalších troch, ktoré toto leto lenochod predal. Tým myslím, okrem toho mojeho - štvrtého. No a keďže robotroňáci nad jeho ponukou na ebay krútili nosom, tak som s čistým svedomím kúpil a rozoberal. Ďalej tam píšu, že v súčasnosti je známych 7 exemplárov samotných MF6400. Nuž je ich o dosť viac. Okrem 4x2 kusov z dvojdeckov, predal lenochod toto leto aj samotných MF6400 cca 4kusy. Ešte viem o jednom exemplári v Brne a min. jednom niekde v Banskej Bystrici. EDIT: Nedávno(leto 2017) sa mi ohlásil zo Zlína majiteľ dvoch kusov MF6400, jedného kusu Robotron dvojdecku s ďalšími dvoma MF6400 a jednej MF3200.

Doska umožňuje široké možnosti prispôsobenia a využívania aj neštandardných signálov. Konfiguruje sa pomocou jumperovateľných headrov. Výrobca namiesto zvyčajného osadenia jumperov použil wire-wrap s americkým drôtikom KYNAR AWG30. Neviem či v tomto prípade už narazil na limity socialistického hospodárstva a jednoducho nemal jumpre, alebo to bol zámer. V každom prípade zvolil prácnejšiu, drahšiu ale spoľahlivejšiu variantu.


foto wire-wrap na headroch, napravo pole testovacích bodov


foto dosky elektroniky


doska elektroniky sa dá vyklápať

Pretože MF6400 nepotrebuje signál TG43 z radiča, je ideálna na pripájanie k PC radičom. Stačí len správne poprepájať signály na bežný 34 pinový PC kábel a dá sa korektne čítať aj zapisovať. V lete, keď som navrhoval adaptér na 8" mechaniky, som ešte žiadnu MF6400 nevlastnil:-)

Po zapnutí nefungovala ani jedna, čo EC1045 správne aj predpokladal a pred čím ma varoval. Zdroj nenabiehal, zjavne bol skrat na 24V. Príčinou boli 1.5uF/35V filtračné tantaly. Boli aj iné závady, jeden ruský 7406, na inej doske zase ruský 7474, chýbajúci klzný filc na ramienku prítlaku na hlavu, ulomené kondíky, nespoľahlivý mikrospínač a iné. Našťastie jedna z dosiek ktoré som mal, po odstránení viditeľných poškodení, fungovala na sto pro. Od tejto som sa už potom odchytil. Všetko som vyčistil, premazal, premeral, pomenil, nahradil a mechaniky už šlapú. Zapojenú mám jednu pod CP/M na NCD85. Fungujú spoľahlivo a je to zážitok sledovať ich činnosť. Ešte musím popracovať na vhodnom šasi.

Okrem informácii a foto na robotrontechnik.de som našiel niečo v Amatérskom Rádiu 8/89 v článku s názvom Diskety a disketové jednotky. Ďalšia dokumentácia (okrem tej od EC1045) a výborné fotografie sa nachádza tu/tady a tu/tady a tu/tady.

Sunday, October 2, 2016

8" adapter

Prvé floppy disketové mechaniky používali štandard Shuggart. Alan Shuggart bol v časoch 8 palcových mechaník taký úspešný, že jeho prevedenie konektora a zbernice sa stalo de facto štandardom. Neskôr predal svoju firmu Shuggart Associates XEROXu, ktorý ju úspešne doviedol do krachu. Alan neskôr založil ďalšiu firmu Shuggart Technology, ktorá kvôli sporom s Xeroxom musela zmeniť meno na Seagate Technology. A tú už pozná aj dnes kdekto:-)

8 palcový štandard používa 50 pinový ribbon kábel na konci s hranovým konektorom na plošný spoj. Podobne ako u 34 pinového PC štandardu je jedna strana konektoru vyhradená pre zemniace vodiče. Ostatných signálov tam nie je až tak veľa. Dátové READ DATA, WRITE DATA. Na riadenie mechaniky DRIVE SELECT, SIDE SELECT, MOTOR ON/HEAD LOAD, WRITE GATE, na krokovanie DIR a STEP. Stavové signály z mechaniky sú INDEX, TRACK 0, WRITE PROTECT, READY, DISK CHANGE.


Na jednoduché pripájanie 8 palcových mechaník som si vyrobil adaptér. Adaptér je obojsmerný. Umožňuje pripojiť 8" mechaniku na 34 pinový kábel a naopak 34 pinové mechaniky na 8" 50 pinový kábel. Zapojenie je podľa obrázku. Niektoré piny môžu mať na rôznych mechanikách odlišný význam.

Niektoré 8" mechaniky potrebujú na pine 2 signalizáciu, že sa zapisuje na stopu vyššiu ako 43. Vtedy znížia prúd do hláv. Adaptér tento signál generuje. Je zavesený na signáloch TRACK 0, DIR a STEP a z toho vie vypočítať kde sa hlava práve nachádza. Info napr. tu Daves Old Computers - Connecting drives to PC

Pre pripájanie 5.25" a 3.5" mechaník, ktoré negenerujú signál READY na 8" radič FDD, ktorý by tento signál potreboval je aj tento syntetizovaný. Kaskádovito za sebou dva monostabilné klopné obvody natiahnu signál INDEX tak, aby pri založenej a otáčajúcej diskete bol tento signál trvale v aktívnom stave. (Napríklad ale notebooková 3.5" mechanika TEAC FD-05HG READY signál má. S adaptérom popísaným minule sa dá cez adaptér popisovaný v tomto článku priamo pripojiť na 8" radič)

Pri ľahkú vizuálnu kontrolu funkčnosti mechaniky (motora a stavových snímačov) sú pridané aj blikátka. LEDky sú na signáloch WRITE PROTECT, TRACK 0, INDEX, TG43 a READY. Na LCD display sú pre kontrolu zobrazené otáčky diskety a číslo stopy.

Na prepojenie 8" mechaniky na 34 pin radič potrebujeme dva káble. Jeden 34 pin ktorý ide do adaptéra. Z adaptéra potom jeden 50 pin do 8" mechaniky. Na doske sú dve 34 pinové konektory. Teoreticky by bolo možné pripojiť teda až štyri 34 pinové mechaniky. Ale tie dve 34 pozície je možné zapojiť aj ako iba pasívny medzikus na potreby monitoringu 34 pinovej mechaniky.



Video v činnosti (žltá LED vľavo je TRACK0, blikajúca modrá je INDEX, zelená je TG43 a oranžová je syntetizované READY):

Schéma aj program je na stiahnutie tu/zde. Plošák má rozmery 5x10cm. Tým sa vojde do free verzie známeho CAD programu. Na plošáku sú dve chyby. Zabudol som na 2x 33pF kondenzátor pre kryštál AT85C1051. Dá sa jednoducho priletovať priamo na nožičky kryštálu zo strany súčiastok. Druhá chyba je popiska pri C1. Asi bude potreba 6.8uF kondenzátor namiesto 2.2uF na dostatočné predĺženie READY signálu. Ja mám 6.8uF a je to OK. Kto má poruke 4.7uF môže skúsiť, možno to bude stačiť. C4 som osadil 2.2uF, ale LED INDEX viditeľne bliká už aj pri 1uF.

To ako sa poprepájajú jednotlivé body záleží od konkrétneho nasadenia, typu mechaniky, smeru konverzie atď. Je treba si premyslieť čo a kam má viesť. Niečo sa dá realizovať jumprami, niečo bude možno treba realizovať drátikmi. Odpory je treba 5mm, alebo väčšie a dať ich na výšku. Dosky ponúkam za poštovné. Dodám aj schému v známom CAD programe, aby si každý mohol vysvietiť, kde sa ktorý prepojovací bod nachádza.

Program je napísaný v kombinácii C/ASM. Použitý kompiler je SDCC. Skompilovaný kód má 1021 byte. Preto sa dajú využiť aj šuflíkové zásoby starých AT89C1051.

Sunday, September 18, 2016

Notebook Floppy

Na doske NCD85 sú diery na montáž 3.5" floppy mechaniky. Na vyskúšanie je to OK. Na montáž 2x mechaník už nie tak celkom. Videl som to na Foreveri a dve mechaniky na sebe už sú teda dosť vysoké a aj ťažké, čo nie len že nelahodí oku, ale aj zaťažuje plošák.

Mal som doma zopár nevyužitých mechaník z notebookov 386/486. Notebookové mechaniky vyrábalo viac výrobcov. V priebehu času sa znižovali z 2/3 výšky bežnej až na polovičnú výšku. Konektory na pripojenie boli tiež rôzne, s rôznym počom pinov a s rozdielnym rozostupom. Väčšinou už využívali FFC/FPC konektor na vodivý pásik. Posledné mechaniky už boli všetky polovičnej výšky, a s konektorom 26-pin FFC/FPC s dosť štandardizovaným pinoutom. Preto som ich chcel vyskúšať pripojiť na NCD85. NCD85 má klasický konektor 34pin na ribbon kábel s IDC konektormi.

Na rozdiel od 5.25" mechaník sa výrobcovia pri niektorých 3.5" vrátili ku signálom, aké boli bežné pri 8" mechanikách. Znova začali implementovať signály DSKCHG, READY a podobne. V prípade mechaník TEAC FD-05HG je pridaná aj voľba otáčok. V 2.0MB móde je to štandardných 300rpm. V móde 1.6MB je to 360rpm. Toto je mód, kedy je mechanika voči radiču na nerozpoznanie od 5.25" 1.2M HD mechaniky a samozrejme aj od 8" DS/DD mechaniky. Navyše na rozdiel od 5.25" máme aj READY a ďalšie 8" signály. Tieto mechaniky sa okrem iného nachádzajú v kombinovaných čítačkách kariet s floppy mechanikou do štandardnej pozície 3.5" v PC. Možno sú aj v niektorých externých USB 3.5" mechanikách.

Navrhol som doštičku 4x5 cm s jedným IDC 34-pin konektorom a dvomi 26-pin FFC/FPC konektormi na pripojenie dvoch 26-pin mechaník. Ešte som pridal na dosku aj konektor pre +5V napájanie a dve LED a dva jumpre. LED slúžia na indikáciu signálov DISK CHANGE a READY. Jeden jumper umožňuje voľby pripojenia jedného z týchto dvoch signálov (alebo žiadneho) na pin 34. Druhý jumper umožňuje prepínať na mód 1.6MB kedy sú otáčky 360rpm.


Dve mechaniky majú výšku jednej :-)

Pripájajú sa dvomi FFC 26pin/1mm pásikmi. Tu treba dávať pozor, keď sú pásiky invertované (na protiľahlých koncoch majú vodivé plôšky na opačných stranách), je treba použiť konektory s top kontaktom - platí pre moje TEAC FD-05HG. Existujú aj konektory s bottom kontaktom.


Ozaj je to mini. Jednej mechanike chýba čelný rámik.

Plošný spoj 4 x 5cm. Zopár ich môžem poskytnúť. Známym len za poštovné. Mám naviac aj konektory a pásiky.

Pri prepnutí do módu 1.6MB dostaneme kompatibilnú radu 8", 5.25" a 3.5" mechaník, kde je možné bez zmeny používať ten istý fyzický layout sektorov na diskete. Z pohľadu radiča sa javia všetky ako klasika IBM 8" 53FD / Shugart 850. Niekorí výrobcovia software dodávali na všetkých troch médiach ten istý obraz systému :-)

Wednesday, April 27, 2016

Floppy Types

Kedysi sa používali 8 palcové diskety a mali kapacitu cca 80kB. Kódovanie dát bolo FM, prípadne GCR, prípadne niečo iné. Preskočme úplný pravek a poďme do dôb našeho mládí. PMD85 diskety nemalo. ATARI 800XL malo 5.25 palcovú disketu o kapacite 80kB. V ATARI ST a AMIGE sa používali DD 720kB diskety. Mali rozmer 3.5". Vtedy sa už prechádzalo na MFM kódovanie. Občas sa požívali aj v PC. Ale väčšina PC diskiet bola HD s kapacitou 1.44MB. Vysvetlím čo je DD a HD, počet stôp a čo ovplyvňujú otáčky. Vysvetlím aj prečo je rozdiel medzi 5.25" 720kB disketami v DD a HD mechanike.

RozmerHustotaStopySektoryKapacitaOtáčkykbps
5.25"DD409360kB300250
5.25"HD80151.2MB360500
3.5"DD809720kB300250
3.5"HD80181.44MB300500

Počet sektorov platí pre PC. Sektory mali veľkosť 512 byte.

Zaujímavé sú stĺpce sektory, otáčky a kbps (bits per second). Porovnaním 1 alebo 3 so 4 riadkom tabuľky vidno, že počet sektorov je dvojnásobný, preto je aj dvojnásobná bit rate. Porovnaním 1 a 2 riadku tabuľky vidno, že počet sektorov nie je dvojnásobný. 15/9 nie je 2. Ale je vyššia rýchlosť otáčania. Výpočtom (15/9) x (360/300) dostaneme 2. Preto je aj hodnota bit rate 500kps v druhom riadku správna.

Niektoré 8" diskety sú označené SD. Znamená to single density. V podstate to označenie nemá význam. Pretože hovorí len to, že disketa je vhodná pre zápis kódovaním FM (360rpm, 26 sektorov, veľkosť sektora 128 byte), bit rate 250kbps. DD znamená double density. Odvodené je to od prechodu z FM na MFM kódovanie. Prechodom na MFM (elimináciou clock pulzov) je pri tej istej frekvencii záznamu/hustote magnetických prechodov zdvojnásobená hustota informácie/kapacita a tým aj bit rate. Pri 8" to znamenalo 500kps a dvakrát vyššiu kapacitu (26 sektorov po 256 byte). Kedže bolá tá istá frekvencia, tak aj materiál diskiet ostal rovnaký. Len sa začali označovať ako DD a predávali sa drahšie :-)

Späť ku menším rozmerom 5.25" a 3.5". Počet sektorov je tu nižší, bit rate polovičné. Už sa používalo iba MFM. DD diskety boli základné. Umožňovali pri určitej rýchlosti povrchu média (300rpm a menší priemer 5.25" vs 360rpm a priemer 8")bit rate 250kbps. HD(high density) pri tej istej rýchlosti média 500kbps. (riadky tabuľky 2,4) Keď zvýšime otáčky, musíme ubrať počet sektorov. To je prípad riadku 2. Pri vyššej kontaktnej rýchlosti hláv, sú nižšie nároky na kvalitu média. Vyššiu hustotu záznamu HD umožňuje vyššia koercivita média a kvalitnejšie hlavy schopné vyššieho prúdu zápisu a tým silnejšieho magnetického poľa. (pamätá si ešte niekto na Metal kazety Type IV? max 22000Hz)(R2R dosiahol 30000Hz aj na normálkach páskach, ale rýchlost 38cm/s)

Koercivita floppy diskiet:
8" all formats: 300 oersteds
5.25" double density (360 KB): 300 oersteds
5.25" quad density (720 KB): 300 oersteds
5.25" high density (1.2 MB): 600 oersteds

3.5" double density (720 KB): 665 oersteds
3.5" high density (1.44 MB): 720 oersteds
3.5" extra-high density (2.88 MB): 900 or 1200 oersteds (unconfirmed)

Mechaniky 3.5" majú vždy 300rpm. Sektorov je buď 9 pri DD, alebo 18 pri HD. Bit rate 250kbps pri DD a 500kbps pri HD.

Mechaniky 5.25" sa otáčajú ako ktorá, ako kedy. DD majú 300rpm. HD majú 360rpm. Ale je tu ale. Niektoré HD sa dajú naswitchovať aj na 300rpm. Prípadne ešte lepšie, niektoré sa dajú naswitchovať inteligentne, aby pre HD diskety (DENSEL signál) mali 360rpm a pre DD diskety mali 300rpm. Ale to nie je štandard. Vždy treba čítať manuál ku konkrétnemu typu mechaniky.

Čo sa stane ak vložíme do 5.25" HD mechaniky DD disketu? V CP/M sa využije 80 tracks/stôp a teda budeme mať pekných 720kB kapacitu (to je tá quad density). Kedže ale HD mechaniky majú otáčky 360rpm, rýchlosť prenosu nebude 250kbps, ale 300kbps. Preto je potrebné mať v BIOS rozdielne parametre pre 720kB v DD alebo HD mechanike. Existujú aj špeciálne 5.25" DD mechaniky s 80 stopami a 300rpm. Napríklad TEAC FD-55F. Pri nej by bola bit rate štandardných 250kpbs a kapacita 720kB. Takže tá istá disketa môže mať rôzne bit rates, podľa toho ako rýchlo sa v mechanike otáča.