The Potion, a mini game for your 6502 computers

The Potion est un jeu d’aventure textuel de type 2 word parser similaire à de nombreux jeux publiés dans les années 80s, les capacités des ordinateurs domestiques étant très limités à l’époque. Cela étant, The Potion présente les caractéristiques intéressantes suivantes :

  • Il a été développé en langage C ;
  • Il ne date pas des années 80s mais de 2003, et a été développé par Peter Karlsson dans le cadre d’un concours (The 4k minigame 2003 competition) ;
  • Il est déjà multi-plateforme, pouvant fonctionner sous Linux ou Commodore 64 (grâce au cross-compilateur cc65), et l’effort pour le rendre disponible sur d’autres ordinateurs est donc limité.

Cet article propose une adaptation permettant de jouer à The Potion sur Apple II et Atari 800XL, le programme fonctionnant toujours sous Commodore 64 et avec un PC moderne, sous Windows ou Linux.

L’intro de « The Potion » pour Atari 800XL
Continuer la lecture de « The Potion, a mini game for your 6502 computers »

Un jeu d’aventure en C multiplateforme

Le langage C a été conçu pour rendre les programmes portables. Grâce aux compilateurs, le même code source peut fonctionner aussi bien sur un PC moderne que sur un vieil ordinateur des années 80s.

Dans cet article, j’ai adapté le jeu d’aventure Sorcellerie (voir l’article dédié sur le portage de Sorcellerie en langage C) afin qu’il fonctionne non seulement sur un PC moderne sous Linux (grâce au compilateur gcc), mais également sur les Apple II, Atari 8bits et Commodore 64 (grâce au compilateur cc65).

L’adaptation a été très légère, le plus gros du travail étant la reprise du makefile.

Continuer la lecture de « Un jeu d’aventure en C multiplateforme »

Au delà du tesseract sur Apple II

Le tesseract est un cube à 4 dimension, mais cet article ne traite pas de géométrie. Car Beyond the tesseract est le titre d’un jeu d’aventure mathématique de David Lo, publié la première fois en 1983 sous la forme d’un programme BASIC pour TRS-80. Le jeu a par la suite été porté en langage C, sur différents systèmes tel que MS-DOS, Atari ST, ou UNIX.

Dans cet article, vous trouverez une adaptation pour Apple II, avec cc65 comme compilateur. Normalement, une simple recompilation aurait été suffisante, mais la mémoire d’un Apple II étant limitée, des modifications importantes du code source ont été nécessaires.

L’écran d’accueil de TESS sous Apple II, en 80 colonnes
Continuer la lecture de « Au delà du tesseract sur Apple II »

Debug de Sorcellerie en C

Le jeu d’aventure Sorcellerie codé en langage C et publié en janvier dernier fonctionne sous Linux, mais pas sous Apple II. Ceci était dû à un bug dans l’appel d’une fonction, bug qui était invisible sous Linux mais pas du tout sous Apple II puisque les commandes saisies par le joueur n’étaient pas correctement interprétées.

Je publie donc une nouvelle version fonctionnelle sur Apple II. Celle-ci est téléchargeable depuis l’article Sorcellerie en C.

Bonne aventure !

Chiffrez vos fichiers avec XOR

Mis à jour le 28/02/2025 : nouvelle version de cipher pour le faire fonctionner correctement sous Windows.

Cet article est atypique car il ne traite pas de rétroprogrammation, mais présente un utilitaire qui fonctionne sous Linux. Cet utilitaire, dénommé cipher, a été développé en langage C et est donc facilement adaptable à d’autres environnements.

Comme son nom le laisse entendre, cipher permet de chiffrer un fichier. Il utilise un algorithme très simple, basé sur l’utilisation de XOR (ou exclusif).

Continuer la lecture de « Chiffrez vos fichiers avec XOR »

Une librairie graphique basse résolution en C pour Apple II

Dans cet article, je mets à disposition le résultat de mon dernier projet ; une bibliothèque graphique basse résolution pour Apple II. Cette librairie intitulée LRG (pour low resolution graphics) a été développée grâce à cc65 et est destinée à la programmation en C. Elle offre un ensemble de fonctions graphiques permettant de dessiner en mode graphique basse résolution soit 40 x 48 points en 16 couleurs.

La bibliothèque tgi offre des fonctionnalités similaires mais j’ai réalisé ce projet à des fins d’apprentissage ; programmation en C bas niveau et développement d’une bibliothèque pour Apple II.

Continuer la lecture de « Une librairie graphique basse résolution en C pour Apple II »

De belles rosaces en C sur Apple II

Une nouvelle page dédiée à la programmation en C sur Apple II est disponible. Elle fait suite au tutoriel consacré à la programmation graphique en C avec la bibliothèque tgi de cc65 (voir ici) et reprend le programme en BASIC Applesoft de dessin de belles rosaces (voir ).

Un aspect intéressant de la programmation est abordé ; le calcul sur des nombres à virgules fixes, pas simple mais très utile lorsque les nombres à virgule flottante ne sont pas supportés.

Voici le lien vers la page.

Calculez pi avec un Apple II

Je suis tombé récemment sur un livre que j’avais acheté fin des années 90, « Le fascinant nombre pi«  de Jean-Paul DELAHAYE.

Le livre décrit un programme mystérieux calculant les 2400 premières décimales de pi. Le code est du C et l’aspect intéressant est qu’il est très court, et également très cryptique. Nous allons voir s’il est possible de calculer pi sur un Apple II en utilisant ce code…

Continuer la lecture de « Calculez pi avec un Apple II »

Aventure dans une grotte

Cet article présente une mise à jour d’un jeu d’aventure développé en 1988 par Russel Wallace ; Cave Adventure.

J’ai choisi de mettre à jour ce programme car il a été développé en C et est un bon cas d’usage pour ma fonction jprint présentée dans mon article précédent. J’ai donc repris le code source disponible sur IFDB et l’ai adapté pour le compilateur moderne gcc.

Le jeu présente également un minimum d’intérêt ; il est inspiré du célèbre jeu d’aventure textuel colossal cave adventure et la jouabilité est plutôt bonne.

Continuer la lecture de « Aventure dans une grotte »

Affichage avec alignement justifié en C

/* Article modifié le 20/11/2025 afin de supprimer une variable inutile dans le code source */

Cet article propose un algorithme avec une implémentation en langage C permettant d’afficher un texte en alignement justifié. Ceci signifie que le texte est aligné à gauche et à droite sur un nombre de colonnes prédéfinies, la dernière ligne étant alignée à gauche. Le programme va donc insérer les espaces nécessaires entre les mots afin d’obtenir les alignements.

Vous aurez ainsi à disposition une fonction C permettant d’avoir une belle présentation pour vos jeux d’aventure textuels… et d’autres utilisations sont possibles, bien évidemment.

Cela semble assez simple en théorie, mais j’ai intégré les contraintes suivantes :

  • Pas d’utilisation de nombres réels (float) pour que le programme reste performant avec un ordinateur 8 bits.
  • Dans le cas ou un mot est plus long que le nombre de colonnes d’affichage, ce mot doit être coupé afin de conserver un affichage correct.
Continuer la lecture de « Affichage avec alignement justifié en C »