On 3/28/06, Antonio Torres <[EMAIL PROTECTED]> wrote: > Paulo Pires wrote: > > On 3/27/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > >> bem.. um 'skeleton' de função que acesse diretamente o floppy na função > >> leitura ou gravação, ou seja, qualquer coisa assim como: > >> track == 0; > >> { while track < 79 > >> read track++; (ou write) > >> } > > > > Que mal lhes pergunte, se se fizer um simples > > > > dd if=/dev/fd0 of=/dev/null bs=36b skip=N count=1 > > > ... > > não vai sair da trilha 0 setor 0: o `dd` tem "um monte" de verificações > de erros... vai dar erro de leitura logo de cara....
Então vejamos. O dd não vai ser mais "esperto" do que as chamadas que ele faz para realizar o I/O. Fiz um teste e vi que não dá erro no open(2) nem no lseek(2), só no read(2). Resta saber se o movimento da cabeça realmente ocorre no momento do read(2), ou se ele tenta ler alguma coisa antes de movimentá-la. Se não depender de um estado anterior, o seguinte script se presta muito bem (embora seja miseravelmente ineficiente). #!/bin/sh a=0 while [ $a -lt 80 ]; do dd if=/dev/fd0 of=/dev/null bs=36b skip=$a count=1 2> /dev/null a=`expr $a + 1` done Vai aparecer uma montanha de erros no console, mas não se está tentando ler um disquete de verdade. (A julgar pelo barulho de seek de cabeçote no meu drive, mesmo vazio (para (mal-)simular um disquete que vai dar erro de todo jeito), acho que funciona.) Alguém pode preferir operações de escrita, ao invés de leitura. Mas talvez melhor ainda seja uma operação de formatação do disquete de limpeza, já que o fdformat(8) vai em trilha por trilha, independentemente de se a trilha anterior formatou corretamente. > O objetivo do programa (pelo que eu entendi) é meramente manter o disco > "rodando" e mover a cabeça da trilha 0 até a 79.. > > > em DOS é "bico" fazer... um programinha em assembler usando as INTs da > BIOS.... > > > []s > > Antonio Torres > _______________________________________________ > freebsd mailing list > freebsd@fug.com.br > http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br > -- Um abraço. Paulo A. P. Pires ... Qui habet aurem audiat quid Spiritus dicat ecclesiis. _______________________________________________ freebsd mailing list freebsd@fug.com.br http://lists.fug.com.br/listinfo.cgi/freebsd-fug.com.br