★ APPLICATIONS ★ CODING SOURCES : Routines de décompression pour Aplib Z80 - T&J/GPA le 18/01/2008 ★ |
Aplib Z80 | Menu - 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'était 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 : 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 : 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. 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 même 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 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 :
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. Bon crunchage !>Bon crunchage !
|