Mensajepor zup » 16 Mar 2016, 08:05
Las especificaciones de un disquette permiten:
- Dos caras (inamovible).
- 80 pistas (en el mejor de los casos 82 u 83).
- Números de sector de 0 a 255.
- Tamaños de sector de entre 128 bytes y 8K (8K fueron utilizados en alguna protección de discos, pero son imposibles de escribir en una disquetera de 720k normalita).
Suponiendo que escribas el driver adecuado (o convenzas al sistema operativo de que lo lea), podrías meter hasta 2 caras * 80 pistas * 256 sectores * 8K/sector = 327680K (320 Mb / disquete).
La clave es que en un disquete físico no caben más bytes por pista que los que permite la densidad del medio (¿6250 en un disco de 720K?), mientras que en un disquete "virtual" como este te puedes saltar las reglas. Por ejemplo, un disquete normal solo tendría sitio para 18 sectores (21 en el mejor de los casos apretándolos).
En realidad, la cabeza lectora de la disquetera no tiene ni idea de esto: si le pides el sector 100, lo intentará leer. Cuando de una vuelta sin leerlo, te soltará un error. En el caso de un adaptador, llegará un momento en el que el adaptador le soltará el sector 100 a la cabeza lectora; como la cabeza lectora está buscando el sector 100 lo aceptará sin problemas. Imagino que estos adaptadores tendrán un límite de sectores, al llegar al límite el adaptador generará la señal de "inicio de pista" para que la cabeza se entere de que ha dado la vuelta.
Los parámetros que no puedes tocar son el número de caras (limitado por las cabezas de la disquetera) y el número de pistas (porque lo determina la posición de la cabeza lectora). De hecho, me pregunto si este adaptador utilizará las 80 pistas completas o solo lee determinadas pistas (p.ej.: solo las pares).
La pregunta ahora no es si el adaptador puede soportar esas capacidades... la pregunta es si alguien querría leer 32 megas a velocidad de disquete (otro parámetro que no puedes tocar).
NOTA: Es posible que me haya equivocado con el tamaño de sector. Podría ser que el tamaño de sector soportado por el 765 sea mucho más grande, por lo que el límite lo pondría la cantidad de memoria que puedas dedicar a almacenar un sector mientras es leído o el tamaño del buffer DMA si utilizas este tipo de lecturas.
Todo esto sin movernos del "estándar" de disquetes... si empezamos a usar trucos la liamos. Otra forma de hacerlo:
- Escribimos en la disquetera un sector especial (uno que contiene la lista de bloques que queremos usar de la SD).
- Ponemos la cabeza lectora a leer.
- El adaptador devuelve los bloques que queremos leer (o escribir).
De esta manera incluso no necesitaríamos "forzar" el estándar de disquetes para leer una SD de un tamaño arbitrario.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!