MSX Village forum

La Place des Développeurs Créer un .DSK en ligne de commande

Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10317

Le 01/01/2022 à 11h18

Reprise du message précédent

moi j'ai trouvé : clique sur les petites fléches vertes en bout des fichiers

mais a priori il faut charger les fichiers un à un


:noel
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 01/01/2022 à 13h13
JIPEMSX :
moi j'ai trouvé : clique sur les petites fléches vertes en bout des fichiers

mais a priori il faut charger les fichiers un à un


ah ! Oui :oups


banniere-ericb59e
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 01/01/2022 à 13h15
@aoineko :
sur Mac (sur linux je pense que ca fonctionne aussi), on peut ajouter des fichiers provenant de dossiers extérieur à un DSK, à condition de lui donner un chemin complet depuis le root.

exemple
Code TEXT :
 
./dsktool a TEST.DSK /Users/ericboez/Desktop/WorkingFolder/dsk/dska/COMMAND.COM
 



Note: Cet outil ne peut créer ou manipuler que des DSK pour MSX-DOS1 (Donc les sous dossiers ne sont pas gérés, et le nombre fichiers sur un disque est limité à 112 ) Edité par ericb59 Le 01/01/2022 à 13h28


banniere-ericb59e
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 01/01/2022 à 13h38
@aoineko:
Je ne sais pas pour quels besoins tu veux pouvoir créer des DSK à la volée, ni quelles sont tes contraintes, mais tu peux aussi faire la même chose avec openMSX et ses scripts TCL.

Dans openMSX il y a un outils en ligne de commande qui s'appel DISKMANIPULATOR.
Il peut créer des DSK ou des même des images disque dur HDA au format FAT12.
Tu peux y importer des fichiers et/ou des dossiers car il est compatible MSX-DOS2.

Tu as la documentation de DISKMANIPULATOR ici : https://openmsx.org/manual/diskmanipulator.html

Suivant tes besoins, tu peux créer un script TCL pour créer des DSK, et l'associer à une touche du clavier pour le lancer (depuis openMSX).
Ou même en ligne de commande...

Peut être ça peut t'aider ?


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2693

Le 01/01/2022 à 16h32
Dans l'outil (Build tool) qui me permet de tester mes programmes, j'ai besoin de générer des fichiers .DSK à la volée via la console de commande pour les tester avec certaines émulateurs.
L'outil s'occupe de compiler les sources, assembler le binaire, faire des traitement spécifiques en fonction de la cible (DOS, BASIC ou ROM), préparer les fichiers pour l'émulateur et enfin ouvrir l'émulateur et lancer automatique le programme à tester. Comme ça j'ai un processus complètement automatisé entre le moment ou je fais un modification dans un programme et le moment ou je peux la tester in-situ.

A part OpenMSX ou RuMSX, les autres émulateurs ne permettent pas de lancer un programme en disquette depuis un répertoire (ou en tout cas j'ai pas trouvé comment faire).
L'outil créer donc un fichier .DSK avec les fichiers nécessaires pour tester le programme (le binaire, un autoexec et les fichiers du DOS pour les .COM).
Tout marche bien maintenant donc je vais pas y toucher, mais effectivement DiskManipulator à l'air très bien.
Je le garde sous le coude si un jour je veux améliorer mon process.


On est toujours ignorant avant de savoir.
Github    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5481

Le 01/01/2022 à 17h34
@aoinek
Oui je fais cela aussi avec FUSION-C, tout est automatisé.
Sauf que je ne m'embête pas à créer un DSK.

Par contre je suis obligé de le faire si je veux utiliser un disque dur virtuel du coté MSX
(Ce qui me permet de traiter plus de fichiers et plus vite que sur une disquette)

Dans ce cas mon script TCL copie l'intégralité d'un dossier dans un disque dur virtuel MSX
Code TEXT :
 
ext ide
hda openMSX/hard-drive/hd-ide.dsk
diskmanipulator format hda1
diskmanipulator import hda1 $CONTENT_HD_FOLDER1
 


J'ai poussé l'automatisation jusqu'à entrer les paramètre de compilation ou de test directement dans le code source du programme MSX.
De façon à ne jamais avoir à toucher aux scripts de compilation.

J'ai intégré des directives sous la forme de #define, qui ne gênent en rien la compilation.

Code TEXT :
 
#define __SDK_DEST__ /out/diska
 

Définie la destination du programme compilé

Code TEXT :
 
#define __SDK_MSXVERSION__ 2
 

Définie quel version de MSX l'émulateur va lancer 1,2,3 4 (MSX1, MSX2, MSX2+, Turbo-R) lors du test

Code TEXT :
 
#define __SDK_ADDRCODE__ 0x106
 

Définie à quel adresse compiler le programme

Etc ...
Edité par ericb59 Le 01/01/2022 à 17h35


banniere-ericb59e
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2693

Le 01/01/2022 à 18h19
Sympa.
Perso je préfère garder séparer les options de compilation (dans les .h) et les options de build (dans le Build Tool).


On est toujours ignorant avant de savoir.
Github    
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 552

Le 22/01/2022 à 22h18
https://github.com/openMSX/msxtar

exemple:

msxtar -cf disk.dsk mog.rom

contruit un dsk nommé disk.dsk contenant le fichier mog.rom (The Maze of Galious/128k)

Syntaxe:

Code :
`msxtar' saves many files together into a single disk image to be used by
emulators like openMSX, and can restore individual files from the archive.
This tool supports single-sided, double-sized and IDE HD images (only FAT12)

Usage: ./msxtar [OPTION]... [FILE]...

Examples:
  ./msxtar -cf disk.dsk foo bar  # Create a diskimage from files/directories foo and bar.
  ./msxtar -tvf disk.dsk         # List all files in disk.dsk verbosely.
  ./msxtar -xf disk.dsk          # Extract all files from disk.dsk.

If a long option shows an argument as mandatory, then it is mandatory
for the equivalent short option also.  Similarly for optional arguments.

Main operation mode:
  -t, --list              list the contents of an archive
  -x, --extract, --get    extract files from an archive
  -c, --create            create a new archive
  -r, --append            append files to the end of an archive
  -u, --update            only append files newer than copy in archive
  -A, --catenate          append tar files to an archive
      --concatenate       same as -A

Handling of file attributes:
      --owner=NAME             force NAME as owner for added files
      --group=NAME             force NAME as group for added files
      --mode=CHANGES           force (symbolic) mode CHANGES for added files
  -k, --keep                   keep existing files, do not overwrite 
  -m, --modification-time      don't extract file modified time

Image selection and switching:
  -f, --file=ARCHIVE             use archive file or device ARCHIVE
                                 default name is 'msxdiskimage.dsk'
  -S, --size=ARCHSIZE            ARCHSIZE can be nnnn[S|B|K|M]
                                 The folowing simple sizes are predefinied
                                 'single' equals 360K, 'double' equals 720K
                                 and 'ide' equals 32M
  -1, --dos1                     use MSX-DOS1 bootsector and no subdirs
  -2, --dos2                     use MSX-DOS2 bootsector and use subdirs
  -M, --msxdir=SUBDIR            place new files in SUBDIR in the image
  -P, --partition=PART           Use partition PART when handling files
                                 PART can be 'all' to handle all partitions
Informative output:
      --help            print this help, then exit
      --version         print tar program version number, then exit
  -v, --verbose         verbosely list files processed


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
Cylicano Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 24/10/2021 à 11h19

Messages: 512

Le 27/01/2022 à 22h27

aoineko :

@EricB, en cherchant des infos sur MIDI2PT3, je suis tombé sur une nouvelle version de... DskTool !!

C'est la version 1.4 avec quelques options intéressantes en plus (mais toujours pas de support des sous-répertoires).
Y a que la version Windows de dispo, mais y a les sources pour compiler sur les autres plateformes.

Et cette version fonctionne trés bien sous Linux Mint. Je confirme;  viens de faire quelques essais.

L'auteur fournit les commandes, dans l'ordre, pour télécharger et installer directement l'outil qui s'utilise lui aussi...en ligne de commande :

sudo add-apt-repository ppa:amaurycarva<wbr />lho/dsktool
  sudo apt-get update
  sudo apt-get install dsktool



Rien ne se perd, tout doit se transformer.

E-mail    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie