Dimanche 01/10/2006.


Voici quelques écrans supplémentaires correspondant à l'état d'avancement de mon projet FASTDSK (création d'un outil permettant de constituer rapidement des disks images).

Tout d'abord, compte tenue de l'organisation de la mémoire, je ne pourrais pas avoir BASIC.SYSTEM chargé pendant l'exécution. Il a donc fallu que je créé un launcher .SYSTEM s'occupant de la mise en place du reste de l'application (pas eu le temps d'analyser le relocator de ProDOS aussi je charge en plusieurs fois ce dont j'ai besoin).
Il fait des contrôles de 1er niveau (mémoire), déconnecte les éventuels volumes /RAM en slot 3 (car je fais un usage direct de la mémoire via les banks), fixe le prefix courant (utile si FASTDSK.SYSTEM est lancé à partir d'une ligne sous basic avec l'instruction "-" depuis une autre unité et/ou autre répertoire), charge le fichier de configuration puis le programme proprement dit qui est alors exécuté:


Ecran FASTDSK

La configuration est la 1ère chose dont il faut s'occuper avant de commencer (sauf si la dernière version sauvegardée vous convient).

Ecran FASTDSK

Avec les touches haut et bas, il est possible de naviguer sur les différentes options sélectionnables. L'option courante est celle apparaissant en vidéo inversée.
La toute première chose à régler est de déterminer sur quel volume et quel répertoire seront sauvegardés les disques images constitués. Il faut taper return sur la 1ère option qui est par défaut à <UNDEFINED!>.

Vous arrivez alors sur un nouvel écran qui résulte de la modification du MLI Quit.
Ce dernier a fait l'objet d'un article sur ce site, bien entendu dans la perspective de ces adaptations.
A présent, c'est du 100% 6502 (sans code 65c02), en 40 colonnes, avec sélection d'un répertoire. (Bref , visuellement, ça ne ressemble plus trop à celle d'origine!!)

Ecran FASTDSK

Il est bien entendu possible de faire scroller la liste si elle dépasse la taille de la fenêtre d'affichage.
L'aide en bas de l'écran permet de savoir quelles touches employer.

Par exemple, je veux pour mes transferts utiliser le répertoire TEMP sur l'unité ProDOS en slot 7, drive 1.
Je vais sur le répertoire en question et valide en tapant return sur <SELECT DIR>.

Ecran FASTDSK

Quand le programme me ramène sur le menu de configuration, le répertoire choisi est bien le bon:

Ecran FASTDSK

Je passe à présent en revue les autres options.

Les collectionneurs comme moi peuvent être organisés ou pas. J'entends par là avoir des lots de disquettes numérotées, triées par type, etc... ou avoir aussi des disquettes individuelles reçues ainsi en flux continu...

J'ai donc donné la possibilité d'avoir 2 usages possibles. Soit l'utilisateur saisit en entier le nom du disque image qu'il va créer, soit il y a une solution automatisée. Chacune a un avantage et un inconvénient.

Si l'option "USE STD NAME" est à NON, à chaque nouvelle disquette à passer dans le drive, il faudra saisir manuellement le nom de la sauvegarde sur 15 caractères. C'est assez chiant (il faut bien le dire) quand on ne veut pas passer trop de temps à celà mais ça permet de donner une idée du contenu du disk.

L'autre solution est d'avoir un nom standardisé de la forme CDNNNNNS.DSK.
C'est ma préférée et vous allez voir pourquoi (outre le fait que mon héritage de The White Man est super bien classé).
Un nom standardisé est constitué de 4 parties: C, D, NNNNN et S. Le ".dsk" est automatiquement rajouté à la fin.

Le 1er caractère 'C' est la catégorie du disk. Vous mettez bien entendu ce que vous voulez. Si vous avez plusieurs sources d'approvisionnement en diskettes 5.25", vous pouvez mettre une lettre symbolisant votre donateur pour différencier les .dsk de ceux de votre propre logithèque. Vous pouvez aussi mettre par là le type du soft (ex: J pour Jeu, U pour Utilitaire, etc...) c'est vous qui voyez. Vous avez de la lettre A à la lettre Z.

Le 2nd caractère est une sous catégorie donnant plus de détail (D=Détail). Par exemple dans une catégorie J (jeu), vous pouvez avoir un jeu d'arcade, de flipper, d'aventure, etc... ou vous pouvez vouloir trier selon le nom de l'éditeur...
Bref encore des choix à faire. Vous pouvez utiliser les lettres de A à Z et les chiffres.

Ensuite vient le numéro du disk. J'ai mis 5 chiffres (NNNNN) pour voir large (qui ne se souvient pas du fameux chiffre "10.000 softs" pour votre apple II). Voilà pourquoi 5 chiffres, même si pour beaucoup d'entre nous, il est franchement optimiste!!!

Puisqu'on parle de saisie d'informations à l'écran, j'en profite pour signaler que j'ai écrit une routine qui fait des input bien mieux que ce qu'on trouve ailleurs. Par exemple avec DSK2FILE, si vous tapez les caractères de controle ou esc ou des trucs interdits, la sauvegarde va merdouiller. Le développeur ne s'est pas foulé. Un JSR à une routine de la rom et basta. Merci pour les utilisateurs avec des grosses paluches maladroites, ils peuvent recommencer!!!
Chez moi, c'est du propre avec masque de saisie et liste de touches autorisées. Ici la saisie du numéro du disk et validation par return:

Ecran FASTDSK
Ecran FASTDSK

On passe enfin au dernier caractère S. Il représente la face de votre disquette: Front, c'est la face 1 et Back la face 2.
Bon maintenant l'explication de l'intérêt de cette méthode.
Une fois que vous avez rentré ce découpage (par exemple: C=Jeu & D=Arcade), lorsque vous allez vous tapez les 200 disks correspondants, vous n'aurez RIEN DU TOUT A SAISIR A L'ECRAN!!!
Vous mettez votre disquette, il créé un nom.
Le coup d'après, si vous étiez sur Front, il s'est positionné sur Back.
Le coup d'après il est repassé sur Front en incrémentant le numéro du disk.
Si vous êtes organisé avec des valises de disquettes numérotées et classées, ça va se faire les doigts dans le nez.
Vous aurez tout de même (je vous rassure) la possibilité de faire des ajustements si par exemple il n'y a pas de face 2 sur une diskette. En une touche vous réajustez le nom.
Bref, c'est plus rapide mais le contrepartie c'est d'avoir tout préparé.
Personnellement, même avec la 1ère méthode, je dois renommer sur pc mes .dsk car je trouve que 15 caractères c'est trop peu.
Alors je préfère encore faire vite le boulot côté apple II en enchaînant les disquettes et passer plus de temps pour renommer proprement sur pc ensuite. Maintenant, c'est sur que si vous avez 3 disks à passer, la question ne se pose pas :-)))

L'option Trace Log permet de combler une grosse lacune sur les outils existants.
En l'activant, FASTDSK va tenir à jour (sur le répertoire où il stocke les .DSK) un fichier FASTDSK.LOG où il mentionnera comment s'est déroulé le process de création des disks images.
Si no problemo, juste une ligne: disk trucmuche OK.
En cas de couille dans le potage, vous aurez une visu "à la Locksmith" de la map du disk avec les secteurs défaillants (ce que vous avez à l'écran en temps normal).
Ca vous permettra d'y revenir plus tard pour essayer de récupérer ce que vous pouvez sur chaque disk HS en ayant le détail des secteurs à l'origine du soucis sous la main (les secteurs HS sont remplis de zéros dans le .dsk).
Pas la peine de noter sur papier tous les secteurs nazes, le programme le fait à votre place... Céti pas bôoooo ça??

L'option suivante vous permet de travailler avec votre drive 2 si le numéro 1 a mal aux dents et si vous -gros fainéant que vous êtes- avez la flemme de changer le branchement des nappes.

Les options suivantes sont réservées aux softs plombés (méthode minable -cf les 1er cours de déplombage de Godfather) avec des changements de markers de champs.
Evidemment, ça ne déplombe pas le code de contrôle, mais ça permet toujours d'avoir un disk image d'un soft plombé.
A vous d'analyser au préalable les headers/trailers via NIBBLE AWAY par exemple.

On termine classiquement par le choix de considérer un secteur HS quand il y a une erreur de checksum. Si vous avez mis YES, il y aura des zéros à la place des datas lues, sinon il y aura le caca lu quand même (ce qui peut être utile s'il n'y a qu'un seul nibble de flingué par exemple).

Quand vous avez fini la phase de paramétrage, il est conservé en mémoire en l'état.
Mais quand vous quittez la page de configuration, vous pouvez sauvegarder les modifs dans le fichier FASTDSK.CONF pour le prochain coup. A vous de voir...


Ecran FASTDSK

C'est tout pour aujourd'hui... 02:30 AM quand même!!!!