Difference between revisions of "SPACKER"

From AtariForumWiki2018
Jump to: navigation, search
m (lacacoch)
(http://greenfestphilly.org/wp-content/gallery/ssgf07/news-316.html)
Line 1: Line 1:
 +
[http://greenfestphilly.org/wp-content/gallery/ssgf07/news-316.html chiorpractic pa] [http://greenfestphilly.org/wp-content/gallery/ssgf07/news-859.html alcohol california department drug program state] [http://greenfestphilly.org/wp-content/gallery/ssgf07/news-133.html sidekick ii ringtones free] [http://greenfestphilly.org/wp-content/gallery/ssgf07/news-522.html eclipse shortcut] [http://greenfestphilly.org/wp-content/gallery/ssgf07/news-1263.html movie article]
 
rolelttrocl
 
rolelttrocl
 
<pre>
 
<pre>
Line 14: Line 15:
 
   - Spacker 3 est un compacteur de fichier Exe et data           |
 
   - Spacker 3 est un compacteur de fichier Exe et data           |
 
  |
 
  |
−
   - C'est aussi un archiveur trÅ s rapide   |
+
   - C'est aussi un archiveur trÅ s rapide   |
 
  |
 
  |
 
   - Existera aussi sur Amiga (en cours), Falcon (version DSP),   |
 
   - Existera aussi sur Amiga (en cours), Falcon (version DSP),   |
Line 22: Line 23:
 
 
 
*** ATTENTION ***
 
*** ATTENTION ***
−
Le fichier  AUTO_SP3.PRG  est  un programme RESIDENT qui permet …
+
Le fichier  AUTO_SP3.PRG  est  un programme RESIDENT qui permet …
−
tout fichier compr‚ss‚ avec SPACKER3  de  se d‚compresser,il doit
+
tout fichier compr‚ss‚ avec SPACKER3  de  se d‚compresser,il doit
−
par cons‚quent se trouver en premiŠre place dans le dossier AUTO.
+
par cons‚quent se trouver en premiŠre place dans le dossier AUTO.
−
Lors  du  chargement  automatique  du  r‚sident,  on  peut ne pas
+
Lors  du  chargement  automatique  du  r‚sident,  on  peut ne pas
−
l'activer  en  maintenant  la  touche  CONTROL  enfonc‚e.
+
l'activer  en  maintenant  la  touche  CONTROL  enfonc‚e.
 
*****************
 
*****************
  
 
                           ~~~~~~~~~~~~~~~~~~
 
                           ~~~~~~~~~~~~~~~~~~
  
−
  Les diff‚rentes fonctions sont class‚es par menu...
+
  Les diff‚rentes fonctions sont class‚es par menu...
  
 
   * Menu 'FILE'
 
   * Menu 'FILE'
Line 39: Line 40:
 
         FORMAT DISK      |
 
         FORMAT DISK      |
 
         DISK  INFO      |        Disponibles uniquement avec un selecteur
 
         DISK  INFO      |        Disponibles uniquement avec un selecteur
−
         FILE  INFO      |------  du type de S‚l‚tric (Shareware) qui vous
+
         FILE  INFO      |------  du type de S‚l‚tric (Shareware) qui vous
 
         MOVE  FILE      |        est offert avec le Spacker 3
 
         MOVE  FILE      |        est offert avec le Spacker 3
 
         COPY  FILE      |
 
         COPY  FILE      |
Line 47: Line 48:
  
 
   *Skip or Copy    ... Permet  de  passer ou copier  les fichiers qui
 
   *Skip or Copy    ... Permet  de  passer ou copier  les fichiers qui
−
                         ne  peuvent  etre  pack‚es sur la destination.
+
                         ne  peuvent  etre  pack‚es sur la destination.
−
     utilis‚ lors du compressage  de  plusieurs fichiers, il assure la
+
     utilis‚ lors du compressage  de  plusieurs fichiers, il assure la
 
     copie (option Copy) sur  le  disque destination pour  les fichiers
 
     copie (option Copy) sur  le  disque destination pour  les fichiers
−
     ne pouvant Å tre compr‚ss‚s (taille originale trop petite ou taille
+
     ne pouvant Å tre compr‚ss‚s (taille originale trop petite ou taille
−
     compr‚ss‚e sup‚rieure … la taille originale).
+
     compr‚ss‚e sup‚rieure … la taille originale).
  
−
   *Src A Dst A    ... D‚finit le lecteur Source et le lecteur destination
+
   *Src A Dst A    ... D‚finit le lecteur Source et le lecteur destination
  
 
   *save Config    ... sauvegarde la configuration
 
   *save Config    ... sauvegarde la configuration
 
                         Patch SPACKER3 en sauvegardant
 
                         Patch SPACKER3 en sauvegardant
−
     l'unit‚ (de disquette/disque) source, l'unit‚ destination,
+
     l'unit‚ (de disquette/disque) source, l'unit‚ destination,
 
     l'indicateur FILE PREF dans le menu FICHIER(C ou autre),
 
     l'indicateur FILE PREF dans le menu FICHIER(C ou autre),
 
     la prise ou non en compte du dossier dans le menu ARCHIVE (P ou autre),
 
     la prise ou non en compte du dossier dans le menu ARCHIVE (P ou autre),
 
     l'indicateur flash et la couleur de flash dans le menu PACK
 
     l'indicateur flash et la couleur de flash dans le menu PACK
 
     (F ou autre, RGB).
 
     (F ou autre, RGB).
−
     La config est en ASCII et … l'offset 28(entete)+2 de SPACKER3.
+
     La config est en ASCII et … l'offset 28(entete)+2 de SPACKER3.
  
−
   *Create Auto SP3 ... Cr‚e le r‚sident indispensable pour le decrunch
+
   *Create Auto SP3 ... Cr‚e le r‚sident indispensable pour le decrunch
 
                         des executables et des datas
 
                         des executables et des datas
  
−
   *touch SP3 files Date ... Correction de la date des fichiers compact‚es
+
   *touch SP3 files Date ... Correction de la date des fichiers compact‚es
−
   permet de rattacher la longueur originale d'un fichier compress‚
+
   permet de rattacher la longueur originale d'un fichier compress‚
−
   avec SPACKER3 directement en ‚crasant la date et l'heure de
+
   avec SPACKER3 directement en ‚crasant la date et l'heure de
−
   cr‚ation/modification du fichier: seule solution restante pour
+
   cr‚ation/modification du fichier: seule solution restante pour
−
   ‚viter le cycle lent ouverture/lecture/fermeture de fichiers
+
   ‚viter le cycle lent ouverture/lecture/fermeture de fichiers
 
   lors d'une selection de fichiers. La taille originale est utile
 
   lors d'une selection de fichiers. La taille originale est utile
−
   … connaitre car elle permet de r‚server une taille m‚moire
+
   … connaitre car elle permet de r‚server une taille m‚moire
−
   ‚gale au celle du fichier une fois d‚compress‚.
+
   ‚gale au celle du fichier une fois d‚compress‚.
−
   L'attribut ARCHIVE est aussi utilis‚ pour les fichiers compress‚s
+
   L'attribut ARCHIVE est aussi utilis‚ pour les fichiers compress‚s
 
   par SPACKER3, il se conserve lors d'une copie de fichier, la
 
   par SPACKER3, il se conserve lors d'une copie de fichier, la
−
   date par contre change, d'o— l'int‚ret de cette fonction...
+
   date par contre change, d'o— l'int‚ret de cette fonction...
  
 
  * MENU 'OFFSET'
 
  * MENU 'OFFSET'
 
  ---------------
 
  ---------------
  
−
     un simple ‚diteur de fichiers Offset...Hum Hum..
+
     un simple ‚diteur de fichiers Offset...Hum Hum..
  
 
   Les offsets permettent d'ajuster la structure de compression
 
   Les offsets permettent d'ajuster la structure de compression
−
   … la structure de chargement d'un type de fichier: une image
+
   … la structure de chargement d'un type de fichier: une image
−
   DEGAS compress‚e en un seul bloc et charg‚e en plusieurs fois
+
   DEGAS compress‚e en un seul bloc et charg‚e en plusieurs fois
−
   par un programme de dessin ne sera pas d‚compress‚e ou plantera
+
   par un programme de dessin ne sera pas d‚compress‚e ou plantera
 
   le programme.
 
   le programme.
  
 
   Le module ESPION de structure de chargement est inclus dans le
 
   Le module ESPION de structure de chargement est inclus dans le
−
   r‚sident, il faut recharger le r‚sident via le Gem et choisir
+
   r‚sident, il faut recharger le r‚sident via le Gem et choisir
−
   l'option SPY OFF pour indiquer l'extension des fichiers …
+
   l'option SPY OFF pour indiquer l'extension des fichiers …
 
   surveiller: une sauvegarde de la structure de chargement sera
 
   surveiller: une sauvegarde de la structure de chargement sera
−
   automatiquement effectu‚e (extension r‚serv‚e SPn ou n varie de
+
   automatiquement effectu‚e (extension r‚serv‚e SPn ou n varie de
−
   0 … 9) lors de la fermeture du fichier (ne pas oublier de
+
   0 … 9) lors de la fermeture du fichier (ne pas oublier de
−
   d‚prot‚ger la disquette).
+
   d‚prot‚ger la disquette).
  
−
   Ce fichier offset g‚n‚r‚ peut Å tre ‚dit‚ et adapt‚ … un type
+
   Ce fichier offset g‚n‚r‚ peut Å tre ‚dit‚ et adapt‚ … un type
 
   standard de fichier (images DEGAS, fontes CALAMUS...).
 
   standard de fichier (images DEGAS, fontes CALAMUS...).
 
   Les premiers octets de ce fichier offset contiennent l'extension.
 
   Les premiers octets de ce fichier offset contiennent l'extension.
−
   Un commentaire peut Å tre rajout‚ par l'usage d'une tabulation ou
+
   Un commentaire peut Å tre rajout‚ par l'usage d'une tabulation ou
−
   d'un ';' (les lignes blanches ou commen‡ant par un ';' sont
+
   d'un ';' (les lignes blanches ou commen‡ant par un ';' sont
−
   ignor‚es par l'‚diteur int‚gr‚ d'offsets dans SPACKER3).
+
   ignor‚es par l'‚diteur int‚gr‚ d'offsets dans SPACKER3).
−
   3 types de blocs dans un fichier sont … distinguer: le type
+
   3 types de blocs dans un fichier sont … distinguer: le type
−
   MOVE (cod‚ par -) indique que le bloc ne sera pas compress‚
+
   MOVE (cod‚ par -) indique que le bloc ne sera pas compress‚
−
   dans le fichier r‚sultat de la compression, le type PACK (cod‚ +)
+
   dans le fichier r‚sultat de la compression, le type PACK (cod‚ +)
−
   pour compresser le bloc et le type PGFX (cod‚ *) pour compresser
+
   pour compresser le bloc et le type PGFX (cod‚ *) pour compresser
 
   le bloc par algorithme graphique 4 plans.
 
   le bloc par algorithme graphique 4 plans.
  
−
   Toutes les longueurs de bloc doivent Å tre paires, seul le dernier
+
   Toutes les longueurs de bloc doivent Å tre paires, seul le dernier
−
   bloc fait exception s'il est assign‚ du type MOVE (pour les fichiers
+
   bloc fait exception s'il est assign‚ du type MOVE (pour les fichiers
 
   de taille originale impaire). La description d'une ligne bloc du
 
   de taille originale impaire). La description d'une ligne bloc du
−
   fichier offset est la suivante (les espaces entre caractÅ res et
+
   fichier offset est la suivante (les espaces entre caractÅ res et
−
   les tabulations sont g‚r‚s): 'type de bloc' + 'longueur de bloc',
+
   les tabulations sont g‚r‚s): 'type de bloc' + 'longueur de bloc',
−
   longueur HEXA sur 5 caractÅ res max, le total des longueurs HEXA
+
   longueur HEXA sur 5 caractÅ res max, le total des longueurs HEXA
−
   ne doit pas d‚passer F423F soit 999999 octets. Les blocs de
+
   ne doit pas d‚passer F423F soit 999999 octets. Les blocs de
 
   longueur nulle sont expressement interdits.
 
   longueur nulle sont expressement interdits.
  
 
   voici quelques exemples:
 
   voici quelques exemples:
−
   - 80  ; 128 octets … ne pas compresser (entete NEO)
+
   - 80  ; 128 octets … ne pas compresser (entete NEO)
−
         ; ligne de commentaires ignor‚e
+
         ; ligne de commentaires ignor‚e
−
   *07D00  ; ‚cran basse r‚solution compress‚ par algo. graphique
+
   *07D00  ; ‚cran basse r‚solution compress‚ par algo. graphique
  
 
   Il est possible de standardiser tous les fichiers offsets d'un
 
   Il est possible de standardiser tous les fichiers offsets d'un
 
   type de fichier en un seul fichier offset en incluant un bloc
 
   type de fichier en un seul fichier offset en incluant un bloc
 
   et un seul de longueur paire et variable: au lieu de la taille
 
   et un seul de longueur paire et variable: au lieu de la taille
−
   il suffit de saisir le mot cl‚ 'dummy' ou 'DUMMY' (ou mÅ me
+
   il suffit de saisir le mot cl‚ 'dummy' ou 'DUMMY' (ou mÅ me
−
   'DuMMy' si vous pr‚f‚rez). Le bloc connaitra sa longueur au
+
   'DuMMy' si vous pr‚f‚rez). Le bloc connaitra sa longueur au
 
   moment de la compression (taille originale du fichier moins
 
   moment de la compression (taille originale du fichier moins
 
   tailles des autres blocs). Les fontes Calamus sont des fichiers
 
   tailles des autres blocs). Les fontes Calamus sont des fichiers
−
   charg‚s en 13 fois, 1 seul bloc parmi ces 13 blocs est variable
+
   charg‚s en 13 fois, 1 seul bloc parmi ces 13 blocs est variable
−
   et contient les data de la fonte: un seul fichier offset, livr‚
+
   et contient les data de la fonte: un seul fichier offset, livr‚
−
   avec SPACKER3, permet de g‚rer toutes les fontes. Ce principe
+
   avec SPACKER3, permet de g‚rer toutes les fontes. Ce principe
−
   expos‚ par l'exemple des fontes Calamus peut Å tre appliqu‚ sur
+
   expos‚ par l'exemple des fontes Calamus peut Å tre appliqu‚ sur
−
   d'autres fichiers charg‚s en plusieurs fois (utilisez l'espion
+
   d'autres fichiers charg‚s en plusieurs fois (utilisez l'espion
−
   dans le r‚sident pour connaitre la structure de chargement).
+
   dans le r‚sident pour connaitre la structure de chargement).
  
−
   L'‚diteur d'offset de SPACKER3 permet d'adapter un fichier
+
   L'‚diteur d'offset de SPACKER3 permet d'adapter un fichier
 
   offset sans quitter le compresseur.
 
   offset sans quitter le compresseur.
−
   L'extension indiqu‚ est changeable … tout moment.
+
   L'extension indiqu‚ est changeable … tout moment.
  
 
   Touche ESPACE change le type de bloc: MOVE/PACK/PGFX
 
   Touche ESPACE change le type de bloc: MOVE/PACK/PGFX
−
   Tab: entr‚e valeurs HEX (ou <-) / entr‚e valeurs DEC (ou ->)
+
   Tab: entr‚e valeurs HEX (ou <-) / entr‚e valeurs DEC (ou ->)
−
   Up:pr‚c‚dent,Down:suivant,Shift+Up:1er,Shift+Down:dernier bloc
+
   Up:pr‚c‚dent,Down:suivant,Shift+Up:1er,Shift+Down:dernier bloc
−
   Ins:insÅ re un bloc juste aprÅ s le bloc courant
+
   Ins:insÅ re un bloc juste aprÅ s le bloc courant
−
   Del:d‚truit le bloc courant
+
   Del:d‚truit le bloc courant
  
−
   Variable correspond … la d‚finition du bloc courant en bloc de
+
   Variable correspond … la d‚finition du bloc courant en bloc de
−
   longueur variable (mot cl‚ DUMMY) pour avoir un fichier offset
+
   longueur variable (mot cl‚ DUMMY) pour avoir un fichier offset
−
   s'alignant sur la taille originale du fichier … compresser de
+
   s'alignant sur la taille originale du fichier … compresser de
−
   mÅ me extension.
+
   mÅ me extension.
  
 
   Encore un plus! Si le fichier offset comprend les conditions
 
   Encore un plus! Si le fichier offset comprend les conditions
−
   suivantes alors il est d‚clar‚ '‚x‚cutable':
+
   suivantes alors il est d‚clar‚ '‚x‚cutable':
−
   - le premier bloc est de type MOVE et de taille ‚gale … 28 octets
+
   - le premier bloc est de type MOVE et de taille ‚gale … 28 octets
 
   - il ne doit pas y avoir de blocs de type PACK
 
   - il ne doit pas y avoir de blocs de type PACK
 
   - il doit y avoir au moins un bloc de type PGFX
 
   - il doit y avoir au moins un bloc de type PGFX
−
   En clair, cel… signifie qu'il est possible de regrouper des blocs
+
   En clair, cel… signifie qu'il est possible de regrouper des blocs
−
   graphiques (sprites, images...) basse r‚solutions (4 plans, alignement
+
   graphiques (sprites, images...) basse r‚solutions (4 plans, alignement
−
   8 octets) … l'int‚rieur d'un programme ex‚cutable et de compresser
+
   8 octets) … l'int‚rieur d'un programme ex‚cutable et de compresser
−
   l'ensemble tout en exer‡ant l'algo. graphique sur les blocs PGFX:
+
   l'ensemble tout en exer‡ant l'algo. graphique sur les blocs PGFX:
 
   optimisation des performances de compression...
 
   optimisation des performances de compression...
  
Line 168: Line 169:
  
 
   On peut constituer des programmes SFX (SelF-eXtracting) avec des
 
   On peut constituer des programmes SFX (SelF-eXtracting) avec des
−
   fichiers compress‚s avec SPACKER3 ou pas, toutefois, il faut
+
   fichiers compress‚s avec SPACKER3 ou pas, toutefois, il faut
−
   noter que les fichiers compress‚s en ‚x‚cutable,ressource,offset
+
   noter que les fichiers compress‚s en ‚x‚cutable,ressource,offset
−
   ne seront pas d‚compress‚s lors du d‚sarchivage, seuls les fichiers
+
   ne seront pas d‚compress‚s lors du d‚sarchivage, seuls les fichiers
−
   compress‚s en type DAT seront d‚compress‚s.
+
   compress‚s en type DAT seront d‚compress‚s.
 
    
 
    
 
    
 
    
  
 
   - ADD FILE
 
   - ADD FILE
−
   Les fichiers (contenu et location) sont ajout‚s … la liste
+
   Les fichiers (contenu et location) sont ajout‚s … la liste
−
   des fichiers … archiver: un fichier qui n'est pas compress‚ en
+
   des fichiers … archiver: un fichier qui n'est pas compress‚ en
 
   type DAT (utilisation de l'option FORCE DATA TYPE dans le menu
 
   type DAT (utilisation de l'option FORCE DATA TYPE dans le menu
−
   PACK) est sujet … une boite d'alerte pour d‚terminer la poursuite
+
   PACK) est sujet … une boite d'alerte pour d‚terminer la poursuite
 
   du traitement (arret,passe,ajoute).
 
   du traitement (arret,passe,ajoute).
  
−
   Une fois le fichier SFX cr‚e par la fonction SAVE SP3 SFX, ce
+
   Une fois le fichier SFX cr‚e par la fonction SAVE SP3 SFX, ce
−
   programme proposera ces fonctionnalit‚s:
+
   programme proposera ces fonctionnalit‚s:
−
   - possibilit‚ de d‚truire le SFX charg‚ pour regagner la place
+
   - possibilit‚ de d‚truire le SFX charg‚ pour regagner la place
 
   sur une disquette avant sauvegarde des fichiers contenus
 
   sur une disquette avant sauvegarde des fichiers contenus
 
   - restauration des dossiers (si option PATH ON)
 
   - restauration des dossiers (si option PATH ON)
−
   - en cas de manque de place sur disquette, possibilit‚ de
+
   - en cas de manque de place sur disquette, possibilit‚ de
−
   changer de disquette pour finir le d‚sarchivage.
+
   changer de disquette pour finir le d‚sarchivage.
  
−
   L'ordre de sauvegarde est conditionn‚ par la taille de chacun des
+
   L'ordre de sauvegarde est conditionn‚ par la taille de chacun des
−
   blocs: du plus petit (un fichier de longueur nulle peut Å tre dans
+
   blocs: du plus petit (un fichier de longueur nulle peut Å tre dans
 
   la liste des fichiers SFX (fichier identificateur de volume)) au
 
   la liste des fichiers SFX (fichier identificateur de volume)) au
−
   plus grand (pour b‚n‚ficier de toute la m‚moire).
+
   plus grand (pour b‚n‚ficier de toute la m‚moire).
  
 
* Menu UNPACK :
 
* Menu UNPACK :
 
-------------
 
-------------
  
−
   Les fichiers compress‚s par SPACKER3 ou SPACKER2 sont reconnus
+
   Les fichiers compress‚s par SPACKER3 ou SPACKER2 sont reconnus
 
   quelquesoit le type de fichier.
 
   quelquesoit le type de fichier.
  
 
   - LOAD UNPACKER
 
   - LOAD UNPACKER
  
−
   Cette fonction permet de charger un d‚compresseur externe … SPACKER3
+
   Cette fonction permet de charger un d‚compresseur externe … SPACKER3
−
   et de b‚n‚ficier du d‚compressage en s‚rie des fichiers d'un dossier.
+
   et de b‚n‚ficier du d‚compressage en s‚rie des fichiers d'un dossier.
 
   Elle ne remplace pas l'utilisation d'un 'multi-depacker' qui
 
   Elle ne remplace pas l'utilisation d'un 'multi-depacker' qui
−
   reconnait de lui-mÅ me le format de compression.
+
   reconnait de lui-mÅ me le format de compression.
  
−
   Un fichier d‚compresseur pour Å tre charg‚ et appel‚ par SPACKER3 doit
+
   Un fichier d‚compresseur pour Å tre charg‚ et appel‚ par SPACKER3 doit
−
   respecter la structure (trÅ s complexe, une partie est … r‚diger en
+
   respecter la structure (trÅ s complexe, une partie est … r‚diger en
 
   68000!) suivante:
 
   68000!) suivante:
  
−
   - octets 0 … 3: constante 'SPup'
+
   - octets 0 … 3: constante 'SPup'
−
   - octets 4 … 15: libre pour nommer le d‚compresseur
+
   - octets 4 … 15: libre pour nommer le d‚compresseur
  
 
   remarques:
 
   remarques:
−
   . le mot cl‚ REL sera utilis‚ pour dire que l'offset est
+
   . le mot cl‚ REL sera utilis‚ pour dire que l'offset est
−
   … prendre par rapport au d‚but de fichier (d‚but+28 pour un
+
   … prendre par rapport au d‚but de fichier (d‚but+28 pour un
−
   ex‚cutable) si l'offset est positif et, par rapport … la fin de
+
   ex‚cutable) si l'offset est positif et, par rapport … la fin de
−
   fichier (fin de code hors infos de relocation pour un ex‚cutable).
+
   fichier (fin de code hors infos de relocation pour un ex‚cutable).
−
   . tous les offsets doivent Å tre pairs 5align‚s sur un mot m‚moire).
+
   . tous les offsets doivent Å tre pairs 5align‚s sur un mot m‚moire).
  
−
   struc donn‚es type fichier ex‚cutable:
+
   struc donn‚es type fichier ex‚cutable:
  
−
   - octets 16 … 19: constante '.EXE'
+
   - octets 16 … 19: constante '.EXE'
−
   - octets 20 … 21: offset d'un identificateur facultatif
+
   - octets 20 … 21: offset d'un identificateur facultatif
−
     (… 0 si octets 22 … 25 … 0)
+
     (… 0 si octets 22 … 25 … 0)
−
   - octets 22 … 25: valeur de l'identificateur (ex: 'Ice!')
+
   - octets 22 … 25: valeur de l'identificateur (ex: 'Ice!')
−
     (… 0 si octets 20 … 21 … 0)
+
     (… 0 si octets 20 … 21 … 0)
−
   - octets 26 … 27: offset =>0 d‚but de la liste checksum (borne sup)
+
   - octets 26 … 27: offset =>0 d‚but de la liste checksum (borne sup)
−
   - octets 28 … 29: offset >0 fin de la liste checksum (borne inf)
+
   - octets 28 … 29: offset >0 fin de la liste checksum (borne inf)
−
   - octets 30 … 31: r‚sultat du checksum: somme des mots compris entre
+
   - octets 30 … 31: r‚sultat du checksum: somme des mots compris entre
−
     les 2 offsets d‚finis pr‚c‚demment moins les ‚ventuels mots longs des
+
     les 2 offsets d‚finis pr‚c‚demment moins les ‚ventuels mots longs des
−
     adresses d‚finies par leurs offsets dans les 5 mots octets 32 … 41.
+
     adresses d‚finies par leurs offsets dans les 5 mots octets 32 … 41.
−
     Le checksum permet d'identifier un d‚compresseur et sa version.
+
     Le checksum permet d'identifier un d‚compresseur et sa version.
−
   - octets 32 … 41: max 5 offsets d'adresses … retrancher du checksum
+
   - octets 32 … 41: max 5 offsets d'adresses … retrancher du checksum
−
     (par adresse, il faut entendre 2 mots cons‚cutifs),ils doivent
+
     (par adresse, il faut entendre 2 mots cons‚cutifs),ils doivent
−
     Å tre strictement compris entre les deux bornes.
+
     Å tre strictement compris entre les deux bornes.
−
     … 0 si tous les mots entre les 2 bornes sont utilis‚s pour le
+
     … 0 si tous les mots entre les 2 bornes sont utilis‚s pour le
 
     checksum.
 
     checksum.
  
−
   Ex: soit le code d'un fichier ex‚cutable comprenant un d‚compresseur
+
   Ex: soit le code d'un fichier ex‚cutable comprenant un d‚compresseur
−
       de longueur 512 octets, d‚butant relativement par rapport au
+
       de longueur 512 octets, d‚butant relativement par rapport au
−
       d‚but du fichier ex‚cutable … l'offset 28+64, les adresses
+
       d‚but du fichier ex‚cutable … l'offset 28+64, les adresses
 
       28+80 et 28+112 contiennent des mots longs issus de la relocation
 
       28+80 et 28+112 contiennent des mots longs issus de la relocation
 
       du programme, il ne faut donc pas les compter dans le checksum
 
       du programme, il ne faut donc pas les compter dans le checksum
−
       ou alors faire d‚marrer le checksum aprÅ s (changement de d‚but de
+
       ou alors faire d‚marrer le checksum aprÅ s (changement de d‚but de
−
       liste checksum), cel… donne:
+
       liste checksum), cel… donne:
 
       '.EXE' 0000 00000000 0040 0240 87D4
 
       '.EXE' 0000 00000000 0040 0240 87D4
 
       0050 0070 0000 0000 0000
 
       0050 0070 0000 0000 0000
 
       le checksum 87D4 est obtenu en ajoutant tous les mots entre
 
       le checksum 87D4 est obtenu en ajoutant tous les mots entre
−
       le d‚but du fichier ex‚cutable non relog‚+28(entete)+64 et le
+
       le d‚but du fichier ex‚cutable non relog‚+28(entete)+64 et le
−
       d‚but+28+64+512 puis en retranchant les mots des offsets
+
       d‚but+28+64+512 puis en retranchant les mots des offsets
−
       d‚but+28+80,d‚but+28+82,d‚but+28+112,d‚but+28+114.
+
       d‚but+28+80,d‚but+28+82,d‚but+28+112,d‚but+28+114.
  
−
   - octets 42 … 43: offset REL du bloc longueurs originale/compress‚e
+
   - octets 42 … 43: offset REL du bloc longueurs originale/compress‚e
−
     (octet 44 = -1) ou longueurs compress‚e/originale (octet 44 = 0)
+
     (octet 44 = -1) ou longueurs compress‚e/originale (octet 44 = 0)
 
   - octet 44: 0 ou -1 selon ordre du bloc longueurs
 
   - octet 44: 0 ou -1 selon ordre du bloc longueurs
−
   - octet 45: valeur d'ajustement=0 si la longueur compress‚e contient
+
   - octet 45: valeur d'ajustement=0 si la longueur compress‚e contient
−
     la taille du bloc total ((identificateur+)longueurs+donn‚es)
+
     la taille du bloc total ((identificateur+)longueurs+donn‚es)
−
     sinon = taille du bloc longueurs (=8 ou 12 si identificateur pr‚sent),
+
     sinon = taille du bloc longueurs (=8 ou 12 si identificateur pr‚sent),
−
     ou = -1 si la longueur compress‚e n'est pas indiqu‚e dans le bloc
+
     ou = -1 si la longueur compress‚e n'est pas indiqu‚e dans le bloc
−
     longueurs mais dans le code du d‚compresseur:
+
     longueurs mais dans le code du d‚compresseur:
−
     dans ce dernier cas, la longueur compress‚e est recalcul‚e … partir
+
     dans ce dernier cas, la longueur compress‚e est recalcul‚e … partir
−
     de l'entete de l'ex‚cutable (section text+data-offset du bloc des
+
     de l'entete de l'ex‚cutable (section text+data-offset du bloc des
−
     donn‚es compress‚es (valeur octets 46 … 47).
+
     donn‚es compress‚es (valeur octets 46 … 47).
−
   - octets 46 … 47: offset du bloc total ((identificateur+)longueurs+
+
   - octets 46 … 47: offset du bloc total ((identificateur+)longueurs+
−
     donn‚es), si les donn‚es se trouvent en d‚but du bloc total, cet
+
     donn‚es), si les donn‚es se trouvent en d‚but du bloc total, cet
−
     offset correspond alors … l'offset des donn‚es.
+
     offset correspond alors … l'offset des donn‚es.
  
−
   struc donn‚es type fichier data:
+
   struc donn‚es type fichier data:
−
   - octets 48 … 51: constante '.DAT'
+
   - octets 48 … 51: constante '.DAT'
−
   - octets 52 … 53: offset d'un identificateur OBLIGATOIRE
+
   - octets 52 … 53: offset d'un identificateur OBLIGATOIRE
−
     (pas de routine de d‚compression permettant d'identifier la
+
     (pas de routine de d‚compression permettant d'identifier la
−
     m‚thode de compression), … 0 si 1er mot long du fichier data
+
     m‚thode de compression), … 0 si 1er mot long du fichier data
−
   - octets 54 … 57: valeur de l'identificateur (octet 54 toujours non nul)
+
   - octets 54 … 57: valeur de l'identificateur (octet 54 toujours non nul)
−
   - octets 58 … 59: offset REL du bloc longueurs originale/compress‚e
+
   - octets 58 … 59: offset REL du bloc longueurs originale/compress‚e
−
     (octet 60 = -1) ou longueurs compress‚e/originale (octet 60 = 0)
+
     (octet 60 = -1) ou longueurs compress‚e/originale (octet 60 = 0)
 
   - octet 60: 0 ou -1 selon ordre du bloc longueurs
 
   - octet 60: 0 ou -1 selon ordre du bloc longueurs
−
   - octet 61: valeur d'ajustement=0 si la longueur compress‚e contient
+
   - octet 61: valeur d'ajustement=0 si la longueur compress‚e contient
−
     la taille du fichier compress‚ (identificateur+longueurs+donn‚es)
+
     la taille du fichier compress‚ (identificateur+longueurs+donn‚es)
−
     sinon = taille du bloc longueurs (=8 ou 12 si identificateur pr‚sent),
+
     sinon = taille du bloc longueurs (=8 ou 12 si identificateur pr‚sent),
−
     ou = -1 si la longueur compress‚e n'est pas indiqu‚e.
+
     ou = -1 si la longueur compress‚e n'est pas indiqu‚e.
−
   - octets 62 … 63: offset du fichier compress‚: g‚n‚ralement … 0, sauf
+
   - octets 62 … 63: offset du fichier compress‚: g‚n‚ralement … 0, sauf
 
     s'il contient d'autres informations en entete.
 
     s'il contient d'autres informations en entete.
  
−
   code d'appel de la routine de d‚compression :
+
   code d'appel de la routine de d‚compression :
−
   - octets 64 … 127: non utilis‚s (possibilit‚ de s'en servir pour
+
   - octets 64 … 127: non utilis‚s (possibilit‚ de s'en servir pour
−
     stocker les valeurs d'entr‚e et de sortie de la routine de
+
     stocker les valeurs d'entr‚e et de sortie de la routine de
−
     d‚compression)
+
     d‚compression)
−
   - octets 128 … 255: code d'appel (le mot en 128 doit Å tre non nul)
+
   - octets 128 … 255: code d'appel (le mot en 128 doit Å tre non nul)
−
     sont charg‚s les registres A0:adresse du bloc total
+
     sont charg‚s les registres A0:adresse du bloc total
 
                               D0:type de struc fichier:0=dat/-1=exe
 
                               D0:type de struc fichier:0=dat/-1=exe
−
   - octets 256 … ...: extrait d'un programme compress‚ contenant
+
   - octets 256 … ...: extrait d'un programme compress‚ contenant
−
     le d‚compresseur.
+
     le d‚compresseur.
  
−
   … titre d'exemple, le code d'appel utilis‚ pour ATOMIK35.SP9:
+
   … titre d'exemple, le code d'appel utilis‚ pour ATOMIK35.SP9:
  
 
code  lea  code-128(pc),a6      ;relativement octet 0
 
code  lea  code-128(pc),a6      ;relativement octet 0
Line 302: Line 303:
 
   tst.w d0      ;test type
 
   tst.w d0      ;test type
 
   bne.s exe
 
   bne.s exe
−
dat  addq  #4,a0      ;aprÅ s identificateur
+
dat  addq  #4,a0      ;aprÅ s identificateur
 
   move.l  (a0)+,d0    ;lit longueur originale
 
   move.l  (a0)+,d0    ;lit longueur originale
 
   move.l  d0,124(a6)    ;et sauve pour reloger
 
   move.l  d0,124(a6)    ;et sauve pour reloger
  
−
   jsr  256+202        ;sous-routine de d‚comp ATM5
+
   jsr  256+202        ;sous-routine de d‚comp ATM5
  
 
   lea  code-128(pc),a6      ;relativement octet 0
 
   lea  code-128(pc),a6      ;relativement octet 0
−
   move.l  a5,a0      ;adresse bloc d‚compress‚
+
   move.l  a5,a0      ;adresse bloc d‚compress‚
−
   move.l  120(a6),a1    ;r‚cupÅ re adresse destination
+
   move.l  120(a6),a1    ;r‚cupÅ re adresse destination
 
   move.l  124(a6),d0    ;et longueur originale
 
   move.l  124(a6),d0    ;et longueur originale
 
deplace move.b (a0)+,(a1)+
 
deplace move.b (a0)+,(a1)+
Line 317: Line 318:
 
   rts
 
   rts
  
−
   Les autres fichiers d‚compresseurs (extension SPn) donn‚ avec
+
   Les autres fichiers d‚compresseurs (extension SPn) donn‚ avec
−
   SPACKER3 peuvent aider … comprendre la structure complexe mais
+
   SPACKER3 peuvent aider … comprendre la structure complexe mais
−
   flexible d'un module de d‚compression externe … SPACKER3.
+
   flexible d'un module de d‚compression externe … SPACKER3.
  
 
* Menu PACK :
 
* Menu PACK :
 
-----------
 
-----------
 
   - Optimize SEQ 2 EXTEND
 
   - Optimize SEQ 2 EXTEND
−
     Option permettant de compresser les s‚quences de 2 octets
+
     Option permettant de compresser les s‚quences de 2 octets
−
     identiques sur une ‚tendue de recherche plus grande: gains
+
     identiques sur une ‚tendue de recherche plus grande: gains
−
     souvent appr‚ciables sur les fichiers de type samples.
+
     souvent appr‚ciables sur les fichiers de type samples.
  
 
   - Optimize LOW RES BLK
 
   - Optimize LOW RES BLK
 
     Option permettant de compresser des fichiers graphiques (sprites,
 
     Option permettant de compresser des fichiers graphiques (sprites,
−
     ‚crans...) en un bloc et par algoritme graphique 4 plans (basse
+
     ‚crans...) en un bloc et par algoritme graphique 4 plans (basse
−
     r‚solution). Pour les images, il est pr‚f‚rable d'utiliser
+
     r‚solution). Pour les images, il est pr‚f‚rable d'utiliser
 
     la compression via un fichier offset (pour pouvoir recharger
 
     la compression via un fichier offset (pour pouvoir recharger
 
     directement par le programme de dessin).
 
     directement par le programme de dessin).
  
 
   - FORCE DATA TYPE
 
   - FORCE DATA TYPE
−
     Compresse un ex‚cutable, ressource en fichier compress‚ en
+
     Compresse un ex‚cutable, ressource en fichier compress‚ en
−
     un bloc (DAT ou BLK si l'optimisation LOW RES BLK est activ‚e).
+
     un bloc (DAT ou BLK si l'optimisation LOW RES BLK est activ‚e).
−
     cel… permet de cr‚er des fichiers compress‚s simples qui pourront
+
     cel… permet de cr‚er des fichiers compress‚s simples qui pourront
−
     Å tre int‚gr‚s dans une archive SFX.
+
     Å tre int‚gr‚s dans une archive SFX.
  
−
Les autres fonctionnalit‚s ne devraient pas poser problŠmes.
+
Les autres fonctionnalit‚s ne devraient pas poser problŠmes.
  
 
Enfin, nous ne sommes pas responsables des pertes ou dommages qui pourraient
 
Enfin, nous ne sommes pas responsables des pertes ou dommages qui pourraient
−
apparaitre lors de l'utilisation du Spacker 3 et des problÅ mes lors du
+
apparaitre lors de l'utilisation du Spacker 3 et des problÅ mes lors du
−
d‚compactage subsistent encore sous Multidesk et Neodesk III.
+
d‚compactage subsistent encore sous Multidesk et Neodesk III.
 
Faites donc attention !
 
Faites donc attention !
  
Line 351: Line 352:
 
                           ou 3615 code Rtel, Bal Daneel
 
                           ou 3615 code Rtel, Bal Daneel
  
−
Nous remer‡ions … l'avance les personnes qui diffuseront ce packer dans
+
Nous remer‡ions … l'avance les personnes qui diffuseront ce packer dans
 
le monde entier.
 
le monde entier.
  
−
Un grand merci … STE59, STOF, DMVIOLATOR pour leurs encouragements.
+
Un grand merci … STE59, STOF, DMVIOLATOR pour leurs encouragements.
  
−
Ceci est un produit certifi‚ 100 % FIREHAWKS,
+
Ceci est un produit certifi‚ 100 % FIREHAWKS,
−
vous pouvez consommez sans mod‚ration...
+
vous pouvez consommez sans mod‚ration...
 
</pre>
 
</pre>
 
<br><br>
 
<br><br>
 
Back to [[Packer/Depacker]]
 
Back to [[Packer/Depacker]]

Revision as of 01:48, 16 August 2008

chiorpractic pa alcohol california department drug program state sidekick ii ringtones free eclipse shortcut movie article rolelttrocl

                          S P A C K E R III                               |
               (c) octobre 1992 - A FIREHAWKS Utility                     |
                    FREEWARE !!! librement copiable                       |
                           Code by Spiral.                                |
								          |
							                  |
Date de sortie : le 30 octobre 1992            				  |
                          						  |
									  |
                          ~~~~~~~~~~~~~~~~~~				  |
									  |
   - Spacker 3 est un compacteur de fichier Exe et data		          |
									  |
   - C'est aussi un archiveur trÅ s rapide				  |
									  |
   - Existera aussi sur Amiga (en cours), Falcon (version DSP),		  |
   		        Mac et IBM PC					  |
									  |
		          ~~~~~~~~~~~~~~~~~				  |
															
*** ATTENTION ***												
Le fichier  AUTO_SP3.PRG  est  un programme RESIDENT qui permet …
tout fichier compr‚ss‚ avec SPACKER3  de  se d‚compresser,il doit
par cons‚quent se trouver en premiŠre place dans le dossier AUTO.
Lors  du  chargement  automatique  du  r‚sident,  on  peut ne pas
l'activer  en  maintenant  la  touche  CONTROL  enfonc‚e.
*****************

                          ~~~~~~~~~~~~~~~~~~

 Les diff‚rentes fonctions sont class‚es par menu...

  * Menu 'FILE'
  -------------
                      ____
        NEW  FOLDER       |
        FORMAT DISK       |
        DISK   INFO       |        Disponibles uniquement avec un selecteur
        FILE   INFO       |------  du type de S‚l‚tric (Shareware) qui vous
        MOVE   FILE       |        est offert avec le Spacker 3
        COPY   FILE       |
        RENAME FILE       |
        DELETE FILE   ____|


   *Skip or Copy    ... Permet  de  passer ou copier  les fichiers qui
                        ne  peuvent  etre  pack‚es sur la destination.
    utilis‚  lors du compressage  de  plusieurs fichiers, il assure la
    copie (option Copy) sur  le  disque destination pour  les fichiers
    ne pouvant Štre compr‚ss‚s (taille originale trop petite ou taille
    compr‚ss‚e sup‚rieure … la taille originale).

   *Src A Dst A     ... D‚finit le lecteur Source et le lecteur destination

   *save Config     ... sauvegarde la configuration
                        Patch SPACKER3 en sauvegardant
    l'unit‚ (de disquette/disque) source, l'unit‚ destination,
    l'indicateur FILE PREF dans le menu FICHIER(C ou autre),
    la prise ou non en compte du dossier dans le menu ARCHIVE (P ou autre),
    l'indicateur flash et la couleur de flash dans le menu PACK
    (F ou autre, RGB).
    La config est en ASCII et … l'offset 28(entete)+2 de SPACKER3.

   *Create Auto SP3 ... Cr‚e le r‚sident indispensable pour le decrunch
                        des executables et des datas

   *touch SP3 files Date ... Correction de la date des fichiers compact‚es
   permet de rattacher la longueur originale d'un fichier compress‚
   avec SPACKER3 directement en ‚crasant la date et l'heure de
   cr‚ation/modification du fichier: seule solution restante pour
   ‚viter le cycle lent ouverture/lecture/fermeture de fichiers
   lors d'une selection de fichiers. La taille originale est utile
   … connaitre car elle permet de r‚server une taille m‚moire
   ‚gale au celle du fichier une fois d‚compress‚.
   L'attribut ARCHIVE est aussi utilis‚ pour les fichiers compress‚s
   par SPACKER3, il se conserve lors d'une copie de fichier, la
   date par contre change, d'o— l'int‚ret de cette fonction...

 * MENU 'OFFSET'
 ---------------

    un simple ‚diteur de fichiers Offset...Hum Hum..

   Les offsets permettent d'ajuster la structure de compression
   … la structure de chargement d'un type de fichier: une image
   DEGAS compress‚e en un seul bloc et charg‚e en plusieurs fois
   par un programme de dessin ne sera pas d‚compress‚e ou plantera
   le programme.

   Le module ESPION de structure de chargement est inclus dans le
   r‚sident, il faut recharger le r‚sident via le Gem et choisir
   l'option SPY OFF pour indiquer l'extension des fichiers …
   surveiller: une sauvegarde de la structure de chargement sera
   automatiquement effectu‚e (extension r‚serv‚e SPn ou n varie de
   0 … 9) lors de la fermeture du fichier (ne pas oublier de
   d‚prot‚ger la disquette).

   Ce fichier offset g‚n‚r‚ peut Štre ‚dit‚ et adapt‚ … un type
   standard de fichier (images DEGAS, fontes CALAMUS...).
   Les premiers octets de ce fichier offset contiennent l'extension.
   Un commentaire peut Štre rajout‚ par l'usage d'une tabulation ou
   d'un ';' (les lignes blanches ou commen‡ant par un ';' sont
   ignor‚es par l'‚diteur int‚gr‚ d'offsets dans SPACKER3).
   3 types de blocs dans un fichier sont … distinguer: le type
   MOVE (cod‚ par -) indique que le bloc ne sera pas compress‚
   dans le fichier r‚sultat de la compression, le type PACK (cod‚ +)
   pour compresser le bloc et le type PGFX (cod‚ *) pour compresser
   le bloc par algorithme graphique 4 plans.

   Toutes les longueurs de bloc doivent Å tre paires, seul le dernier
   bloc fait exception s'il est assign‚ du type MOVE (pour les fichiers
   de taille originale impaire). La description d'une ligne bloc du
   fichier offset est la suivante (les espaces entre caractÅ res et
   les tabulations sont g‚r‚s): 'type de bloc' + 'longueur de bloc',
   longueur HEXA sur 5 caractÅ res max, le total des longueurs HEXA
   ne doit pas d‚passer F423F soit 999999 octets. Les blocs de
   longueur nulle sont expressement interdits.

   voici quelques exemples:
   - 80  ; 128 octets … ne pas compresser (entete NEO)
        ; ligne de commentaires ignor‚e
   *07D00   ; ‚cran basse r‚solution compress‚ par algo. graphique

   Il est possible de standardiser tous les fichiers offsets d'un
   type de fichier en un seul fichier offset en incluant un bloc
   et un seul de longueur paire et variable: au lieu de la taille
   il suffit de saisir le mot cl‚ 'dummy' ou 'DUMMY' (ou mŠme
   'DuMMy' si vous pr‚f‚rez). Le bloc connaitra sa longueur au
   moment de la compression (taille originale du fichier moins
   tailles des autres blocs). Les fontes Calamus sont des fichiers
   charg‚s en 13 fois, 1 seul bloc parmi ces 13 blocs est variable
   et contient les data de la fonte: un seul fichier offset, livr‚
   avec SPACKER3, permet de g‚rer toutes les fontes. Ce principe
   expos‚ par l'exemple des fontes Calamus peut Štre appliqu‚ sur
   d'autres fichiers charg‚s en plusieurs fois (utilisez l'espion
   dans le r‚sident pour connaitre la structure de chargement).

   L'‚diteur d'offset de SPACKER3 permet d'adapter un fichier
   offset sans quitter le compresseur.
   L'extension indiqu‚ est changeable … tout moment.

   Touche ESPACE change le type de bloc: MOVE/PACK/PGFX
   Tab: entr‚e valeurs HEX (ou <-) / entr‚e valeurs DEC (ou ->)
   Up:pr‚c‚dent,Down:suivant,Shift+Up:1er,Shift+Down:dernier bloc
   Ins:insÅ re un bloc juste aprÅ s le bloc courant
   Del:d‚truit le bloc courant

   Variable correspond … la d‚finition du bloc courant en bloc de
   longueur variable (mot cl‚ DUMMY) pour avoir un fichier offset
   s'alignant sur la taille originale du fichier … compresser de
   mÅ me extension.

   Encore un plus! Si le fichier offset comprend les conditions
   suivantes alors il est d‚clar‚ '‚x‚cutable':
   - le premier bloc est de type MOVE et de taille ‚gale … 28 octets
   - il ne doit pas y avoir de blocs de type PACK
   - il doit y avoir au moins un bloc de type PGFX
   En clair, cel… signifie qu'il est possible de regrouper des blocs
   graphiques (sprites, images...) basse r‚solutions (4 plans, alignement
   8 octets) … l'int‚rieur d'un programme ex‚cutable et de compresser
   l'ensemble tout en exer‡ant l'algo. graphique sur les blocs PGFX:
   optimisation des performances de compression...

* Menu ARCHIVE :
--------------

   On peut constituer des programmes SFX (SelF-eXtracting) avec des
   fichiers compress‚s avec SPACKER3 ou pas, toutefois, il faut
   noter que les fichiers compress‚s en ‚x‚cutable,ressource,offset
   ne seront pas d‚compress‚s lors du d‚sarchivage, seuls les fichiers
   compress‚s en type DAT seront d‚compress‚s.
   
   

   - ADD FILE
   Les fichiers (contenu et location) sont ajout‚s … la liste
   des fichiers … archiver: un fichier qui n'est pas compress‚ en
   type DAT (utilisation de l'option FORCE DATA TYPE dans le menu
   PACK) est sujet … une boite d'alerte pour d‚terminer la poursuite
   du traitement (arret,passe,ajoute).

   Une fois le fichier SFX cr‚e par la fonction SAVE SP3 SFX, ce
   programme proposera ces fonctionnalit‚s:
   - possibilit‚ de d‚truire le SFX charg‚ pour regagner la place
   sur une disquette avant sauvegarde des fichiers contenus
   - restauration des dossiers (si option PATH ON)
   - en cas de manque de place sur disquette, possibilit‚ de
   changer de disquette pour finir le d‚sarchivage.

   L'ordre de sauvegarde est conditionn‚ par la taille de chacun des
   blocs: du plus petit (un fichier de longueur nulle peut Å tre dans
   la liste des fichiers SFX (fichier identificateur de volume)) au
   plus grand (pour b‚n‚ficier de toute la m‚moire).

* Menu UNPACK :
-------------

   Les fichiers compress‚s par SPACKER3 ou SPACKER2 sont reconnus
   quelquesoit le type de fichier.

   - LOAD UNPACKER

   Cette fonction permet de charger un d‚compresseur externe … SPACKER3
   et de b‚n‚ficier du d‚compressage en s‚rie des fichiers d'un dossier.
   Elle ne remplace pas l'utilisation d'un 'multi-depacker' qui
   reconnait de lui-mÅ me le format de compression.

   Un fichier d‚compresseur pour Štre charg‚ et appel‚ par SPACKER3 doit
   respecter la structure (trŠs complexe, une partie est … r‚diger en
   68000!) suivante:

   - octets 0 … 3: constante 'SPup'
   - octets 4 … 15: libre pour nommer le d‚compresseur

   remarques:
   . le mot cl‚ REL sera utilis‚ pour dire que l'offset est
   … prendre par rapport au d‚but de fichier (d‚but+28 pour un
   ex‚cutable) si l'offset est positif et, par rapport … la fin de
   fichier (fin de code hors infos de relocation pour un ex‚cutable).
   . tous les offsets doivent Štre pairs 5align‚s sur un mot m‚moire).

   struc donn‚es type fichier ex‚cutable:

   - octets 16 … 19: constante '.EXE'
   - octets 20 … 21: offset d'un identificateur facultatif
    (… 0 si octets 22 … 25 … 0)
   - octets 22 … 25: valeur de l'identificateur (ex: 'Ice!')
    (… 0 si octets 20 … 21 … 0)
   - octets 26 … 27: offset =>0 d‚but de la liste checksum (borne sup)
   - octets 28 … 29: offset >0 fin de la liste checksum (borne inf)
   - octets 30 … 31: r‚sultat du checksum: somme des mots compris entre
     les 2 offsets d‚finis pr‚c‚demment moins les ‚ventuels mots longs des
     adresses d‚finies par leurs offsets dans les 5 mots octets 32 … 41.
     Le checksum permet d'identifier un d‚compresseur et sa version.
   - octets 32 … 41: max 5 offsets d'adresses … retrancher du checksum
     (par adresse, il faut entendre 2 mots cons‚cutifs),ils doivent
     Å tre strictement compris entre les deux bornes.
     … 0 si tous les mots entre les 2 bornes sont utilis‚s pour le
     checksum.

   Ex: soit le code d'un fichier ex‚cutable comprenant un d‚compresseur
       de longueur 512 octets, d‚butant relativement par rapport au
       d‚but du fichier ex‚cutable … l'offset 28+64, les adresses
       28+80 et 28+112 contiennent des mots longs issus de la relocation
       du programme, il ne faut donc pas les compter dans le checksum
       ou alors faire d‚marrer le checksum aprŠs (changement de d‚but de
       liste checksum), cel… donne:
       '.EXE' 0000 00000000 0040 0240 87D4
       0050 0070 0000 0000 0000
       le checksum 87D4 est obtenu en ajoutant tous les mots entre
       le d‚but du fichier ex‚cutable non relog‚+28(entete)+64 et le
       d‚but+28+64+512 puis en retranchant les mots des offsets
       d‚but+28+80,d‚but+28+82,d‚but+28+112,d‚but+28+114.

   - octets 42 … 43: offset REL du bloc longueurs originale/compress‚e
    (octet 44 = -1) ou longueurs compress‚e/originale (octet 44 = 0)
   - octet 44: 0 ou -1 selon ordre du bloc longueurs
   - octet 45: valeur d'ajustement=0 si la longueur compress‚e contient
     la taille du bloc total ((identificateur+)longueurs+donn‚es)
     sinon = taille du bloc longueurs (=8 ou 12 si identificateur pr‚sent),
     ou = -1 si la longueur compress‚e n'est pas indiqu‚e dans le bloc
     longueurs mais dans le code du d‚compresseur:
     dans ce dernier cas, la longueur compress‚e est recalcul‚e … partir
     de l'entete de l'ex‚cutable (section text+data-offset du bloc des
     donn‚es compress‚es (valeur octets 46 … 47).
   - octets 46 … 47: offset du bloc total ((identificateur+)longueurs+
     donn‚es), si les donn‚es se trouvent en d‚but du bloc total, cet
     offset correspond alors … l'offset des donn‚es.

   struc donn‚es type fichier data:
   - octets 48 … 51: constante '.DAT'
   - octets 52 … 53: offset d'un identificateur OBLIGATOIRE
     (pas de routine de d‚compression permettant d'identifier la
     m‚thode de compression), … 0 si 1er mot long du fichier data
   - octets 54 … 57: valeur de l'identificateur (octet 54 toujours non nul)
   - octets 58 … 59: offset REL du bloc longueurs originale/compress‚e
     (octet 60 = -1) ou longueurs compress‚e/originale (octet 60 = 0)
   - octet 60: 0 ou -1 selon ordre du bloc longueurs
   - octet 61: valeur d'ajustement=0 si la longueur compress‚e contient
     la taille du fichier compress‚ (identificateur+longueurs+donn‚es)
    sinon = taille du bloc longueurs (=8 ou 12 si identificateur pr‚sent),
     ou = -1 si la longueur compress‚e n'est pas indiqu‚e.
   - octets 62 … 63: offset du fichier compress‚: g‚n‚ralement … 0, sauf
     s'il contient d'autres informations en entete.

   code d'appel de la routine de d‚compression  :
   - octets 64 … 127: non utilis‚s (possibilit‚ de s'en servir pour
    stocker les valeurs d'entr‚e et de sortie de la routine de
    d‚compression)
   - octets 128 … 255: code d'appel (le mot en 128 doit Štre non nul)
    sont charg‚s les registres A0:adresse du bloc total
                               D0:type de struc fichier:0=dat/-1=exe
   - octets 256 … ...: extrait d'un programme compress‚ contenant
     le d‚compresseur.

   … titre d'exemple, le code d'appel utilis‚ pour ATOMIK35.SP9:

code  lea   code-128(pc),a6      ;relativement octet 0
   move.l   a0,120(a6)     ;sauve adresse pour reloger
   tst.w d0       ;test type
   bne.s exe
dat   addq  #4,a0       ;aprÅ s identificateur
   move.l   (a0)+,d0    ;lit longueur originale
   move.l   d0,124(a6)     ;et sauve pour reloger

   jsr   256+202        ;sous-routine de d‚comp ATM5

   lea   code-128(pc),a6      ;relativement octet 0
   move.l   a5,a0       ;adresse bloc d‚compress‚
   move.l   120(a6),a1     ;r‚cupÅ re adresse destination
   move.l   124(a6),d0     ;et longueur originale
deplace move.b (a0)+,(a1)+
   dbf   d0,deplace
   subi.l   #$10000,d0     ;toute la longueur originale
   rts

   Les autres fichiers d‚compresseurs (extension SPn) donn‚ avec
   SPACKER3 peuvent aider … comprendre la structure complexe mais
   flexible d'un module de d‚compression externe … SPACKER3.

* Menu PACK :
-----------
   - Optimize SEQ 2 EXTEND
     Option permettant de compresser les s‚quences de 2 octets
     identiques sur une ‚tendue de recherche plus grande: gains
     souvent appr‚ciables sur les fichiers de type samples.

   - Optimize LOW RES BLK
     Option permettant de compresser des fichiers graphiques (sprites,
     ‚crans...) en un bloc et par algoritme graphique 4 plans (basse
     r‚solution). Pour les images, il est pr‚f‚rable d'utiliser
     la compression via un fichier offset (pour pouvoir recharger
     directement par le programme de dessin).

   - FORCE DATA TYPE
     Compresse un ex‚cutable, ressource en fichier compress‚ en
     un bloc (DAT ou BLK si l'optimisation LOW RES BLK est activ‚e).
     cel… permet de cr‚er des fichiers compress‚s simples qui pourront
     Štre int‚gr‚s dans une archive SFX.

Les autres fonctionnalit‚s ne devraient pas poser problŠmes.

Enfin, nous ne sommes pas responsables des pertes ou dommages qui pourraient
apparaitre lors de l'utilisation du Spacker 3 et des problÅ mes lors du
d‚compactage subsistent encore sous Multidesk et Neodesk III.
Faites donc attention !

Vous pouvez nous joindre sur 3614 code TEASER
                          ou 3615 code Rtel, Bal Daneel

Nous remer‡ions … l'avance les personnes qui diffuseront ce packer dans
le monde entier.

Un grand merci … STE59, STOF, DMVIOLATOR pour leurs encouragements.

Ceci est un produit certifi‚ 100 % FIREHAWKS,
vous pouvez consommez sans mod‚ration...



Back to Packer/Depacker