HBF-2: Utánépített floppy csatoló kártya

A TVC-hez eredetileg kétféle floppy kártya létezett: egy UPM kompatíbilis, valamint egy VT-DOS kompatíbilis. A két kártya hardver szempontjából teljesen megegyezett, csak a rajtuk található EPROM memóriák tartalma tért el, a két különböző operációs rendszer fájlkezelésének megfelelően. A honlapon található eredeti kapcsolási rajz alapján (pontosabban egy eredeti kapcsolási rajz fénymásolata, amit annak idején kézzel írt megjegyzésekkel kiegészítettek, majd később beszkenneltek és több TIFF formátumú fájlban tároltak), sikerült rekonstruálni a kártya áramköri rajzát:

A rajzon az alkatrészek pozíciószámozása és az egyéb diszkrét alkatrészek (ellenállások, kondenzátorok) mennyisége és elhelyezkedése különbözhet az eredetitől, de a cél a funkcionális egyezőség volt. Ezért nem is jelöltem az egyes alkatrészek értékét sem.
A kapcsolásból és a dokumentációkból kiolvasható, hogy a kártyát a szabványos IBM-34 (Shugart) típusú interfésszel vértezték fel. Ez közel megegyezik a napjainkban a PC-s technikában használt floppy egységek csatlakozó-felületével. Eltérés a meghajtók kiválasztó jelének és motorvezérlő jelének kezelésében van csupán. Az eredeti TVC-s kártya 4 darab egyedi meghajtó-kiválasztó jelet állított elő (DS0..DS3), és egy közös motorvezérlő jelet (MOTOR). A PC-s meghajtóknál egyedi kiválasztó jelekre és egyedi motorvezérlő jelekre van szükség, és ez a legtöbb meghajtónál a második egység jelei (DS1 és MOTOR1, és ebből adódik a csavarás a szalagkábeleken). A lényeg, hogy elméletileg az eredeti TVC-s kártya is kezelni tudja a mai hajlékonylemezes meghajtókat, feltéve, hogy a szoftver is alkalmas rá.
Ilyen megfontolások után, a ma (is) kapható áramköröket felhasználva, és a szükséges egyszerűsítéseket elvégezve a következő kapcsolást sikerült összeállítanom:

Az említett egyedi meghajtó-kiválasztó és motorvezérlő jeleket egyszerűen ki lehetett alakítani az eredeti kapcsolásban is alkalmazott open-kollektoros NAND kapuk felhasználásával. Ezzel a használható meghajtók száma egyébként 4-ről 2-re csökken, de talán ez nem nagy veszteség. Jumper-ek segítségével az eredeti interfész működési módja is megvalósítható.
További módosítások történtek a memória áramkörök területén. Az alkalmazható legnagyobb EPROM mérete 64kB lett, ami 4 darab 16kB-os egységben választható ki kapcsolók segítségével. A 2 darab 6116-os 2kB-os statikus RAM-ot (összesen 4kB), egy darab 8kB-os RAM-mal helyettesítettem, ami két 4kB-os egységben lapozható szoftverből.
A lassú periféria jelzésére szolgáló áramköri részletet elhagytam. (Ez a csatlakozó pont egyébként is csak a 32kB-os gépeken volt használva.) A felszabaduló TTL kapukat más részekhez csoportosítva és egy kis trükközéssel néhány IC-t még meg lehetett spórolni.
A kártya utánépítésének neuralgikus pontját az WD1793-as kontroller és a WD9216-os adatszeparátor IC-k beszerzése jelenti. Gyakorlatilag ezek nem helyettesíthetők (kivéve, ha valaki programozható áramkörökkel leszimulálja a őket, vagy az adatszeparátort megépíti "néhány" TTL tok felhasználásával). Szerencsére a magyar elektronikai kiskereskedések felvásárolnak minden alkatrészt, mondván, hogy valamikor biztos jó lesz még valamire. Így sikerült az FD1793-as kontroller, valamint a WD9216-al megegyező UM8326-os IC nyomára bukkannom.
A tervezésnél a panel körvonalának kialakításához egy 32kB-os memóriabővítő-kártyát használtam fel, így az utánépített kártya teljesen "szabványosnak" tekinthető. Az alkatrészelhelyezési rajz:

A panelt a megfelelő NYÁK-gyártó cég kiválasztása után furatgalvanizált kivitelben és két oldalon forrasztásgátló maszkkal ellátva készíttettem el. A gyártó jutányos áron a panelek körbevágását is elvégezte. A csatlakozó sort eredetileg ónozottra terveztem, de voltak akik aranyozottan kérték, és ők sem jártak rosszul.
Az elkészült kártya alkatrészek felöli oldala:

... és a forrasztási oldala:

A kártya a keresztségben a "HBF-2" nevet kapta, utalva az eredeti HBF jelzésére. Az EPROM-ba a két operációs rendszernek megfelelő programok kerültek (UPM és VT-DOS1.2). Gyakorlati szempontból csak a VT-DOS-os lemezkezelésnek van értelme, ami megegyezik az IBM PC-ken használt lemezek logikai szervezésével.
Sajnos már a kapcsolási rajz tervezésekor a 0. meghajtó kiválasztó és motorvezérlő jele (DS0 és MOTOR0) egymással felcserélődött a floppy interfész csatlakozópontjain. Utólag, a hibamentes működéshez ezt a két jelet, a szalagkábelt megbontva, át kell kötni.
A kártyához 3.5 collos kis meghajtót ajánlott használni, így biztosítható a hordozhatóság a PC és a TVC között. A lemezeket egyszerűbb TVC-n megformázni. A használható legnagyobb kapacitás 720kB, bár a TVC a 800kB-ra formázott lemezekkel is elboldogul. Ekkora kapacitásokhoz és a kártya által támogatott 250kbit/s-os átviteli sebességhez a DD jelzésű 3.5 collos lemezek felelnek meg. Mivel a HD jelzésűek az elterjedtebbek, azokon az írásvédelemmel átellenes azonosító rést leragasztva elérhető, hogy a meghajtó is 720kB-osként kezelje őket (vagyis a 250kbit/s-os sebességet használja).
A meghajtókhoz külön tápegységet kell biztosítani. A legtöbb 3.5 collos drive egyetlen +5V-os tápfeszültséget igényel, kb. 500mA..1A terhelhetőséggel. Ez egy "közepes" méretű dugasztáppal és egy LM7805-ös stabilizátor IC-vel biztosítható. Az 5V-ot célszerű egy kapcsolón keresztül vezetni a meghajtóra. Gyakran előfordul, hogy a programok betöltésük után elindulva lecserélik a megszakítás-kiszolgáló rutint, amit a floppy kezelő szoftver is használ a meghajtó motorjának kikapcsolási időzítéséhez. Így a meghajtó motorja bekapcsolva marad, és fölöslegesen fogyasztja az energiát, miközben még zajt is okoz. A kapcsoló segítségével ilyenkor egyszerűen lekapcsolható a meghajtó. A gép reset-elése után a hardver és a szoftver megfelelő flag-je is alaphelyzetbe áll, és a tápfeszültség minden gond nélkül visszakapcsolható a meghajtóra.

Letöltések:

FloppyDOC.zip - alapvető dokumentációk
FloppySrc.zip -kapcsolási rajzok Eagle 4.09-hez, és NYÁK-tervek FreePCB-hez
FloppyCAM.zip - gyártáshoz szükséges állományok (gerber- és fúrófájlok)

(Sebestyén Pál)