amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > TD_SEEK zuwenig dokumentiert?? [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2002-08-26, 04:13 h

naTmeg
Posts: 24
User
der device-befehl TD_SEEK scheint nicht ausreichend
dokumentiert zu sein. wenn man ihm mit DoIO(); aufrufen probiert,
benkommt mann die Fehlermeldung -4, was soviel heißt wie "ungüliger
io_Length eintrag".

in den autodocs steht aber nicht das man diesen wert (io_Length)
setzten muss, geschweige denn auf welchen Wert um TD_SEEK an einem
Harddrive (scsi.device) zum laufen zu bringen....

weiß einer von euch einen rat oder weitere infos??

thx ;)


rupert h.

[ - Answer - Quote - Direct link - ]

2002-08-26, 09:37 h

thomas
Posts: 7718
User

Ich erinnere mich dunkel, da war irgendeine Ungereimtheit. Ich glaube, in den Autodocs steht, daß man in io_Offset den Byte-Offset zum Trackanfang angeben muß, wie bei CMD_READ, aber in Wirklichkeit muß man die Track-Nummer angeben. Die Formulierung "not a valid length (usually IO_LENGTH)" beinhaltet, daß es sich nicht unbedingt um IO_LENGTH handeln muß.

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Answer - Quote - Direct link - ]

2002-08-26, 23:18 h

naTmeg
Posts: 24
User
hi thomas,

dies scheint auch nicht zu funktionieren.
hast du irgendwo eine quelle wo man das erfahren könnte,
da ich diesen befehl unbediengt brauche...


gruß rupert,

[ - Answer - Quote - Direct link - ]

2002-08-27, 19:00 h

thomas
Posts: 7718
User

So funktioniert's definitiv:

request->iotd_Req.io_Command = TD_SEEK;
request->iotd_Req.io_Data = NULL;
request->iotd_Req.io_Length = 0;
request->iotd_Req.io_Offset = trackno * tracksize;
request->iotd_Req.io_Actual = 0;
DoIO ((struct IORequest *)request);

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Answer - Quote - Direct link - ]

2002-08-28, 20:07 h

naTmeg
Posts: 24
User
hi tom,

ok, das scheint erst mal am cybppc.device (csppc) zu funktionieren,
jedoch nicht am org. a4000t scsi.device. durch probieren habe ich
herausgefunden, das wenn mal den wert io_lenght > 0 setzt kein
fehler mehr auftritt. je grösser dieser wert, desto "länger" dauert
das ausführen von td_seek am scsi.device. unter dem cybppc.device
funktioniert es auch wenn io_length 0 ist, dafür stimmen aber die
zugriffszeiten nicht... ich denke ich muss eben weiter testen bis
ich es irgendwann man herausfinde...

rupert,

[ - Answer - Quote - Direct link - ]

2002-08-29, 09:08 h

thomas
Posts: 7718
User

Wozu brauchst du TD_SEEK bei einem SCSI Device ? TD_SEEK ist ausdrücklich nur für Diskettenlaufwerke und zwar für Reinigungsdisketten u.ä. gedacht.

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Answer - Quote - Direct link - ]

2002-08-29, 15:51 h

naTmeg
Posts: 24
User
weil ich messen will wieviele millisecs vergehen:

*track2track
*full track
*full cyl
*first2last
*sequencal
*random
*.....

also zugriffs- und positionszeiten :)

also mann müßte das dann mit cmd_read machen und die zeit
die es braucht 512bytes einzulesen vom ergebnis abziehen
weil man mit cmd_read auch den kopf genau positionieren könnte ;)

wenn du sagst das td_seek_ NUR für floppys ist, hmmm... aber warum
wir dann der cmd laut 'scout' unterstützt?


rupert,

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > TD_SEEK zuwenig dokumentiert?? [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.