MSX Village forum

La Place des Développeurs » Gestion DSK

Touriste

rank_1.png

Avatar

Inscrit le: 06/10/2015

Messages: 72

Le 23/10/2015 à 11h49
Yop!

Existe t-il un utilitaire qui peut s'invoquer en ligne de commande pour ajouter des fichiers à un DSK ?

J'en ai trouvé un : DSKTOOL qui date pas mal et qu'il faudrait recompiler car l'EXE Windows est en 16bit.

Mais si un tel outil plus récent existe cela m'intérésse :D


Rétro coder fou : Z80 : MSX / Amstrad CPC / ZX Spectrum -- 6502 : C64 / VIC20 -- 68000 : Amiga
Mon site dédié à ma passion pour la programmation : http://majikeyric.free.fr
Site web    

Touriste

rank_1.png

Avatar

Inscrit le: 06/10/2015

Messages: 72

Le 24/10/2015 à 00h01
Pour ceux que cela intérésse, une version win32 de DSKTOOL : http://www.msx.org/downloads/related/disk/dsktool-112


Rétro coder fou : Z80 : MSX / Amstrad CPC / ZX Spectrum -- 6502 : C64 / VIC20 -- 68000 : Amiga
Mon site dédié à ma passion pour la programmation : http://majikeyric.free.fr
Site web    

Conseiller Municipal

rank_5.png

Avatar

Groupe : compte ++

Inscrit le: 17/04/2012

Messages: 4224

Le 26/10/2015 à 09h31
peut être l'outil qui se trouve là :https://sites.google.com/site/ricbitmsx/development/dsktool

peut correspondre à tes attentes.


Site web    

Touriste

rank_1.png

Avatar

Inscrit le: 06/10/2015

Messages: 72

Le 26/10/2015 à 10h58
C'est celui dont je parle justement Eric ;)


Rétro coder fou : Z80 : MSX / Amstrad CPC / ZX Spectrum -- 6502 : C64 / VIC20 -- 68000 : Amiga
Mon site dédié à ma passion pour la programmation : http://majikeyric.free.fr
Site web    

Conseiller Municipal

rank_5.png

Avatar

Groupe : compte ++

Inscrit le: 17/04/2012

Messages: 4224

Le 26/10/2015 à 12h24
oups :siffle


Site web    
GDX

Conseiller Municipal

rank_5.png

Avatar

Inscrit le: 17/01/2011

Messages: 3003

Le 26/10/2015 à 14h18
majikeyric, ce n'est pas ça que tu cherches ?

http://www.msxvillage.fr/forum/topic.php?id=2879&pt=1#m67315
   

Touriste

rank_1.png

Avatar

Inscrit le: 06/10/2015

Messages: 72

Le 26/10/2015 à 14h25
Non GDX c'est sur PC, mais avec DKSTOOL c'est parfait :)


Rétro coder fou : Z80 : MSX / Amstrad CPC / ZX Spectrum -- 6502 : C64 / VIC20 -- 68000 : Amiga
Mon site dédié à ma passion pour la programmation : http://majikeyric.free.fr
Site web    

Touriste

rank_1.png

Avatar

Inscrit le: 10/09/2014

Messages: 124

Le 08/04/2018 à 20h12
Très bien cet utilitaire en ligne de commande! :top

Voici les liens:
- version linux 64 bits : dsktool
- version windows : dsktool

Il permet de voir mais aussi d'ajouter, de supprimer et donc de modifier des fichiers PENDANT que le fichier DSK est utilisé par l'émulateur. ^^
Donc très bien pour la mise au point de développements depuis une plateforme externe.

Syntaxe :

La syntaxe de DSKTOOL est très similaire au compresseur ARJ:

dsktool [commande] fichier.dsk [fichier] [fichier] ...

commande :
L [H] lister le contenu de l'archive
E [H] extraire les fichiers de l'archive
A [H] ajouter des fichiers à l'archive
D supprimer des fichiers de l'archive
F afficher la liste des fichiers
O [H] obtenir des informations de fichier basé sur les données de disque brutes


Certaines commandes peuvent utiliser le suffixe H pour passer en mode Système de fichiers ADVH.

[fichier] [fichier] ... est une liste de fichiers. Le caractère générique * est accepté.

Examples:
dsktool i TALKING.DSK
dsktool l TALKING.DSK
dsktool lh DRAGON.DSK
dsktool e TALKING.DSK FUZZ*.*
dsktool a TALKING.DSK MSXDOS.SYS COMMAND.COM
dsktool ah DRAGON.DSK M*.COM
dsktool d TALKING.DSK *.BAS *.BIN
dsktool f TALKING.DSK FILE.EXT
dsktool o TALKING.DSK 307712


Si vous essayez d'ajouter des fichiers à une archive inexistante, DSKTOOL crée une nouvelle archive et initialiser le .DSK avec un démarrage MSX-DOS 1.

La documentation précise qu'un seul type de .DSK supporté : 720 ko (80 pistes, 9 secteurs par piste, double faces) mais je pense que les 360 ko fonctionnent aussi.




Edité par sylvain Le 09/04/2018 à 08h22


Sylvain
MSX lover :)
   

Conseiller Municipal

rank_5.png

Avatar

Association

Inscrit le: 29/07/2010

Messages: 5094

Le 09/04/2018 à 14h58
sylvain :

Il permet de voir mais aussi d'ajouter, de supprimer et donc de modifier des fichiers PENDANT que le fichier DSK est utilisé par l'émulateur. ^^
Donc très bien pour la mise au point de développements depuis une plateforme externe.


Avec Bluemsx, il m'est arrivé de fusiller des semaines de tests simplement en ouvrant le DSK avec DiskExplorer V1.69 simultanément à son utilisation avec BlueMsx :sick

Mis à part ce problème, je sais par expérience qu'un simple petite modification d'un fichier dans un DSK peut changer (je sais plus comment on dit) "la chaîne d'information permettant au SYSTEM DISK (du msx) de trouver la multitude de bribes situées physiquement sur le DISQUE et formant un fichier!

Autrement dit, si l'on apporte une modification quelconque à un DSK, faut informer le SYSTEM de "la modification probable" de la chaîne de bribes formant un fichier.

Je me pas en doute vos affirmation, mais je trouve cela surprenant ^^

Touriste

rank_1.png

Avatar

Inscrit le: 10/09/2014

Messages: 124

Le 09/04/2018 à 16h51
Précision ; il s'agit de la v1.30 "(2017) Updated by NataliaPC"

J'ai fait un test, avant de poster dans ce sujet, avec BlueMSX :

Démarrage de l'émulateur avec un fichier TEST.DSK => arrivée sur le BASIC
[BLUEMSX] FILES => liste des fichiers
[DSKTOOL] ajout du fichier TOTO.BAS dans TEST.DSK (véritable fichier BASIC provenant d'une autre disquette)
[BLUEMSX] FILES => liste des fichiers, contient le fichier TOTO.BAS ajouté
[BLUEMSX] LOAD "TOTO.BAS"
[BLUEMSX] LIST => le listing est correct, le RUN fonctionne
[BLUEMSX] KILL "TOTO".BAS"
[DSKTOOL] liste les fichiers de TEST.DSK, le fichier TOTO.BAS a bien été supprimé

Bien entendu :
- il faut toujours partir d'un fichier DSK vide, ou d'une copie pour éviter les mauvaises manipulations
- il ne faut pas écrire/lire en même temps dans l'émulateur ou avec DSKTOOL

Il n'y a pas besoin d'informer le "SYSTEM" de la modification des informations sur le fichier DSK dans le cas d'une utilisation "classique" de lecture/écriture. Peut-être que cela peut poser problème dans le cas d'une lecture par secteur, mais pour la mise au point de programmes il faut en tenir compte.


Sylvain
MSX lover :)
   

Conseiller Municipal

rank_5.png

Avatar

Association

Inscrit le: 29/07/2010

Messages: 5094

Le 09/04/2018 à 18h26
Tes tests sont très intéressants et cela peut faire gagner beaucoup de temps pour mener une multitudes de tests empiriques :top

Petites précision: Mes mésaventures se sont produites sur ma CF virtuelle dans BlueMSX.
Je n'utilise jamais de DISQUETTES sous Bluemsx, pas assez de place lol

Je me trompe ou l'architecture d'un fichier est stockée dans une sorte de "sommaire" qui pointe vers tel ou tel Secteur/Block et de fil en aiguille, chaque fin de bribe qui forme ce fichier contient l'information indiquant ou aller chercher le prochain bloc etc etc... Ce system de fichier mis au point par Microsoft je crois :gne

Maire-adjoint

rank_special.png

Avatar

Association

Inscrit le: 05/11/2017

Messages: 114

Le 09/04/2018 à 18h47
ce que tu appelle les bribes c'est la FAT Files Allocation Table
c'est trés bien décrit dans le livre du disque MSX pour le DOS1 page 81 et plus
modifier directement la FAT risque de faire perdre des fichiers


:noel
Site web    

Touriste

rank_1.png

Avatar

Inscrit le: 10/09/2014

Messages: 124

Le 09/04/2018 à 19h07

JIPEMSX :
modifier directement la FAT risque de faire perdre des fichiers


Pas de problème avec DSKTOOL il agit proprement, exactement comme le lecteur de disquettes d'un MSX, la FAT est modifiée en cohérence avec les fichiers créés, modifiés ou supprimés.


Sylvain
MSX lover :)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté