Mercredi 06/12/2006.
Weblog au fil de l'eau sur le concours organisé par ****
**********.
Ca y est!!!
C'est parti pour les tests de mon projet FASTDSK
en grandeur nature sur
un Apple IIe.
Jusqu'à présent je n'avais fait que des tests
avec
l'émulateur Apple Oasis.
C'est donc avec une certaine appréhension que j'ai
lancé
la machine...
Aïe, ça commence mal. J'ai l'impression de mes 2
drives ont
des disfonctionnements et ce avant même que je commence
à
tester mon programme.
Certains softs ne bootent pas ou affichent des erreurs alors qu'il n'y
a pas très longtemps ils fonctionnaient impeccablement.
Le nombre de crashs est suspect.
Après quelques tests, c'est confirmé: mes 2
lecteurs ont
mal aux dents.
Je ne peux pas tester dans ces conditions.
Je dois changer de hardware.
Exit tout, y compris la carte contrôleur!
Le temps de mettre la main sur une autre carte et un disk II
correct, le temps est déjà bien avancé.
Zut alors, ça traine...
Bon ok, la machine est fonctionnelle à présent.
Je commence.
ARGHHHHH!!!
D'emblée, le soft se met à déconner!
Gros problèmes lors de la lecture des pistes
stockées en
mémoire auxiliaire.
Des erreurs partout sur au moins 10 secteurs par piste et la
tête
de lecture relit chaque track 10 fois.
Je suis vert parce qu'il n'y avait pas de soucis sous Apple
Oasis.
En forçant le stockage que sur la ram princ après
un
petit patch du programme je constate que c'est bien pour la ram aux
qu'il y a un blème.
Je reboote Merlin-8 et me
revoilà
à analyser le code de
la routine core faisant la lecture du champ data et le postnibblizing.
Je recalcule les cycles entre chaque lecture de nibble.
Si c'est ok pour les pistes chargées en ram principale et
pas le
reste, c'est
que pour la partie ram auxiliaire il y a des instructions
supplémentaires (activation de ramread/ramwrite,
écriture
du numéro du bank dans BankSel et activation de AUXWRT).
Je décide d'optimiser le début de la routine en
collant
des morceaux de codes pendant la lecture des markers du champ datas.
Entre chaque lecture de nibble D5, AA et AD, à
présent il
y a un peu de code qui s'exécute pour autre chose (des
initialisations).
Si le code est répété, ce n'est pas
grave, de
toute façon il faut bien attendre le drive!!!
EUREKA. A présent ça passe!
Comme quoi, j'avais bien raison de pester contre l'absence de warning
sur le nombre de cycles lors de la lecture dans les livres du
commerce!!!
Je continue à tester et trouve 2 autres bugs qui
étaient
transparents sous émulateur! Comme quoi à 1 mhz,
on voit
mieux certains soucis (je suis toujours à la vitesse max
sous
émulateur, à tord de toute évidence!!)
Je modifie aussi un peu la gestion des erreurs.
Du coup, je passe en version 20061206 et il y a encore 1 modif
à
tester.
Mes tests ont été faits sur 2 configurations de
mémoire.
D'abord en 128k avec la carte ram de base sur le platinum:
Puis avec une carte RamWorks III 1024k:
Je fais quelques comparaisons de temps avec DSK2FILE
sans activer la
génération de la log.
Avec FASTDSK 128k, il faut
au total 21 secondes
pour créer un
disk image .DSK.
DSK2FILE fait la
même chose en 32 secondes.
C'est déjà un bon bonus pour cette version de FASTDSK que
je n'ai fait que parce que le concours demande à la base que
ce
soit compatible avec un IIe 128k.
Je boote Locksmith Fast Copy
(version 6.3) pour
voir combien de temps il met pour
lire une face de disquette 5,25".
Il lui faut 9 secondes pour avaler les 35 pistes.
Je passe à présent à FASTDSK
256k qui lit lui
aussi la disquette en une seule passe.
LA VACHE!!!!
Il lit aussi la face de la disquette en 9 secondes en faisant une
postnib 6-2!
Alors là, je suis C.O.N.T.E.N.T :-))))))
Aussi bien que
Locksmith alors qu'il y a
encore quelques mois
je n'avais jamais mis
les mains dans le camboui du disk II!!!!
Ce qui est important à signaler, c'est qu'au bout de 9
secondes,
je peux commencer
à sortir la disquette du lecteur soit pour la retourner soit
pour en
mettre une autre.
Mais c'est pas fini, car il faut aussi que le
programme écrive
le .DSK sur l'unité ProDOS.
Il faut rajouter 11 secondes, soit un total de 20 secondes pour faire
un disk image.
Mais je gagne bien dans la phase manuelle de swapping...
c'était
le but!
J'ai encore beaucoup de boulot pour valider tous les cas de figure.
Je me demande si je vais pouvoir finir dans les temps avec ce qui
m'attends par ailleurs pour la fin de l'année
côté
professionnel.
De plus il faut que la doc livrée soit en anglais. Et
ça
risque de me
prendre du temps si SbM n'a
pas le temps de
faire la traduction.
Pour le motiver, je lui scanne les couvertures des magazines Pom's qui
lui manquent sur sa page web dédiée.
Reste aussi à lui faire tous les disk images des 50
numéros de ce magazine. Ca
sera l'occasion de poursuivre les tests en espérant que les
disquettes de The White Man
ne soient pas trop
esquintées
après toutes ces années. Je croise les doigts...
Finalement, je ne vais pas prendre de risque. C'est
décidé, je vais demander ce soir à
Jean-Pierre, Arnaud
et Thierry s'ils veulent bien
me donner un coup de
main pour faire des tests.
Je fais un rapide controle d'un .DSK en le remontant sur mon vieux PC
(on ne rigole pas, c'est une brave bête qui mouline
à 700
mhz, si si!!!!!)
Comme j'ai défini comme unité de stockage la
carte
compact flash présente sur ma CFFA, il faut que la connecte
à présent sur mon lecteur de carte SanDisk
ImageMate
SDDR-75:
Puis j'utilise CiderPress
pour
récupérer ça:
Bon, ben, faudra continuer tout celà demain...