Vos vieux programmes sur un ordi moderne avec FreeBASIC

J’ai découvert il y a peu FreeBASIC, qui est un compilateur BASIC Open source fonctionnant sous Linux et Windows. FreeBASIC est compatible avec Microsoft Quick BASIC, une forme plus moderne et structurée de ce langage. Mais FreeBASIC est également compatible avec les versions plus anciennes fonctionnant sur les premiers IBM PC ; le GW-BASIC et BASICA, très populaire dans les années 80s.

Cette caractéristique est très intéressante, puisqu’elle va permettre de compiler et de faire fonctionner vos anciens jeux sur un ordinateur moderne… Nous allons voir comment procéder. Je testé FreeBASIC dans un environnement Linux (Ubuntu) mais cela devrait également fonctionner avec une autre distribution Linux ou sous Windows.

Sous Ubuntu, depuis un terminal, saisir la commande :

Le compilateur est installé. fbc signifie « Free Basic Compiler ».

Commençons par un exemple très simple, le programme helloword.bas :

10 CLS
20 PRINT "Hello, FreeBASIC users"
30 END


Pour le compiler :

L’option -lang qb indique au compilateur qu’il s’agit d’un version BASIC « old school », avec des numéros de lignes. Si vous omettez cette option, la compilation n’ira pas au bout et des erreurs seront signalées.

fbc génère l’exécutable helloword . Pour le lancer, saisir la commande :

J’ai testé quelques programmes fonctionnant avec GW-BASIC, comme La maison du fou. La compatibilité en mode texte est très bonne et fbc supporte les commandes de gestion de l’affichage en mode console :

  • CLS pour effacer l’écran
  • LOCATE L,C pour positionner le curseur à la ligne L et colonne C
  • COLOR FGC, BGC pour spécifier les couleur d’affichage du texte et de l’arrière plan
  • etc.

Voici le programme La maison du fou adapté pour fonctionner sous Linux et FreeBASIC :

J’ai adapté quelques jeux d’aventure que vous pouvez télécharger ci-après. Ils était écrits pour le BASIC Applesoft et quelques adaptations mineures ont été nécessaires :

  • Remplacement de HOME par CLS
  • Remplacement de HTAB C et VTAB L par LOCALE L,C
  • Remplacement de GET A$ par A$=INPUT$(1)
  • Remplacement de INVERSE et NORMAL par l’instruction COLOR
  • Utilisation d’instruction non disponible sous AppleSoft ; STRING$ pour répéter un caractère et UCASE$ pour passer une chaîne de caractères en majuscule

A noter que FreeBASIC supporte les caractères accentués et je ne me suis pas privé de les ajouter dans les différents programmes proposés.

Mission aventure. Un programme publié dans le magazine Jeux & Stratégie numéro 29, qui est un initiation aux jeux d’aventure textuels sur ordinateurs.

Sorcellerie. Un de mes jeux préférés, vous devez combattre les sorciers qui menacent le monde entier. Jeu publié dans le mag l’Ordinateur Individuel en 1985.

The horrible rotten dancing dragon. Un jeu tiré du magazine Softline et adapté pour le rendre bilingue anglais – français.

N’oubliez pas de renommer le fichier en remplaçant le suffixe txt par bas avant de lancer la compilation…

La plupart, sinon l’intégralité des jeux d’aventure textuels peuvent être facilement adaptés pour fonctionner sur un ordinateur moderne. Je n’ai pas testé toutes les possibilités de FreeBASIC, notamment les instructions permettant un affichage dans un mode graphique. Ceci pourra faire l’objet d’un article à venir.

En attendant, bonne aventure…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *