bin2exl : utilitaire d'encapsulation d'un fichier binaire gnrique (a priori non excutable mais cela reste possible pour un usage adhoc dans une application) dans divers containeurs sur support exelvision

Cette commande est l'outil idal pour rcuprer des donnes sur support Exelvision et les exploiter au sein d'un programma. Les donnes sous forme binaire produites par diffrents outils (image JIF par exemple) doivent tre formates de diffrentes manires pour tre rcupres dans une plateforme exelvision (DcExel ou machine exelvision). bin2exl permet de gnrer un fichier pour disquette ou un bloc K7. Les paramtres de cette commande autorisent de stocker les donnes soit dans un bloc monolithique binaire, soit dans un ensemble d'enregistrements pour charger ces donnes par partie (et donc conomiser de la mmoire).
Cette commande est utilise troitement avec tout processus de dveloppement:
PCX2JIF -> BIN2EXL -> test sur DcExel via programme -> DcExelToolBox/DcExelDisk -> validation sur machine Exelvision
La suite de ce document dcrit les nombreuses options de cette commande.

usage : bin2exl sourceFile targetFile [-t:DOS|K7|TASM] [-H:0xHeaderSize] [-r:0xRecordSize] [-n:4LettersK7Filename]] 
sourceFile = fichier binaire source contenant des donnes (ou mme un code binaire)
targetFile = fichier binaire dans le format cible
-t:DOS = gnration d'un fichier ExelDos qui peut tre facilement intgr  une image de disquette  l'aide de l'outil DcExelDisk ou DIR2FD.
-t:K7 = gnration d'un bloc K7 qui peut tre charg  l'aide de la fonction TRAP 14 de la ROM Exelvision.
-t:ASM = gnration d'une zone de donnes dans un fichier texte  intgrer dans un fichier source TASM (donnes placer dans le code assembl).
-H:0xHeaderSize = cette option permet d'expliciter un header dans les donnes du fichier binaire source. HeaderSize est la taille du header exprime en hexadcimal, c'est--dire le nombre d'octets en dbut de fichier  considrer comme entte. Dans le cas d'un fichier cible ExelDos, un enregistrement est cr avec les donnes du header. Dans le cas d'un fichier cible k7, un bloc K7 est cr avec les donnes du header. Le format cible ASM n'est pas concern par cette option.
-r:0xRecordSize = cette option permet de dcouper les donnes du fichier source en un ensemble d'enregistrements de taille RecordSize octets (exprime en hexadcimal). Dans le cas d'un fichier cible ExelDos, les enregistrements sont cods sous forme d'enregistrements ExelDos tout simplement. Dans le cas d'un fichier cible k7, chaque enregistrement est plac dans un bloc K7 (ce qui peut augmenter considrablement la taille des donnes).
-n:WXYZ = permet de spcifier les 4 lettres du nom du bloc K7 lors de la gnration d'un fichier k7 dans ce containeur. Par dfaut le nom est compos de 4 espaces.

exemple:
bin2exl 1942.jif 1942.k7 t:K7 H:0x0A n:IMG1
gnre deux blocs K7  partir du binaire de l'image 1942.jif, en considrant un header  construit avec les 10 premiers octets des donnes plac dans le premier bloc K7 et un second bloc K7 avec le reste des donnes . Les blocs K7 porte le nom IMG1.

binexl 1942.jif 1942.JIF t:DOS H:0x0A r:0xFE
gnre un fichier pour ExelDos  partir du binaire de l'image 1942.jif. Le fichier cible porte le nom 1942.JIF, il est compos d'un enregistrement pour le header construit avec les 10 premiers octets des donnes, et d'un ensemble d'enregistrements de taille 254 octets pour le reste des donnes. Ce dcoupage des donnes dans des enregistrements permet, par exemple, de charger ces donnes par partie dans un buffer de 254 octets.

Comment ajouter trs simplement des blocs K7  un fichier k7 ?
En concatnant les blocs au fichier (ou en copiant-collant) simple !
