production

Phactory

Télécharger 2014_phactory_(condense)_binary_source.zip

Crédits

  • Code — NoRecess

Écrit seul.

Cette application, que j’ai écrite et que je maintiens, est un IDE (environnement de développement intégré) destiné à l’Amstrad CPC. Elle permet d’éditer du code source, mais aussi d’éditer et de convertir des données. À la construction d’un projet, tout le graphe de dépendances est parcouru, de sorte que seul ce qui doit être recompilé l’est. Tout repose sur des plugins, ce qui la rend facile à étendre avec des fonctions taillées pour un projet donné. Elle est vraiment ajustée à ma façon de travailler, et elle emploie les raccourcis clavier d’antan de Visual Studio 6. SDCC, SDCC2Pasmo et Pasmo y sont intégrés sans détour. La demo Phreaks et l’utilitaire QuickCMD n’auraient pas pu voir le jour sans elle !

Les plugins actuellement implémentés pour le CPC sont :

  • CPCBigFile : regroupe un ensemble de ressources dans plusieurs petits fichiers (BANK.C4, BANK.C5, etc.) destinés à être placés ensuite dans une image disquette DSK. Un fichier de description est produit en plus, pour retrouver facilement la position et la taille de chaque fichier en mémoire.
  • CPCBinToC : convertit une ressource binaire en fichier C.
  • CPCBitmap : convertit une image au format CPC, avec plusieurs options de conversion. Plusieurs images partageant la même palette sont également gérées.
  • CPCDSK : injecte des ressources dans une image disquette DSK. En interne, il s’appuie sur l’excellent outil ManageDSK. Chaque ressource du DSK peut être éditée — adresse d’exécution, etc. Il peut aussi créer un fichier HFE pour le HxC Floppy Emulator.
  • CPCPacker : compresse un ensemble de ressources. Exomizer ou BitBuster, au choix.
  • CPCRawBitmap : convertit une image vers un format de données RAW sur mesure. Il a servi par exemple à la demo Phreaks pour convertir toutes les frames en un seul grand tableau de données.
  • CPCText : produit des données RAW à partir d’un texte saisi dans l’interface. L’utilisateur doit fournir le jeu de caractères (la fonte).
  • HexEdit : éditeur hexadécimal simple. Visualiseur par défaut pour les types de fichiers inconnus.
  • ImageEdit : visualiseur d’images simple.
  • SDCC : compilateur pour les fichiers C et ASM (il passe par l’utilitaire SDCC2Pasmo pour employer la syntaxe de Maxam dans les sources en assembleur).
  • PixelCalculator : outil bien utile, qui m’a beaucoup aidé à calculer le masquage de pixels en MODE 0.
  • SourceEdit : éditeur de sources, avec coloration syntaxique de l’assembleur z80.
  • et d’autres encore…

Captures d’écran

Le plugin CPCBitmap, montrant la palette d'une image sous forme d'encres avec leurs valeurs Gate Array, et un aperçu de l'image convertie
CPCBitmap : chaque encre de la palette, sa valeur Gate Array, et un aperçu de ce que le CPC affichera.
Le plugin CPCPacker, listant deux images à compresser avec le choix entre Exomizer et BitBuster
CPCPacker : les ressources à compresser, et avec quel compresseur.
Le plugin CPCBigFile, listant les ressources compressées avec leur longueur et leur adresse d'exécution
CPCBigFile : les ressources compressées réunies en un seul fichier, chacune avec sa longueur et son adresse d’exécution.
L'éditeur de sources montrant une fonction C avec de l'assembleur Z80 en ligne, coloré syntaxiquement
SourceEdit : du C avec du Z80 en ligne, et l’arborescence d’une vraie demo à côté.
L'éditeur hexadécimal montrant les octets d'une ressource binaire
HexEdit : le visualiseur par défaut pour tout ce que les autres plugins ne revendiquent pas.
Le plugin CPCDSK, listant les fichiers d'une image disquette avec leurs noms AMSDOS, leurs adresses de chargement et d'exécution
CPCDSK : l’image disquette terminée, avec l’option d’écrire à côté un .HFE pour le HxC Floppy Emulator.