Le QDD
Une disquette QDD est gérée en simple densité, simple face (paire) et dotée d'une seule piste
en spirale (comme un disque vinyl). Lorsqu'une opération concernant les données est demandée, le
moteur est lancé, la tête du lecteur se déplace sur la piste. Lorsqu'elle se
trouve en fin de piste et que l'on demande une
nouvelle opération, elle revient automatiquement en début de piste.
Structure dune piste QDD
Sur la piste d'une disquette QDD sont écrits au formatage une amorce, les 400 secteurs numérotés
de 1 à 400 et l'intervalle jusqu'à la fin de la piste:
|
Nombre de données |
Valeur de données |
Amorce de piste |
Espaces |
2796 |
$16 |
Secteur (400 fois) |
Marquage identificateur |
1 |
$A5 |
N° secteur (Poids fort) |
1 |
$XX |
N° secteur (Poids faible) |
1 |
$XX |
Checksum identificateur * |
1 |
$XX |
Espaces |
10 |
$16 |
Marquage secteur |
1 |
$5A |
Données secteur |
128 |
$XX |
Checksum secteur * |
1 |
$XX |
Espaces |
17 |
$16 |
Fin de piste |
Espaces |
Variable |
$16 |
* La valeur des checksums QDD est la somme de tout octet précédant ces checksums jusqu'au
marquage inclus.
Pour conserver le même système d'exploitation logique pour tous les périphériques permettant la
sauvegarde, périphérique cassette exclu, le système simule un découpage en
pistes et secteurs de la piste QDD. Ainsi, les secteurs QDD peuvent être
sollicités selon la norme d'appel de tout secteur en plaçant un numéro de piste
variant entre 0 et 24 en DKTRK ($604A-$604B/$204A-$204B) et un numéro de secteur variant entre
1 et 16 en DKSEC ($604C/$204C), en même temps que de pouvoir être sollicités en
plaçant leur numéro réel variant entre 1 et 400 en DKSEC ($604C-$604D/$204C-$204D) si le
registre $604A/$204A est différent de 0.
Une routine se charge d'interpréter les numéros de piste ($604B$204B) et secteur ($604C/$204C) en numéro
de secteur QDD et est sollicitée par les routines du QDD lorsque le contenu de
$604A/$204A est à 0. Afin d'éclairer cette sombre procédure de calcul, voici le
tableau récapitulatif des formules utilisées pour les correspondances QDD:
Piste |
Secteur |
Correspondance QDD |
0 |
1-4 |
(Secteur*4)+381 |
0 |
5-8 |
(Secteur*4)+367 |
0 |
9-12 |
(Secteur*4)+350 |
0 |
13-16 |
(Secteur*4)+336 |
1 |
Tous |
(Secteur*4)+317 |
2 |
Tous |
(Secteur*4)-2 |
3-8 |
Tous |
(Secteur*4)+((8-Piste)*64) |
9-14 |
Tous |
(Secteur*4)+((14-Piste)*64)-1 |
15-19 |
Tous |
(Secteur*4)+((20-Piste)*64)-2 |
20-24 |
Tous |
(Secteur*4)+((Piste-20)*64)-3 |
On peut remarquer que lentrelacement système dune piste QDD est de 4, pour permettre les
différentes opérations intermédiaires entre chaque appel et traiter une piste
moniteur en une seule passe. Mais le perfectionnement ne sarrête pas là.
Sachant que la piste 20 est la première à être appelée lors dune opération sur
un fichier, cette piste commence donc au secteur 1. Les pistes suivant la piste
20 sont les premières à être sollicitées : lentrelacement de 4 par
rapport au numéro du dernier secteur de la piste 20 est respecté. Viennent
ensuite les pistes précédant la piste 20 : lentrelacement est respecté
toutes les 6 pistes, tant que faire se peut. On voit donc bien que lagencement
spécifique dune piste QDD permet de traiter les données de fichiers avec un
minimum de passages.
Ci-après, la table des correspondances entre ces deux modes d'appel, numéros de secteurs
horizontalement et de "pistes" verticalement:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
0 |
385 |
389 |
393 |
397 |
387 |
391 |
395 |
399 |
386 |
390 |
394 |
398 |
388 |
392 |
396 |
400 |
1 |
321 |
325 |
329 |
333 |
337 |
341 |
345 |
349 |
353 |
357 |
361 |
365 |
369 |
373 |
377 |
381 |
2 |
2 |
6 |
10 |
14 |
18 |
22 |
26 |
30 |
34 |
38 |
42 |
46 |
50 |
54 |
58 |
62 |
3 |
324 |
328 |
332 |
336 |
340 |
344 |
348 |
352 |
356 |
360 |
364 |
368 |
372 |
376 |
380 |
384 |
4 |
260 |
264 |
268 |
272 |
276 |
280 |
284 |
288 |
292 |
296 |
300 |
304 |
308 |
312 |
316 |
320 |
5 |
196 |
200 |
204 |
208 |
212 |
216 |
220 |
224 |
228 |
232 |
236 |
240 |
244 |
248 |
252 |
256 |
6 |
132 |
136 |
140 |
144 |
148 |
152 |
156 |
160 |
164 |
168 |
172 |
176 |
180 |
184 |
188 |
192 |
7 |
68 |
72 |
76 |
80 |
84 |
88 |
92 |
96 |
100 |
104 |
108 |
112 |
116 |
120 |
124 |
128 |
8 |
4 |
8 |
12 |
16 |
20 |
24 |
28 |
32 |
36 |
40 |
44 |
48 |
52 |
56 |
60 |
64 |
9 |
323 |
327 |
331 |
335 |
339 |
343 |
347 |
351 |
355 |
359 |
363 |
367 |
371 |
375 |
379 |
383 |
10 |
259 |
263 |
267 |
271 |
275 |
279 |
283 |
287 |
291 |
295 |
299 |
303 |
307 |
311 |
315 |
319 |
11 |
195 |
199 |
203 |
207 |
211 |
215 |
219 |
223 |
227 |
231 |
235 |
239 |
243 |
247 |
251 |
255 |
12 |
131 |
135 |
139 |
143 |
147 |
151 |
155 |
159 |
163 |
167 |
171 |
175 |
179 |
183 |
187 |
191 |
13 |
67 |
71 |
75 |
79 |
83 |
87 |
91 |
95 |
99 |
103 |
107 |
111 |
115 |
119 |
123 |
127 |
14 |
3 |
7 |
11 |
15 |
19 |
23 |
27 |
31 |
35 |
39 |
43 |
47 |
51 |
55 |
59 |
63 |
15 |
322 |
326 |
330 |
334 |
338 |
342 |
346 |
350 |
354 |
358 |
362 |
366 |
370 |
374 |
378 |
382 |
16 |
258 |
262 |
266 |
270 |
274 |
278 |
282 |
286 |
290 |
294 |
298 |
302 |
306 |
310 |
314 |
318 |
17 |
194 |
198 |
202 |
206 |
210 |
214 |
218 |
222 |
226 |
230 |
234 |
238 |
242 |
246 |
250 |
254 |
18 |
130 |
134 |
138 |
142 |
146 |
150 |
154 |
158 |
162 |
166 |
170 |
174 |
178 |
182 |
186 |
190 |
19 |
66 |
70 |
74 |
78 |
82 |
86 |
90 |
94 |
98 |
102 |
106 |
110 |
114 |
118 |
122 |
126 |
20 |
1 |
5 |
9 |
13 |
17 |
21 |
25 |
29 |
33 |
37 |
41 |
45 |
49 |
53 |
57 |
61 |
21 |
65 |
69 |
73 |
77 |
81 |
85 |
89 |
93 |
97 |
101 |
105 |
109 |
113 |
117 |
121 |
125 |
22 |
129 |
133 |
137 |
141 |
145 |
149 |
153 |
157 |
161 |
165 |
169 |
173 |
177 |
181 |
185 |
189 |
23 |
193 |
197 |
201 |
205 |
209 |
213 |
217 |
221 |
225 |
229 |
233 |
237 |
241 |
245 |
249 |
253 |
24 |
257 |
261 |
265 |
269 |
273 |
277 |
281 |
285 |
289 |
293 |
297 |
301 |
305 |
309 |
313 |
317 |
Remarque : Le boot QDD se trouve au secteur QDD numéro 68, c.a.d en piste 7 secteur 1 et non
en piste 0 secteur 1 comme pour le floppy.
|