![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Programmierung > TD_SEEK zuwenig dokumentiert?? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
26.08.2002, 04:13 Uhr naTmeg Posts: 24 Nutzer |
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. [ - Antworten - Zitieren - Direktlink - ] |
26.08.2002, 09:37 Uhr thomas Posts: 7719 Nutzer |
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/ [ - Antworten - Zitieren - Direktlink - ] |
26.08.2002, 23:18 Uhr naTmeg Posts: 24 Nutzer |
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, [ - Antworten - Zitieren - Direktlink - ] |
27.08.2002, 19:00 Uhr thomas Posts: 7719 Nutzer |
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/ [ - Antworten - Zitieren - Direktlink - ] |
28.08.2002, 20:07 Uhr naTmeg Posts: 24 Nutzer |
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, [ - Antworten - Zitieren - Direktlink - ] |
29.08.2002, 09:08 Uhr thomas Posts: 7719 Nutzer |
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/ [ - Antworten - Zitieren - Direktlink - ] |
29.08.2002, 15:51 Uhr naTmeg Posts: 24 Nutzer |
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, [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > TD_SEEK zuwenig dokumentiert?? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2025 by amiga-news.de - alle Rechte vorbehalten. |
![]() |