WRITEDSK/DIRDOS 1.2
-------------------
Par Targhan/Arkos


Ces deux petits utilitaires vous permettent de tranferer un  DSK  copie  sur  un
disc au format 720ko (formatte sur PC ou DOSCOPY par  exemple),  ou  directement
d'un PC, vers un disc CPC si vous possedez la  CPCBooster.  Il  s'agit  du  meme
principe que DSKCPC de Divine Coding. Biensur, Writedsk est bien  plus  puissant
:)


Nouveautes de la V1.2 :
-----------------------
- Support de la CPCBooster d'Antitec !
- Gestion des secteurs de noms identiques. Permet aux formats de type '5KB Demo'
de passer.
- Gestion de 64k de memoire. A oublier si vous ne disposez que d'un lecteur,  ou
que vous ne passez pas par la CPCBooster !
- Le parametre de selection de face peut s'utiliser sans preciser  les  lecteurs
source/destination.
- Raccourci du RSX : on utilise desormais  WDSK  et  non  WRITEDSK,  c'est  plus
court!



Autres caracteristiques :
-------------------------
- Prends en compte les formats 'standards' CPC. Les secteurs de  taille  0  a  5
sont parfaitement reconnus. Les formats de taille 6 seront rejetes.
- Les DSK Standard et Extended sont pris en compte.
- Idem pour les DSK double-face.
- Vous avez la possibilite d'utiliser le MEME lecteur pour le transfert  !  Tres
utile pour ceux qui ne possedent qu'un seul 3'5 par  exemple,  et  qui  refusent
l'utilisation de 3' (comme moi :).









UTILISATION
-----------
|WDSK,"nomdudsk","[SourceDestination][Tete]"

Transfert le DSK "nomdudsk" du lecteur Source vers le lecteur Destination. Si le
deuxieme parametre est omis, la source est par defaut B, la  destination  A.  Le
nom du DSK est au format court (8+3 lettres) comme sous DOS. Il vous  sera  peut
etre necessaire d'utiliser le tilde (control+2) si vous avez sauve votre DSK sur
PC avec un long nom.

NOUVEAU, la CPCBooster est designee par la lettre C ! Elle ne peut etre utilisee
qu'en Source ici. Si vous voulez creer un DSK vers le PC, utilisez ReadDSK.

Notons que si vous passez par un disc MS DOS,  votre  DSK  doit  obligatoirement
etre a la racine de votre disquette.

Nouvelle option depuis la V1.1, la "tete" permet d'ecrire directement sur la  2e
face de votre disquette. Elle est cependant facultative. Fini  le  temps  ou  on
devait changer de face entre chaque passe ! La seule possibilite est d'y  mettre
un 1, ce qui indique face 1. J'ai procede ainsi pour ne pas  qu'accidentellement
vous effaciez  la  face  0  en  pensant  qu'il  s'agissait  de  la  2  (Dans  la
terminologie FDC, les faces sont appellees 0 et 1, et non 1 et 2).

Je precise egalement que la lecture du disc PC (FAT 12) ne peut marcher  que  si
vous etes sur la tete 0 !

A noter que l'option 'Tete' est ignoree si le DSK est double face,  ce  qui  est
logique. De plus, cette option ne change en rien le parametre 'Side' inclus dans
les IDs secteurs.

Pour de plus amples informations  sur  l'utilisation  de  la  CPCBooster  et  le
lancement de la partie 'PC', lisez la documentation generale  egalement  fournie
sur ce disc.

Exemples d'utilisation :
|WDSK,"dia.dsk","AA1"
|WDSK,"midline.dsk","CA"
|WDSK,"bigofull.dsk"
|WDSK,"xmas.dsk","1"
|WDSK,"5kbdemo3.dsk","AB"


-----------------
|DIRDOS,["Source"]

DIRDOS vous permet de faire un CAT sur le disc DOS, et ainsi voir  les  fichiers
situes a la racine. Les repertoires sont  egalement  notes.  Conformement  a  la
logique de WRITEDSK, il est impossible de visualiser autre chose que la racine.

Le lecteur Source est optionnel. Par defaut, c'est le lecteur B qui est utilise.

Encore une fois, n'oubliez pas de  laisser  la  face  0  selectionnee  de  votre
lecteur.

Exemples d'utilisation :
|DIRDOS,"a"
|DIRDOS




L'INTERFACE
-----------

Rien de bien mechant a l'horizon, il y a juste plus de details  techniques  pour
epater la populace. Vous n'etes biensur pas obliger de comprendre  quoi  que  ce
soit pour tranferer votre DSK correctement. Mais pour ceux que ca interesse,  je
vais decrire brievement les colonnes du milieu. Elles correspondent aux IDs  des
secteurs a ecrire pour la piste en cours. Toutes les infos de ces colonnes  sont
notees en hexadecimal.

TR = Montre le numero de la TRack (piste) ecrites dans l'ID du secteur.
SD = Montre la SiDe (face) de l'ID du secteur.
ID = Tres important, le numero d'IDentification du secteur.
SZ = Tres important aussi, la taille du  secteur.  Notons  qu'il  s'agit  de  la
taille effective du secteur.
Notons qu'a part  la  Size,  ces  informations  peuvent  ressembler  a  tout  et
n'importe quoi. Elles ne servent en verite qu'a identifier le secteur.  Si  vous
voulez vous y retrouver dans un format que vous avez cree, il est preferable  de
faire ca proprement. Encore une fois, ecrire n'importe quoi est surtout le hobby
des protections.

Dans la colonne INFOS peuvent surgir deux petits acronymes obscurs :
ERA = Signifie que le secteur est  'ERAsed',  soit  'efface'.  En  verite,  cela
signifie juste que le secteur est marque d'une certaine maniere, et que pour  le
lire, il faut utiliser une 'lecture de secteur  efface'.  Certaines  protections
s'amusent comme elles peuvent.
CKS = Signifie 'Bad Checksum'. En gros, que  le  FDC  va  rapporter  une  erreur
lorsqu'il va le lire car il a l'impression que  les  donnes  sont  erronnes.  Je
reparle de ce cas plus loin, mais la pratique m'a  montre  qu'on  en  a  rien  a
faire, de ce flag. D'ailleurs, je ne tente meme pas de le recreer.

Notons que le 'Size' sur le cote gauche de l'interface represente la  taille  de
secteur donnee a l'instruction de formattage. Mais il est tout a  fait  possible
que les secteurs ecrits soient plus petits.

Derniere remarque, pendant que la lecture  du  disc  PC  s'effectue,  le  niveau
d'occupation du buffer est inscrit en bas a droite. Ca permet  de  patienter  un
peu, et de savoir quand la passe va se finir.


Voila, c'est tout pour l'interface.



A SAVOIR
--------
Bien que le format DSK soit complet, de nombreux emulateurs le gerent mal,  dont
Winape. Ainsi, si vous formattez une piste en taille 3, le header  de  celle  ci
indiquera taille 2 ! La taille exacte devra etre  trouvee  dans  le  header  des
secteurs... Il en est de meme pour le GAP#3 qui garde  souvent  la  valeur  #4E.
L'emulation  partielle  du  FDC  permet  aux  demos  et  logiciels  de   tourner
correctement. Les outils de transfert existants (cpdwrite, cpctrans) connaissent
ces  faiblesses  et  corrigent  d'eux  meme  ces  valeurs  erronnees.   WRITEDSK
egalement. En ce qui concerne le GAP, j'effectue des corrections en fonction  du
nombre de secteurs et leur taille. Si vous etes curieux, vous  pouvez  retrouver
cette table de correction dans la notice de DISC+ULTRA. J'y  ais  tout  de  meme
apporte des modifications. Ainsi, la valeur minimale du GAP est fixee a #20,  la
maximum a #4E. Toute piste normalement constituee devrait fonctionner. Si le GAP
est inferieur, alors la piste contient trop de secteurs pour sa propre  securite
et je ne reponds plus de rien ! De meme un GAP de #80 est completement  inutile.
Si votre lecteur en a besoin, c'est qu'il est grand temps d'en changer !

La V1.1, puis 1.2 contiennent de nombreuses  ameliorations,  car  j'ai  beaucoup
appris entre temps (un grand merci a Ram7 qui m'a  permis  de  mieux  cerner  la
logique du FDC !) Ainsi, contrairement a ce que je pensais, il est tout  a  fait
possible de creer une piste  avec  des  secteurs  de  tailles  differentes.  Les
routines ici presentes permettront a de nombreuses protections de passer.

Ainsi, lorsque je rencontre des secteurs de tailles differentes, je  choisis  le
plus grand, a condition qu'il ne soit pas marque 'bad checksum'.

A ce sujet, j'avoue que je ne sais pas trop quoi penser de  ce  flag.  La  seule
maniere que je vois de le recreer sur CPC serait vraiment crade. En fait  je  me
demande si ce ne sont pas les logiciels de transfert CPC -> DSK qui  le  placent
eux meme. Dernierement, je me suis rendu compte que les secteurs de taille 0  ne
peuvent etre lu une fois qu'on y a ecrit. Personne ne semble l'avoir remarque  !
Voila qui expliquerait la presence de ce flag dans la protection de Leader Board
par exemple, dont l'un des secteurs est de taille 0. Mais cela ne  concerne  pas
WriteDSK, mais ReadDSK, puisque l'ecriture des tailles 0  est  'admise'  par  le
FDC.


La V1.2 resoud egalement le probleme des secteurs ayants  des  noms  identiques,
comme c'est le cas pour la 5KB Demo 3 ou The Demo. Ne vous inquietez pas  si  le
transfert ralenti considerablement dans ce cas, c'est normal, il faut autant  de
tour de disque qu'il y a de secteurs sur la piste !

A ce sujet, il est tout a fait possible que des  versions  de  WriteDSK  sortent
pour prendre en  compte  des  formats  speciaux,  comme  ceux  sur  lesquels  je
travaille.

Mais nous verrons ca plus tard...


Si vous avez un DSK qui ne fonctionne pas, n'hesitez pas a  me  l'envoyer,  sous
reserve qu'il est en bon etat !


----------------
Contactez moi ici :

targhan@cpcscene.com
targhan@netcourrier.com

www.arkos.cpcscene.com
www.julien-nevo.com/arkos

www.starkos.cpcscene.com
www.julien-nevo.com/starkos

www.dirtyminds.cpcscene.com pour en savoir plus sur la CPCBooster.

A+,
Targhan/Arkos.