Lássuk mit is csinál ez az általam elkövetett szörnyüség
[ Guests cannot view attachments ]
A kártya 4 portot hoz létre, alapállapotban ECH-EFH címeken, jumperrel máshova is állítható, a program a teljes E0H-EFH tartományban keresi, így elméletileg akár 4 kártya is lehetne egy géphez csatolva
(Amikor készült akkor még a PC-kbõl kidobott 20-40 megás vinyókra gondoltam, mint EPsek számára elérhetõ vinyó, ezekbõl jó sok kéne
)
A kártya 0. portja az alsó 8 bit adatportja, az 1. a felsõ 8 bit portja, mivel az IDE busz számunkra sajnálatos módon 16 bites.
A maradék két port 1-1 parancsport a kártya 2 csatlakozója számára. A parancsport alsó három bitje az IDE címbitek, a következõ a CS0/CS1 címbit, következõ kettõ pedig az irás/olvasási jelek az IDE buszra. Maradék kettõ kifelé nincs bekötve, befelé az IDE busz INT és PDIAG jele olvasható.
Az alsó 6 bit ki és bemenet össze van kötve, vagyis a parancsportokon visszaolvasható a legutóbb kiírt érték alsó 6 bitje.
A szoftver ennek segítségével keresi meg a kártyát, az alsó 4 bitet (a maradék kettõt azért nem, hogy ne piszkálja az IDE buszt) végig teszteli 0-15 értékekkel, hogy visszaolvasható-e.
Írás az IDE buszra úgy történik, hogy a két 8 bites adatportra bekészítjük a 16 bites érték két darabját, a cím pedig a parancsportra megy, ahol az írás bit segítségével az egész egyszerre kikerül az IDE buszra.
Olvasás fordítva, a cím bitek és olvasás bit segítségével a parancsporton keresztül megtörténik az olvasási mûvelet az IDE buszon, a 16 bites érték eltárolodik a kártyán, és a két 8 bites adatporton kiolvasható.
Maga a vinyók programozása megtalálható az ATA szabványban.
Jelenleg ebbõl számunkra az IDENTIFY DEVICE, INITIALIZE DEVICE PARAMETERS, READ SECTORS, READ MULTIPLE, WRITE SECTORS, WRITE MULTIPLE, SET MULTIPLE parancsok érdekesek.
A címzés elsõsorban LBA módban történik, mivel maga a program is 32 bites LBA címzést használ belsõleg.
Végszükség esetén, ha a vinyó nem támogatja (vagyis legalább vagy 10-12 éves
), akkor kerül átszámolásra CHS-re a cím.