MSX Village forum

La Place des Développeurs Gestion DSK

majikeyric Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 06/10/2015 à 17h46

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    
majikeyric Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 06/10/2015 à 17h46

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    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

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.


banniere-ericb59e
Site web    
majikeyric Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 06/10/2015 à 17h46

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    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

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


banniere-ericb59e
Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

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
   
majikeyric Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 06/10/2015 à 17h46

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    
Visiteur

Vagabond

Rang

Avatar

Message : 0

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 Visiteur Le 09/04/2018 à 08h22
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

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 ^^


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Visiteur

Vagabond

Rang

Avatar

Message : 0

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.
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

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



Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10318

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    
Visiteur

Vagabond

Rang

Avatar

Message : 0

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.
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie