Ce qui caract�rise PRODOS, outre de nombreuses qualit�s fonctionnelles, c'est sa rapidit� � lire les disquettes qui n'est pas d�e � une simple modification de l'interleaving mais bien � la fa�on de lire les secteurs. Il faut dire que les routines du DOS 3.3 sont courtes mais un peu laborieuses.

Une page m�moire �crite avec PRODOS ou avec le DOS 3.3 donnera STRICTEMENT LE MEME RESULTAT en ce qui concerne la structure du secteur et les nibbles qui le compose... et pourtant, tout est si diff�rent !



PRENIBBILIZATION
La routine de prenibbilization de PRODOS ne fonctionne pas du tout comme celle du DOS 3.3. Avec PRODOS on n'utilise pas deux buffers NBUF1 et NBUF2 mais un seul qui correspond � NBUF2 et regroupe les deux premiers bits (bit 0 et 1) de chaque octet de donn�es de la page m�moire � �crire, selon un ordre et un ordonnancement tr�s pr�cis. Sous Prodos c'est la page m�moire elle m�me qui joue le r�le de NBUF1.



PRODOS ne place pas les bits 0 et 1 des valeurs de chaque adresse de la page m�moire par une op�ration de d�calage (avec LSR) comme le DOS 3.3 mais en utilisant trois tables (BIT.PAIR.LEFT, BIT.PAIR.MIDDLE et BIT.PAIR.RIGHT) selon qu'il veut placer les bits en colonne 1, 2 ou 3 qui correspondent respectivement aux bits 7 et 6, 5 et 4, 3 et 2.

Ces colonnes 1, 2 et 3 ne sont pas du tout dans la m�me position sur le NBUF2 du DOS 3.3, elles sont positionn�es plus � gauche de fa�on � ce que les bits 0 et 1 de NBUF2 soient TOUJOURS � 00. De ce fait les colonnes 1, 2 et 3 utilis�s par le DOS 3.3 correspondent respectivement aux bits 5 et 4, 3 et 2, 1 et 0.

Dit autrement :
sous DOS 3.3  les valeurs de NBUF2 varient de $00 $ $3F (0011.1111), les bits 7 et 6 �tant toujours � 0.
sous PRODOS les valeurs de NBUF2 varient de $00 � $FC (1111.1100), les bits 0 et 1 �tant toujours � 0.

Par contre chaque octet de NBUF2, qu'il soit en DOS 3.3 ou en PRODOS contient bien les bits 0 et 1 des MEMES ADRESSES DE LA PAGE MEMOIRE A CODER/DECODER.(A la nuance pr�s des deux groupes de 2 bits non utilis�s sur le 1er octet... ce qui n'a strictement aucune importance)



Nota tr�s important : Si PRODOS remplit son buffer NBUF2 de fa�on totalement diff�rente du DOS 3.3 il n'en reste pas moins qu'� ces valeurs correspondent donc des nibbles pr�cis qui sont �crits sur la disquette dans l'ordre identique � celui du DOS 3.3 (ordre d�croissant de NBUF2 en premier puis ordre croissant du buffer principal).

Si le DOS 3.3 lit un secteur de donn�es qui a �t� �crit avec PRODOS, il sera capable de faire la reconstitution de la page m�moire initiale tout en utilisant des buffers NBUF1 et NBUF2 qui n'ont strictement rien � voir avec PRODOS.

Ce sont les tables de translation diff�rentes qui permettent ce petit miracle. Donc pour �tre plus clair : les disquettes DOS 3.3 et PRODOS sont "compatibles" pour ce qui est du codage / d�codage des secteurs, ils donnent le m�me r�sultat en utilisant deux techniques de translation TOTALEMENT DIFFERENTES.



ECRITURE
La table utilis�e pour l'�criture des nibbles est la suivante :



LECTURE ET POSTNIBBILIZATION
La lecture et la postnibbilization sont int�gr�es ce qui explique en grande partie la rapidit� de lecture. Par contre la table utilis�e par PRODOS est totalement diff�rente de celles du DOS 3.3 m�me si le principe d'acc�s est le m�me � savoir se servir de la valeur de nibble comme index pour trouver la valeur de la donn�e � placer dans un buffer (NBUF2 ou destination)