amiga-news 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: 7716
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: 7716
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: 7716
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-2024 by amiga-news.de - alle Rechte vorbehalten.
.