5314
UTILITY -> Floppy disc and tape tool
© _Public_Domain_ (2005)
 
 
 
WriteDSK
cpc
 
 

NOTICE / MANUAL

TXT (2)

NOTICE TEXTE n° 1 (9.31 Ko)

WRITEDSK/DIRDOS 1.1 ------------------- Par Targhan/Arkos Ces deux petits utilitaires -egalement disponibles en rom-, vous permettent de tranferer un DSK copie sur un disc au format 720ko (formatte sur PC ou DOSCOPY par exemple) vers un disc CPC. Il s'agit du meme principe que DSKCPC de Divine Coding. Biensur, Writedsk est plus puissant :) Nouveautes de la V1.1 : ----------------------- - Nouvelle interface graphique. Les curieux pourront ainsi voir comment sont organises les secteurs nouvellement crees sur votre disquette. - Un nouveau parametre facultatif permet d'ecrire directement sur la 2e face de votre disquette, si vous etes l'heureux possesseur d'un 3"5. - Buffer interne un peu plus gros, permettant le transfert des DSKs conventionnels en 2 passes. - Ctrl+Shift+Esc a tout moment pour quitter. - Correction d'un bug pouvant empecher le DIRDOS de fonctionner. - Correction d'un bug pouvant empecher la lisibilite de certains fichiers PC. - Gestion du deformattage des pistes. A la fin du transfert, les pistes non codees dans le DSK seront deformattees. De maniere generale, cela permet a certaines protections de bien passer. - Ecriture de secteurs de tailles differentes possible, dans une certaine mesure. De nombreuses protections passent ainsi. - Ecriture des secteurs effaces possible. Meme resultat. 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 :). Ces programmes ressortiront assez bientot lorsque nous saurons programmer la CPCBOOSTER+ d'Antitec. De nouvelles fonctions pour transferer les DSKs directement sur une disquette a partir du PC, ainsi que de transferer des SNApshots dans la memoire du CPC, seront disponibles. Un reve pour developper ! Il est possible que nous diffusions egalement des outils supplementaires pour les programmeurs, nous verrons. UTILISATION ----------- ùWRITEDSK,"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. Notons que 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). Pour finir, je precise 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. Exemples d'utilisation : ùWRITEDSK,"thedemo.dsk","AB" ùWRITEDSK,"bigofull.dsk" ùWRITEDSK,"dia.dsk","AA1" ----------------- ù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. Exemple 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 contient 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 sont basiques mais 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, par erreur peut etre, lorsqu'ils rencontrent un secteur de taille differente ? Bref, je n'ai pour l'instant pas rencontre de DSK qui sont genes par l'absence de ce flag lorsque j'ecris les secteurs... Le seul DSK que j'ai rencontre qui ne passe pas est la 5KB Demo 3, car elle possede des secteurs qui possedent tous le meme nom. Le FDC peut donc potentiellement ecrire sur n'importe lequel en fonction de ce qui se trouve en dessous de la tete de lecture. The Demo, qui utilise la meme technique, passe pourtant correctement. Bizarre. Je ferais peut etre une update quand je connaitrais une technique qui gere ce genre ce cas de maniere fiable. 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 A+, Targhan/Arkos.
 

NOTICE TEXTE n° 2 (6.96 Ko)

WRITEDSK/DIRDOS 1.1 ------------------- By Targhan/Arkos These two little tools -also available in rom- will allow you to transfer a DSK from a 720ko disc (formatted on PC or DOSCOPY for example) to a CPC disc. It works like DSKCPC from Divine Coding. Of course, Writedsk is much more powerful :) : New features for V1.1 : ----------------------- - New interface. You are now able to see how the sectors are organized on the tracks. - A new optional parameter allows you to write directly on the second side of your disc, if the destination drive is a 3"5. - Bigger internal buffer, most conventionnal DSKs are transfered in 2 passes. - Ctrl+Shift+Esc to exit anytime. - Correction of a bug that could prevent DIRDOS from working properly. - Correction of a bug that could prevent some PC files from being read. - Managment of tracks unformatting. At the end of the transfert, tracks that are not coded in the DSK with be unformatted. In a general way, it allows protected DSKs to work fine. - Writting of different sized sectors allowed, with limitations. A lot of protected DSKs can be transfered. - Writting of erased sectors allowed. Same result. Other features : ---------------- - It recognizes all standard CPC format, from size 0 to 5. Size 6 sectors aren't recognized. - Standard and Extended DSKs are recognized. - Double sided DSKs too. - You can use ONE drive only for the transfert ! Very useful for those, like me, who have only one 3'5 drive and don't want to use 3'. Both tools will be released once again soon when the Antitec's CPCBOOSTER+ is released. New functions will allow tranfering DSKs directly on a CPC disc, as well as SNApshots into the CPC memory. A developer's dream ! We may also release some cool tools for coders in the same rom. HOW TO USE IT ------------- ùWRITEDSK,"dskname",["SourceDestination[Head]"] Transfert the DSK named "dskname" from Source drive to Destination drive. If the second parameter is omitted, the Source is B and the destination A. The DSK name is short (8+3 letters), DOS-like. You may have to use tilde (control+2) if you've saved your DSK on PC with a long name. Know that your DSK must always be on the root of your disc. New option since V1.1, the "head" allows to write directly on the second side of your disc. It is optional though. Having to switch side between two passes now belongs to the past ! The only possibility is "1" though, with indicates side 1. I did this for you not to incidentally erase the side 0, thinking it was the second one (In the FDC language, sides are noted 0 and 1, not 1 and 2). Note that the 'head' option is ignored if the DSK is double sided, with is logical. What's more, this option doesn't change the 'side' included to the sector IDs. I should also say that you can ONLY read the PC disc (FAT 12) if the selected head of your source drive is 0 (else head 0 is no more accessible, as head 1 is forced. FAT 12 is double sided !). Examples : ùWRITEDSK,"thedemo.dsk","AB" ùWRITEDSK,"bigofull.dsk" ùWRITEDSK,"dia.dsk","AA1" ----------------- ùDIRDOS,["Source"] DIRDOS performs a CAT on the DOS disc, to see the files on the root. Directories are also noted, but can't be explored. The Source drive declaration is optional. By default, the B drive is used. Once again, don't forget to select the side 0 of your drive. Example : ùDIRDOS,"a" ùDIRDOS THE INTERFACE ------------- Nothing crazy. You don't have to understand anything to transfert your DSKs. Let me describe what the columns mean. They all refer to the sectors of the current track to be written. TR = Number of TRack written in the sector ID. SD = Shows the SiDe in the sector ID. ID = Very important, IDentification number of the sector. SZ = Very important too, the sector SiZe. It is the actual size of the sector. Note that, except the SiZe, all this information can be junk, it's only used to identify a sector. Some protections will have fun at using strange values. In the INFOS columns can come two acronyms : ERA = Means ERAsed. It's just a mark set to the sector, it doesn't mean the sector is actually erased. To read it you must use the 'read erased sector FDC instruction. CKS = Means Bad CheckSum. To sum up, the FDC will report an error after reading the sector, believing an error has been made while reading. I'll talk about it later, but in a practical case it's completely useless, in fact I simply don't do anything with this flag. The 'Size' at the left of the screen represents the sector size given to the Format instruction. So all sectors of the track can be this size, or less. Last remark, note the increasing value at the bottom right when reading the PC disc : it represents the buffer filling. Just to know how long you still have to wait... That's all about the interface. ACKNOWLEDGMENT -------------- Although the DSK format is well featured, a lot of emulators don't update it well, like Winape. If you format a track with size 3 sectors, the track header will read size 2 ! The good size has to be found in the sector headers... The GAP#3 suffers the same way. Approximated FDC emulation allows demos and software to run well, but corrections need to be made if you transfert them on CPC. Existing tools like CPDWRITE and CPCTRANS perform these corrections. WRITEDSK too. About the GAP, I used the correction table you will find in the DISC+ULTRA notice. However, I made a lot of changes. Thus, the minimum value is set to #20, the maximum to #4E. Every well built track will work. If the GAP must be lower than #20, then the track contains too much sectors for its own good, and it's not my business ! Bigger than #80 GAP is useless too. If your drive needs it then you MUST change it quick ! The V1.1 contains a lot of improvments, as I learnt a lot lately (Thanks Ram7 !) Thus, contrary to what I thought, it is possible to have different sized sectors. The routines I used here are basic, but allow many protections to be transfered. About the 'bad checksum' flag, the only way I see to create it is really hardcore. In fact I believe it is set by transfer tools that don't like different sized sectors. Anyway, for now I never found a DSK that tested such flag, so... So far the only DSK that doesn't work with Writedsk 1.1 is the 5KB Demo 3, because it contains tracks whose sectors are all named the same. 'The Demo' uses the same technic but work fine though... I may try to find a technic to manage that correctly. About this topic, it is possible that I update WriteDSK to manage special formats like the ones I'm working on... Just wait and see ! If you have a DSK that doesn't work with WriteDSK, don't hesitate to send it to me, just make sure it works fine on emulators ! ---------------- Contact me here : targhanàcpcscene.com targhanànetcourrier.com www.arkos.cpcscene.com www.julien-nevo.com/arkos www.starkos.cpcscene.com www.julien-nevo.com/starkos See you soon, Targhan/Arkos.
 



Goto Top
CPC-POWER/CPCSOFTS, programming by Kukulcan © 2007-2024 all rights reserved.
Reproduction forbidden without any express authorization. All the game titles used belong to their respective owners.
Hébergement Web, Mail et serveurs de jeux haute performance