APPLICATIONS ★ CODING SOURCES : Routines de décompression pour Aplib Z80 - T&J/GPA le 18/01/2008 ★

Aplib Z80Menu - Sources compactage / Décompactage CPC

Aplib est un librairie de compactage developpee par Jorgen Ibsen, et qui est diffusee commercialement pour des systemes et plateformes recents. Pour une utilisation personnelle, l'usage de la librairie et des petits outils associes est gratuit.

Contrairement a d'autres compacteurs, il n'a pas ete developpe pour des ordinateurs prehistoriques, mais bien pour le monde PC. Ceci explique en partie sa relative discretion dans le monde 8 bits. Ce, jusqu'a ce que CNGSoft adapte sur Z80 la routine de decompression en 2006 et la diffuse sur un blog. Elle est depuis restee dans l'ombre chez nous autres francais alors que Aplib est un des meilleurs compacteurs existant !

C'est en lisant un sujet sur le site espagnol Amstrad.Es que je suis tombe dessus. Pas de bol, le source mis a disposition par CNGSoft n'etait pas utilisable directement sous Maxam, je l'ai donc remis en forme pour etre utilisable directement depuis un CPC.

Ce petit document vous explique comment utiliser AplibZ80 sur un CPC, et profiter ainsi du taux de compactage impressionnant de ce logiciel. Il se paie le luxe d'etre un poil meilleur que Exomizer, car sa routine de decompression est plus courte et plus rapide.

L'archive contient les fichiers suivants :

APLIBZ80.TXT : le texte que vous lisez
APLIBZ80.DSK : image disque CPC avec le source Maxam et un exemple
; de compactage de page écran (Ninja Commando C64)
APLIB-0.43.ZIP : les sources d'Aplib PC, pour que l'auteur soit content.
APPACK.EXE : exemple de compacteur modifie par Dadman
APPacKwin.EXE : Meme chose, mais avec une interface

Rappel, si vous diffusez commercialement vos œuvres (on peut toujours rever, n'est ce pas :-) , il faudra acheter le droit d'utiliser Aplib.

Sources sur le net au 18/01/08 :

Site d'Aplilb : http://www.ibsensoftware.com/

Source de CNGSoft : http://cngsoft.livejournal.com/268202.html

Compacteurs modifies par Dadman / CEZ - Team :
Crees a partir des sources de l'archive APLIB-0.43, il permettent de ne pas avoir une routine PC integree au code compacte !

http://www.amstrad.es/forum/viewtopic.php?f=6&t=974

1) Preparer un repertoire de travail

Creer un repertoire APLIB sur un volume de votre disque dur.
Recopier les programmes de Dadman dans le repertoire, c'est pret.

2) Transferer sur PC le fichier a compacter

Le plus simple est d'utiliser ManageDsk, et d'exporter le fichier binaire SANS EN-TETE dans le meme repertoire que l'executable

3) Compactage avec APPACK

Franchement, la, on ne peut faire plus simple.

Syntaxe de la commande pour le fichier BOULDER.BIN

APPACK BOULDER.BIN BOULDER.CRU

Le programme compacte et cree un fichier BOULDER.CRU qui correspond au code compacte.

4) On transfert sur CPC le fichier compacte

Hop, on sort ManageDsk du placard, et on fait le transfert inverse de la phase 1. Il faut choisir l'option "Forcer Binaire" pour l'import.

5) Compilation de la routine de decompression

Le source Maxam est fourni dans l'archive APLIB.DSK. Il suffit de rajouter au debut du source les adresses d'implantation memoire du code compacte dans HL et du code a decompacter dans DE. Compilez le source, vous obtenez un fichier APLIB.BIN. Il est par defaut implante en &A000 pour l'exemple choisi sur la disquette (page écran C64).

Concernant la routine de CNGSoft, il y a une particularite qui peut etre interessante. Elle permet de decompacter du code "du bas en haut" de la memoire, ou "du haut en bas" de la memoire, ce que les autres crunchers ne font pas. Pour cela, il suffit de modifier une variable dans le source.

Malheureusement, pour l'instant, cette option n'est pas tres exploitable, car il ne circule pas de compacteur permettant de compacter du code "a l'envers". C'est theoriquement possible avec les outils fournis, en suivant cette methode :

  • inverser le contenu du fichier a compacter (debrouillez-vous !)
  • compacter le fichier avec les outils de Dadman
  • inverser le contenu du fichier compacte (meme remarque)

Bref, il vaut mieux harceler CNGsoft qui doit avoir un programme de ce genre plutot que de tenter l'aventure a la main si cette option vous est utile.

6) Creation d'un petit loader Basic ou binaire

Il ne reste plus qu'a charger en memoire le code compacte, la routine de decompression, l'executer, puis executer le programme decompacte s'il s'agit d'un executable.
Pour plus d'explications, je vous incite a lire la notice de la routine de decompactage de PUCRUNCH, sur http://tj.gpa.free.fr.

Bon crunchage !>Bon crunchage !

★ ANNÉE: 2008
★ CONFIG: ???
★ LANGAGE: ???
★ LiCENCE: ???
★ AUTEURS: JORGEN IBSEN ; TOM ET JERRY/GPA (PACKING CPC)

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tools:
» APlib  Z80  decrunching  routine    CNGSOFT-TOMETJERRYDATE: 2019-08-22
DL: 317
TYPE: text
SiZE: 4Ko
NOTE:
 
» APlib  Z80    TOMETJERRYDATE: 2020-06-27
DL: 499
TYPE: ZIP
SiZE: 250Ko
NOTE: 40 Cyls
.HFE: Χ
 

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Bitbuster Extreme Z80
» Applications » ZX0 : Optimal data compressor
» Demoscene » Demotools - Cruncher
» Applications » Exomizer2 Z80
» Applications » MegaLZ
» Applications » Pucrunch Z80
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 132 millisecondes et consultée 3550 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.