[LUGOS-PROG] problem z branjem z diska

Klemen Pernus klemen.pernus at guest.arnes.si
Wed Oct 3 10:49:18 CEST 2001



> >   IDE_NSECTOR_REG = 1
> 
> Kaj je to ? Sector count v enem prehodu (torej branje enega sektorja na
> ukaz) ??
Ja v bistvu je to to. Berem samo po en sektor, torej ce hocem prebrat 1592
sektorjev bo vse registre popisal 1592 krat. Metoda je sicer hudo pocasna,
samo je pa idealna za testiranje, ker k bo zadeva delala na ta nacin, bo
tudi potem ko bom bral po 256 sektorjev naenkrat (se pravi toliko kar jih
disk lahko naenkrat pripravi) in bom registre popisal samo na vsake 256
sektorjev.  

> >   ce je postavljen ERR bit v IDE_STATUS_REG ali ce DRQ bit ni postavljen
> 
> Kateri je pa DRQ ? ERR je (domnevam) bit 0 ?? In kaj ti sploh pomaga
> DRQ, ce ne delas z DMA ? (tukaj sem mogoce bedarijo vprasal :-))
DRQ je bit 3. Pri PIO prenosu se postavi takrat, ko ima disk pripravljene
podatke, torej ko se postavi DRQ bit, lahko podatke zacnes brat

>  
> > torej se po nekaj branjih postavi ERR bit ali pa se DRQ ne postavi!
> 
> A pa sploh kdaj pogledas, kaj ti potem napise v error register
Sem sprobaval zadevo, pa sem ugotovil da se napaka vedno zgodi ker se DRQ
bit ne postavi (v tem primeru bi bilo pa mislim, da nesmiselno brat error
register) 
Se pravi da mi nekaj vpisov v registre naredi pravilno (se postavi DRQ
bit) in lahko preberem oz. zapisem podatke, nato pa se stvar zmisli da ne
bo postavla DRQ bita in zadeva ne dela! 
A moram tukej pazit na kaksne timinge, kaksne pavze med vpisom v registre
in branjem oz. med branjem in ponovnim vpisom v registre, a sem mogoc
pozabu prebrat kaksen register??




More information about the lugos-prog mailing list