Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 30 Nov 2025, 10:53

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Question catalogue dsk

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 8 message(s) ] 
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
Megachur
 Sujet du message : Question catalogue dsk
Message Publié : 28 Août 2013, 19:26 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 12 Juin 2008, 20:29
Message(s) : 1726
J'ai une question à propos de l'octet d'une entrée d'un catalogue d'un dsk DATA, en gras ci-dessous :
exemple :
00 31 39 34 33 20 20 20 20 42 49 4E 00 00 00 14
06 07 08 00 00 00 00 00 00 00 00 00 00 00 00 00

lorsqu'on a plusieurs blocs et que le fichier occupe plusieurs entrées dans le catalogue, cet octet augmente de 1 à chaque entrée.

exemple :
00 42 41 44 4C 41 4E 44 53 42 49 4E 00 00 00 80
43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52
00 42 41 44 4C 41 4E 44 53 42 49 4E 01 00 00 01
53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

quand on lit le fichier (après avoir récupérer les infos des blocs dans la directory) doit-on contrôler qu'on est bien sur la première entrée, puis la deuxième, etc ?!
je ne sais pas si c'est le hasard, mais j'ai jamais trouvé le cas où c'est pas classé dans l'ordre dans le catalogue d'un dsk, mais je me dis que ça peut arriver.

j'attends vos avis de spécialiste :biere: !


Haut
 Profil  
 
breiztiger
 Sujet du message : Re: Question catalogue dsk
Message Publié : 28 Août 2013, 21:20 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 13 Mars 2011, 11:39
Message(s) : 425
Localisation : RENNES
salut

perso de ce que je comprends du dsk,

tu devrais toujours les avoir dans le bon ordre, mais avec la possibilite d'avoir une autre entree de catalogue entre deux

par contre quelqu'un sait il comment fait amsdos pour parcourir les secteurs du catalogue, comment tient il compte de l'entrelassement ?

merci d'avance

breiztiger


Haut
 Profil  
 
markerror
 Sujet du message : Re: Question catalogue dsk
Message Publié : 29 Août 2013, 19:51 
Hors-ligne
VIP
VIP

Inscription : 04 Sep 2007, 19:43
Message(s) : 739
Bonsoir,

Pour répondre à Megachur, les différentes entrées d'un même fichier sont forcément écrites dans le catalogue séquentiellement. On peut avoir de la fragmentation au niveau du catalogue, mais une entrée avec un numéro d'index supérieur à une autre entrée est forcément derrière. Je n'ai pas tenté le coup de faire une inversion avec un éditeur de secteurs pour voir ce qui se passe. Si le concepteur de l'Amsdos a prévu ce cas (peu probable s'il est parti du principe que l'écriture des entrées est séquentielle), tu vas avoir une erreur fichier, sinon, les datas dans le fichier seront inversées. Ca pourrait faire une jolie protection, ça :-).

C'est le même principe pour les blocs dans un fichier, ils sont forcément organisés de façon croissante.

Pour Breiztiger, c'est lors du formatage que l'entrelacement est déterminé. Après, l'Amsdos écrit les secteurs séquentiellement, donc toujours &C1 à &C4 piste 0 pour un catalogue en format DATA par exemple.


Haut
 Profil  
 
Megachur
 Sujet du message : Re: Question catalogue dsk
Message Publié : 29 Août 2013, 20:09 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 12 Juin 2008, 20:29
Message(s) : 1726
@markerror : je me posais la question car il y a un numéro pour indiquer l'entrée dans le catalogue (en + du &80 qui indique que le fichier a d'autres blocs) !

Peut-être faut-il chercher comment c'est codé dans l'AMSDOS (je n'ai pas le dump de la rom sur place pour vérifier moi-même tout de suite) !?

à voir peut-être de tenter l'inversion sur un dsk et voir comment l'AMSDOS réagit : cela serait aussi une façon de vérifier s'il se préoccupe de cet octet ?!?


Haut
 Profil  
 
Supersly
 Sujet du message : Re: Question catalogue dsk
Message Publié : 29 Août 2013, 21:16 
Hors-ligne
Rulezzz
Rulezzz
Avatar de l’utilisateur

Inscription : 15 Oct 2007, 02:49
Message(s) : 405
Localisation : Les Sucres en Morceaux
Je viens de tester sur un SCR.
Si je me contente d'invreser &00 et &01, on a un syntax error à la lecture (il doit lui manquer un header).

Si j'échange simplement de place les 2 entrées d'ordre dans le CAT, aucun problème, le fichier se charge sans problème.

Je pense qu'il est toujours prudent de faire une vérification de cet octet, car la logique duCAT est que les entrées peuvent être dans le désordre. D'ailleurs, DoM se permet de changer l'ordre des 64 entrées sitôt que tu changes un caractère sur un nom de fichier. Dans son cas, c'est un ordre alphabétique, donc compatible avec ton problème. Mais rien n'empêche de mettre ces fichiers dans le désordre. Pourquoi on n'aurait pas un super CAT'art intelligent grâce à une bidouille de ce type ? On n'a pas tout inventé encore.

D'ailleurs, à bien y regarder, c'était à 2 doigts d'arriver avec l'AE05. Pour bien cacher mes bidouilles, j'avais mélangé toutes les entrées de CAT...

_________________
Les Sucres en Morceaux


Haut
 Profil  
 
Megachur
 Sujet du message : Re: Question catalogue dsk
Message Publié : 30 Août 2013, 06:53 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 12 Juin 2008, 20:29
Message(s) : 1726
j'ai regardé rapido ce matin la source de l'amsdos http://cpcrulez.fr/coding_menu-src.htm

mais à premier vue j'ai rien trouvé de commenté à ce sujet dans le desassembly, il va falloir pister cela plus précisément pour voir le code concerné dans l'AMSDOS !

bon sinon, comme je n'ai pas bcp de temps de ce matin pour cela :

si déjà on mets autre chose que 0 sur la première entrée et la deuxième d'un fichier de +17ko, l'amsdos répond "file not found" !
si on inverse les deux entrées, cela fonctionne. donc je pense qu'il faut effectivement prendre en compte ce numéro est lire les blocks dans l'ordre !!! ce qui paraît plus logique...

maintenant je pense aussi que ce cas de figure doit être rare sur nos dsks, sauf pour certains disques volontairement trafiqués ! ex j'ai vu par hasard ce jeu qui a les entrées inversées il me semble : chercher 'TAT1' dans le dump http://www.cpc-p0wer.com/HexaDump.php?fiche=3698&slot=7&rang=0

je laisse un spécialiste conclure avec le code amsdos vérifié ! :biere:


Haut
 Profil  
 
markerror
 Sujet du message : Re: Question catalogue dsk
Message Publié : 30 Août 2013, 07:51 
Hors-ligne
VIP
VIP

Inscription : 04 Sep 2007, 19:43
Message(s) : 739
Bonjour les fans de l'éditeur de secteurs :-)

Petits tests ce matin avec un fichier image 17ko sur une disquette formatée (donc un seul fichier) :

- inversion des index des deux entrées fichiers du catalogue : boum, syntax error. Ca semble assez
logique car le premier secteur lu ne contient pas de header alors que le fichier est un binaire.

- décalage des index des deux entrées (0>1, 1>2) : fichier non trouvé.

- inversion des entrées des deux fichiers dans le catalogue : le fichier se charge sans problème.
Si on fait un beau F7 avec Winape et que l'on recherche les blocs 02 03 04 05, on trouve en
&A980 les entrées du catalogue correspondant au fichier, triées :-).

- inversion de deux blocs dans une même entrée catalogue : boum, syntax error.

Bref, si on peut un peu faire mumuse avec l'ordre des entrées catalogues, le reste est bien figé.
Je suppose que la possibilité de ne pas avoir les entrées dans un ordre croissants pour un fichier
est un héritage CPM (si ce système permet de gérer des fichiers en mode Append).

Bon, je file au boulot...


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Question catalogue dsk
Message Publié : 30 Août 2013, 11:16 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
Megachur a écrit :
j'ai regardé rapido ce matin la source de l'amsdos http://cpcrulez.fr/coding_menu-src.htm
mais à premier vue j'ai rien trouvé de commenté à ce sujet dans le desassembly, il va falloir pister cela plus précisément pour voir le code concerné dans l'AMSDOS !

un peu plus de choses par la ---> https://cpcrulez.fr/search-engine.php?m= ... ue&sk=hMHZ


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 8 message(s) ] 

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 21 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.