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 »

Sorcellerie en C

/* Mise à jour le 08/05/2025 : correction d’un bug qui rend le jeu fonctionnel sous Apple II */

Il y a quelques années, j’avais publié un article sur un jeu d’aventure en BASIC intitulé SORCELLERIE. Il s’agit d’un jeu d’aventure textuel créé par Rafi Deryeghiyan et publié dans le magazine « L’ordinateur Individuel » (hors série n°77). Le jeu est plutôt sympa, et après l’avoir porté sur Apple II, je me souviens avoir passé une bonne paire d’heures avec mon fils pour trouver la solution.

J’ai récemment repris ce programme pour le convertir en langage C, afin d’avoir un programme fonctionnant dans plusieurs environnements ; Linux, Windows, Mac et ordinateurs vintages.

Le code source peut être compilé pour une plateforme Linux (avec gcc) ou pour des ordinateurs anciens comme l’Apple II (avec cc65). Le code C étant des plus standard, il peut également fonctionner sur d’autres plates-formes, mais ceci reste à tester.

Page d’accueil de sorcellerie en C sous émulateur AppleWin
Continuer la lecture de « Sorcellerie en C »

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.

Une page sur la programmation graphique en C pour Apple II

Je viens d’ajouter une nouvelle page intitulée « Programmation graphique haute résolution en C sur Apple II » accessible depuis le menu « Programmation ».

Vous y découvrirez comment créer des images graphiques en langage C en utilisant cc65 et la librairie « tiny graphics interface » ou tgi. Un programme de démo est fourni, dont voici un exemple :

Nuit étoilée de Noël

Bonne lecture et bonne programmation sous Apple II…

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 »